{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "events/error.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdErrorEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/error.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdErrorEvent",
          "declaration": {
            "name": "EdErrorEvent",
            "module": "events/error.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/load.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdLoadEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/load.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdLoadEvent",
          "declaration": {
            "name": "EdLoadEvent",
            "module": "events/load.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/log.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "module": "internal/log.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/custom-element.js",
      "declarations": [
        {
          "kind": "function",
          "name": "customElement",
          "parameters": [
            {
              "name": "tagName"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "customElement",
          "declaration": {
            "name": "customElement",
            "module": "internal/custom-element.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "tagName",
          "declaration": {
            "name": "anonymous_0",
            "module": "internal/custom-element.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/ed-element.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdElement",
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()"
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir"
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang"
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir"
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang"
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "customElement": true,
          "modulePath": "internal/ed-element.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdElement",
            "module": "internal/ed-element.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/sanitize/sanitize-css-length.js",
      "declarations": [
        {
          "kind": "function",
          "name": "sanitizeCssLength",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "string | number"
              }
            },
            {
              "name": "fallback",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Validates a CSS length expression for safe interpolation into `unsafeHTML` / `<style>` text.\n\nBare numbers (or numeric strings) are coerced to `${n}px`. Strings matching the allow-listed\nunit set are returned as-is. Anything else (including expressions like `100px}body{…}` that\ncould break out of the surrounding declaration) returns `fallback`."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "sanitizeCssLength",
          "declaration": {
            "name": "sanitizeCssLength",
            "module": "internal/sanitize/sanitize-css-length.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/sanitize/sanitize-href.js",
      "declarations": [
        {
          "kind": "function",
          "name": "sanitizeHref",
          "return": {
            "type": {
              "text": "string | undefined"
            }
          },
          "parameters": [
            {
              "name": "href",
              "type": {
                "text": "string | undefined"
              }
            }
          ],
          "description": "Returns the href if it uses a safe URI scheme, otherwise returns undefined.\n\nMirrors how browsers normalize URLs before scheme detection: TAB / LF / CR are\nstripped entirely, and leading whitespace is trimmed. Without this, a payload like\n`java\\tscript:alert(1)` slips past a naive `startsWith` check while still executing."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "sanitizeHref",
          "declaration": {
            "name": "sanitizeHref",
            "module": "internal/sanitize/sanitize-href.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/sanitize/sanitize-svg.js",
      "declarations": [
        {
          "kind": "function",
          "name": "sanitizeSvg",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "svg",
              "type": {
                "text": "SVGElement"
              }
            }
          ],
          "description": "Strips XSS vectors from an SVG element in-place: `on*` event-handler attributes,\n`<script>` descendants, and `href` / `xlink:href` values that fail `sanitizeHref`.\n\nUsed on SVGs adopted from external sources (icon library fetches) before they enter\nthe host document. Lit-rendered SVGs do not need this — they cannot carry attacker\npayload through Lit's auto-escaping."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "sanitizeSvg",
          "declaration": {
            "name": "sanitizeSvg",
            "module": "internal/sanitize/sanitize-svg.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/sanitize/sanitize-tag-name.js",
      "declarations": [
        {
          "kind": "function",
          "name": "sanitizeEdTagName",
          "return": {
            "type": {
              "text": "string | undefined"
            }
          },
          "parameters": [
            {
              "name": "tagName",
              "type": {
                "text": "string | undefined"
              }
            }
          ],
          "description": "Returns the tag name if it matches the `ed-*` custom-element grammar, otherwise undefined.\nUsed by the autoloader before concatenating into a dynamic-import path."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "sanitizeEdTagName",
          "declaration": {
            "name": "sanitizeEdTagName",
            "module": "internal/sanitize/sanitize-tag-name.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/sanitize/index.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "sanitizeCssLength",
          "declaration": {
            "name": "sanitizeCssLength",
            "module": "sanitize-css-length.js"
          }
        },
        {
          "kind": "js",
          "name": "sanitizeHref",
          "declaration": {
            "name": "sanitizeHref",
            "module": "sanitize-href.js"
          }
        },
        {
          "kind": "js",
          "name": "sanitizeSvg",
          "declaration": {
            "name": "sanitizeSvg",
            "module": "sanitize-svg.js"
          }
        },
        {
          "kind": "js",
          "name": "sanitizeEdTagName",
          "declaration": {
            "name": "sanitizeEdTagName",
            "module": "sanitize-tag-name.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/watch.js",
      "declarations": [
        {
          "kind": "function",
          "name": "watch",
          "parameters": [
            {
              "name": "propertyName",
              "type": {
                "text": "string | string[]"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "text": "WatchOptions"
              }
            }
          ],
          "description": "Runs when observed properties change, e.g."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "watch",
          "declaration": {
            "name": "watch",
            "module": "internal/watch.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon/icon-name.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "components/icon/icon.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdIcon",
          "cssParts": [
            {
              "description": "The internal SVG element.",
              "name": "svg"
            },
            {
              "description": "The `<use>` element generated when using `spriteSheet: true`",
              "name": "use"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "svg",
              "type": {
                "text": "SVGElement | HTMLTemplateResult | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "IconName | EmptyStateIconName | undefined"
              },
              "description": "The name of the icon to draw. Typed against the first-party libraries (`IconName` for\nthe default library, `EmptyStateIconName` for `empty_state`). When using a custom\nregistered library, cast the value (e.g. `name=${value as IconName}`).",
              "attribute": "name",
              "reflects": true,
              "parsedType": {
                "text": "'number' | 'function' | 'absence-wft' | 'account' | 'account_class' | 'account_plan' | 'active' | 'add_circle' | 'add_one' | 'add_two' | 'admin' | 'admin_filled' | 'admin_filled_crossed' | 'alarm_clock' | 'align_center' | 'align_justify' | 'align_left' | 'align_right' | 'anchor' | 'android' | 'apple' | 'apple_logo' | 'apple_logo_filled' | 'approximately' | 'aral' | 'archive' | 'attachment' | 'average' | 'average_filled' | 'baby' | 'backspace' | 'backspace_filled' | 'badge_check' | 'badge_close' | 'bag' | 'bag_euro' | 'balance_sheet' | 'band_aid' | 'band_aid_filled' | 'bank_note' | 'bank_notes' | 'bank_notes_stack' | 'bar_chart' | 'bar_chart_10j_1' | 'bar_chart_12m_1' | 'bar_chart_13m_1' | 'bar_chart_1j' | 'battery' | 'battery_0' | 'battery_1' | 'battery_2' | 'battery_crossed' | 'bed' | 'beer' | 'bird' | 'birthday_cake' | 'black_white' | 'blocked' | 'bluetooth' | 'bold' | 'book' | 'book_open' | 'bookmark' | 'bookmark_filled' | 'books' | 'box' | 'break-conflict' | 'brush' | 'building' | 'building_bank' | 'building_church' | 'building_company' | 'building_company_disabled' | 'building_company_group' | 'building_company_k' | 'building_company_m' | 'building_flag' | 'building_shield_hero' | 'building_store' | 'building_water' | 'business_card' | 'cactus' | 'cal' | 'cal_1' | 'cal_12' | 'cal_1y' | 'cal_31' | 'cal_365' | 'cal_7' | 'cal_add_one' | 'cal_average' | 'cal_check' | 'cal_clock' | 'cal_close' | 'cal_paragraph' | 'cal_return' | 'cal_select' | 'calculate' | 'camera' | 'camera_video' | 'canvas' | 'car' | 'car_filled' | 'car_side' | 'car_trade' | 'car_wash' | 'cash_register' | 'cat' | 'category' | 'chart_pie' | 'check' | 'check_auto' | 'check_circle' | 'check_circle_filled' | 'check_shield' | 'check_shield_filled' | 'checkbox' | 'checkbox_active' | 'checkbox_active_filled' | 'checkbox_tristate' | 'checklist' | 'chick' | 'christmas_star' | 'cigarette' | 'cigarette_crossed' | 'circle_back' | 'circle_dollar' | 'circle_e' | 'circle_euro' | 'circle_euro_add' | 'circle_euro_minus' | 'circle_f' | 'circle_k' | 'circle_k_filled' | 'circle_next' | 'circle_r' | 'circle_u' | 'circle_u_filled' | 'clear' | 'clipboard_paper' | 'clock' | 'clock_add' | 'clock_average' | 'clock_filled' | 'clock_hand' | 'clock_pie' | 'close' | 'close_circle' | 'close_circle_filled' | 'close_fullscreen' | 'cloud' | 'cloud_download' | 'cloud_filled' | 'cloud_upload' | 'cocking_pot' | 'cocktail' | 'coffee' | 'coffee_crossed' | 'coffee_togo' | 'coins' | 'coins_euro' | 'collapse' | 'collapse_all' | 'collect' | 'compare' | 'computer' | 'conifer' | 'construction' | 'construction_worker' | 'contacts' | 'content_bottom_in' | 'content_bottom_out' | 'content_right_in' | 'content_right_out' | 'cook' | 'copy' | 'copy_to_clipboard' | 'couch' | 'creditcard' | 'crown-o' | 'cut' | 'cut_left' | 'cut_up' | 'cyclist' | 'dashboard' | 'debug' | 'deer' | 'delete' | 'delete_permanent' | 'delete_row' | 'delete_undo' | 'desk_bell' | 'detailed-view' | 'diamond' | 'disc' | 'divide' | 'doctor_case' | 'doctor_case_filled' | 'dog' | 'dollar' | 'dove' | 'down' | 'down_end' | 'down_left' | 'down_right' | 'download' | 'download_filled_thick' | 'download_thick' | 'dragdrop' | 'dragger' | 'dumbbell' | 'e_invoice' | 'ed_arrow' | 'edit' | 'edit_filled' | 'eiffel_tower' | 'elephant' | 'elephant_2' | 'employee-data' | 'equal_boxed' | 'eraser' | 'euro' | 'euro_user' | 'evening' | 'excel' | 'exchange' | 'expand' | 'expand_all' | 'export' | 'external_link' | 'eye' | 'eye_crossed' | 'favorite' | 'favorite_filled' | 'fax' | 'ferris_wheel' | 'field' | 'file' | 'filter' | 'filter_filled' | 'filter_remove' | 'finish_flag' | 'first' | 'fish' | 'fit_to_height' | 'fit_to_width' | 'flag' | 'flag_filled' | 'flame' | 'flower' | 'folder' | 'folder_export' | 'folder_open' | 'form' | 'forward' | 'forward_filled' | 'fullscreen' | 'gamepad' | 'gas_pump' | 'gas_pump_add' | 'gastronomy' | 'ghost' | 'ghost_filled' | 'gift' | 'glasses_antique' | 'global' | 'globe' | 'gorilla' | 'gps' | 'grid' | 'gripper_hor' | 'gripper_vert' | 'hand' | 'hand_coins' | 'hand_open' | 'hand_shake' | 'handles' | 'hanger' | 'headset' | 'heart' | 'heart_filled' | 'help_circle' | 'help_circle_filled' | 'history' | 'home' | 'home_euro' | 'home_filled' | 'hospital' | 'hot_air_balloon' | 'hourglass' | 'hourglass_bottom' | 'hourglass_lock' | 'hourglass_top' | 'ice_creme' | 'image' | 'image_portrait' | 'import' | 'inbox' | 'inbox_checked' | 'inbox_in' | 'inbox_out' | 'inbox_page' | 'info_circle' | 'info_circle_filled' | 'injection' | 'invoice' | 'invoice_edit' | 'invoice_euro' | 'invoice_filled' | 'italic' | 'java' | 'jet' | 'justice_hammer' | 'kettle_grill' | 'key' | 'keyboard' | 'last' | 'layer' | 'layer_1' | 'layer_2' | 'layer_3' | 'left' | 'left_end' | 'left_right' | 'lightbulb' | 'lightning' | 'line_chart' | 'link' | 'link_broken' | 'linux' | 'list_add' | 'list_download' | 'list_indented' | 'local_community' | 'locate' | 'located_filled' | 'location_circle' | 'lock' | 'login' | 'logout' | 'magic' | 'mail' | 'mail_forward' | 'mail_new' | 'mail_open' | 'mail_question' | 'mail_read' | 'marker' | 'marker_crossed' | 'markers' | 'maximise' | 'megaphone' | 'memory' | 'menu' | 'menu_bar_collapse' | 'menu_bar_expand' | 'merge' | 'message' | 'message_dialog' | 'message_edit' | 'message_filled' | 'message_question' | 'message_warning' | 'microphone' | 'midday' | 'miniature-view' | 'minus' | 'missing-employee-data' | 'monitor' | 'monochrome' | 'moped' | 'more' | 'more_vert' | 'morning' | 'multiply' | 'musical_notes' | 'newsletter' | 'next' | 'next_entry' | 'night' | 'no_access' | 'note' | 'note_filled' | 'notification' | 'numbers' | 'nurse' | 'nut' | 'office_chair' | 'offline' | 'online' | 'open_in_window' | 'page' | 'page_1' | 'page_2' | 'page_add' | 'page_chart_pie' | 'page_check' | 'page_check_addon' | 'page_contract' | 'page_cover' | 'page_crossed' | 'page_csv' | 'page_doc' | 'page_document' | 'page_document_filled' | 'page_double' | 'page_edit' | 'page_eps' | 'page_euro' | 'page_exe' | 'page_exlamation' | 'page_image' | 'page_lock' | 'page_mp3' | 'page_pdf' | 'page_pdf_logo' | 'page_png' | 'page_rar' | 'page_scroll' | 'page_search' | 'page_sepa' | 'page_stack_check' | 'page_tif' | 'page_ttf' | 'page_txt' | 'page_xls' | 'page_xml' | 'paint_bucket' | 'palm_tree' | 'palm_tree_check' | 'palm_tree_filled' | 'paragraph' | 'paragraph_lock' | 'passive-time-recording-o' | 'paste' | 'pause' | 'paypal' | 'pending' | 'pendulum' | 'percent' | 'personnel' | 'phone' | 'piggy_bank' | 'pin' | 'pizza' | 'placeholder' | 'play' | 'plus' | 'plus_minus' | 'power' | 'presentation' | 'pretzel' | 'previous' | 'print' | 'priority' | 'profit' | 'progress_seg' | 'progress_seg_0' | 'progress_seg_1' | 'progress_seg_2' | 'progress_seg_crossed' | 'pumpkin' | 'puzzle' | 'quote' | 'rabbit' | 'radio' | 'radio_active' | 'record' | 'rectangle_edit' | 'red_cross' | 'redo' | 'refresh' | 'repeat' | 'repeat_square' | 'report_euro' | 'reset' | 'restore' | 'restore_square' | 'results' | 'return' | 'return_right' | 'right' | 'right_end' | 'road_closure' | 'rocket' | 'rotate_display' | 'rotate_left' | 'rotate_right' | 'ruler' | 'safe' | 'sailboat' | 'sale' | 'satchel' | 'satchel_filled' | 'save' | 'save_as' | 'scale_justice' | 'scan' | 'scan_page' | 'scanner' | 'school_holiday' | 'screw_nut' | 'screw_nut_edit' | 'screwdriver' | 'screwer' | 'script' | 'search' | 'send' | 'server' | 'settings' | 'settings_auto' | 'settings_gears' | 'settings_slider' | 'settings_square' | 'share' | 'shell' | 'shield_hero' | 'shift-overtime' | 'shower' | 'slot_maschine' | 'smartphone_landscape' | 'smartphone_portrait' | 'snowflake' | 'sort_alphabetical_ascending' | 'sort_alphabetical_descending' | 'sort_ascending' | 'sort_descending' | 'sort_numerical_ascending' | 'sort_numerical_descending' | 'sort_tree' | 'sort_up' | 'spartan' | 'speedometer' | 'split' | 'split_button_arrow_down' | 'split_vert' | 'spy' | 'square_1' | 'square_2' | 'stamp' | 'star_double' | 'stars' | 'start' | 'stethoscope' | 'stop' | 'stop_sign' | 'stopwatch' | 'stroller' | 'structure' | 'suitcase' | 'sum' | 'switch_vertical' | 'table' | 'table_add' | 'table_remove' | 'tablet_landscape' | 'tablet_portrait' | 'tag' | 'tag_crossed' | 'tag_euro' | 'task-unassigned-o' | 'tax-o' | 'template' | 'tennis_racket' | 'test_tube' | 'test_tube_liquid' | 'text' | 'thermostat_minus' | 'thermostat_plus' | 'thick_arrow_down' | 'thick_arrow_left' | 'thick_arrow_right' | 'thick_arrow_up' | 'thumbnails' | 'ticket' | 'tie' | 'time_left' | 'timeline' | 'timeline-o' | 'toilet' | 'tools' | 'tooth' | 'trade' | 'transfer' | 'trolley' | 'trolley_down' | 'trolley_transport' | 'truck' | 'truck_clock' | 'tv' | 'tv_play' | 'umbrella' | 'underline' | 'undo' | 'unlock' | 'unordered_list' | 'unpaid' | 'up' | 'up_down' | 'up_end' | 'up_left' | 'up_right' | 'upload' | 'user' | 'user_add' | 'user_add_circle' | 'user_bag' | 'user_check' | 'user_circle' | 'user_circle_filled' | 'user_clock' | 'user_disabled' | 'user_edit' | 'user_euro' | 'user_filled' | 'user_group' | 'user_house' | 'user_id' | 'user_k' | 'user_list' | 'user_m' | 'user_message' | 'user_remove' | 'user_square_filled' | 'user_tie' | 'variable' | 'vase' | 'warehouse' | 'warning' | 'warning_auto' | 'warning_clock' | 'warning_clock_filled' | 'warning_filled' | 'warning_shield' | 'warning_shield_filled' | 'way_sign' | 'wedding_rings' | 'westfalen' | 'wheelchair' | 'whole_day' | 'windows' | 'word' | 'world' | 'wrench' | 'zoom_in' | 'zoom_out' | 'zzz' | 'building' | 'clock' | 'coffee' | 'construction' | 'creditcard' | 'edit' | 'folder' | 'gas_pump' | 'inbox' | 'lock' | 'mail' | 'note' | 'placeholder' | 'scan' | 'search' | 'stop' | 'tag' | 'user' | 'user_group' | 'warning' | 'bell' | 'bell_mono' | 'building_mono' | 'calendar' | 'calendar_mono' | 'calendar25' | 'calendar25_mono' | 'cart' | 'cart_mono' | 'clipboard' | 'clipboard_mono' | 'clock_mono' | 'code' | 'coffee_mono' | 'comment' | 'comment_mono' | 'construction_mono' | 'creditcard_mono' | 'document' | 'document_mono' | 'document_edit' | 'document_edit_mono' | 'documents' | 'documents_mono' | 'done' | 'done_mono' | 'dragndrop' | 'dragndrop_mono' | 'edit_mono' | 'error' | 'error_mono' | 'folder_mono' | 'gas_pump_mono' | 'inbox_mono' | 'location' | 'location_mono' | 'lock_mono' | 'mail_mono' | 'money' | 'money_mono' | 'news' | 'news_mono' | 'note_mono' | 'photos' | 'photos_mono' | 'placeholder_mono' | 'price' | 'price_mono' | 'question' | 'question_mono' | 'sandclock' | 'sandclock_mono' | 'scan_mono' | 'search_mono' | 'shield' | 'shield_mono' | 'snooze' | 'snooze_mono' | 'star' | 'star_mono' | 'stop_mono' | 'support' | 'support_mono' | 'tag_mono' | 'thumbsup' | 'thumbsup_mono' | 'trash' | 'trash_mono' | 'user_mono' | 'user_group_mono' | 'vacation' | 'vacation_mono' | 'warning_mono' | undefined"
              }
            },
            {
              "kind": "field",
              "name": "family",
              "type": {
                "text": "string"
              },
              "description": "The family of icons to choose from. When using empty state icons you can add the mono to get the mono-colored icons.",
              "attribute": "family",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "string"
              },
              "description": "The name of the icon's variant. Our Libraries do not use any variants, but it is useful for some custom added libraries.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autoWidth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the width of the icon to match the cropped SVG viewBox. This operates like the Font `fa-width-auto` class.",
              "attribute": "auto-width",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "swapOpacity",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Swaps the opacity of duotone icons.",
              "attribute": "swap-opacity",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string | undefined"
              },
              "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "library",
              "type": {
                "text": "string"
              },
              "default": "'default'",
              "description": "The name of a registered custom icon library.",
              "attribute": "library",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noRecolor",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the recoloring of the icon with currentColor and instead keeps the initial fill color for each path",
              "attribute": "no-recolor",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "rotate",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Sets the rotation degree of the icon",
              "attribute": "rotate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flip",
              "type": {
                "text": "'x' | 'y' | 'both' | undefined"
              },
              "description": "Sets the flip direction of the icon along the 'x' (horizontal), 'y' (vertical), or 'both' axes.",
              "attribute": "flip",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "getIconSource",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<IconSource>"
                }
              }
            },
            {
              "kind": "field",
              "name": "resolveIcon",
              "privacy": "private",
              "description": "Given a URL, this function returns the resulting SVG element or an appropriate error symbol."
            },
            {
              "kind": "method",
              "name": "handleLabelChange",
              "type": {
                "text": "handleLabelChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "setIcon",
              "type": {
                "text": "setIcon() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.",
              "name": "ed-load",
              "reactName": "onEdLoad",
              "eventName": "EdLoadEvent"
            },
            {
              "description": "Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.",
              "name": "ed-error",
              "reactName": "onEdError",
              "eventName": "EdErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "IconName | EmptyStateIconName | undefined"
              },
              "description": "The name of the icon to draw. Typed against the first-party libraries (`IconName` for\nthe default library, `EmptyStateIconName` for `empty_state`). When using a custom\nregistered library, cast the value (e.g. `name=${value as IconName}`).",
              "fieldName": "name",
              "parsedType": {
                "text": "'number' | 'function' | 'absence-wft' | 'account' | 'account_class' | 'account_plan' | 'active' | 'add_circle' | 'add_one' | 'add_two' | 'admin' | 'admin_filled' | 'admin_filled_crossed' | 'alarm_clock' | 'align_center' | 'align_justify' | 'align_left' | 'align_right' | 'anchor' | 'android' | 'apple' | 'apple_logo' | 'apple_logo_filled' | 'approximately' | 'aral' | 'archive' | 'attachment' | 'average' | 'average_filled' | 'baby' | 'backspace' | 'backspace_filled' | 'badge_check' | 'badge_close' | 'bag' | 'bag_euro' | 'balance_sheet' | 'band_aid' | 'band_aid_filled' | 'bank_note' | 'bank_notes' | 'bank_notes_stack' | 'bar_chart' | 'bar_chart_10j_1' | 'bar_chart_12m_1' | 'bar_chart_13m_1' | 'bar_chart_1j' | 'battery' | 'battery_0' | 'battery_1' | 'battery_2' | 'battery_crossed' | 'bed' | 'beer' | 'bird' | 'birthday_cake' | 'black_white' | 'blocked' | 'bluetooth' | 'bold' | 'book' | 'book_open' | 'bookmark' | 'bookmark_filled' | 'books' | 'box' | 'break-conflict' | 'brush' | 'building' | 'building_bank' | 'building_church' | 'building_company' | 'building_company_disabled' | 'building_company_group' | 'building_company_k' | 'building_company_m' | 'building_flag' | 'building_shield_hero' | 'building_store' | 'building_water' | 'business_card' | 'cactus' | 'cal' | 'cal_1' | 'cal_12' | 'cal_1y' | 'cal_31' | 'cal_365' | 'cal_7' | 'cal_add_one' | 'cal_average' | 'cal_check' | 'cal_clock' | 'cal_close' | 'cal_paragraph' | 'cal_return' | 'cal_select' | 'calculate' | 'camera' | 'camera_video' | 'canvas' | 'car' | 'car_filled' | 'car_side' | 'car_trade' | 'car_wash' | 'cash_register' | 'cat' | 'category' | 'chart_pie' | 'check' | 'check_auto' | 'check_circle' | 'check_circle_filled' | 'check_shield' | 'check_shield_filled' | 'checkbox' | 'checkbox_active' | 'checkbox_active_filled' | 'checkbox_tristate' | 'checklist' | 'chick' | 'christmas_star' | 'cigarette' | 'cigarette_crossed' | 'circle_back' | 'circle_dollar' | 'circle_e' | 'circle_euro' | 'circle_euro_add' | 'circle_euro_minus' | 'circle_f' | 'circle_k' | 'circle_k_filled' | 'circle_next' | 'circle_r' | 'circle_u' | 'circle_u_filled' | 'clear' | 'clipboard_paper' | 'clock' | 'clock_add' | 'clock_average' | 'clock_filled' | 'clock_hand' | 'clock_pie' | 'close' | 'close_circle' | 'close_circle_filled' | 'close_fullscreen' | 'cloud' | 'cloud_download' | 'cloud_filled' | 'cloud_upload' | 'cocking_pot' | 'cocktail' | 'coffee' | 'coffee_crossed' | 'coffee_togo' | 'coins' | 'coins_euro' | 'collapse' | 'collapse_all' | 'collect' | 'compare' | 'computer' | 'conifer' | 'construction' | 'construction_worker' | 'contacts' | 'content_bottom_in' | 'content_bottom_out' | 'content_right_in' | 'content_right_out' | 'cook' | 'copy' | 'copy_to_clipboard' | 'couch' | 'creditcard' | 'crown-o' | 'cut' | 'cut_left' | 'cut_up' | 'cyclist' | 'dashboard' | 'debug' | 'deer' | 'delete' | 'delete_permanent' | 'delete_row' | 'delete_undo' | 'desk_bell' | 'detailed-view' | 'diamond' | 'disc' | 'divide' | 'doctor_case' | 'doctor_case_filled' | 'dog' | 'dollar' | 'dove' | 'down' | 'down_end' | 'down_left' | 'down_right' | 'download' | 'download_filled_thick' | 'download_thick' | 'dragdrop' | 'dragger' | 'dumbbell' | 'e_invoice' | 'ed_arrow' | 'edit' | 'edit_filled' | 'eiffel_tower' | 'elephant' | 'elephant_2' | 'employee-data' | 'equal_boxed' | 'eraser' | 'euro' | 'euro_user' | 'evening' | 'excel' | 'exchange' | 'expand' | 'expand_all' | 'export' | 'external_link' | 'eye' | 'eye_crossed' | 'favorite' | 'favorite_filled' | 'fax' | 'ferris_wheel' | 'field' | 'file' | 'filter' | 'filter_filled' | 'filter_remove' | 'finish_flag' | 'first' | 'fish' | 'fit_to_height' | 'fit_to_width' | 'flag' | 'flag_filled' | 'flame' | 'flower' | 'folder' | 'folder_export' | 'folder_open' | 'form' | 'forward' | 'forward_filled' | 'fullscreen' | 'gamepad' | 'gas_pump' | 'gas_pump_add' | 'gastronomy' | 'ghost' | 'ghost_filled' | 'gift' | 'glasses_antique' | 'global' | 'globe' | 'gorilla' | 'gps' | 'grid' | 'gripper_hor' | 'gripper_vert' | 'hand' | 'hand_coins' | 'hand_open' | 'hand_shake' | 'handles' | 'hanger' | 'headset' | 'heart' | 'heart_filled' | 'help_circle' | 'help_circle_filled' | 'history' | 'home' | 'home_euro' | 'home_filled' | 'hospital' | 'hot_air_balloon' | 'hourglass' | 'hourglass_bottom' | 'hourglass_lock' | 'hourglass_top' | 'ice_creme' | 'image' | 'image_portrait' | 'import' | 'inbox' | 'inbox_checked' | 'inbox_in' | 'inbox_out' | 'inbox_page' | 'info_circle' | 'info_circle_filled' | 'injection' | 'invoice' | 'invoice_edit' | 'invoice_euro' | 'invoice_filled' | 'italic' | 'java' | 'jet' | 'justice_hammer' | 'kettle_grill' | 'key' | 'keyboard' | 'last' | 'layer' | 'layer_1' | 'layer_2' | 'layer_3' | 'left' | 'left_end' | 'left_right' | 'lightbulb' | 'lightning' | 'line_chart' | 'link' | 'link_broken' | 'linux' | 'list_add' | 'list_download' | 'list_indented' | 'local_community' | 'locate' | 'located_filled' | 'location_circle' | 'lock' | 'login' | 'logout' | 'magic' | 'mail' | 'mail_forward' | 'mail_new' | 'mail_open' | 'mail_question' | 'mail_read' | 'marker' | 'marker_crossed' | 'markers' | 'maximise' | 'megaphone' | 'memory' | 'menu' | 'menu_bar_collapse' | 'menu_bar_expand' | 'merge' | 'message' | 'message_dialog' | 'message_edit' | 'message_filled' | 'message_question' | 'message_warning' | 'microphone' | 'midday' | 'miniature-view' | 'minus' | 'missing-employee-data' | 'monitor' | 'monochrome' | 'moped' | 'more' | 'more_vert' | 'morning' | 'multiply' | 'musical_notes' | 'newsletter' | 'next' | 'next_entry' | 'night' | 'no_access' | 'note' | 'note_filled' | 'notification' | 'numbers' | 'nurse' | 'nut' | 'office_chair' | 'offline' | 'online' | 'open_in_window' | 'page' | 'page_1' | 'page_2' | 'page_add' | 'page_chart_pie' | 'page_check' | 'page_check_addon' | 'page_contract' | 'page_cover' | 'page_crossed' | 'page_csv' | 'page_doc' | 'page_document' | 'page_document_filled' | 'page_double' | 'page_edit' | 'page_eps' | 'page_euro' | 'page_exe' | 'page_exlamation' | 'page_image' | 'page_lock' | 'page_mp3' | 'page_pdf' | 'page_pdf_logo' | 'page_png' | 'page_rar' | 'page_scroll' | 'page_search' | 'page_sepa' | 'page_stack_check' | 'page_tif' | 'page_ttf' | 'page_txt' | 'page_xls' | 'page_xml' | 'paint_bucket' | 'palm_tree' | 'palm_tree_check' | 'palm_tree_filled' | 'paragraph' | 'paragraph_lock' | 'passive-time-recording-o' | 'paste' | 'pause' | 'paypal' | 'pending' | 'pendulum' | 'percent' | 'personnel' | 'phone' | 'piggy_bank' | 'pin' | 'pizza' | 'placeholder' | 'play' | 'plus' | 'plus_minus' | 'power' | 'presentation' | 'pretzel' | 'previous' | 'print' | 'priority' | 'profit' | 'progress_seg' | 'progress_seg_0' | 'progress_seg_1' | 'progress_seg_2' | 'progress_seg_crossed' | 'pumpkin' | 'puzzle' | 'quote' | 'rabbit' | 'radio' | 'radio_active' | 'record' | 'rectangle_edit' | 'red_cross' | 'redo' | 'refresh' | 'repeat' | 'repeat_square' | 'report_euro' | 'reset' | 'restore' | 'restore_square' | 'results' | 'return' | 'return_right' | 'right' | 'right_end' | 'road_closure' | 'rocket' | 'rotate_display' | 'rotate_left' | 'rotate_right' | 'ruler' | 'safe' | 'sailboat' | 'sale' | 'satchel' | 'satchel_filled' | 'save' | 'save_as' | 'scale_justice' | 'scan' | 'scan_page' | 'scanner' | 'school_holiday' | 'screw_nut' | 'screw_nut_edit' | 'screwdriver' | 'screwer' | 'script' | 'search' | 'send' | 'server' | 'settings' | 'settings_auto' | 'settings_gears' | 'settings_slider' | 'settings_square' | 'share' | 'shell' | 'shield_hero' | 'shift-overtime' | 'shower' | 'slot_maschine' | 'smartphone_landscape' | 'smartphone_portrait' | 'snowflake' | 'sort_alphabetical_ascending' | 'sort_alphabetical_descending' | 'sort_ascending' | 'sort_descending' | 'sort_numerical_ascending' | 'sort_numerical_descending' | 'sort_tree' | 'sort_up' | 'spartan' | 'speedometer' | 'split' | 'split_button_arrow_down' | 'split_vert' | 'spy' | 'square_1' | 'square_2' | 'stamp' | 'star_double' | 'stars' | 'start' | 'stethoscope' | 'stop' | 'stop_sign' | 'stopwatch' | 'stroller' | 'structure' | 'suitcase' | 'sum' | 'switch_vertical' | 'table' | 'table_add' | 'table_remove' | 'tablet_landscape' | 'tablet_portrait' | 'tag' | 'tag_crossed' | 'tag_euro' | 'task-unassigned-o' | 'tax-o' | 'template' | 'tennis_racket' | 'test_tube' | 'test_tube_liquid' | 'text' | 'thermostat_minus' | 'thermostat_plus' | 'thick_arrow_down' | 'thick_arrow_left' | 'thick_arrow_right' | 'thick_arrow_up' | 'thumbnails' | 'ticket' | 'tie' | 'time_left' | 'timeline' | 'timeline-o' | 'toilet' | 'tools' | 'tooth' | 'trade' | 'transfer' | 'trolley' | 'trolley_down' | 'trolley_transport' | 'truck' | 'truck_clock' | 'tv' | 'tv_play' | 'umbrella' | 'underline' | 'undo' | 'unlock' | 'unordered_list' | 'unpaid' | 'up' | 'up_down' | 'up_end' | 'up_left' | 'up_right' | 'upload' | 'user' | 'user_add' | 'user_add_circle' | 'user_bag' | 'user_check' | 'user_circle' | 'user_circle_filled' | 'user_clock' | 'user_disabled' | 'user_edit' | 'user_euro' | 'user_filled' | 'user_group' | 'user_house' | 'user_id' | 'user_k' | 'user_list' | 'user_m' | 'user_message' | 'user_remove' | 'user_square_filled' | 'user_tie' | 'variable' | 'vase' | 'warehouse' | 'warning' | 'warning_auto' | 'warning_clock' | 'warning_clock_filled' | 'warning_filled' | 'warning_shield' | 'warning_shield_filled' | 'way_sign' | 'wedding_rings' | 'westfalen' | 'wheelchair' | 'whole_day' | 'windows' | 'word' | 'world' | 'wrench' | 'zoom_in' | 'zoom_out' | 'zzz' | 'building' | 'clock' | 'coffee' | 'construction' | 'creditcard' | 'edit' | 'folder' | 'gas_pump' | 'inbox' | 'lock' | 'mail' | 'note' | 'placeholder' | 'scan' | 'search' | 'stop' | 'tag' | 'user' | 'user_group' | 'warning' | 'bell' | 'bell_mono' | 'building_mono' | 'calendar' | 'calendar_mono' | 'calendar25' | 'calendar25_mono' | 'cart' | 'cart_mono' | 'clipboard' | 'clipboard_mono' | 'clock_mono' | 'code' | 'coffee_mono' | 'comment' | 'comment_mono' | 'construction_mono' | 'creditcard_mono' | 'document' | 'document_mono' | 'document_edit' | 'document_edit_mono' | 'documents' | 'documents_mono' | 'done' | 'done_mono' | 'dragndrop' | 'dragndrop_mono' | 'edit_mono' | 'error' | 'error_mono' | 'folder_mono' | 'gas_pump_mono' | 'inbox_mono' | 'location' | 'location_mono' | 'lock_mono' | 'mail_mono' | 'money' | 'money_mono' | 'news' | 'news_mono' | 'note_mono' | 'photos' | 'photos_mono' | 'placeholder_mono' | 'price' | 'price_mono' | 'question' | 'question_mono' | 'sandclock' | 'sandclock_mono' | 'scan_mono' | 'search_mono' | 'shield' | 'shield_mono' | 'snooze' | 'snooze_mono' | 'star' | 'star_mono' | 'stop_mono' | 'support' | 'support_mono' | 'tag_mono' | 'thumbsup' | 'thumbsup_mono' | 'trash' | 'trash_mono' | 'user_mono' | 'user_group_mono' | 'vacation' | 'vacation_mono' | 'warning_mono' | undefined"
              }
            },
            {
              "name": "family",
              "type": {
                "text": "string"
              },
              "description": "The family of icons to choose from. When using empty state icons you can add the mono to get the mono-colored icons.",
              "fieldName": "family"
            },
            {
              "name": "variant",
              "type": {
                "text": "string"
              },
              "description": "The name of the icon's variant. Our Libraries do not use any variants, but it is useful for some custom added libraries.",
              "fieldName": "variant"
            },
            {
              "name": "auto-width",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the width of the icon to match the cropped SVG viewBox. This operates like the Font `fa-width-auto` class.",
              "fieldName": "autoWidth"
            },
            {
              "name": "swap-opacity",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Swaps the opacity of duotone icons.",
              "fieldName": "swapOpacity"
            },
            {
              "name": "src",
              "type": {
                "text": "string | undefined"
              },
              "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
              "fieldName": "src"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
              "fieldName": "label"
            },
            {
              "name": "library",
              "type": {
                "text": "string"
              },
              "default": "'default'",
              "description": "The name of a registered custom icon library.",
              "fieldName": "library"
            },
            {
              "name": "no-recolor",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the recoloring of the icon with currentColor and instead keeps the initial fill color for each path",
              "fieldName": "noRecolor"
            },
            {
              "name": "rotate",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Sets the rotation degree of the icon",
              "fieldName": "rotate"
            },
            {
              "name": "flip",
              "type": {
                "text": "'x' | 'y' | 'both' | undefined"
              },
              "description": "Sets the flip direction of the icon along the 'x' (horizontal), 'y' (vertical), or 'both' axes.",
              "fieldName": "flip"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Icons are symbols that can be used to represent various options within an application.",
          "jsDoc": "/**\n * @summary Icons are symbols that can be used to represent various options within an application.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/icon\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('img', { name: '…' })\n *\n * @event ed-load - Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.\n * @event ed-error - Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.\n *\n * @csspart svg - The internal SVG element.\n * @csspart use - The `<use>` element generated when using `spriteSheet: true`\n *\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/icon",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('img', { name: '…' })",
          "tagName": "ed-icon",
          "customElement": true,
          "modulePath": "components/icon/icon.js",
          "definitionPath": "components/icon/icon.js",
          "cssProperties": [],
          "cssStates": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdIcon",
            "module": "components/icon/icon.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-icon",
          "declaration": {
            "name": "EdIcon",
            "module": "components/icon/icon.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon/library.js",
      "declarations": [
        {
          "kind": "function",
          "name": "watchIcon",
          "parameters": [
            {
              "name": "icon",
              "type": {
                "text": "EdIcon"
              }
            }
          ],
          "description": "Adds an icon to the list of watched icons."
        },
        {
          "kind": "function",
          "name": "unwatchIcon",
          "parameters": [
            {
              "name": "icon",
              "type": {
                "text": "EdIcon"
              }
            }
          ],
          "description": "Removes an icon from the list of watched icons."
        },
        {
          "kind": "function",
          "name": "getIconLibrary",
          "parameters": [
            {
              "name": "name",
              "optional": true,
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Returns a library from the registry."
        },
        {
          "kind": "function",
          "name": "registerIconLibrary",
          "parameters": [
            {
              "name": "name",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "options",
              "type": {
                "text": "Omit<IconLibrary, 'name'>"
              }
            }
          ],
          "description": "Adds an icon library to the registry, or overrides an existing one."
        },
        {
          "kind": "function",
          "name": "unregisterIconLibrary",
          "parameters": [
            {
              "name": "name",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Removes an icon library from the registry."
        },
        {
          "kind": "function",
          "name": "setDefaultIconFamily",
          "parameters": [
            {
              "name": "family",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Sets the default icon family."
        },
        {
          "kind": "function",
          "name": "getDefaultIconFamily",
          "description": "Gets the default icon family."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "watchIcon",
          "declaration": {
            "name": "watchIcon",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "unwatchIcon",
          "declaration": {
            "name": "unwatchIcon",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "getIconLibrary",
          "declaration": {
            "name": "getIconLibrary",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "registerIconLibrary",
          "declaration": {
            "name": "registerIconLibrary",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "unregisterIconLibrary",
          "declaration": {
            "name": "unregisterIconLibrary",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "setDefaultIconFamily",
          "declaration": {
            "name": "setDefaultIconFamily",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "getDefaultIconFamily",
          "declaration": {
            "name": "getDefaultIconFamily",
            "module": "components/icon/library.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/base-path.js",
      "declarations": [
        {
          "kind": "function",
          "name": "setBasePath",
          "parameters": [
            {
              "name": "path",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Sets the library's base path to the specified directory or URL."
        },
        {
          "kind": "function",
          "name": "getBasePath",
          "parameters": [
            {
              "name": "subpath",
              "default": "''",
              "description": "An optional path to append to the base path."
            }
          ],
          "description": "Gets the library's base path.\n\nThe base path is used to load assets such as icons and images, so it needs to be set for components to work properly.\nBy default, this script will look for a script ending in eurodata.js or eurodata.loader.js and set the base path\nto the directory that contains that file. To override this behavior, you can add the data-eurodataui attribute to any\nelement on the page to point to a local path or a CORS-enabled endpoint, such as a CDN.\n\n  <script src=\"bundle.js\" data-eurodataui=\"/custom/base/path\"></script>\n\nAlternatively, you can set the base path manually using the exported setBasePath() function."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "setBasePath",
          "declaration": {
            "name": "setBasePath",
            "module": "utilities/base-path.js"
          }
        },
        {
          "kind": "js",
          "name": "getBasePath",
          "declaration": {
            "name": "getBasePath",
            "module": "utilities/base-path.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/autoloader.js",
      "declarations": [
        {
          "kind": "function",
          "name": "startLoader",
          "description": "Starts the autoloader."
        },
        {
          "kind": "function",
          "name": "stopLoader",
          "description": "Stops the autoloader"
        },
        {
          "kind": "function",
          "name": "discover",
          "parameters": [
            {
              "name": "root",
              "type": {
                "text": "Document | Element | ShadowRoot"
              }
            }
          ],
          "description": "Checks a node for undefined elements and attempts to register them."
        },
        {
          "kind": "function",
          "name": "preventTurboFouce",
          "parameters": [
            {
              "name": "timeout",
              "default": "2000"
            }
          ],
          "description": "Acts as a middleware for Turbo's `turbo:before-render` event to ensure components are auto-loaded before showing the\nnext page, eliminating page-to-page FOUCE in a Turbo environment."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "startLoader",
          "declaration": {
            "name": "startLoader",
            "module": "utilities/autoloader.js"
          }
        },
        {
          "kind": "js",
          "name": "stopLoader",
          "declaration": {
            "name": "stopLoader",
            "module": "utilities/autoloader.js"
          }
        },
        {
          "kind": "js",
          "name": "discover",
          "declaration": {
            "name": "discover",
            "module": "utilities/autoloader.js"
          }
        },
        {
          "kind": "js",
          "name": "preventTurboFouce",
          "declaration": {
            "name": "preventTurboFouce",
            "module": "utilities/autoloader.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/defined.js",
      "declarations": [
        {
          "kind": "function",
          "name": "allDefined",
          "parameters": [
            {
              "name": "options",
              "optional": true,
              "type": {
                "text": "Partial<AllDefinedOptions>"
              }
            }
          ],
          "description": "Waits for custom elements that are currently on the page to be registered before resolving. This is sugar for\nawaiting `customElements.whenDefined()` multiple times. By default, the function waits for all undefined Eurodata-UI\nelements, but you can pass a custom match function to wait for other custom elements instead.\n\nThe function returns with `Promise.all()`, so any loading errors will cause it to reject. Make sure you handle errors\naccordingly using a try/catch block or a `.catch()`."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "allDefined",
          "declaration": {
            "name": "allDefined",
            "module": "utilities/defined.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/en.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'This content was generated by AI', back: 'Back', cancel: 'Cancel', carousel: 'Carousel', chooseDate: 'Choose a date', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Choose a time', clearEntry: 'Clear entry', close: 'Close', collapse: 'Collapse', copied: 'Copied', copy: 'Copy', currentValue: 'Current value', dateInputBadInput: 'Please enter a valid date.', dateInputRangeOverflow: 'Date is too late.', dateInputRangeUnderflow: 'Date is too early.', dateInputValueMissing: 'Please fill in this field.', dateNotSelectable: 'This date is not selectable.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input dateSegmentDay: 'Day', dateSegmentMonth: 'Month', dateSegmentYear: 'Year', datetimeInputBadInput: 'Please enter a valid date and time.', datetimeInputRangeOverflow: 'Date and time is too late.', datetimeInputRangeUnderflow: 'Date and time is too early.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Decrement', dragToReorder: 'Drag to reorder', dropFileHere: 'Drop file here or click to browse', dropFilesHere: 'Drop files here or click to browse', entriesPerPage: 'Entries per page', error: 'Error', expand: 'Expand', finish: 'Finish', from: 'from', goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`, halfyear: 'Half-year', hidePassword: 'Hide password', increment: 'Increment', loading: 'Loading', mainMenu: 'Main menu', maximumValue: label => (label ? `${label} (maximum value)` : 'Maximum value'), minimumValue: label => (label ? `${label} (minimum value)` : 'Minimum value'), month: 'Month', multipleValues: 'Multiple values', newsToggleMenu: 'Toggle news menu', next: 'Next', nextPage: 'Next page', nextSlide: 'Next slide', noData: 'No data', noOptions: 'No options', notificationsRegion: hotkey => `Notifications, press ${hotkey} to focus`, numCharacters: num => { if (num === 1) return '1 character'; return `${num} characters`; }, numCharactersRemaining: num => { if (num === 1) return '1 character remaining'; return `${num} characters remaining`; }, numEntries: num => { if (num === 0) return 'No entries'; if (num === 1) return '1 entry'; return `${num} entries`; }, numEntriesLoaded: num => { if (num === 0) return 'No entries loaded'; if (num === 1) return '1 entry loaded'; return `${num} entries loaded`; }, numOptionsAvailable: num => { if (num === 0) return 'No options available'; if (num === 1) return '1 option available'; return `${num} options available`; }, numOptionsSelected: num => { if (num === 0) return 'No options selected'; if (num === 1) return '1 option selected'; return `${num} options selected`; }, numSelected: num => { if (num === 0) return 'None selected'; return `${num} selected`; }, numTotal: num => `${num} total`, ok: 'OK', onThisPage: 'On this page', optionPosition: (label, position, total) => `${label}, ${position} of ${total}`, page: 'Page', pauseAnimation: 'Pause animation', playAnimation: 'Play animation', previousPage: 'Previous page', previousSlide: 'Previous slide', progress: 'Progress', quarter: 'Quarter', rangeSelected: (start, end) => `Selected ${start} to ${end}`, // Calendar range selection rangeSelectingFrom: date => `Selecting range from ${date}…`, remove: 'Remove', reset: 'Reset', resize: 'Resize', scrollableRegion: 'Scrollable region', scrollToEnd: 'Scroll to end', scrollToStart: 'Scroll to start', search: 'Search', sectionPages: 'Section pages', sections: 'Sections', selectAColorFromTheScreen: 'Select a color from the screen', numRowsSelected: num => { if (num === 0) return 'No rows selected'; if (num === 1) return '1 row selected'; return `${num} rows selected`; }, pageChanged: (page, total) => `Page ${page} of ${total}`, reorderRow: 'Reorder row', resizeColumn: 'Resize column', rowDropped: position => `Row dropped at position ${position}`, rowLifted: (position, total) => `Row lifted, position ${position} of ${total}. Use ArrowUp and ArrowDown to move it, Space to drop, Escape to cancel.`, rowMoved: (position, total) => `Position ${position} of ${total}`, rowReorderCanceled: 'Reorder canceled', selectAllRows: 'Select all rows', selectDate: 'Select date', selectDateTime: 'Select date and time', selectRow: 'Select row', sortedByColumn: (column, direction) => `Sorted by ${column}, ${direction === 'ascending' ? 'ascending' : 'descending'}`, sortingCleared: 'Sorting removed', // Date picker selectTime: 'Select time', // Calendar multi-panel showingPanelSpan: (first, last) => `Showing ${first} – ${last}`, showingSinglePanel: month => `Showing ${month}`, showLess: 'Show less', showMore: 'Show more', showPassword: 'Show password', skipToContent: 'Skip to content', slideNum: slide => `Slide ${slide}`, timeInputBadInput: 'Please enter a valid time.', timeInputRangeOverflow: 'Time is too late.', timeInputRangeUnderflow: 'Time is too early.', timeInputValueMissing: 'Please fill in this field.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Hour', timeSegmentMinute: 'Minute', timeSegmentSecond: 'Second', toggleColorFormat: 'Toggle color format', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', // Calendar week mode weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Step ${step} of ${total}`, year: 'Year', zoomIn: 'Zoom in', zoomOut: 'Zoom out', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Page could not be loaded', documentViewerLoadErrorHint: 'Check your internet connection', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI suggestions', editorDelete: 'Delete', editorHideDeletedPages: 'Hide deleted pages', editorPage: page => `Page ${page}`, editorRotate: 'Rotate 90°', editorSelectAll: (selected, total) => `Select all (${selected} of ${total})`, editorSplit: 'Split', editorUser: 'User', editorZoom: 'Zoom', editorZoomIn: 'Zoom in', previewPage: page => `Page ${page}`, save: 'Save', scanCancelBack: 'Back to editing', scanCancelConfirm: 'Cancel upload', scanCancelMessage: 'If you cancel, the file will not be uploaded and changes will be lost. This action cannot be undone.', scanCancelTitle: 'Cancel upload?', scanFilesDisplayError: 'The file(s) cannot be displayed', scanFilesLoading: 'Loading files...', scanInvalidSession: 'The session is invalid. Please restart the process.', scanSaveErrorBack: 'Back to editing', scanSaveErrorMessage: 'An error occurred while saving. You can try again or return to editing.', scanSaveErrorRetry: 'Try again', scanSaveErrorTitle: 'Error while saving', scanSaving: 'Creating file(s)', scanSessionLoading: 'Loading edScan session...', scanTitle: 'AI-assisted page editing', uploadDragAndDropDescription: 'You can drag & drop a file here or choose one using the button.', uploadDragAndDropTitle: 'Upload file', uploadDropFile: 'Drop file', uploadDropFiles: 'Drop files', uploadDuplicateFile: name => `${name} is already in the list`, uploadFailed: 'File(s) could not be uploaded successfully', uploadFileCountSummary: (count, size) => `${count} file(s) · ${size}`, uploadFileTooLarge: (name, size) => `File ${name} is too large. Maximum size is ${size} MB.`, uploadFileTypeNotAllowed: type => `File type is not allowed: ${type}`, uploadLimitExceeded: size => `The file exceeds the upload limit of ${size} MB`, uploadLimitsExceeded: size => `The files exceed the upload limit of ${size} MB`, uploadOr: 'or', uploadPreviewFile: name => `Preview: ${name}`, uploadProgress: 'File(s) are being uploaded...', uploadRemoveFile: name => `Remove: ${name}`, uploadRetryFile: name => `Try again: ${name}`, uploadSelectFile: 'Choose file', uploadSelectFiles: 'Choose files', uploadSuccess: (done, total) => `${done} of ${total} file(s) uploaded`, uploadTitle: 'Upload file', uploadTooManyFiles: max => `You can upload at most ${max} file(s)`, $code: 'en', $dir: 'ltr', $name: 'English' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/en.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/localize.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "LocalizeController",
          "superclass": {
            "name": "DefaultLocalizationController",
            "module": "/src/internal/vendor/localize/localize.js"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LocalizeController",
          "declaration": {
            "name": "LocalizeController",
            "module": "utilities/localize.js"
          }
        },
        {
          "kind": "js",
          "name": "registerTranslation",
          "declaration": {
            "name": "registerTranslation",
            "module": "../internal/vendor/localize/localize.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/animation/animations.js",
      "declarations": [
        {
          "kind": "function",
          "name": "getAnimationNames",
          "description": "Gets a list of all supported animation names."
        },
        {
          "kind": "function",
          "name": "getEasingNames",
          "description": "Gets a list of all supported easing function names."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "animations",
          "declaration": {
            "name": "animations",
            "module": "components/animation/animations.js"
          }
        },
        {
          "kind": "js",
          "name": "getAnimationNames",
          "declaration": {
            "name": "getAnimationNames",
            "module": "components/animation/animations.js"
          }
        },
        {
          "kind": "js",
          "name": "getEasingNames",
          "declaration": {
            "name": "getEasingNames",
            "module": "components/animation/animations.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/animation.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "getAnimationNames",
          "declaration": {
            "name": "getAnimationNames",
            "module": "../components/animation/animations.js"
          }
        },
        {
          "kind": "js",
          "name": "getEasingNames",
          "declaration": {
            "name": "getEasingNames",
            "module": "../components/animation/animations.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/form.js",
      "declarations": [
        {
          "kind": "function",
          "name": "serialize",
          "parameters": [
            {
              "name": "form",
              "type": {
                "text": "HTMLFormElement"
              }
            }
          ],
          "description": "Serializes a form and returns a plain object. If a form control with the same name appears more than once, the\nproperty will be converted to an array."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "serialize",
          "declaration": {
            "name": "serialize",
            "module": "utilities/form.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/html.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "html",
          "declaration": {
            "name": "html",
            "package": "lit"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/jsx-to-html.js",
      "declarations": [
        {
          "kind": "function",
          "name": "createJsxToHtml",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "createRoot",
              "type": {
                "text": "(container: Element) => { render: (element: T) => void }"
              },
              "description": "`createRoot` from `react-dom/client`."
            },
            {
              "name": "flushSync",
              "type": {
                "text": "(fn: () => void) => void"
              },
              "description": "`flushSync` from `react-dom`."
            }
          ],
          "description": "Creates a `jsxToHtml` helper bound to the consumer's React DOM installation.\n\nCall `createJsxToHtml()` once at app startup, then use the returned function in table column `render()` callbacks.\nThis avoids bundling or importing `react-dom` inside the library.\n\n```tsx\nimport { createJsxToHtml } from '@eurodata/eurodata-ui/dist/utilities/jsx-to-html.js';\nimport { flushSync } from 'react-dom';\nimport { createRoot } from 'react-dom/client';\n\nconst jsxToHtml = createJsxToHtml(createRoot, flushSync);\n\n<EdTable columns={[\n  { key: 'status', label: 'Status',\n    render: (value) => jsxToHtml(<StatusBadge status={value} />) },\n]} />\n```\n\nThe renderable type `T` is inferred from the `createRoot` you pass, so with\nReact's `createRoot` the returned helper accepts `ReactNode` directly — no cast\nneeded — while the library itself stays free of any React type dependency."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createJsxToHtml",
          "declaration": {
            "name": "createJsxToHtml",
            "module": "utilities/jsx-to-html.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/after-hide.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdAfterHideEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/after-hide.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdAfterHideEvent",
          "declaration": {
            "name": "EdAfterHideEvent",
            "module": "events/after-hide.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/after-show.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdAfterShowEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/after-show.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdAfterShowEvent",
          "declaration": {
            "name": "EdAfterShowEvent",
            "module": "events/after-show.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/hide.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdHideEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdHideEventDetails | undefined"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/hide.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdHideEvent",
          "declaration": {
            "name": "EdHideEvent",
            "module": "events/hide.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/show.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdShowEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/show.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdShowEvent",
          "declaration": {
            "name": "EdShowEvent",
            "module": "events/show.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/animate.js",
      "declarations": [
        {
          "kind": "function",
          "name": "animate",
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            },
            {
              "name": "keyframes",
              "type": {
                "text": "Keyframe[]"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "text": "KeyframeAnimationOptions"
              }
            }
          ],
          "description": "Same as `el.animate()`, except returns a promise that doesn't throw an error when the animation is canceled."
        },
        {
          "kind": "function",
          "name": "animateWithClass",
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            },
            {
              "name": "className",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Applies a class to the specified element to animate it. The class is removed after the animation finishes and then\nthe promise resolves. If a timeout is provided, the class will be removed and the animation will"
        },
        {
          "kind": "function",
          "name": "parseDuration",
          "parameters": [
            {
              "name": "duration",
              "type": {
                "text": "number | string"
              }
            }
          ],
          "description": "Parses a CSS duration and returns the number of milliseconds."
        },
        {
          "kind": "function",
          "name": "prefersReducedMotion",
          "description": "Tells if the user has enabled the \"reduced motion\" setting in their browser or OS."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "animate",
          "declaration": {
            "name": "animate",
            "module": "internal/animate.js"
          }
        },
        {
          "kind": "js",
          "name": "animateWithClass",
          "declaration": {
            "name": "animateWithClass",
            "module": "internal/animate.js"
          }
        },
        {
          "kind": "js",
          "name": "parseDuration",
          "declaration": {
            "name": "parseDuration",
            "module": "internal/animate.js"
          }
        },
        {
          "kind": "js",
          "name": "prefersReducedMotion",
          "declaration": {
            "name": "prefersReducedMotion",
            "module": "internal/animate.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/dismissible-stack.js",
      "declarations": [
        {
          "kind": "function",
          "name": "registerDismissible",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "key",
              "type": {
                "text": "object"
              }
            }
          ],
          "description": "Registers a dismissible as open. Call this when the dismissible becomes visible.\nThe most recently registered dismissible is at the top."
        },
        {
          "kind": "function",
          "name": "unregisterDismissible",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "key",
              "type": {
                "text": "object"
              }
            }
          ],
          "description": "Unregisters a dismissible. Call this when the dismissible closes or is removed from the DOM."
        },
        {
          "kind": "function",
          "name": "isTopDismissible",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "key",
              "type": {
                "text": "object"
              }
            }
          ],
          "description": "Returns true if the given key is the topmost registered dismissible.\nUse this to guard Escape key handling so only the topmost dismissible responds."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "registerDismissible",
          "declaration": {
            "name": "registerDismissible",
            "module": "internal/dismissible-stack.js"
          }
        },
        {
          "kind": "js",
          "name": "unregisterDismissible",
          "declaration": {
            "name": "unregisterDismissible",
            "module": "internal/dismissible-stack.js"
          }
        },
        {
          "kind": "js",
          "name": "isTopDismissible",
          "declaration": {
            "name": "isTopDismissible",
            "module": "internal/dismissible-stack.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/event.js",
      "declarations": [
        {
          "kind": "function",
          "name": "waitForEvent",
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "eventName",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Waits for a specific event to be emitted from an element. Ignores events that bubble up from child elements."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "waitForEvent",
          "declaration": {
            "name": "waitForEvent",
            "module": "internal/event.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/modal-state.js",
      "declarations": [
        {
          "kind": "function",
          "name": "registerModalDialog",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "description": "Call once when a `<dialog>` is opened via `showModal()`."
        },
        {
          "kind": "function",
          "name": "unregisterModalDialog",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "description": "Call once when a modally-opened `<dialog>` closes. Must be paired with `registerModalDialog()`."
        },
        {
          "kind": "function",
          "name": "isModalOpen",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "description": "Returns `true` while at least one modal dialog is open."
        },
        {
          "kind": "function",
          "name": "onModalStateChange",
          "return": {
            "type": {
              "text": "() => void"
            }
          },
          "parameters": [
            {
              "name": "l",
              "type": {
                "text": "() => void"
              }
            }
          ],
          "description": "Subscribe to modal-state changes. The listener is called synchronously after any\n`registerModalDialog` or `unregisterModalDialog` call. Returns an unsubscribe function."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "registerModalDialog",
          "declaration": {
            "name": "registerModalDialog",
            "module": "internal/modal-state.js"
          }
        },
        {
          "kind": "js",
          "name": "unregisterModalDialog",
          "declaration": {
            "name": "unregisterModalDialog",
            "module": "internal/modal-state.js"
          }
        },
        {
          "kind": "js",
          "name": "isModalOpen",
          "declaration": {
            "name": "isModalOpen",
            "module": "internal/modal-state.js"
          }
        },
        {
          "kind": "js",
          "name": "onModalStateChange",
          "declaration": {
            "name": "onModalStateChange",
            "module": "internal/modal-state.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/slot.js",
      "declarations": [
        {
          "kind": "class",
          "description": "A reactive controller that determines when slots exist.",
          "name": "HasSlotController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "ReactiveControllerHost & Element"
              }
            },
            {
              "kind": "field",
              "name": "slotNames",
              "type": {
                "text": "string[]"
              },
              "default": "slotNames"
            },
            {
              "kind": "method",
              "name": "hasDefaultSlot",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hasNamedSlot",
              "privacy": "private",
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "test",
              "parameters": [
                {
                  "name": "slotName",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            },
            {
              "kind": "field",
              "name": "handleSlotChange",
              "privacy": "private"
            }
          ],
          "jsDoc": "/** A reactive controller that determines when slots exist. */"
        },
        {
          "kind": "function",
          "name": "getInnerHTML",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "nodes",
              "type": {
                "text": "Iterable<Node>"
              },
              "description": "The list of nodes to iterate over."
            },
            {
              "name": "callback",
              "optional": true,
              "type": {
                "text": "(node: Node) => string | undefined"
              },
              "description": "A function that can be used to customize the HTML output for specific types of nodes. If the function returns undefined, the default HTML output will be used."
            }
          ],
          "description": "Given a list of nodes, this function iterates over all of them and returns the concatenated\nHTML as a string. This is useful for getting the HTML that corresponds to a slot’s assigned nodes (since we can't use slot.innerHTML as an alternative)."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "HasSlotController",
          "declaration": {
            "name": "HasSlotController",
            "module": "internal/slot.js"
          }
        },
        {
          "kind": "js",
          "name": "getInnerHTML",
          "declaration": {
            "name": "getInnerHTML",
            "module": "internal/slot.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/invalid.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdInvalidEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/invalid.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdInvalidEvent",
          "declaration": {
            "name": "EdInvalidEvent",
            "module": "events/invalid.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/submit-on-enter.js",
      "declarations": [
        {
          "kind": "function",
          "name": "submitOnEnter",
          "parameters": [
            {
              "name": "event",
              "type": {
                "text": "KeyboardEvent"
              }
            },
            {
              "name": "el",
              "type": {
                "text": "T"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "submitForm",
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "HTMLElement | EdFormAssociatedElement"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "submitOnEnter",
          "declaration": {
            "name": "submitOnEnter",
            "module": "internal/submit-on-enter.js"
          }
        },
        {
          "kind": "js",
          "name": "submitForm",
          "declaration": {
            "name": "submitForm",
            "module": "internal/submit-on-enter.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/ed-form-associated-element.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdFormAssociatedElement",
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true"
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error"
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning"
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['input']"
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'"
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              }
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control)."
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "emitInvalid"
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "getForm"
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity"
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public"
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setCustomStates"
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators."
            },
            {
              "kind": "method",
              "name": "formResetCallback"
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue."
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation."
            },
            {
              "kind": "method",
              "name": "updateValidity"
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error"
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning"
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "fieldName": "disabled"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdFormAssociatedElement",
          "declaration": {
            "name": "EdFormAssociatedElement",
            "module": "internal/ed-form-associated-element.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/validators/mirror-validator.js",
      "declarations": [
        {
          "kind": "function",
          "name": "MirrorValidator",
          "return": {
            "type": {
              "text": "Validator"
            }
          },
          "description": "This validator is for if you have an exact copy of your element in the shadow DOM. Rather than needing\ncustom translations and error messages, you can simply rely on the element \"formControl\" in your shadow dom."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MirrorValidator",
          "declaration": {
            "name": "MirrorValidator",
            "module": "internal/validators/mirror-validator.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/math.js",
      "declarations": [
        {
          "kind": "function",
          "name": "clamp",
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "number"
              }
            },
            {
              "name": "min",
              "type": {
                "text": "number"
              }
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              }
            }
          ],
          "description": "Ensures a number stays within a minimum and maximum value"
        },
        {
          "kind": "function",
          "name": "uniqueId",
          "parameters": [
            {
              "name": "prefix",
              "default": "''"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "clamp",
          "declaration": {
            "name": "clamp",
            "module": "internal/math.js"
          }
        },
        {
          "kind": "js",
          "name": "uniqueId",
          "declaration": {
            "name": "uniqueId",
            "module": "internal/math.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/progress-ring/progress-ring.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdProgressRing",
          "cssProperties": [
            {
              "description": "The diameter of the ring.",
              "name": "--size",
              "default": "3rem"
            },
            {
              "description": "The width of the track stroke (SVG user units).",
              "name": "--track-width",
              "default": "5"
            },
            {
              "description": "The color of the track.",
              "name": "--track-color",
              "default": "var(--ed-color-neutral-fill-normal)"
            },
            {
              "description": "The width of the indicator stroke.",
              "name": "--indicator-width",
              "default": "var(--track-width)"
            },
            {
              "description": "The color of the indicator.",
              "name": "--indicator-color",
              "default": "var(--ed-color-brand-fill-normal)"
            },
            {
              "description": "The transition duration for determinate value changes.",
              "name": "--indicator-transition-duration",
              "default": "0.35s"
            }
          ],
          "cssParts": [
            {
              "description": "The label element below the ring.",
              "name": "form-control-label"
            },
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The SVG track circle.",
              "name": "track"
            },
            {
              "description": "The SVG indicator circle.",
              "name": "indicator"
            }
          ],
          "slots": [
            {
              "description": "The progress ring's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[formControlStyles, styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, percentage is ignored and a loading spinner animation is shown.",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The progress ring's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The progress ring's accessible name for when no visible label is wanted. Mirrored onto the\ninternal progressbar node, where the role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech (house pattern: ed-checkbox).",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "fieldName": "value"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, percentage is ignored and a loading spinner animation is shown.",
              "fieldName": "indeterminate"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The progress ring's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The progress ring's accessible name for when no visible label is wanted. Mirrored onto the\ninternal progressbar node, where the role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech (house pattern: ed-checkbox).",
              "fieldName": "ariaLabel"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Progress rings show the progress of an operation in a circular fashion. Set `indeterminate` for a loading spinner.",
          "jsDoc": "/**\n * @summary Progress rings show the progress of an operation in a circular fashion. Set `indeterminate` for a loading spinner.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/progress-ring\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('progressbar')\n *\n * @slot label - The progress ring's label. Alternatively, you can use the `label` attribute.\n *\n * @csspart form-control-label - The label element below the ring.\n * @csspart base - The component's base wrapper.\n * @csspart track - The SVG track circle.\n * @csspart indicator - The SVG indicator circle.\n *\n * @cssproperty [--size=3rem] - The diameter of the ring.\n * @cssproperty [--track-width=5] - The width of the track stroke (SVG user units).\n * @cssproperty [--track-color=var(--ed-color-neutral-fill-normal)] - The color of the track.\n * @cssproperty [--indicator-width=var(--track-width)] - The width of the indicator stroke.\n * @cssproperty [--indicator-color=var(--ed-color-brand-fill-normal)] - The color of the indicator.\n * @cssproperty [--indicator-transition-duration=0.35s] - The transition duration for determinate value changes.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/progress-ring",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('progressbar')",
          "tagName": "ed-progress-ring",
          "customElement": true,
          "modulePath": "components/progress-ring/progress-ring.js",
          "definitionPath": "components/progress-ring/progress-ring.js",
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdProgressRing",
            "module": "components/progress-ring/progress-ring.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-progress-ring",
          "declaration": {
            "name": "EdProgressRing",
            "module": "components/progress-ring/progress-ring.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/button/button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdButton",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The button's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            },
            {
              "description": "The button's caret icon, a `<ed-icon>` element.",
              "name": "caret"
            },
            {
              "description": "The spinner that shows when the button is in the loading state.",
              "name": "spinner"
            }
          ],
          "slots": [
            {
              "description": "The button's label.",
              "name": ""
            },
            {
              "description": "An element, such as `<ed-icon>`, placed before the label.",
              "name": "start"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed after the label.",
              "name": "end"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[styles, variantStyles, densityStyles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['click']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'start', 'end')"
            },
            {
              "kind": "field",
              "name": "button",
              "type": {
                "text": "HTMLButtonElement | HTMLLinkElement"
              }
            },
            {
              "kind": "field",
              "name": "labelSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "invalid",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isIconButton",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'brand' | 'ai' | 'info' | 'neutral' | 'success' | 'warning' | 'danger' | 'new'"
              },
              "default": "'brand'",
              "description": "The button's theme variant. Defaults to `brand` if not within another element with a variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "navbar",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Flags the buttons as a navbar button. This is for convenience to make a full-height, at least squared, header-colored button.",
              "attribute": "navbar",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled-outlined' | 'filled' | 'outlined' | 'plain'"
              },
              "default": "'accent'",
              "description": "The button's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withCaret",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
              "attribute": "with-caret",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withStart",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `start` element so the server-rendered markup\nincludes the start slot before the component hydrates on the client.",
              "attribute": "with-start"
            },
            {
              "kind": "field",
              "name": "withEnd",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in an `end` element so the server-rendered markup\nincludes the end slot before the component hydrates on the client.",
              "attribute": "with-end"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the button. Does not apply to link buttons.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button in a loading state.",
              "attribute": "loading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The button's accessible name for when the visible content isn't the desired name (e.g.\nicon-only buttons). Mirrored onto the internal button/anchor, where the role lives — an\naria-label left on the host alone would sit on a role-less element and be ignored by\nassistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style button with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'button' | 'submit' | 'reset'"
              },
              "default": "'button'",
              "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
              "attribute": "href",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top'"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is present.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string | undefined"
              },
              "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute.",
              "attribute": "rel"
            },
            {
              "kind": "field",
              "name": "download",
              "type": {
                "text": "string | undefined"
              },
              "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
              "attribute": "download"
            },
            {
              "kind": "field",
              "name": "formAction",
              "type": {
                "text": "string"
              },
              "description": "Used to override the form owner's `action` attribute.",
              "attribute": "formaction"
            },
            {
              "kind": "field",
              "name": "formEnctype",
              "type": {
                "text": "'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'"
              },
              "description": "Used to override the form owner's `enctype` attribute.",
              "attribute": "formenctype"
            },
            {
              "kind": "field",
              "name": "formMethod",
              "type": {
                "text": "'post' | 'get'"
              },
              "description": "Used to override the form owner's `method` attribute.",
              "attribute": "formmethod"
            },
            {
              "kind": "field",
              "name": "formNoValidate",
              "type": {
                "text": "boolean"
              },
              "description": "Used to override the form owner's `novalidate` attribute.",
              "attribute": "formnovalidate"
            },
            {
              "kind": "field",
              "name": "formTarget",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "description": "Used to override the form owner's `target` attribute.",
              "attribute": "formtarget"
            },
            {
              "kind": "method",
              "name": "constructLightDOMButton",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "hasSlottedIcon",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasSlottedIconLabel",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasSlottedText",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasOtherSlottedElements",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "method",
              "name": "handleLabelSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateIconButtonState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isButton",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isLink",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleHrefChange",
              "type": {
                "text": "handleHrefChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleLoadingChange",
              "type": {
                "text": "handleLoadingChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleWithCaretChange",
              "type": {
                "text": "handleWithCaretChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "_args",
                  "type": {
                    "text": "Parameters<EdFormAssociatedElement['setValue']>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(_args: Parameters<EdFormAssociatedElement['setValue']>) => void"
              }
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the button.",
              "type": {
                "text": "click() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the button.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the button.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the button loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the button gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "variant",
              "type": {
                "text": "'brand' | 'ai' | 'info' | 'neutral' | 'success' | 'warning' | 'danger' | 'new'"
              },
              "default": "'brand'",
              "description": "The button's theme variant. Defaults to `brand` if not within another element with a variant.",
              "fieldName": "variant"
            },
            {
              "name": "navbar",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Flags the buttons as a navbar button. This is for convenience to make a full-height, at least squared, header-colored button.",
              "fieldName": "navbar"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled-outlined' | 'filled' | 'outlined' | 'plain'"
              },
              "default": "'accent'",
              "description": "The button's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "with-caret",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
              "fieldName": "withCaret"
            },
            {
              "name": "with-start",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `start` element so the server-rendered markup\nincludes the start slot before the component hydrates on the client.",
              "fieldName": "withStart"
            },
            {
              "name": "with-end",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in an `end` element so the server-rendered markup\nincludes the end slot before the component hydrates on the client.",
              "fieldName": "withEnd"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the button. Does not apply to link buttons.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button in a loading state.",
              "fieldName": "loading"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The button's accessible name for when the visible content isn't the desired name (e.g.\nicon-only buttons). Mirrored onto the internal button/anchor, where the role lives — an\naria-label left on the host alone would sit on a role-less element and be ignored by\nassistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style button with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "type",
              "type": {
                "text": "'button' | 'submit' | 'reset'"
              },
              "default": "'button'",
              "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
              "fieldName": "type"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
              "fieldName": "value"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top'"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is present.",
              "fieldName": "target"
            },
            {
              "name": "rel",
              "type": {
                "text": "string | undefined"
              },
              "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute.",
              "fieldName": "rel"
            },
            {
              "name": "download",
              "type": {
                "text": "string | undefined"
              },
              "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
              "fieldName": "download"
            },
            {
              "name": "formaction",
              "type": {
                "text": "string"
              },
              "description": "Used to override the form owner's `action` attribute.",
              "fieldName": "formAction"
            },
            {
              "name": "formenctype",
              "type": {
                "text": "'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'"
              },
              "description": "Used to override the form owner's `enctype` attribute.",
              "fieldName": "formEnctype"
            },
            {
              "name": "formmethod",
              "type": {
                "text": "'post' | 'get'"
              },
              "description": "Used to override the form owner's `method` attribute.",
              "fieldName": "formMethod"
            },
            {
              "name": "formnovalidate",
              "type": {
                "text": "boolean"
              },
              "description": "Used to override the form owner's `novalidate` attribute.",
              "fieldName": "formNoValidate"
            },
            {
              "name": "formtarget",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "description": "Used to override the form owner's `target` attribute.",
              "fieldName": "formTarget"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the button is disabled.",
              "name": "disabled"
            },
            {
              "description": "Applied when the button contains only a `<ed-icon>` with no other content.",
              "name": "icon-button"
            },
            {
              "description": "Applied when the button is rendered as a link (i.e. `href` is set).",
              "name": "link"
            },
            {
              "description": "Applied when the button is in the loading state.",
              "name": "loading"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Buttons represent actions that are available to the user.",
          "jsDoc": "/**\n * @summary Buttons represent actions that are available to the user.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/button\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('button')\n *\n * @dependency ed-icon\n * @dependency ed-progress-ring\n *\n * @event blur - Emitted when the button loses focus.\n * @event focus - Emitted when the button gains focus.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @slot - The button's label.\n * @slot start - An element, such as `<ed-icon>`, placed before the label.\n * @slot end - An element, such as `<ed-icon>`, placed after the label.\n *\n * @csspart base - The component's base wrapper.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart label - The button's label.\n * @csspart end - The container that wraps the `end` slot.\n * @csspart caret - The button's caret icon, a `<ed-icon>` element.\n * @csspart spinner - The spinner that shows when the button is in the loading state.\n *\n * @cssstate disabled - Applied when the button is disabled.\n * @cssstate icon-button - Applied when the button contains only a `<ed-icon>` with no other content.\n * @cssstate link - Applied when the button is rendered as a link (i.e. `href` is set).\n * @cssstate loading - Applied when the button is in the loading state.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/button",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('button')",
          "dependencies": [
            "ed-icon",
            "ed-progress-ring"
          ],
          "tagName": "ed-button",
          "customElement": true,
          "modulePath": "components/button/button.js",
          "definitionPath": "components/button/button.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdButton",
            "module": "components/button/button.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-button",
          "declaration": {
            "name": "EdButton",
            "module": "components/button/button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/notification/notification.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdNotification",
          "cssParts": [
            {
              "description": "The container that wraps the whole notification.",
              "name": "base"
            },
            {
              "description": "The icon cell.",
              "name": "icon"
            },
            {
              "description": "The title cell.",
              "name": "title"
            },
            {
              "description": "The collapse toggle button (rendered only when `collapsible`).",
              "name": "toggle"
            },
            {
              "description": "The description cell (always in DOM when the description slot is filled; hidden when `collapsible` and collapsed).",
              "name": "description"
            },
            {
              "description": "The action slot wrapper.",
              "name": "action"
            },
            {
              "description": "The close button (rendered only when `closable`).",
              "name": "close-button"
            }
          ],
          "slots": [
            {
              "description": "The notification's title (required, vertically centered against the icon).",
              "name": ""
            },
            {
              "description": "Optional description content shown below the title row. When `collapsible` is set, this content is hidden until the user expands the toggle.",
              "name": "description"
            },
            {
              "description": "Override the default variant icon.",
              "name": "icon"
            },
            {
              "description": "Action buttons placed in the title row toolbar. One button is recommended.",
              "name": "action"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles, variantStyles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'description', 'action')"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "base",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "detailsOpen",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hideToggleText",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'brand' | 'ai' | 'info' | 'neutral' | 'success' | 'warning' | 'danger' | 'new'"
              },
              "default": "'info'",
              "description": "The notification's theme variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the notification is open. Toggle to show/hide; reflects to the attribute.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "closable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, renders a close button that hides the notification on click.",
              "attribute": "closable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "collapsible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the description is hidden behind a toggle in the title row. Only meaningful when a `description` slot is provided.",
              "attribute": "collapsible",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "staticOpen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Internal escape hatch for components (e.g. `<ed-toast-item>`) that own animation at a higher level.\nWhen `true`, `connectedCallback` skips the first-paint re-trigger workaround, and the `open`\nwatcher toggles `base.hidden` synchronously without running animations or emitting show/hide\nevents. The notification renders fully open immediately when `open` is `true`.",
              "attribute": "static-open"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the notification.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the notification.",
              "type": {
                "text": "hide() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleCloseClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleToggleClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "measureHideToggleText",
              "privacy": "private",
              "parameters": [
                {
                  "name": "width",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getDefaultIcon",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderToggle",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderDescription",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the notification opens.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the notification opens and all animations are complete.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the notification closes.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the notification closes and all animations are complete.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'brand' | 'ai' | 'info' | 'neutral' | 'success' | 'warning' | 'danger' | 'new'"
              },
              "default": "'info'",
              "description": "The notification's theme variant.",
              "fieldName": "variant"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the notification is open. Toggle to show/hide; reflects to the attribute.",
              "fieldName": "open"
            },
            {
              "name": "closable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, renders a close button that hides the notification on click.",
              "fieldName": "closable"
            },
            {
              "name": "collapsible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the description is hidden behind a toggle in the title row. Only meaningful when a `description` slot is provided.",
              "fieldName": "collapsible"
            },
            {
              "name": "static-open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Internal escape hatch for components (e.g. `<ed-toast-item>`) that own animation at a higher level.\nWhen `true`, `connectedCallback` skips the first-paint re-trigger workaround, and the `open`\nwatcher toggles `base.hidden` synchronously without running animations or emitting show/hide\nevents. The notification renders fully open immediately when `open` is `true`.",
              "fieldName": "staticOpen"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Notifications display important inline messages with a title, optional description, and optional action / close.",
          "jsDoc": "/**\n * @summary Notifications display important inline messages with a title, optional description, and optional action / close.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/notification\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('status') (or `'alert'` for the danger/warning variants)\n *\n * @dependency ed-button\n * @dependency ed-icon\n *\n * @slot - The notification's title (required, vertically centered against the icon).\n * @slot description - Optional description content shown below the title row. When `collapsible` is set, this content is hidden until the user expands the toggle.\n * @slot icon - Override the default variant icon.\n * @slot action - Action buttons placed in the title row toolbar. One button is recommended.\n *\n * @event ed-show - Emitted when the notification opens.\n * @event ed-after-show - Emitted after the notification opens and all animations are complete.\n * @event ed-hide - Emitted when the notification closes.\n * @event ed-after-hide - Emitted after the notification closes and all animations are complete.\n *\n * @csspart base - The container that wraps the whole notification.\n * @csspart icon - The icon cell.\n * @csspart title - The title cell.\n * @csspart toggle - The collapse toggle button (rendered only when `collapsible`).\n * @csspart description - The description cell (always in DOM when the description slot is filled; hidden when `collapsible` and collapsed).\n * @csspart action - The action slot wrapper.\n * @csspart close-button - The close button (rendered only when `closable`).\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/notification",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('status') (or `'alert'` for the danger/warning variants)",
          "dependencies": [
            "ed-button",
            "ed-icon"
          ],
          "tagName": "ed-notification",
          "customElement": true,
          "modulePath": "components/notification/notification.js",
          "definitionPath": "components/notification/notification.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdNotification",
            "module": "components/notification/notification.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-notification",
          "declaration": {
            "name": "EdNotification",
            "module": "components/notification/notification.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/toast-item/toast-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdToastItem",
          "cssParts": [
            {
              "description": "The host wrapper that owns the entrance/exit motion.",
              "name": "base"
            },
            {
              "description": "The inner `<ed-notification>` element.",
              "name": "notification"
            }
          ],
          "slots": [
            {
              "description": "The toast title (required).",
              "name": ""
            },
            {
              "description": "Optional description content shown below the title.",
              "name": "description"
            },
            {
              "description": "Action buttons (typically one `<ed-button>`).",
              "name": "action"
            },
            {
              "description": "Override the default variant icon.",
              "name": "icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'description', 'action', 'icon')"
            },
            {
              "kind": "field",
              "name": "base",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "notificationEl",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'brand' | 'ai' | 'info' | 'neutral' | 'success' | 'warning' | 'danger' | 'new'"
              },
              "default": "'info'",
              "description": "The toast's theme variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "sensitivity",
              "type": {
                "text": "'polite' | 'assertive' | undefined"
              },
              "description": "Announcement urgency for assistive tech, mirroring `aria-live`. When unset it is derived\nfrom `variant`: `danger`/`warning` → `assertive`, everything else → `polite`.",
              "attribute": "sensitivity"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the toast is open. Toggle to show/hide; reflects to the attribute.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "duration",
              "type": {
                "text": "number | 'infinity' | undefined"
              },
              "description": "Auto-dismiss duration in milliseconds. The string `'infinity'` (case-insensitive) disables the\ntimer. When left unset, the duration is resolved at show time: `Infinity` for `danger`/`warning`\nvariants or when an `action` slot is filled, `5000` for all other variants. An explicit value\nalways wins regardless of variant or slot content.",
              "attribute": "duration"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the toast. Returns a promise that resolves when the opening animation completes.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the toast. Returns a promise that resolves when the closing animation completes.",
              "type": {
                "text": "hide() => void"
              }
            },
            {
              "kind": "field",
              "name": "#onKeydown",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "#resolveDuration",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "#startTimer",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#clearTimer",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#syncDismissibleRegistration",
              "privacy": "private",
              "description": "Synchronizes this toast's presence in the dismissible stack. The toast is registered when it\nis open and no modal dialog is blocking it; it is unregistered otherwise.\n\nAlways unregisters before potentially re-registering to prevent duplicate stack entries when\nthe modal state changes while the toast is already in the stack."
            },
            {
              "kind": "method",
              "name": "#addDocEscListener",
              "privacy": "private",
              "description": "Adds a document-level keydown listener that closes this toast when Escape is pressed and\nthis toast is the topmost dismissible. This is the \"no toast has keyboard focus\" path: the\nuser presses Escape from any other location and the most-recently-opened toast closes.\n\nThe host keydown listener (`#onKeydown`) handles the focused-toast case and calls\n`stopPropagation()`, which stops the event from bubbling further up the DOM. Because the\ndocument listener runs in the bubble phase (not capture), it does NOT see events that were\nstopped mid-bubble — so the focused-toast case closes exactly one toast, not two."
            },
            {
              "kind": "method",
              "name": "#removeDocEscListener",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#onDocKeydown",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#onNotificationClick",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#rootLabel",
              "privacy": "private",
              "type": {
                "text": "string | undefined"
              },
              "description": "Accessible name for the focus-root group. Reads the text content at render time; omitted when empty.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#order",
              "default": "toastCounter++"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the toast begins to open.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the toast has fully opened and all animations are complete.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the toast begins to close.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the toast has fully closed and all animations are complete.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'brand' | 'ai' | 'info' | 'neutral' | 'success' | 'warning' | 'danger' | 'new'"
              },
              "default": "'info'",
              "description": "The toast's theme variant.",
              "fieldName": "variant"
            },
            {
              "name": "sensitivity",
              "type": {
                "text": "'polite' | 'assertive' | undefined"
              },
              "description": "Announcement urgency for assistive tech, mirroring `aria-live`. When unset it is derived\nfrom `variant`: `danger`/`warning` → `assertive`, everything else → `polite`.",
              "fieldName": "sensitivity"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the toast is open. Toggle to show/hide; reflects to the attribute.",
              "fieldName": "open"
            },
            {
              "name": "duration",
              "type": {
                "text": "number | 'infinity' | undefined"
              },
              "description": "Auto-dismiss duration in milliseconds. The string `'infinity'` (case-insensitive) disables the\ntimer. When left unset, the duration is resolved at show time: `Infinity` for `danger`/`warning`\nvariants or when an `action` slot is filled, `5000` for all other variants. An explicit value\nalways wins regardless of variant or slot content.",
              "fieldName": "duration"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A transient, floating notification that auto-dismisses after a configurable duration. Wraps\n`<ed-notification>` for consistent visuals and pairs with `<ed-toast-stack>` for positioned stacking\nand screen-reader announcements via the stack's shared live region.",
          "jsDoc": "/**\n * @summary A transient, floating notification that auto-dismisses after a configurable duration. Wraps\n *   `<ed-notification>` for consistent visuals and pairs with `<ed-toast-stack>` for positioned stacking\n *   and screen-reader announcements via the stack's shared live region.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/toast-item\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('group', { name: '…' })\n *\n * @dependency ed-notification\n *\n * @slot - The toast title (required).\n * @slot description - Optional description content shown below the title.\n * @slot action - Action buttons (typically one `<ed-button>`).\n * @slot icon - Override the default variant icon.\n *\n * @event ed-show - Emitted when the toast begins to open.\n * @event ed-after-show - Emitted after the toast has fully opened and all animations are complete.\n * @event ed-hide - Emitted when the toast begins to close.\n * @event ed-after-hide - Emitted after the toast has fully closed and all animations are complete.\n *\n * @csspart base - The host wrapper that owns the entrance/exit motion.\n * @csspart notification - The inner `<ed-notification>` element.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/toast-item",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('group', { name: '…' })",
          "dependencies": [
            "ed-notification"
          ],
          "tagName": "ed-toast-item",
          "customElement": true,
          "modulePath": "components/toast-item/toast-item.js",
          "definitionPath": "components/toast-item/toast-item.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdToastItem",
            "module": "components/toast-item/toast-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-toast-item",
          "declaration": {
            "name": "EdToastItem",
            "module": "components/toast-item/toast-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/toast-stack/toast-stack.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdToastStack",
          "cssProperties": [
            {
              "description": "Gap between stacked toast items.",
              "name": "--gap",
              "default": "var(--ed-space-3)"
            },
            {
              "description": "Distance from the top/bottom viewport edge.",
              "name": "--offset-block",
              "default": "var(--ed-space-4)"
            },
            {
              "description": "Distance from the inline-start/inline-end viewport edge.",
              "name": "--offset-inline",
              "default": "var(--ed-space-4)"
            },
            {
              "description": "Maximum width of the stack column; child toasts inherit this.",
              "name": "--max-width",
              "default": "25rem"
            }
          ],
          "cssParts": [
            {
              "description": "Visually-hidden, persistent `aria-live=\"polite\"` region that receives announcements for toasts whose resolved `sensitivity` is `polite`.",
              "name": "live-region-polite"
            },
            {
              "description": "Visually-hidden, persistent `aria-live=\"assertive\"` region that receives announcements for toasts whose resolved `sensitivity` is `assertive`.",
              "name": "live-region-assertive"
            }
          ],
          "slots": [
            {
              "description": "`<ed-toast-item>` items. Other content is allowed but discouraged.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[visuallyHidden, styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "liveRegionPolite",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "liveRegionAssertive",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasToasts",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the slot currently contains at least one `<ed-toast-item>` element (drives proxy rendering).\nUses manual requestUpdate() instead of"
            },
            {
              "kind": "method",
              "name": "#setHasToasts",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#returnFocusTo",
              "privacy": "private",
              "type": {
                "text": "Element | null"
              },
              "default": "null",
              "description": "The element that held focus before the user entered the region — restored when all toasts\nclose while focus was still inside the region."
            },
            {
              "kind": "field",
              "name": "#toastThatHadFocus",
              "privacy": "private",
              "type": {
                "text": "EdToastItem | null"
              },
              "default": "null",
              "description": "The toast that had focus when it began hiding (set on `ed-hide`, before the animation\nruns and `base.hidden = true` causes the browser to drop focus to body). Used by\n`#onToastAfterHide` to decide whether to redirect focus after dismiss."
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'top-end'",
              "description": "The placement of the stack relative to the viewport.\nLogical values (`-start` / `-end`) respect the document writing direction.",
              "attribute": "placement",
              "reflects": true,
              "parsedType": {
                "text": "'top-start' | 'top-center' | 'top-end' | 'bottom-start' | 'bottom-center' | 'bottom-end'"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "The accessible label for the region, used as `aria-label`.\nWhen not set by the consumer, defaults to the localized string for \"Notifications\".",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "hotkey",
              "type": {
                "text": "string"
              },
              "default": "'F8'",
              "description": "Keyboard shortcut (`KeyboardEvent.code`) that moves focus into the notifications region\nby focusing the newest open toast. Defaults to `'F8'` (the Radix convention).\nThe value is announced as part of the region's `aria-label` so screen-reader users\nknow the shortcut is available.",
              "attribute": "hotkey"
            },
            {
              "kind": "field",
              "name": "resolvedLabel",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "description": "Resolved label — falls back to the localized term when the property has not been set.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleLabelChange",
              "type": {
                "text": "handleLabelChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "#toastsByRecency",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdToastItem[]"
                }
              },
              "description": "Returns the open child `<ed-toast-item>` elements sorted by creation index descending\n(newest first). Used to determine which toast receives focus when the hotkey fires."
            },
            {
              "kind": "method",
              "name": "#isInsideRegion",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "EventTarget | null"
                  }
                }
              ],
              "description": "Returns true when `node` is inside this stack's light-DOM subtree or shadow root.\nUsed to distinguish \"focus is moving within the region\" from \"focus arrives from outside\"."
            },
            {
              "kind": "field",
              "name": "#onHeadProxyFocus",
              "privacy": "private",
              "readonly": true,
              "description": "Head proxy focus handler: called when focus enters the head proxy (the span before the slot).\nIf focus arrived from outside the region (i.e. Tab forward into the region), direct it to the\nnewest toast. If focus is moving backward from inside (Shift+Tab past the first toast back to\nthe head proxy), let focus leave naturally — do not bounce it back in."
            },
            {
              "kind": "field",
              "name": "#onTailProxyFocus",
              "privacy": "private",
              "readonly": true,
              "description": "Tail proxy focus handler: called when focus enters the tail proxy (the span after the slot).\nIf focus arrived from outside the region (Tab backward into the region from something after\nthe stack), direct it to the oldest toast. If focus is moving forward out of the region\n(Tab past the last toast), let it leave — do not bounce back in."
            },
            {
              "kind": "field",
              "name": "#onToastHide",
              "privacy": "private",
              "readonly": true,
              "description": "Capture-phase `ed-hide` listener. Records which toast had focus when it began hiding,\nBEFORE the animation runs and `base.hidden = true` causes the browser to move focus to body.\n`#onToastAfterHide` uses this snapshot to decide whether to restore focus."
            },
            {
              "kind": "field",
              "name": "#onToastAfterHide",
              "privacy": "private",
              "readonly": true,
              "description": "Capture-phase `ed-after-hide` listener. When a toast fully closes while focus was inside it\n(tracked by `#toastThatHadFocus`), move focus to an adjacent remaining toast by recency.\nIf no toasts remain, restore focus to `#returnFocusTo` if it is still connected.\nNever strands focus on body."
            },
            {
              "kind": "field",
              "name": "#onHotkey",
              "privacy": "private",
              "readonly": true,
              "description": "Document-level keydown handler that moves focus into the region when the configured\nhotkey is pressed without any modifier keys.\n\nWhen focus is currently OUTSIDE the region, capture the active element as the\nreturn-focus target before moving focus in — mirrors the proxy handlers so that\nEsc/close while no toasts remain restores focus to the element that was focused\nbefore the hotkey was pressed, rather than dropping it to body."
            },
            {
              "kind": "field",
              "name": "#onToastShow",
              "privacy": "private",
              "readonly": true,
              "description": "Listens (in the capture phase) for `ed-show` from child `<ed-toast-item>` elements and pushes the\ntoast's textual content into the appropriate shared live region. This is the Radix\npattern: a persistent, visually-hidden live region announces each toast as a fresh\nchild node, sidestepping the unreliable per-element `role=\"alert\"` pattern (Firefox +\nNVDA in particular drops those announcements when the host animates in)."
            },
            {
              "kind": "field",
              "name": "#handleSlotChange",
              "privacy": "private",
              "readonly": true,
              "description": "Keeps the stack's top-layer membership in sync with its contents: promote it (showPopover) when\nit gains a toast and demote it (hidePopover) when it empties. Promoting at the moment a toast\nappears places the stack above whatever dialog is currently open (top-layer paints in promotion\norder). Driven by `slotchange`, so it also covers declaratively-added toasts.\n\nAlso maintains `#hasToasts` so that the head/tail focus proxies are rendered only while toasts\nexist, keeping them out of the tab order when the region is empty."
            },
            {
              "kind": "method",
              "name": "#supportsPopover",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "#showStack",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#hideStack",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#announce",
              "privacy": "private",
              "parameters": [
                {
                  "name": "toast",
                  "type": {
                    "text": "EdToastItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#collectSlotText",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "toast",
                  "type": {
                    "text": "EdToastItem"
                  }
                },
                {
                  "name": "slotName",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "create",
              "return": {
                "type": {
                  "text": ""
                }
              },
              "parameters": [
                {
                  "name": "messageOrOptions",
                  "type": {
                    "text": "string | ToastOptions"
                  },
                  "description": "A title string or a full `ToastOptions` object."
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "ToastOptions"
                  },
                  "description": "Additional options (merged with `messageOrOptions` when both are objects;\nignored when `messageOrOptions` is a string and this argument is absent)."
                }
              ],
              "description": "Creates a new `<ed-toast-item>`, populates it from `messageOrOptions`, adds it to the stack,\nand opens it. The toast will auto-remove itself from the DOM after it hides.\n\nString form is shorthand for `{ title: <string> }`.",
              "type": {
                "text": "create(messageOrOptions: string | ToastOptions, options?: ToastOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "getOrCreate",
              "static": true,
              "return": {
                "type": {
                  "text": "EdToastStack"
                }
              },
              "parameters": [
                {
                  "name": "placement",
                  "default": "'top-end'",
                  "type": {
                    "text": "Placement"
                  }
                }
              ],
              "description": "Returns the first existing `<ed-toast-stack>` in `document.body` whose `placement` matches,\nor creates a new one and appends it to `document.body`.\n\nEnables the one-liner:\n```ts\nEdToastStack.getOrCreate().create({ variant: 'success', title: 'Saved' });\n```",
              "type": {
                "text": "getOrCreate(placement: Placement = 'top-end') => EdToastStack"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'top-end'",
              "description": "The placement of the stack relative to the viewport.\nLogical values (`-start` / `-end`) respect the document writing direction.",
              "fieldName": "placement",
              "parsedType": {
                "text": "'top-start' | 'top-center' | 'top-end' | 'bottom-start' | 'bottom-center' | 'bottom-end'"
              }
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "The accessible label for the region, used as `aria-label`.\nWhen not set by the consumer, defaults to the localized string for \"Notifications\".",
              "fieldName": "label"
            },
            {
              "name": "hotkey",
              "type": {
                "text": "string"
              },
              "default": "'F8'",
              "description": "Keyboard shortcut (`KeyboardEvent.code`) that moves focus into the notifications region\nby focusing the newest open toast. Defaults to `'F8'` (the Radix convention).\nThe value is announced as part of the region's `aria-label` so screen-reader users\nknow the shortcut is available.",
              "fieldName": "hotkey"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A fixed-position region that stacks and manages `<ed-toast-item>` notifications. Handles placement,\nordering, and convenience creation of toast items via the imperative `create()` API.",
          "jsDoc": "/**\n * @summary A fixed-position region that stacks and manages `<ed-toast-item>` notifications. Handles placement,\n *   ordering, and convenience creation of toast items via the imperative `create()` API.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/toast-stack\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-toast-item\n *\n * @slot - `<ed-toast-item>` items. Other content is allowed but discouraged.\n *\n * @csspart live-region-polite - Visually-hidden, persistent `aria-live=\"polite\"` region that\n *   receives announcements for toasts whose resolved `sensitivity` is `polite`.\n * @csspart live-region-assertive - Visually-hidden, persistent `aria-live=\"assertive\"` region\n *   that receives announcements for toasts whose resolved `sensitivity` is `assertive`.\n *\n * @cssproperty [--gap=var(--ed-space-3)] - Gap between stacked toast items.\n * @cssproperty [--offset-block=var(--ed-space-4)] - Distance from the top/bottom viewport edge.\n * @cssproperty [--offset-inline=var(--ed-space-4)] - Distance from the inline-start/inline-end viewport edge.\n * @cssproperty [--max-width=25rem] - Maximum width of the stack column; child toasts inherit this.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/toast-stack",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-toast-item"
          ],
          "tagName": "ed-toast-stack",
          "customElement": true,
          "modulePath": "components/toast-stack/toast-stack.js",
          "definitionPath": "components/toast-stack/toast-stack.js",
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdToastStack",
            "module": "components/toast-stack/toast-stack.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-toast-stack",
          "declaration": {
            "name": "EdToastStack",
            "module": "components/toast-stack/toast-stack.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/toast.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "toast",
          "default": "Object.assign(toastFn, variantMethods)",
          "description": "Shows a toast notification via the default `<ed-toast-stack>` (top-end placement).\nCreates the stack element and appends it to `document.body` if it does not exist yet.\n\nAccepts either a plain title string or a `ToastOptions` object.\nReturns `undefined` in SSR environments.\n\nPer-variant convenience methods (`toast.success`, `toast.danger`, etc.) set `variant`\nand accept the same string-or-options argument."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdToastVariant",
          "declaration": {
            "name": "EdToastVariant",
            "module": "utilities/toast.js"
          }
        },
        {
          "kind": "js",
          "name": "ToastOptions",
          "declaration": {
            "name": "ToastOptions",
            "module": "utilities/toast.js"
          }
        },
        {
          "kind": "js",
          "name": "toast",
          "declaration": {
            "name": "toast",
            "module": "utilities/toast.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/after-collapse.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdAfterCollapseEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/after-collapse.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdAfterCollapseEvent",
          "declaration": {
            "name": "EdAfterCollapseEvent",
            "module": "events/after-collapse.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/after-expand.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdAfterExpandEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/after-expand.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdAfterExpandEvent",
          "declaration": {
            "name": "EdAfterExpandEvent",
            "module": "events/after-expand.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/cancel.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCancelEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/cancel.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdCancelEvent",
          "declaration": {
            "name": "EdCancelEvent",
            "module": "events/cancel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/calendar/selection/strategy.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "events/change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdChangeEvent",
          "declaration": {
            "name": "EdChangeEvent",
            "module": "events/change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/clear.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdClearEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/clear.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdClearEvent",
          "declaration": {
            "name": "EdClearEvent",
            "module": "events/clear.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/collapse.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCollapseEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/collapse.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdCollapseEvent",
          "declaration": {
            "name": "EdCollapseEvent",
            "module": "events/collapse.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/sort-types.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "components/data-grid/data-grid.types.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "SortEntry",
          "declaration": {
            "name": "SortEntry",
            "module": "../../internal/sort-types.js"
          }
        },
        {
          "kind": "js",
          "name": "SortOrder",
          "declaration": {
            "name": "SortOrder",
            "module": "../../internal/sort-types.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/column-reorder.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdColumnReorderEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdColumnReorderEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/column-reorder.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdColumnReorderEvent",
          "declaration": {
            "name": "EdColumnReorderEvent",
            "module": "events/column-reorder.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/column-resize.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdColumnResizeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdColumnResizeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/column-resize.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdColumnResizeEvent",
          "declaration": {
            "name": "EdColumnResizeEvent",
            "module": "events/column-resize.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/confirm.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdConfirmEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/confirm.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdConfirmEvent",
          "declaration": {
            "name": "EdConfirmEvent",
            "module": "events/confirm.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/content-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdContentChangeEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/content-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdContentChangeEvent",
          "declaration": {
            "name": "EdContentChangeEvent",
            "module": "events/content-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/copy.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCopyEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdCopyEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/copy.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdCopyEvent",
          "declaration": {
            "name": "EdCopyEvent",
            "module": "events/copy.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/create.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCreateEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/create.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdCreateEvent",
          "declaration": {
            "name": "EdCreateEvent",
            "module": "events/create.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/page-editor/page-editor.types.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "events/edit.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdEditEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdEditEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/edit.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdEditEvent",
          "declaration": {
            "name": "EdEditEvent",
            "module": "events/edit.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/expand.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdExpandEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/expand.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdExpandEvent",
          "declaration": {
            "name": "EdExpandEvent",
            "module": "events/expand.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/file-input-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdFileInputChangeEvent",
          "superclass": {
            "name": "CustomEvent",
            "module": "src/events/file-input-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdFileInputChangeEvent",
          "declaration": {
            "name": "EdFileInputChangeEvent",
            "module": "events/file-input-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/file-preview.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdFilePreviewEvent",
          "superclass": {
            "name": "CustomEvent",
            "module": "src/events/file-preview.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdFilePreviewEvent",
          "declaration": {
            "name": "EdFilePreviewEvent",
            "module": "events/file-preview.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/filter.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdFilterEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdFilterEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/filter.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdFilterEvent",
          "declaration": {
            "name": "EdFilterEvent",
            "module": "events/filter.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/finish.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdFinishEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/finish.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdFinishEvent",
          "declaration": {
            "name": "EdFinishEvent",
            "module": "events/finish.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/hover.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdHoverEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdHoverEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/hover.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdHoverEvent",
          "declaration": {
            "name": "EdHoverEvent",
            "module": "events/hover.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/include-error.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdIncludeErrorEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdIncludeErrorDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/include-error.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdIncludeErrorEvent",
          "declaration": {
            "name": "EdIncludeErrorEvent",
            "module": "events/include-error.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/intersect.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Emitted when an element's intersection state changes.",
          "name": "EdIntersectEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdIntersectEventDetail | undefined"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/intersect.ts"
          },
          "jsDoc": "/** Emitted when an element's intersection state changes. */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdIntersectEvent",
          "declaration": {
            "name": "EdIntersectEvent",
            "module": "events/intersect.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/lazy-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdLazyChangeEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/lazy-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdLazyChangeEvent",
          "declaration": {
            "name": "EdLazyChangeEvent",
            "module": "events/lazy-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/lazy-load.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdLazyLoadEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "{ row: RowData; rowId: unknown } | undefined"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/lazy-load.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdLazyLoadEvent",
          "declaration": {
            "name": "EdLazyLoadEvent",
            "module": "events/lazy-load.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/load-more.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdLoadMoreEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "{ offset: number }"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/load-more.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdLoadMoreEvent",
          "declaration": {
            "name": "EdLoadMoreEvent",
            "module": "events/load-more.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/mutation.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Emitted when a mutation is observed in a watched element.",
          "name": "EdMutationEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdMutationEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/mutation.ts"
          },
          "jsDoc": "/** Emitted when a mutation is observed in a watched element. */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdMutationEvent",
          "declaration": {
            "name": "EdMutationEvent",
            "module": "events/mutation.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/expandable-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Abstract base for hierarchical, expandable list items (`ed-tree-item`, `ed-side-menu-item`).\n\nOwns ONLY the structure shared by every expandable item: expand/collapse state and animation\n(via `internal/animate`), nesting detection, indentation depth, the children container, and the\nleaf computation. It deliberately does NOT own `role`, `tabindex`, focus, selection, or keyboard\nbehavior — those are semantics each concrete subclass layers on top (a tree item is a roving\n`role=treeitem`; a side-menu item is a disclosure-nav link). It is never registered as a custom\nelement and has no docs page.\n\nSubclass extension points:\n- `computeIsLeaf()` — override to factor in subclass-specific child sources (e.g. tree-item's `lazy`).\n- `handleExpandAnimation()` — override the body (NOT the `@watch`) to insert extra branches; the\n  decorator stays here so the watcher registers exactly once (re-decorating an override would\n  double-wrap `update` and fire it twice — see `internal/watch.ts`).\n- `handleChildrenSlotChange()` — call `super` after subclass-specific work (e.g. clearing `loading`).",
          "name": "EdExpandableItem",
          "members": [
            {
              "kind": "method",
              "name": "isExpandableItem",
              "static": true,
              "return": {
                "type": {
                  "text": "node is EdExpandableItem"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "Node"
                  }
                }
              ],
              "description": "Determines whether a node is an expandable item — replaces brittle `role=`/tag sniffing."
            },
            {
              "kind": "field",
              "name": "isLeaf",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the item.",
              "attribute": "expanded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the item.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "animationGeneration",
              "type": {
                "text": "number"
              },
              "privacy": "protected",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "childrenSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "childrenContainer",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "method",
              "name": "computeIsLeaf",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Whether the item has no expandable children. Subclasses may widen this (e.g. lazy items are never leaves)."
            },
            {
              "kind": "method",
              "name": "animateCollapse",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "generation",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "animateExpand",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "generation",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "isNestedItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "updateIndentation",
              "privacy": "private",
              "description": "Counts the nesting depth and sets the private --indent property on the host for indentation."
            },
            {
              "kind": "method",
              "name": "handleChildrenSlotChange",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleExpandedState"
            },
            {
              "kind": "method",
              "name": "handleExpandAnimation"
            },
            {
              "kind": "method",
              "name": "getChildrenItems",
              "return": {
                "type": {
                  "text": "EdExpandableItem[]"
                }
              },
              "parameters": [
                {
                  "name": "{ includeDisabled = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ includeDisabled?: boolean }"
                  }
                }
              ],
              "description": "Gets all the nested expandable items in this node."
            },
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [],
          "attributes": [
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the item.",
              "fieldName": "expanded"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the item.",
              "fieldName": "disabled"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "jsDoc": "/**\n * Abstract base for hierarchical, expandable list items (`ed-tree-item`, `ed-side-menu-item`).\n *\n * Owns ONLY the structure shared by every expandable item: expand/collapse state and animation\n * (via `internal/animate`), nesting detection, indentation depth, the children container, and the\n * leaf computation. It deliberately does NOT own `role`, `tabindex`, focus, selection, or keyboard\n * behavior — those are semantics each concrete subclass layers on top (a tree item is a roving\n * `role=treeitem`; a side-menu item is a disclosure-nav link). It is never registered as a custom\n * element and has no docs page.\n *\n * Subclass extension points:\n * - `computeIsLeaf()` — override to factor in subclass-specific child sources (e.g. tree-item's `lazy`).\n * - `handleExpandAnimation()` — override the body (NOT the `@watch`) to insert extra branches; the\n *   decorator stays here so the watcher registers exactly once (re-decorating an override would\n *   double-wrap `update` and fire it twice — see `internal/watch.ts`).\n * - `handleChildrenSlotChange()` — call `super` after subclass-specific work (e.g. clearing `loading`).\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdExpandableItem",
            "module": "internal/expandable-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/side-menu-item/side-menu-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSideMenuItem",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The wrapper around indentation, row, and the disclosure button.",
              "name": "item-wrapper"
            },
            {
              "description": "The flex row holding the clickable link and the disclosure button.",
              "name": "row"
            },
            {
              "description": "The clickable row. Renders as `<a>` when `href` is set. Otherwise a `<div>`: a focusable `role=\"button\"` disclosure control for an href-less parent, or — for an href-less row with a `value` (including a pinned parent, which carries no `aria-expanded`) or an identity-less leaf (no children, not `pinned`) — a focusable `role=\"button\"` row that fires `click` on Enter/Space. A disabled href-less leaf stays a plain, non-focusable `<div>`; a disabled href-less non-pinned parent keeps its disclosure row (`role=\"button\"`, `tabindex=\"0\"`) focusable but inoperative — both handlers bail on `disabled`.",
              "name": "item"
            },
            {
              "description": "The item's indentation container.",
              "name": "indentation"
            },
            {
              "description": "The focusable disclosure button (sibling of the link — toggling it does not navigate).",
              "name": "expand-button"
            },
            {
              "description": "Container for the start slot.",
              "name": "start"
            },
            {
              "description": "Wrapper for label and description.",
              "name": "text"
            },
            {
              "description": "The item's label.",
              "name": "label"
            },
            {
              "description": "Container for the description slot.",
              "name": "description"
            },
            {
              "description": "Container for the end slot.",
              "name": "end"
            },
            {
              "description": "Container for nested child items.",
              "name": "children"
            }
          ],
          "slots": [
            {
              "description": "The default slot for the item label.",
              "name": ""
            },
            {
              "description": "Content placed before the label, e.g. an icon.",
              "name": "start"
            },
            {
              "description": "Content placed after the label, e.g. a badge.",
              "name": "end"
            },
            {
              "description": "Secondary text rendered below the label.",
              "name": "description"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[treeItemStyles, styles]"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "The URL the item navigates to. When set, the item renders as an `<a>` element with proper link semantics.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "string"
              },
              "description": "Where to open the linked URL (e.g. `_blank`, `_self`). Only used when `href` is set.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The item's identity for selection. Matched exactly against the parent side-menu's `current`\nand reported in `ed-navigate`. Falls back to `href` when omitted (like a native option's\nvalue falls back to its text), so plain link items don't repeat their URL.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "effectiveValue",
              "type": {
                "text": "string"
              },
              "description": "The identity used for `current` matching and `ed-navigate`: `value`, falling back to `href`.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "True when this item's effective value matches the parent side-menu's `current`. Set by the parent; do not write directly.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pinned",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the item as a permanently expanded parent. The disclosure button is not rendered, attempts to collapse are\nignored, and no `aria-expanded` is exposed (no disclosure semantics). Use for top-level navigation groups whose\nchildren should always be visible. Implies `expanded = true` on connect.",
              "attribute": "pinned",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "slim",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set by the parent `<ed-side-menu>` when its variant is `slim`. Do not\nwrite directly — assign `variant` on the parent instead. When set,\nthe item renders as an 80px-column rail item (icon over centered label,\nno description, no end slot, no chevron).",
              "attribute": "slim",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleActiveChange",
              "type": {
                "text": "handleActiveChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleChevronClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleRowKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleRowClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleExpandAnimation",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "handleExpandAnimation() => void"
              }
            },
            {
              "kind": "method",
              "name": "isExpandableItem",
              "static": true,
              "return": {
                "type": {
                  "text": "node is EdExpandableItem"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "Node"
                  }
                }
              ],
              "description": "Determines whether a node is an expandable item — replaces brittle `role=`/tag sniffing.",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "isExpandableItem(node: Node) => node is EdExpandableItem"
              }
            },
            {
              "kind": "field",
              "name": "isLeaf",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the item.",
              "attribute": "expanded",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the item.",
              "attribute": "disabled",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "animationGeneration",
              "type": {
                "text": "number"
              },
              "privacy": "protected",
              "default": "0",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "childrenSlot",
              "type": {
                "text": "HTMLSlotElement"
              },
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "childrenContainer",
              "type": {
                "text": "HTMLDivElement"
              },
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "computeIsLeaf",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Whether the item has no expandable children. Subclasses may widen this (e.g. lazy items are never leaves).",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "animateCollapse",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "generation",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "animateExpand",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "generation",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "isNestedItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "updateIndentation",
              "privacy": "private",
              "description": "Counts the nesting depth and sets the private --indent property on the host for indentation.",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "handleChildrenSlotChange",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleExpandedState",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "handleExpandedState() => void"
              }
            },
            {
              "kind": "method",
              "name": "getChildrenItems",
              "return": {
                "type": {
                  "text": "EdExpandableItem[]"
                }
              },
              "parameters": [
                {
                  "name": "{ includeDisabled = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ includeDisabled?: boolean }"
                  }
                }
              ],
              "description": "Gets all the nested expandable items in this node.",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "getChildrenItems({ includeDisabled = true }: { includeDisabled?: boolean } = {}) => EdExpandableItem[]"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ item: EdSideMenuItem, value: string, href?: string }"
              },
              "description": "Emitted when an item with an identity (value or href) is activated. `preventDefault()` cancels the selection commit and any native navigation — e.g. for SPA routing. Detail: `{ item, value, href? }`.",
              "name": "ed-navigate",
              "reactName": "onEdNavigate",
              "eventName": "EdNavigateEvent"
            },
            {
              "description": "Emitted when the item expands.",
              "name": "ed-expand",
              "reactName": "onEdExpand",
              "eventName": "EdExpandEvent"
            },
            {
              "description": "Emitted after the item expands and all animations are complete.",
              "name": "ed-after-expand",
              "reactName": "onEdAfterExpand",
              "eventName": "EdAfterExpandEvent"
            },
            {
              "description": "Emitted when the item collapses.",
              "name": "ed-collapse",
              "reactName": "onEdCollapse",
              "eventName": "EdCollapseEvent"
            },
            {
              "description": "Emitted after the item collapses and all animations are complete.",
              "name": "ed-after-collapse",
              "reactName": "onEdAfterCollapse",
              "eventName": "EdAfterCollapseEvent"
            }
          ],
          "attributes": [
            {
              "type": {
                "text": "boolean"
              },
              "description": "Marks the item as a permanently expanded parent. The disclosure button is not rendered, attempts to collapse are\nignored, and no `aria-expanded` is exposed (no disclosure semantics). Use for top-level navigation groups whose\nchildren should always be visible. Implies `expanded = true` on connect.",
              "name": "pinned",
              "default": "false",
              "fieldName": "pinned"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "The URL the item navigates to. When set, the item renders as an `<a>` element with proper link semantics.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "description": "Where to open the linked URL (e.g. `_blank`, `_self`). Only used when `href` is set.",
              "fieldName": "target"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The item's identity for selection. Matched exactly against the parent side-menu's `current`\nand reported in `ed-navigate`. Falls back to `href` when omitted (like a native option's\nvalue falls back to its text), so plain link items don't repeat their URL.",
              "fieldName": "value"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "True when this item's effective value matches the parent side-menu's `current`. Set by the parent; do not write directly.",
              "fieldName": "active"
            },
            {
              "name": "slim",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set by the parent `<ed-side-menu>` when its variant is `slim`. Do not\nwrite directly — assign `variant` on the parent instead. When set,\nthe item renders as an 80px-column rail item (icon over centered label,\nno description, no end slot, no chevron).",
              "fieldName": "slim"
            },
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the item.",
              "fieldName": "expanded",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "src/internal/expandable-item.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the item.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "src/internal/expandable-item.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when this item's effective value matches the parent side-menu's `current`.",
              "name": "active"
            },
            {
              "description": "Applied when the item is expanded.",
              "name": "expanded"
            },
            {
              "description": "Applied when the item is disabled.",
              "name": "disabled"
            }
          ],
          "superclass": {
            "name": "EdExpandableItem",
            "module": "/src/internal/expandable-item.js"
          },
          "summary": "A hierarchical navigation item for use inside [ed-side-menu](/a/eurodata-ui/docs/components/side-menu).\nRenders as a link (WAI-ARIA Disclosure Navigation), with a focusable disclosure button for expandable parents.\nItems carry a `value` — defaulting to `href` — matched by the parent menu's `current`. An href-less row\nwith a `value` (including a pinned parent) becomes a focusable `role=\"button\"` row. An identity-less leaf\n(no children, not `pinned`) instead becomes a plain \"fake button\": a focusable `role=\"button\"` row whose\nEnter/Space fire a `click` that bubbles like a native button — e.g. a search trigger placed inside a rail.",
          "jsDoc": "/**\n * @summary A hierarchical navigation item for use inside [ed-side-menu](/a/eurodata-ui/docs/components/side-menu).\n *  Renders as a link (WAI-ARIA Disclosure Navigation), with a focusable disclosure button for expandable parents.\n *  Items carry a `value` — defaulting to `href` — matched by the parent menu's `current`. An href-less row\n *  with a `value` (including a pinned parent) becomes a focusable `role=\"button\"` row. An identity-less leaf\n *  (no children, not `pinned`) instead becomes a plain \"fake button\": a focusable `role=\"button\"` row whose\n *  Enter/Space fire a `click` that bubbles like a native button — e.g. a search trigger placed inside a rail.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/side-menu-item\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('link', { name: '…' })\n *\n * @dependency ed-icon\n *\n * @event {{ item: EdSideMenuItem, value: string, href?: string }} ed-navigate - Emitted when an item with an identity (value or href) is activated. `preventDefault()`\n *  cancels the selection commit and any native navigation — e.g. for SPA routing. Detail: `{ item, value, href? }`.\n * @event ed-expand - Emitted when the item expands.\n * @event ed-after-expand - Emitted after the item expands and all animations are complete.\n * @event ed-collapse - Emitted when the item collapses.\n * @event ed-after-collapse - Emitted after the item collapses and all animations are complete.\n *\n * @attr {boolean} pinned - Marks the item as a permanently expanded parent. The disclosure button is not rendered,\n *  attempts to set `expanded = false` (programmatic, attribute removal, or keyboard) are ignored, and no `aria-expanded`\n *  is exposed because the item no longer represents a disclosure widget. Use for top-level navigation groups whose\n *  children should always be visible. Implies `expanded = true` on connect.\n *\n * @slot - The default slot for the item label.\n * @slot start - Content placed before the label, e.g. an icon.\n * @slot end - Content placed after the label, e.g. a badge.\n * @slot description - Secondary text rendered below the label.\n *\n * @csspart base - The component's base wrapper.\n * @csspart item-wrapper - The wrapper around indentation, row, and the disclosure button.\n * @csspart row - The flex row holding the clickable link and the disclosure button.\n * @csspart item - The clickable row. Renders as `<a>` when `href` is set. Otherwise a `<div>`: a focusable\n *  `role=\"button\"` disclosure control for an href-less parent, or — for an href-less row with a `value`\n *  (including a pinned parent, which carries no `aria-expanded`) or an identity-less leaf (no children, not\n *  `pinned`) — a focusable `role=\"button\"` row that fires `click` on Enter/Space. A disabled href-less leaf\n *  stays a plain, non-focusable `<div>`; a disabled href-less non-pinned parent keeps its disclosure row\n *  (`role=\"button\"`, `tabindex=\"0\"`) focusable but inoperative — both handlers bail on `disabled`.\n * @csspart indentation - The item's indentation container.\n * @csspart expand-button - The focusable disclosure button (sibling of the link — toggling it does not navigate).\n * @csspart start - Container for the start slot.\n * @csspart text - Wrapper for label and description.\n * @csspart label - The item's label.\n * @csspart description - Container for the description slot.\n * @csspart end - Container for the end slot.\n * @csspart children - Container for nested child items.\n *\n * @cssstate active - Applied when this item's effective value matches the parent side-menu's `current`.\n * @cssstate expanded - Applied when the item is expanded.\n * @cssstate disabled - Applied when the item is disabled.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/side-menu-item",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('link', { name: '…' })",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-side-menu-item",
          "customElement": true,
          "modulePath": "components/side-menu-item/side-menu-item.js",
          "definitionPath": "components/side-menu-item/side-menu-item.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdSideMenuItem",
            "module": "components/side-menu-item/side-menu-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-side-menu-item",
          "declaration": {
            "name": "EdSideMenuItem",
            "module": "components/side-menu-item/side-menu-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/navigate.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdNavigateEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdNavigateEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/navigate.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdNavigateEvent",
          "declaration": {
            "name": "EdNavigateEvent",
            "module": "events/navigate.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/news-count-changed.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdNewsCountChangedEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdNewsCountChangedEventDetails | undefined"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/news-count-changed.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdNewsCountChangedEvent",
          "declaration": {
            "name": "EdNewsCountChangedEvent",
            "module": "events/news-count-changed.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/page-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdPageChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdPageChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/page-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdPageChangeEvent",
          "declaration": {
            "name": "EdPageChangeEvent",
            "module": "events/page-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/page-size-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdPageSizeChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdPageSizeChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/page-size-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdPageSizeChangeEvent",
          "declaration": {
            "name": "EdPageSizeChangeEvent",
            "module": "events/page-size-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/pagination-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdPaginationChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "{ page: number; pageSize: number }"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/pagination-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdPaginationChangeEvent",
          "declaration": {
            "name": "EdPaginationChangeEvent",
            "module": "events/pagination-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/remove.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRemoveEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/remove.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdRemoveEvent",
          "declaration": {
            "name": "EdRemoveEvent",
            "module": "events/remove.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/reposition.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRepositionEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/reposition.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdRepositionEvent",
          "declaration": {
            "name": "EdRepositionEvent",
            "module": "events/reposition.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/request-preview.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRequestPreviewEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdRequestPreviewEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/request-preview.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdRequestPreviewEvent",
          "declaration": {
            "name": "EdRequestPreviewEvent",
            "module": "events/request-preview.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/resize.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdResizeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdResizeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/resize.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdResizeEvent",
          "declaration": {
            "name": "EdResizeEvent",
            "module": "events/resize.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/document-viewer/document-viewer.types.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "events/rotate.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRotateEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdRotateEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/rotate.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdRotateEvent",
          "declaration": {
            "name": "EdRotateEvent",
            "module": "events/rotate.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/row-collapse.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRowCollapseEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "{ row: RowData; rowId: unknown }"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/row-collapse.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdRowCollapseEvent",
          "declaration": {
            "name": "EdRowCollapseEvent",
            "module": "events/row-collapse.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/row-dblclick.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRowDblclickEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "{ row: HTMLElement; data?: RowData; rowIndex: number }"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/row-dblclick.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdRowDblclickEvent",
          "declaration": {
            "name": "EdRowDblclickEvent",
            "module": "events/row-dblclick.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/row-expand.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRowExpandEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "{ row: RowData; rowId: unknown }"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/row-expand.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdRowExpandEvent",
          "declaration": {
            "name": "EdRowExpandEvent",
            "module": "events/row-expand.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/row-reorder.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRowReorderEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdRowReorderEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/row-reorder.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdRowReorderEvent",
          "declaration": {
            "name": "EdRowReorderEvent",
            "module": "events/row-reorder.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/scroll-end.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdScrollEndEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "{ scrollTop: number; scrollLeft: number }"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/scroll-end.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdScrollEndEvent",
          "declaration": {
            "name": "EdScrollEndEvent",
            "module": "events/scroll-end.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/scroll-start.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdScrollStartEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "{ scrollTop: number; scrollLeft: number }"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/scroll-start.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdScrollStartEvent",
          "declaration": {
            "name": "EdScrollStartEvent",
            "module": "events/scroll-start.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/scrollspy-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdScrollspyChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdScrollspyChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/scrollspy-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdScrollspyChangeEvent",
          "declaration": {
            "name": "EdScrollspyChangeEvent",
            "module": "events/scrollspy-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/section-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSectionChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdSectionChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/section-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdSectionChangeEvent",
          "declaration": {
            "name": "EdSectionChangeEvent",
            "module": "events/section-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/select.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSelectEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/select.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdSelectEvent",
          "declaration": {
            "name": "EdSelectEvent",
            "module": "events/select.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/drag.js",
      "declarations": [
        {
          "kind": "function",
          "name": "drag",
          "parameters": [
            {
              "name": "container",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "text": "Partial<DragOptions>"
              }
            }
          ],
          "description": "Begins listening for dragging."
        },
        {
          "kind": "class",
          "description": "Attaches the necessary events to make an element draggable.\n\nThis by itself will not make the element draggable, but it provides the events and callbacks necessary to facilitate\ndragging. Use the `clientX` and `clientY` arguments of each callback to update the UI as desired when dragging.\n\nDrag functionality will be enabled as soon as the constructor is called. A `start()` and `stop()` method can be used\nto start and stop it, if needed.\n\nUse `touch-action: none` on touch devices if scrolling occurs while dragging. Avoid preventing the touchstart event!",
          "name": "DraggableElement",
          "members": [
            {
              "kind": "field",
              "name": "element",
              "type": {
                "text": "Element"
              },
              "privacy": "private",
              "default": "el"
            },
            {
              "kind": "field",
              "name": "isActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isDragging",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "options",
              "type": {
                "text": "DraggableElementOptions"
              },
              "privacy": "private",
              "default": "{ start: () => undefined, stop: () => undefined, move: () => undefined, ...options }"
            },
            {
              "kind": "field",
              "name": "handleDragStart",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDragStop",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDragMove",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "start",
              "privacy": "public",
              "description": "Start listening to drags."
            },
            {
              "kind": "method",
              "name": "stop",
              "privacy": "public",
              "description": "Stop listening to drags."
            },
            {
              "kind": "method",
              "name": "toggle",
              "privacy": "public",
              "parameters": [
                {
                  "name": "isActive",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "description": "Starts or stops the drag listeners."
            }
          ],
          "jsDoc": "/**\n * Attaches the necessary events to make an element draggable.\n *\n * This by itself will not make the element draggable, but it provides the events and callbacks necessary to facilitate\n * dragging. Use the `clientX` and `clientY` arguments of each callback to update the UI as desired when dragging.\n *\n * Drag functionality will be enabled as soon as the constructor is called. A `start()` and `stop()` method can be used\n * to start and stop it, if needed.\n *\n * Use `touch-action: none` on touch devices if scrolling occurs while dragging. Avoid preventing the touchstart event!\n *\n * @usage\n *\n * const draggable = new DraggableElement(element, {\n *   start: (clientX, clientY) => { ... },\n *   move: (clientX, clientY) => { ... },\n *   stop: (clientX, clientY) => { ... }\n * });\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "drag",
          "declaration": {
            "name": "drag",
            "module": "internal/drag.js"
          }
        },
        {
          "kind": "js",
          "name": "DraggableElement",
          "declaration": {
            "name": "DraggableElement",
            "module": "internal/drag.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/grid-host.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "internal/grid-resize.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "MIN_COLUMN_WIDTH",
          "type": {
            "text": "number"
          },
          "default": "80",
          "description": "Minimum column width in pixels, shared across table and data-grid resize logic."
        },
        {
          "kind": "class",
          "description": "Manages column resizing via pointer events.\nUses raw `clientX` coordinates rather than a drag helper for sub-pixel accuracy.\n\nCall `startResize()` from a `pointerdown` handler on the column resize handle.",
          "name": "GridResizeController",
          "members": [
            {
              "kind": "field",
              "name": "options",
              "type": {
                "text": "GridResizeOptions"
              },
              "privacy": "private",
              "default": "options"
            },
            {
              "kind": "field",
              "name": "cancelActiveGesture",
              "type": {
                "text": "(() => void) | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Tears down the currently active gesture's document listeners, if any."
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            },
            {
              "kind": "method",
              "name": "startResize",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The header cell element being resized."
                },
                {
                  "name": "initialEvent",
                  "type": {
                    "text": "PointerEvent"
                  },
                  "description": "The `pointerdown` event that initiated the resize."
                },
                {
                  "name": "columnWidths",
                  "type": {
                    "text": "number[]"
                  },
                  "description": "Mutable array of current column widths (in pixels). Updated in-place during the drag."
                },
                {
                  "name": "columnIndex",
                  "type": {
                    "text": "number"
                  },
                  "description": "Index into `columnWidths` for the column being resized."
                },
                {
                  "name": "applyWidths",
                  "type": {
                    "text": "(widths: number[]) => void"
                  },
                  "description": "Callback invoked on every pointermove so the host can push widths to the DOM."
                }
              ],
              "description": "Begins a column resize gesture."
            }
          ],
          "jsDoc": "/**\n * Manages column resizing via pointer events.\n * Uses raw `clientX` coordinates rather than a drag helper for sub-pixel accuracy.\n *\n * Call `startResize()` from a `pointerdown` handler on the column resize handle.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MIN_COLUMN_WIDTH",
          "declaration": {
            "name": "MIN_COLUMN_WIDTH",
            "module": "internal/grid-resize.js"
          }
        },
        {
          "kind": "js",
          "name": "GridResizeController",
          "declaration": {
            "name": "GridResizeController",
            "module": "internal/grid-resize.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/table-cell/table-cell.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTableCell",
          "cssParts": [
            {
              "description": "The cell's content wrapper.",
              "name": "base"
            },
            {
              "description": "The sort direction icon (header cells only).",
              "name": "sort-indicator"
            },
            {
              "description": "The resize grip (header cells only).",
              "name": "resize-handle"
            }
          ],
          "slots": [
            {
              "description": "The cell's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "resizeDrag",
              "type": {
                "text": "DraggableElement | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeHandleEl",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizePending",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "startWidth",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "startX",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "sortable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow sorting by this column (header cells only). Inherits from parent `<ed-table sortable>` when not set.",
              "attribute": "sortable"
            },
            {
              "kind": "field",
              "name": "sortKey",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Key emitted in sort events. Defaults to the cell's text content.",
              "attribute": "sort-key"
            },
            {
              "kind": "field",
              "name": "resizable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a resize handle on this cell (header cells only).",
              "attribute": "resizable"
            },
            {
              "kind": "field",
              "name": "minWidth",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Minimum column width (e.g. `8rem`, `120px`). Applied as CSS min-width.",
              "attribute": "min-width"
            },
            {
              "kind": "field",
              "name": "align",
              "type": {
                "text": "'start' | 'center' | 'end' | undefined"
              },
              "description": "Text alignment for this cell. Applied as `text-align` on the host.",
              "attribute": "align",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "colspan",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Column span for multi-column headers. Sets the cell to span multiple columns.",
              "attribute": "colspan",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "rowspan",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Row span for multi-column headers. Sets the cell to span multiple rows.",
              "attribute": "rowspan",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleHeaderChange",
              "type": {
                "text": "handleHeaderChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateRole",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSortableChange",
              "type": {
                "text": "handleSortableChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateSortableTabStop",
              "privacy": "private",
              "description": "A sortable leaf header cell is itself a tab stop, so it can be sorted from the\nkeyboard (Enter/Space, handled by the parent ed-table) — matching the WAI-ARIA\ntable pattern where interactive controls sit in the natural tab order. Group/\nspanning headers (colspan > 1) are not sortable columns and stay out of the tab order.\nNo wrapping <button> is used: the cell's slot can hold arbitrary content and the\nresize handle is a sibling, so a button would nest interactive content."
            },
            {
              "kind": "method",
              "name": "handleSortDirectionChange",
              "type": {
                "text": "handleSortDirectionChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSortStackSizeChange",
              "type": {
                "text": "handleSortStackSizeChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleColIndexChange",
              "type": {
                "text": "handleColIndexChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSelectedChange",
              "type": {
                "text": "handleSelectedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleMultiLineChange",
              "type": {
                "text": "handleMultiLineChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDensityChange",
              "type": {
                "text": "handleDensityChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleMinWidthChange",
              "type": {
                "text": "handleMinWidthChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleColspanChange",
              "type": {
                "text": "handleColspanChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleRowspanChange",
              "type": {
                "text": "handleRowspanChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleResizableChange",
              "type": {
                "text": "handleResizableChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateResizeHandle",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [],
          "attributes": [
            {
              "name": "sortable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow sorting by this column (header cells only). Inherits from parent `<ed-table sortable>` when not set.",
              "fieldName": "sortable"
            },
            {
              "name": "sort-key",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Key emitted in sort events. Defaults to the cell's text content.",
              "fieldName": "sortKey"
            },
            {
              "name": "resizable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a resize handle on this cell (header cells only).",
              "fieldName": "resizable"
            },
            {
              "name": "min-width",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Minimum column width (e.g. `8rem`, `120px`). Applied as CSS min-width.",
              "fieldName": "minWidth"
            },
            {
              "name": "align",
              "type": {
                "text": "'start' | 'center' | 'end' | undefined"
              },
              "description": "Text alignment for this cell. Applied as `text-align` on the host.",
              "fieldName": "align"
            },
            {
              "name": "colspan",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Column span for multi-column headers. Sets the cell to span multiple columns.",
              "fieldName": "colspan"
            },
            {
              "name": "rowspan",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Row span for multi-column headers. Sets the cell to span multiple rows.",
              "fieldName": "rowspan"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied to cells inside the header row.",
              "name": "header"
            },
            {
              "description": "Applied when the header row is sticky.",
              "name": "sticky"
            },
            {
              "description": "Applied when the column is sortable.",
              "name": "sortable"
            },
            {
              "description": "Applied while the column is sorted ascending.",
              "name": "sort-asc"
            },
            {
              "description": "Applied while the column is sorted descending.",
              "name": "sort-desc"
            },
            {
              "description": "Applied while more than one column is sorted.",
              "name": "multi-sort"
            },
            {
              "description": "Applied to the first data column's cells.",
              "name": "first-column"
            },
            {
              "description": "Applied when the cell's row is selected.",
              "name": "selected"
            },
            {
              "description": "Applied when the table allows multi-line cell content.",
              "name": "multi-line"
            },
            {
              "description": "Applied for the compact density.",
              "name": "compact"
            },
            {
              "description": "Applied for the spacious density.",
              "name": "spacious"
            },
            {
              "description": "Applied when the column is resizable.",
              "name": "resizable"
            },
            {
              "description": "Applied when the cell spans rows.",
              "name": "spanning"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A table cell that functions as either a `columnheader` or `gridcell` depending on its context.",
          "jsDoc": "/**\n * @summary A table cell that functions as either a `columnheader` or `gridcell` depending on its context.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('cell') (or `'columnheader'` inside the header row)\n *\n * @dependency ed-icon\n *\n * @slot - The cell's content.\n *\n * @csspart base - The cell's content wrapper.\n * @csspart sort-indicator - The sort direction icon (header cells only).\n * @csspart resize-handle - The resize grip (header cells only).\n *\n * @cssstate header - Applied to cells inside the header row.\n * @cssstate sticky - Applied when the header row is sticky.\n * @cssstate sortable - Applied when the column is sortable.\n * @cssstate sort-asc - Applied while the column is sorted ascending.\n * @cssstate sort-desc - Applied while the column is sorted descending.\n * @cssstate multi-sort - Applied while more than one column is sorted.\n * @cssstate first-column - Applied to the first data column's cells.\n * @cssstate selected - Applied when the cell's row is selected.\n * @cssstate multi-line - Applied when the table allows multi-line cell content.\n * @cssstate compact - Applied for the compact density.\n * @cssstate spacious - Applied for the spacious density.\n * @cssstate resizable - Applied when the column is resizable.\n * @cssstate spanning - Applied when the cell spans rows.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('cell') (or `'columnheader'` inside the header row)",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-table-cell",
          "customElement": true,
          "modulePath": "components/table-cell/table-cell.js",
          "definitionPath": "components/table-cell/table-cell.js",
          "cssProperties": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTableCell",
            "module": "components/table-cell/table-cell.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-table-cell",
          "declaration": {
            "name": "EdTableCell",
            "module": "components/table-cell/table-cell.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/table-row/table-row.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTableRow",
          "cssProperties": [
            {
              "description": "The height of the row.",
              "name": "--row-height",
              "default": "auto"
            }
          ],
          "slots": [
            {
              "description": "The row's cells. Must be `<ed-table-cell>` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the row is selected.",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "multiLine",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow cells in this row to wrap content across multiple lines instead of truncating.",
              "attribute": "multi-line",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleSelectedChange",
              "type": {
                "text": "handleSelectedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "propagateToChildren",
              "privacy": "private",
              "parameters": [
                {
                  "name": "prop",
                  "type": {
                    "text": "'header' | 'multiLine' | 'selected' | 'density'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "assignColumnIndices",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the row is selected.",
              "fieldName": "selected"
            },
            {
              "name": "multi-line",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow cells in this row to wrap content across multiple lines instead of truncating.",
              "fieldName": "multiLine"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied to the header row.",
              "name": "header"
            },
            {
              "description": "Applied when row selection is enabled.",
              "name": "selectable"
            },
            {
              "description": "Applied for the compact density.",
              "name": "compact"
            },
            {
              "description": "Applied for the spacious density.",
              "name": "spacious"
            },
            {
              "description": "Applied when the row is selected.",
              "name": "selected"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A table row that contains table cells.",
          "jsDoc": "/**\n * @summary A table row that contains table cells.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('row')\n *\n * @cssproperty [--row-height=auto] - The height of the row.\n *\n * @cssstate header - Applied to the header row.\n * @cssstate selectable - Applied when row selection is enabled.\n * @cssstate compact - Applied for the compact density.\n * @cssstate spacious - Applied for the spacious density.\n * @cssstate selected - Applied when the row is selected.\n *\n * @dependency ed-table-cell\n *\n * @slot - The row's cells. Must be `<ed-table-cell>` elements.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('row')",
          "dependencies": [
            "ed-table-cell"
          ],
          "tagName": "ed-table-row",
          "customElement": true,
          "modulePath": "components/table-row/table-row.js",
          "definitionPath": "components/table-row/table-row.js",
          "cssParts": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTableRow",
            "module": "components/table-row/table-row.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-table-row",
          "declaration": {
            "name": "EdTableRow",
            "module": "components/table-row/table-row.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/validators/required-validator.js",
      "declarations": [
        {
          "kind": "function",
          "name": "RequiredValidator",
          "return": {
            "type": {
              "text": "Validator"
            }
          },
          "parameters": [
            {
              "name": "options",
              "default": "{}",
              "type": {
                "text": "RequiredValidatorOptions"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RequiredValidator",
          "declaration": {
            "name": "RequiredValidator",
            "module": "internal/validators/required-validator.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/checkbox/checkbox.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCheckbox",
          "cssProperties": [
            {
              "description": "The color of the checked and indeterminate icons.",
              "name": "--checked-icon-color"
            },
            {
              "description": "The size of the checked and indeterminate icons.",
              "name": "--checked-icon-size"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The square container that wraps the checkbox's checked state.",
              "name": "control"
            },
            {
              "description": "The checked icon, a `<ed-icon>` element.",
              "name": "checked-icon"
            },
            {
              "description": "The indeterminate icon, a `<ed-icon>` element.",
              "name": "indeterminate-icon"
            },
            {
              "description": "The container that wraps the checkbox's label.",
              "name": "label"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The checkbox's label.",
              "name": ""
            },
            {
              "description": "Text that describes how to use the checkbox. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The checkbox's accessible name for when no visible label is slotted (e.g. table selection\ncells). Mirrored onto the internal input, where the checkbox role lives — an aria-label\nleft on the host alone would sit on a role-less element and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The value of the checkbox, submitted as a name/value pair with form data.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the checkbox.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the checkbox readonly.",
              "attribute": "readonly"
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "alternative",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables alternative styling",
              "attribute": "alternative",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_checked",
              "type": {
                "text": "boolean | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "checked",
              "description": "Draws the checkbox in a checked state."
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "type": {
                "text": "boolean"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the checkbox a required field.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDefaultCheckedChange",
              "type": {
                "text": "handleDefaultCheckedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleValueOrCheckedChange",
              "type": {
                "text": "handleValueOrCheckedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleStateChange",
              "type": {
                "text": "handleStateChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the checkbox.",
              "type": {
                "text": "click() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the checkbox.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the checkbox.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the checked state changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the checkbox loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the checkbox gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the checkbox receives input.",
              "name": "input",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The checkbox's accessible name for when no visible label is slotted (e.g. table selection\ncells). Mirrored onto the internal input, where the checkbox role lives — an aria-label\nleft on the host alone would sit on a role-less element and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The value of the checkbox, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the checkbox.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the checkbox readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
              "fieldName": "indeterminate"
            },
            {
              "name": "alternative",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables alternative styling",
              "fieldName": "alternative"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultChecked"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the checkbox a required field.",
              "fieldName": "required"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the checkbox is checked.",
              "name": "checked"
            },
            {
              "description": "Applied when the checkbox is disabled.",
              "name": "disabled"
            },
            {
              "description": "Applied when the checkbox is in an indeterminate state.",
              "name": "indeterminate"
            },
            {
              "description": "Applied when the checkbox carries the warning hint state.",
              "name": "warning"
            },
            {
              "description": "Applied when the checkbox carries the AI hint state.",
              "name": "ai"
            },
            {
              "description": "Applied when the checkbox carries the error hint state.",
              "name": "error"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Checkboxes allow the user to toggle an option on or off.",
          "jsDoc": "/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/checkbox\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('checkbox')\n *\n * @dependency ed-icon\n *\n * @slot - The checkbox's label.\n * @slot hint - Text that describes how to use the checkbox. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the checkbox loses focus.\n * @event change - Emitted when the checked state changes.\n * @event focus - Emitted when the checkbox gains focus.\n * @event input - Emitted when the checkbox receives input.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart checked-icon - The checked icon, a `<ed-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, a `<ed-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n * @csspart hint - The hint's wrapper.\n *\n * @cssproperty --checked-icon-color - The color of the checked and indeterminate icons.\n * @cssproperty --checked-icon-size - The size of the checked and indeterminate icons.\n *\n * @cssstate checked - Applied when the checkbox is checked.\n * @cssstate disabled - Applied when the checkbox is disabled.\n * @cssstate indeterminate - Applied when the checkbox is in an indeterminate state.\n * @cssstate warning - Applied when the checkbox carries the warning hint state.\n * @cssstate ai - Applied when the checkbox carries the AI hint state.\n * @cssstate error - Applied when the checkbox carries the error hint state.\n *\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/checkbox",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('checkbox')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-checkbox",
          "customElement": true,
          "modulePath": "components/checkbox/checkbox.js",
          "definitionPath": "components/checkbox/checkbox.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdCheckbox",
            "module": "components/checkbox/checkbox.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-checkbox",
          "declaration": {
            "name": "EdCheckbox",
            "module": "components/checkbox/checkbox.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tree-item/tree-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTreeItem",
          "cssProperties": [
            {
              "description": "The animation duration when expanding tree items.",
              "name": "--show-duration",
              "default": "var(--ed-transition-normal)"
            },
            {
              "description": "The animation duration when collapsing tree items.",
              "name": "--hide-duration",
              "default": "var(--ed-transition-normal)"
            },
            {
              "description": "The background color the tree item sits on. Hover and active states are mixed on top of this value, so override it when placing the tree on a non-default surface (e.g. a raised panel or card) to keep hover/active feedback coherent.",
              "name": "--background",
              "default": "var(--ed-color-surface-default)"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The tree item's container. This element wraps everything except slotted tree item children.",
              "name": "item"
            },
            {
              "description": "The tree item's indentation container.",
              "name": "indentation"
            },
            {
              "description": "The container that wraps the tree item's expand button and spinner.",
              "name": "expand-button"
            },
            {
              "description": "The spinner that shows when a lazy tree item is in the loading state.",
              "name": "spinner"
            },
            {
              "description": "The spinner's base part.",
              "name": "spinner__base"
            },
            {
              "description": "The container for the `start` slot, rendered before the label.",
              "name": "start"
            },
            {
              "description": "The vertical container that wraps the label and the description.",
              "name": "text"
            },
            {
              "description": "The tree item's label.",
              "name": "label"
            },
            {
              "description": "The container for the `description` slot, rendered below the label.",
              "name": "description"
            },
            {
              "description": "The container for the `end` slot, rendered after the label.",
              "name": "end"
            },
            {
              "description": "The container that wraps the tree item's nested children.",
              "name": "children"
            },
            {
              "description": "The checkbox that shows when using multiselect.",
              "name": "checkbox"
            },
            {
              "description": "The checkbox's exported `base` part.",
              "name": "checkbox__base"
            },
            {
              "description": "The checkbox's exported `control` part.",
              "name": "checkbox__control"
            },
            {
              "description": "The checkbox's exported `checked-icon` part.",
              "name": "checkbox__checked-icon"
            },
            {
              "description": "The checkbox's exported `indeterminate-icon` part.",
              "name": "checkbox__indeterminate-icon"
            },
            {
              "description": "The checkbox's exported `label` part.",
              "name": "checkbox__label"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "Content placed before the label, e.g. an icon.",
              "name": "start"
            },
            {
              "description": "Content placed after the label, e.g. an action button or badge.",
              "name": "end"
            },
            {
              "description": "Secondary text rendered below the label. Stays at default styling regardless of selection state (does not adopt the active or path-highlight color/weight).",
              "name": "description"
            },
            {
              "description": "The icon to show when the tree item is expanded.",
              "name": "expand-icon"
            },
            {
              "description": "The icon to show when the tree item is collapsed.",
              "name": "collapse-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[styles]"
            },
            {
              "kind": "method",
              "name": "isTreeItem",
              "static": true,
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "Node"
                  }
                }
              ],
              "type": {
                "text": "isTreeItem(node: Node) => void"
              }
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tree item in a selected state.",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lazy",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables lazy loading behavior.",
              "attribute": "lazy",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "itemElement",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "expandButtonSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "method",
              "name": "computeIsLeaf",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Whether the item has no expandable children. Subclasses may widen this (e.g. lazy items are never leaves).",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "handleChildrenSlotChange",
              "privacy": "protected",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "handleExpandAnimation",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "handleExpandAnimation() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleLoadingChange",
              "type": {
                "text": "handleLoadingChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleIndeterminateStateChange",
              "type": {
                "text": "handleIndeterminateStateChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSelectedChange",
              "type": {
                "text": "handleSelectedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleExpandedChange",
              "type": {
                "text": "handleExpandedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleLazyChange",
              "type": {
                "text": "handleLazyChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "getChildrenItems",
              "return": {
                "type": {
                  "text": "EdTreeItem[]"
                }
              },
              "parameters": [
                {
                  "name": "{ includeDisabled = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ includeDisabled?: boolean }"
                  }
                }
              ],
              "description": "Gets all the nested tree items in this node.",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "getChildrenItems({ includeDisabled = true }: { includeDisabled?: boolean } = {}) => EdTreeItem[]"
              }
            },
            {
              "kind": "method",
              "name": "isExpandableItem",
              "static": true,
              "return": {
                "type": {
                  "text": "node is EdExpandableItem"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "Node"
                  }
                }
              ],
              "description": "Determines whether a node is an expandable item — replaces brittle `role=`/tag sniffing.",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "isExpandableItem(node: Node) => node is EdExpandableItem"
              }
            },
            {
              "kind": "field",
              "name": "isLeaf",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the item.",
              "attribute": "expanded",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the item.",
              "attribute": "disabled",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "animationGeneration",
              "type": {
                "text": "number"
              },
              "privacy": "protected",
              "default": "0",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "childrenSlot",
              "type": {
                "text": "HTMLSlotElement"
              },
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "field",
              "name": "childrenContainer",
              "type": {
                "text": "HTMLDivElement"
              },
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "animateCollapse",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "generation",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "animateExpand",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "generation",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "isNestedItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "updateIndentation",
              "privacy": "private",
              "description": "Counts the nesting depth and sets the private --indent property on the host for indentation.",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleExpandedState",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "internal/expandable-item.js"
              },
              "type": {
                "text": "handleExpandedState() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the tree item expands.",
              "name": "ed-expand",
              "reactName": "onEdExpand",
              "eventName": "EdExpandEvent"
            },
            {
              "description": "Emitted after the tree item expands and all animations are complete.",
              "name": "ed-after-expand",
              "reactName": "onEdAfterExpand",
              "eventName": "EdAfterExpandEvent"
            },
            {
              "description": "Emitted when the tree item collapses.",
              "name": "ed-collapse",
              "reactName": "onEdCollapse",
              "eventName": "EdCollapseEvent"
            },
            {
              "description": "Emitted after the tree item collapses and all animations are complete.",
              "name": "ed-after-collapse",
              "reactName": "onEdAfterCollapse",
              "eventName": "EdAfterCollapseEvent"
            },
            {
              "description": "Emitted when the tree item's lazy state changes.",
              "name": "ed-lazy-change",
              "reactName": "onEdLazyChange",
              "eventName": "EdLazyChangeEvent"
            },
            {
              "type": {
                "text": "{ row: RowData, rowId: unknown }"
              },
              "description": "Emitted when a lazy item is selected. Use this event to asynchronously load data and append items to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading state and update the tree.",
              "name": "ed-lazy-load",
              "reactName": "onEdLazyLoad",
              "eventName": "EdLazyLoadEvent"
            }
          ],
          "attributes": [
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tree item in a selected state.",
              "fieldName": "selected"
            },
            {
              "name": "lazy",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables lazy loading behavior.",
              "fieldName": "lazy"
            },
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the item.",
              "fieldName": "expanded",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "src/internal/expandable-item.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the item.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdExpandableItem",
                "module": "src/internal/expandable-item.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the tree item is disabled.",
              "name": "disabled"
            },
            {
              "description": "Applied when the tree item is expanded.",
              "name": "expanded"
            },
            {
              "description": "Applied when the selection is indeterminate.",
              "name": "indeterminate"
            },
            {
              "description": "Applied when the tree item is selected.",
              "name": "selected"
            }
          ],
          "superclass": {
            "name": "EdExpandableItem",
            "module": "/src/internal/expandable-item.js"
          },
          "summary": "A tree item serves as a hierarchical node that lives inside a [tree](/a/eurodata-ui/docs/components/tree).",
          "jsDoc": "/**\n * @summary A tree item serves as a hierarchical node that lives inside a [tree](/a/eurodata-ui/docs/components/tree).\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tree-item\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('treeitem', { name: '…' })\n *\n * @dependency ed-checkbox\n * @dependency ed-icon\n * @dependency ed-progress-ring\n *\n * @event ed-expand - Emitted when the tree item expands.\n * @event ed-after-expand - Emitted after the tree item expands and all animations are complete.\n * @event ed-collapse - Emitted when the tree item collapses.\n * @event ed-after-collapse - Emitted after the tree item collapses and all animations are complete.\n * @event ed-lazy-change - Emitted when the tree item's lazy state changes.\n * @event {{ row: RowData, rowId: unknown }} ed-lazy-load - Emitted when a lazy item is selected. Use this event to asynchronously load data and append\n *  items to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading\n *  state and update the tree.\n *\n * @slot - The default slot.\n * @slot start - Content placed before the label, e.g. an icon.\n * @slot end - Content placed after the label, e.g. an action button or badge.\n * @slot description - Secondary text rendered below the label. Stays at default styling regardless of\n *  selection state (does not adopt the active or path-highlight color/weight).\n * @slot expand-icon - The icon to show when the tree item is expanded.\n * @slot collapse-icon - The icon to show when the tree item is collapsed.\n *\n * @csspart base - The component's base wrapper.\n * @csspart item - The tree item's container. This element wraps everything except slotted tree item children.\n * @csspart indentation - The tree item's indentation container.\n * @csspart expand-button - The container that wraps the tree item's expand button and spinner.\n * @csspart spinner - The spinner that shows when a lazy tree item is in the loading state.\n * @csspart spinner__base - The spinner's base part.\n * @csspart start - The container for the `start` slot, rendered before the label.\n * @csspart text - The vertical container that wraps the label and the description.\n * @csspart label - The tree item's label.\n * @csspart description - The container for the `description` slot, rendered below the label.\n * @csspart end - The container for the `end` slot, rendered after the label.\n * @csspart children - The container that wraps the tree item's nested children.\n * @csspart checkbox - The checkbox that shows when using multiselect.\n * @csspart checkbox__base - The checkbox's exported `base` part.\n * @csspart checkbox__control - The checkbox's exported `control` part.\n * @csspart checkbox__checked-icon - The checkbox's exported `checked-icon` part.\n * @csspart checkbox__indeterminate-icon - The checkbox's exported `indeterminate-icon` part.\n * @csspart checkbox__label - The checkbox's exported `label` part.\n *\n * @cssproperty [--show-duration=var(--ed-transition-normal)] - The animation duration when expanding tree items.\n * @cssproperty [--hide-duration=var(--ed-transition-normal)] - The animation duration when collapsing tree items.\n * @cssproperty [--background=var(--ed-color-surface-default)] - The background color the tree item sits on. Hover and\n *  active states are mixed on top of this value, so override it when placing the tree on a non-default surface\n *  (e.g. a raised panel or card) to keep hover/active feedback coherent.\n *\n * @cssstate disabled - Applied when the tree item is disabled.\n * @cssstate expanded - Applied when the tree item is expanded.\n * @cssstate indeterminate - Applied when the selection is indeterminate.\n * @cssstate selected - Applied when the tree item is selected.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tree-item",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('treeitem', { name: '…' })",
          "dependencies": [
            "ed-checkbox",
            "ed-icon",
            "ed-progress-ring"
          ],
          "tagName": "ed-tree-item",
          "customElement": true,
          "modulePath": "components/tree-item/tree-item.js",
          "definitionPath": "components/tree-item/tree-item.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTreeItem",
            "module": "components/tree-item/tree-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-tree-item",
          "declaration": {
            "name": "EdTreeItem",
            "module": "components/tree-item/tree-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/selection-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSelectionChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdSelectionChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/selection-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdSelectionChangeEvent",
          "declaration": {
            "name": "EdSelectionChangeEvent",
            "module": "events/selection-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/session-expired.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSessionExpiredEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdSessionExpiredEventDetails | undefined"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/session-expired.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdSessionExpiredEvent",
          "declaration": {
            "name": "EdSessionExpiredEvent",
            "module": "events/session-expired.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/session-expiring.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSessionExpiringEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdSessionExpiringEventDetails | undefined"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/session-expiring.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdSessionExpiringEvent",
          "declaration": {
            "name": "EdSessionExpiringEvent",
            "module": "events/session-expiring.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/carousel-item/carousel-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCarouselItem",
          "cssProperties": [
            {
              "description": "The slide's aspect ratio. Inherited from the carousel by default.",
              "name": "--aspect-ratio"
            }
          ],
          "slots": [
            {
              "description": "The carousel item's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A carousel item represent a slide within a carousel.",
          "jsDoc": "/**\n * @summary A carousel item represent a slide within a carousel.\n *\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/carousel-item\n * @since 1.0\n * @playwright getByRole('group')\n * @status ready-for-testing\n *\n * @slot - The carousel item's content.\n *\n * @cssproperty --aspect-ratio - The slide's aspect ratio. Inherited from the carousel by default.\n *\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/carousel-item",
          "since": "1.0",
          "playwright": "getByRole('group')",
          "status": "ready-for-testing",
          "tagName": "ed-carousel-item",
          "customElement": true,
          "attributes": [
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "modulePath": "components/carousel-item/carousel-item.js",
          "definitionPath": "components/carousel-item/carousel-item.js",
          "cssParts": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdCarouselItem",
            "module": "components/carousel-item/carousel-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-carousel-item",
          "declaration": {
            "name": "EdCarouselItem",
            "module": "components/carousel-item/carousel-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/slide-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSlideChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdSlideChangeEventDetails"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/slide-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdSlideChangeEvent",
          "declaration": {
            "name": "EdSlideChangeEvent",
            "module": "events/slide-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/sort.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSortEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdSortEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/sort.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdSortEvent",
          "declaration": {
            "name": "EdSortEvent",
            "module": "events/sort.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/start.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdStartEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/start.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdStartEvent",
          "declaration": {
            "name": "EdStartEvent",
            "module": "events/start.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/step-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdStepChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdStepChangeEventDetail | undefined"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/step-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdStepChangeEvent",
          "declaration": {
            "name": "EdStepChangeEvent",
            "module": "events/step-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/super-tab-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSuperTabChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdSuperTabChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/super-tab-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdSuperTabChangeEvent",
          "declaration": {
            "name": "EdSuperTabChangeEvent",
            "module": "events/super-tab-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/tab-close.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTabCloseEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdTabCloseEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/tab-close.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdTabCloseEvent",
          "declaration": {
            "name": "EdTabCloseEvent",
            "module": "events/tab-close.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/tab-hide.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTabHideEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdTabHideEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/tab-hide.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdTabHideEvent",
          "declaration": {
            "name": "EdTabHideEvent",
            "module": "events/tab-hide.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/tab-show.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTabShowEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdTabShowEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/tab-show.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdTabShowEvent",
          "declaration": {
            "name": "EdTabShowEvent",
            "module": "events/tab-show.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/unread-news-count-changed.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdUnreadNewsCountChangedEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdUnreadNewsCountChangedEventDetails | undefined"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/unread-news-count-changed.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdUnreadNewsCountChangedEvent",
          "declaration": {
            "name": "EdUnreadNewsCountChangedEvent",
            "module": "events/unread-news-count-changed.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/upload/upload.types.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "events/upload-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdUploadChangeEvent",
          "superclass": {
            "name": "CustomEvent",
            "module": "src/events/upload-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdUploadChangeEvent",
          "declaration": {
            "name": "EdUploadChangeEvent",
            "module": "events/upload-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/upload-error.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdUploadErrorEvent",
          "superclass": {
            "name": "CustomEvent",
            "module": "src/events/upload-error.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdUploadErrorEvent",
          "declaration": {
            "name": "EdUploadErrorEvent",
            "module": "events/upload-error.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/upload-finished.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdUploadFinishedEvent",
          "superclass": {
            "name": "CustomEvent",
            "module": "src/events/upload-finished.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdUploadFinishedEvent",
          "declaration": {
            "name": "EdUploadFinishedEvent",
            "module": "events/upload-finished.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/upload-progress.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdUploadProgressEvent",
          "superclass": {
            "name": "CustomEvent",
            "module": "src/events/upload-progress.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdUploadProgressEvent",
          "declaration": {
            "name": "EdUploadProgressEvent",
            "module": "events/upload-progress.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/video-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdVideoChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdVideoChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/video-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdVideoChangeEvent",
          "declaration": {
            "name": "EdVideoChangeEvent",
            "module": "events/video-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/view-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdViewChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdViewChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/view-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdViewChangeEvent",
          "declaration": {
            "name": "EdViewChangeEvent",
            "module": "events/view-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/wizard-step-meta-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdWizardStepMetaChangeEvent",
          "superclass": {
            "name": "Event",
            "module": "src/events/wizard-step-meta-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdWizardStepMetaChangeEvent",
          "declaration": {
            "name": "EdWizardStepMetaChangeEvent",
            "module": "events/wizard-step-meta-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/zoom-change.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdZoomChangeEvent",
          "members": [
            {
              "kind": "field",
              "name": "detail",
              "type": {
                "text": "EdZoomChangeEventDetail"
              },
              "readonly": true,
              "default": "detail"
            }
          ],
          "superclass": {
            "name": "Event",
            "module": "src/events/zoom-change.ts"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdZoomChangeEvent",
          "declaration": {
            "name": "EdZoomChangeEvent",
            "module": "events/zoom-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "events/events.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "EdAfterCollapseEvent",
          "declaration": {
            "name": "EdAfterCollapseEvent",
            "module": "after-collapse.js"
          }
        },
        {
          "kind": "js",
          "name": "EdAfterExpandEvent",
          "declaration": {
            "name": "EdAfterExpandEvent",
            "module": "after-expand.js"
          }
        },
        {
          "kind": "js",
          "name": "EdAfterHideEvent",
          "declaration": {
            "name": "EdAfterHideEvent",
            "module": "after-hide.js"
          }
        },
        {
          "kind": "js",
          "name": "EdAfterShowEvent",
          "declaration": {
            "name": "EdAfterShowEvent",
            "module": "after-show.js"
          }
        },
        {
          "kind": "js",
          "name": "EdCancelEvent",
          "declaration": {
            "name": "EdCancelEvent",
            "module": "cancel.js"
          }
        },
        {
          "kind": "js",
          "name": "EdChangeEvent",
          "declaration": {
            "name": "EdChangeEvent",
            "module": "change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdClearEvent",
          "declaration": {
            "name": "EdClearEvent",
            "module": "clear.js"
          }
        },
        {
          "kind": "js",
          "name": "EdCollapseEvent",
          "declaration": {
            "name": "EdCollapseEvent",
            "module": "collapse.js"
          }
        },
        {
          "kind": "js",
          "name": "EdColumnReorderEvent",
          "declaration": {
            "name": "EdColumnReorderEvent",
            "module": "column-reorder.js"
          }
        },
        {
          "kind": "js",
          "name": "EdColumnResizeEvent",
          "declaration": {
            "name": "EdColumnResizeEvent",
            "module": "column-resize.js"
          }
        },
        {
          "kind": "js",
          "name": "EdConfirmEvent",
          "declaration": {
            "name": "EdConfirmEvent",
            "module": "confirm.js"
          }
        },
        {
          "kind": "js",
          "name": "EdContentChangeEvent",
          "declaration": {
            "name": "EdContentChangeEvent",
            "module": "content-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdCopyEvent",
          "declaration": {
            "name": "EdCopyEvent",
            "module": "copy.js"
          }
        },
        {
          "kind": "js",
          "name": "EdCreateEvent",
          "declaration": {
            "name": "EdCreateEvent",
            "module": "create.js"
          }
        },
        {
          "kind": "js",
          "name": "EdEditEvent",
          "declaration": {
            "name": "EdEditEvent",
            "module": "edit.js"
          }
        },
        {
          "kind": "js",
          "name": "EdErrorEvent",
          "declaration": {
            "name": "EdErrorEvent",
            "module": "error.js"
          }
        },
        {
          "kind": "js",
          "name": "EdExpandEvent",
          "declaration": {
            "name": "EdExpandEvent",
            "module": "expand.js"
          }
        },
        {
          "kind": "js",
          "name": "EdFileInputChangeEvent",
          "declaration": {
            "name": "EdFileInputChangeEvent",
            "module": "file-input-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdFilePreviewEvent",
          "declaration": {
            "name": "EdFilePreviewEvent",
            "module": "file-preview.js"
          }
        },
        {
          "kind": "js",
          "name": "EdFilterEvent",
          "declaration": {
            "name": "EdFilterEvent",
            "module": "filter.js"
          }
        },
        {
          "kind": "js",
          "name": "EdFinishEvent",
          "declaration": {
            "name": "EdFinishEvent",
            "module": "finish.js"
          }
        },
        {
          "kind": "js",
          "name": "EdHideEvent",
          "declaration": {
            "name": "EdHideEvent",
            "module": "hide.js"
          }
        },
        {
          "kind": "js",
          "name": "EdHoverEvent",
          "declaration": {
            "name": "EdHoverEvent",
            "module": "hover.js"
          }
        },
        {
          "kind": "js",
          "name": "EdIncludeErrorEvent",
          "declaration": {
            "name": "EdIncludeErrorEvent",
            "module": "include-error.js"
          }
        },
        {
          "kind": "js",
          "name": "EdIntersectEvent",
          "declaration": {
            "name": "EdIntersectEvent",
            "module": "intersect.js"
          }
        },
        {
          "kind": "js",
          "name": "EdInvalidEvent",
          "declaration": {
            "name": "EdInvalidEvent",
            "module": "invalid.js"
          }
        },
        {
          "kind": "js",
          "name": "EdLazyChangeEvent",
          "declaration": {
            "name": "EdLazyChangeEvent",
            "module": "lazy-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdLazyLoadEvent",
          "declaration": {
            "name": "EdLazyLoadEvent",
            "module": "lazy-load.js"
          }
        },
        {
          "kind": "js",
          "name": "EdLoadMoreEvent",
          "declaration": {
            "name": "EdLoadMoreEvent",
            "module": "load-more.js"
          }
        },
        {
          "kind": "js",
          "name": "EdLoadEvent",
          "declaration": {
            "name": "EdLoadEvent",
            "module": "load.js"
          }
        },
        {
          "kind": "js",
          "name": "EdMutationEvent",
          "declaration": {
            "name": "EdMutationEvent",
            "module": "mutation.js"
          }
        },
        {
          "kind": "js",
          "name": "EdNavigateEvent",
          "declaration": {
            "name": "EdNavigateEvent",
            "module": "navigate.js"
          }
        },
        {
          "kind": "js",
          "name": "EdNewsCountChangedEvent",
          "declaration": {
            "name": "EdNewsCountChangedEvent",
            "module": "news-count-changed.js"
          }
        },
        {
          "kind": "js",
          "name": "EdPageChangeEvent",
          "declaration": {
            "name": "EdPageChangeEvent",
            "module": "page-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdPageSizeChangeEvent",
          "declaration": {
            "name": "EdPageSizeChangeEvent",
            "module": "page-size-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdPaginationChangeEvent",
          "declaration": {
            "name": "EdPaginationChangeEvent",
            "module": "pagination-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdRemoveEvent",
          "declaration": {
            "name": "EdRemoveEvent",
            "module": "remove.js"
          }
        },
        {
          "kind": "js",
          "name": "EdRepositionEvent",
          "declaration": {
            "name": "EdRepositionEvent",
            "module": "reposition.js"
          }
        },
        {
          "kind": "js",
          "name": "EdRequestPreviewEvent",
          "declaration": {
            "name": "EdRequestPreviewEvent",
            "module": "request-preview.js"
          }
        },
        {
          "kind": "js",
          "name": "EdResizeEvent",
          "declaration": {
            "name": "EdResizeEvent",
            "module": "resize.js"
          }
        },
        {
          "kind": "js",
          "name": "EdRotateEvent",
          "declaration": {
            "name": "EdRotateEvent",
            "module": "rotate.js"
          }
        },
        {
          "kind": "js",
          "name": "EdRowCollapseEvent",
          "declaration": {
            "name": "EdRowCollapseEvent",
            "module": "row-collapse.js"
          }
        },
        {
          "kind": "js",
          "name": "EdRowDblclickEvent",
          "declaration": {
            "name": "EdRowDblclickEvent",
            "module": "row-dblclick.js"
          }
        },
        {
          "kind": "js",
          "name": "EdRowExpandEvent",
          "declaration": {
            "name": "EdRowExpandEvent",
            "module": "row-expand.js"
          }
        },
        {
          "kind": "js",
          "name": "EdRowReorderEvent",
          "declaration": {
            "name": "EdRowReorderEvent",
            "module": "row-reorder.js"
          }
        },
        {
          "kind": "js",
          "name": "EdScrollEndEvent",
          "declaration": {
            "name": "EdScrollEndEvent",
            "module": "scroll-end.js"
          }
        },
        {
          "kind": "js",
          "name": "EdScrollStartEvent",
          "declaration": {
            "name": "EdScrollStartEvent",
            "module": "scroll-start.js"
          }
        },
        {
          "kind": "js",
          "name": "EdScrollspyChangeEvent",
          "declaration": {
            "name": "EdScrollspyChangeEvent",
            "module": "scrollspy-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdSectionChangeEvent",
          "declaration": {
            "name": "EdSectionChangeEvent",
            "module": "section-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdSelectEvent",
          "declaration": {
            "name": "EdSelectEvent",
            "module": "select.js"
          }
        },
        {
          "kind": "js",
          "name": "EdSelectionChangeEvent",
          "declaration": {
            "name": "EdSelectionChangeEvent",
            "module": "selection-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdSessionExpiredEvent",
          "declaration": {
            "name": "EdSessionExpiredEvent",
            "module": "session-expired.js"
          }
        },
        {
          "kind": "js",
          "name": "SessionExpiredCause",
          "declaration": {
            "name": "SessionExpiredCause",
            "module": "session-expired.js"
          }
        },
        {
          "kind": "js",
          "name": "EdSessionExpiringEvent",
          "declaration": {
            "name": "EdSessionExpiringEvent",
            "module": "session-expiring.js"
          }
        },
        {
          "kind": "js",
          "name": "EdShowEvent",
          "declaration": {
            "name": "EdShowEvent",
            "module": "show.js"
          }
        },
        {
          "kind": "js",
          "name": "EdSlideChangeEvent",
          "declaration": {
            "name": "EdSlideChangeEvent",
            "module": "slide-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdSortEvent",
          "declaration": {
            "name": "EdSortEvent",
            "module": "sort.js"
          }
        },
        {
          "kind": "js",
          "name": "EdStartEvent",
          "declaration": {
            "name": "EdStartEvent",
            "module": "start.js"
          }
        },
        {
          "kind": "js",
          "name": "EdStepChangeEvent",
          "declaration": {
            "name": "EdStepChangeEvent",
            "module": "step-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdSuperTabChangeEvent",
          "declaration": {
            "name": "EdSuperTabChangeEvent",
            "module": "super-tab-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdTabCloseEvent",
          "declaration": {
            "name": "EdTabCloseEvent",
            "module": "tab-close.js"
          }
        },
        {
          "kind": "js",
          "name": "EdTabHideEvent",
          "declaration": {
            "name": "EdTabHideEvent",
            "module": "tab-hide.js"
          }
        },
        {
          "kind": "js",
          "name": "EdTabShowEvent",
          "declaration": {
            "name": "EdTabShowEvent",
            "module": "tab-show.js"
          }
        },
        {
          "kind": "js",
          "name": "EdUnreadNewsCountChangedEvent",
          "declaration": {
            "name": "EdUnreadNewsCountChangedEvent",
            "module": "unread-news-count-changed.js"
          }
        },
        {
          "kind": "js",
          "name": "EdUploadChangeEvent",
          "declaration": {
            "name": "EdUploadChangeEvent",
            "module": "upload-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdUploadErrorEvent",
          "declaration": {
            "name": "EdUploadErrorEvent",
            "module": "upload-error.js"
          }
        },
        {
          "kind": "js",
          "name": "EdUploadFinishedEvent",
          "declaration": {
            "name": "EdUploadFinishedEvent",
            "module": "upload-finished.js"
          }
        },
        {
          "kind": "js",
          "name": "EdUploadProgressEvent",
          "declaration": {
            "name": "EdUploadProgressEvent",
            "module": "upload-progress.js"
          }
        },
        {
          "kind": "js",
          "name": "EdVideoChangeEvent",
          "declaration": {
            "name": "EdVideoChangeEvent",
            "module": "video-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdViewChangeEvent",
          "declaration": {
            "name": "EdViewChangeEvent",
            "module": "view-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdWizardStepMetaChangeEvent",
          "declaration": {
            "name": "EdWizardStepMetaChangeEvent",
            "module": "wizard-step-meta-change.js"
          }
        },
        {
          "kind": "js",
          "name": "EdZoomChangeEvent",
          "declaration": {
            "name": "EdZoomChangeEvent",
            "module": "zoom-change.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "eurodata.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "getDefaultIconFamily",
          "declaration": {
            "name": "getDefaultIconFamily",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "registerIconLibrary",
          "declaration": {
            "name": "registerIconLibrary",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "setDefaultIconFamily",
          "declaration": {
            "name": "setDefaultIconFamily",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "unregisterIconLibrary",
          "declaration": {
            "name": "unregisterIconLibrary",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "discover",
          "declaration": {
            "name": "discover",
            "module": "utilities/autoloader.js"
          }
        },
        {
          "kind": "js",
          "name": "preventTurboFouce",
          "declaration": {
            "name": "preventTurboFouce",
            "module": "utilities/autoloader.js"
          }
        },
        {
          "kind": "js",
          "name": "startLoader",
          "declaration": {
            "name": "startLoader",
            "module": "utilities/autoloader.js"
          }
        },
        {
          "kind": "js",
          "name": "stopLoader",
          "declaration": {
            "name": "stopLoader",
            "module": "utilities/autoloader.js"
          }
        },
        {
          "kind": "js",
          "name": "getBasePath",
          "declaration": {
            "name": "getBasePath",
            "module": "utilities/base-path.js"
          }
        },
        {
          "kind": "js",
          "name": "setBasePath",
          "declaration": {
            "name": "setBasePath",
            "module": "utilities/base-path.js"
          }
        },
        {
          "kind": "js",
          "name": "allDefined",
          "declaration": {
            "name": "allDefined",
            "module": "utilities/defined.js"
          }
        },
        {
          "kind": "js",
          "name": "registerTranslation",
          "declaration": {
            "name": "registerTranslation",
            "module": "utilities/localize.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "utilities/animation.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "utilities/base-path.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "utilities/form.js"
          }
        },
        {
          "kind": "js",
          "name": "html",
          "declaration": {
            "name": "html",
            "module": "utilities/html.js"
          }
        },
        {
          "kind": "js",
          "name": "createJsxToHtml",
          "declaration": {
            "name": "createJsxToHtml",
            "module": "utilities/jsx-to-html.js"
          }
        },
        {
          "kind": "js",
          "name": "toast",
          "declaration": {
            "name": "toast",
            "module": "utilities/toast.js"
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "events/events.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "eurodata.loader.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "eurodata.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/ar.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'تم إنشاء هذا المحتوى بواسطة الذكاء الاصطناعي', back: 'رجوع', cancel: 'Cancel', carousel: 'كاروسيل', chooseDate: 'اختيار تاريخ', chooseDateAndTime: 'Choose a date and time', chooseTime: 'اختيار وقت', clearEntry: 'حذف الخيارات', close: 'اغلاق', collapse: 'طي', copied: 'تم النسخ', copy: 'نسخ', currentValue: 'القيمة الحالية', dateInputBadInput: 'الرجاء إدخال تاريخ صالح.', dateInputRangeOverflow: 'التاريخ متأخر جدًا.', dateInputRangeUnderflow: 'التاريخ مبكر جدًا.', dateInputValueMissing: 'الرجاء ملء هذا الحقل.', dateNotSelectable: 'لا يمكن اختيار هذا التاريخ.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'اليوم', dateSegmentMonth: 'الشهر', dateSegmentYear: 'السنة', datetimeInputBadInput: 'الرجاء إدخال تاريخ ووقت صالحين.', datetimeInputRangeOverflow: 'التاريخ والوقت متأخران جدًا.', datetimeInputRangeUnderflow: 'التاريخ والوقت مبكران جدًا.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'إنقاص', dragToReorder: 'اسحب لإعادة الترتيب', dropFileHere: 'أسقط الملف هنا أو انقر للتصفح', dropFilesHere: 'أسقط الملفات هنا أو انقر للتصفح', entriesPerPage: 'Entries per page', error: 'خطأ', expand: 'توسيع', finish: 'إنهاء', from: 'from', goToSlide: (slide, count) => `عرض شريحة رقم ${slide} من ${count}`, halfyear: 'نصف السنة', hidePassword: 'اخفاء كلمة المرور', increment: 'زيادة', loading: 'جاري التحميل', mainMenu: 'القائمة الرئيسية', maximumValue: label => (label ? `${label} (القيمة القصوى)` : 'القيمة القصوى'), minimumValue: label => (label ? `${label} (القيمة الدنيا)` : 'القيمة الدنيا'), month: 'الشهر', multipleValues: 'قيم متعددة', newsToggleMenu: 'تبديل قائمة الأخبار', next: 'التالي', nextPage: 'Next page', nextSlide: 'الشريحة التالية', noData: 'لا توجد بيانات', noOptions: 'No options', notificationsRegion: hotkey => `الإشعارات، اضغط ${hotkey} للتركيز`, numCharacters: num => { if (num === 0) return '0 أحرف'; if (num === 1) return '1 حرف'; if (num === 2) return '2 حرفان'; if (num > 2 && num < 11) return `${num} أحرف`; return `${num} حرفًا`; }, numCharactersRemaining: num => { if (num === 0) return '0 أحرف متبقية'; if (num === 1) return '1 حرف متبقٍ'; if (num === 2) return '2 حرفان متبقيان'; if (num > 2 && num < 11) return `${num} أحرف متبقية`; return `${num} حرفًا متبقيًا`; }, numEntries: num => { if (num === 0) return 'لا توجد إدخالات'; if (num === 1) return 'إدخال واحد'; if (num === 2) return 'إدخالان'; if (num > 2 && num < 11) return `${num} إدخالات`; return `${num} إدخالًا`; }, numEntriesLoaded: num => { if (num === 0) return 'لم يتم تحميل أي إدخالات'; if (num === 1) return 'تم تحميل إدخال واحد'; if (num === 2) return 'تم تحميل إدخالان'; if (num > 2 && num < 11) return `تم تحميل ${num} إدخالات`; return `تم تحميل ${num} إدخالًا`; }, numOptionsAvailable: num => { if (num === 0) return 'لا توجد خيارات متاحة'; if (num === 1) return 'خيار واحد متاح'; if (num === 2) return 'خياران متاحان'; if (num > 2 && num < 11) return `${num} خيارات متاحة`; return `${num} خيارًا متاحًا`; }, numOptionsSelected: num => { if (num === 0) return 'لم يتم تحديد أي خيارات'; if (num === 1) return 'تم تحديد خيار واحد'; if (num === 2) return 'تم تحديد خياران'; if (num > 2 && num < 11) return `تم تحديد ${num} خيارات`; return `تم تحديد ${num} خيار`; }, numSelected: num => { if (num === 0) return 'لم يتم تحديد شيء'; return `تم تحديد ${num}`; }, numTotal: num => `الإجمالي ${num}`, ok: 'OK', onThisPage: 'في هذه الصفحة', optionPosition: (label, position, total) => `${label}, ${position} من ${total}`, page: 'Page', pauseAnimation: 'إيقاف الرسوم المتحركة مؤقتًا', playAnimation: 'تشغيل الرسوم المتحركة', previousPage: 'Previous page', previousSlide: 'الشريحة السابقة', progress: 'مقدار التقدم', quarter: 'الربع', rangeSelected: (start, end) => `تم تحديد من ${start} إلى ${end}`, // Calendar range selection rangeSelectingFrom: date => `جارٍ تحديد نطاق بدءًا من ${date}…`, remove: 'حذف', reset: 'إعادة تعيين', resize: 'تغيير الحجم', scrollableRegion: 'منطقة قابلة للتمرير', scrollToEnd: 'الانتقال الى النهاية', scrollToStart: 'الانتقال الى البداية', search: 'بحث', sectionPages: 'صفحات القسم', sections: 'الأقسام', selectAColorFromTheScreen: 'اختر لون من الشاشة', numRowsSelected: num => { if (num === 0) return 'لم يتم تحديد أي صفوف'; if (num === 1) return 'تم تحديد صف واحد'; if (num === 2) return 'تم تحديد صفين'; if (num > 2 && num < 11) return `تم تحديد ${num} صفوف`; return `تم تحديد ${num} صفًا`; }, pageChanged: (page, total) => `الصفحة ${page} من ${total}`, reorderRow: 'إعادة ترتيب الصف', resizeColumn: 'تغيير عرض العمود', rowDropped: position => `تم إفلات الصف في الموضع ${position}`, rowLifted: (position, total) => `تم رفع الصف، الموضع ${position} من ${total}. استخدم السهمين لأعلى ولأسفل للنقل، ومفتاح المسافة للإفلات، وEscape للإلغاء.`, rowMoved: (position, total) => `الموضع ${position} من ${total}`, rowReorderCanceled: 'تم إلغاء إعادة الترتيب', selectAllRows: 'تحديد جميع الصفوف', selectDate: 'تحديد تاريخ', selectDateTime: 'Select date and time', selectRow: 'تحديد الصف', sortedByColumn: (column, direction) => `تم الفرز حسب ${column}، ${direction === 'ascending' ? 'تصاعديًا' : 'تنازليًا'}`, sortingCleared: 'تمت إزالة الفرز', // Date picker selectTime: 'تحديد وقت', showingPanelSpan: (first, last) => `عرض ${first} – ${last}`, showingSinglePanel: month => `عرض ${month}`, showLess: 'عرض أقل', showMore: 'عرض المزيد', showPassword: 'عرض كلمة المرور', skipToContent: 'تخطي إلى المحتوى', slideNum: slide => `شريحة ${slide}`, timeInputBadInput: 'الرجاء إدخال وقت صالح.', timeInputRangeOverflow: 'الوقت متأخر جدًا.', timeInputRangeUnderflow: 'الوقت مبكر جدًا.', timeInputValueMissing: 'الرجاء ملء هذا الحقل.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'الساعة', timeSegmentMinute: 'الدقيقة', timeSegmentSecond: 'الثانية', toggleColorFormat: 'تغيير صيغة عرض اللون', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `الخطوة ${step} من ${total}`, year: 'السنة', zoomIn: 'تكبير', zoomOut: 'تصغير', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'تعذّر تحميل الصفحة', documentViewerLoadErrorHint: 'تحقّق من اتصالك بالإنترنت', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'ذكاء اصطناعي', editorAiSuggestions: 'اقتراحات الذكاء الاصطناعي', editorDelete: 'حذف', editorHideDeletedPages: 'إخفاء الصفحات المحذوفة', editorPage: page => `الصفحة ${page}`, editorRotate: 'تدوير 90°', editorSelectAll: (selected, total) => `تحديد الكل (${selected} من ${total})`, editorSplit: 'تقسيم', editorUser: 'مستخدم', editorZoom: 'تكبير', editorZoomIn: 'تكبير', previewPage: page => `الصفحة ${page}`, save: 'حفظ', scanCancelBack: 'العودة للتحرير', scanCancelConfirm: 'إلغاء التحميل', scanCancelMessage: 'إذا ألغيت، فلن يتم تحميل الملف وستفقد التغييرات. لا يمكن التراجع عن هذا الإجراء.', scanCancelTitle: 'إلغاء التحميل؟', scanFilesDisplayError: 'لا يمكن عرض الملف(ات)', scanFilesLoading: 'جار تحميل الملفات...', scanInvalidSession: 'الجلسة غير صالحة. يرجى إعادة بدء العملية.', scanSaveErrorBack: 'العودة للتحرير', scanSaveErrorMessage: 'حدث خطأ أثناء الحفظ. يمكنك المحاولة مرة أخرى أو العودة للتحرير.', scanSaveErrorRetry: 'إعادة المحاولة', scanSaveErrorTitle: 'خطأ أثناء الحفظ', scanSaving: 'جار إنشاء الملف(ات)', scanSessionLoading: 'جار تحميل جلسة edScan...', scanTitle: 'تحرير الصفحات بمساعدة الذكاء الاصطناعي', uploadDragAndDropDescription: 'يمكنك سحب الملف وإفلاته هنا أو اختياره باستخدام الزر.', uploadDragAndDropTitle: 'رفع ملف', uploadDropFile: 'إفلات الملف', uploadDropFiles: 'إفلات الملفات', uploadDuplicateFile: name => `${name} موجود بالفعل في القائمة`, uploadFailed: 'تعذر رفع الملف(ات)', uploadFileCountSummary: (count, size) => `${count} ملف · ${size}`, uploadFileTooLarge: (name, size) => `الملف ${name} كبير جدًا. الحد الأقصى ${size} MB`, uploadFileTypeNotAllowed: type => `نوع الملف غير مسموح: ${type}`, uploadLimitExceeded: size => `الملف تجاوز حد الرفع ${size} MB`, uploadLimitsExceeded: size => `الملفات تجاوزت حد الرفع ${size} MB`, uploadOr: 'أو', uploadPreviewFile: name => `معاينة: ${name}`, uploadProgress: 'جار رفع الملف(ات)...', uploadRemoveFile: name => `إزالة: ${name}`, uploadRetryFile: name => `إعادة المحاولة: ${name}`, uploadSelectFile: 'اختيار ملف', uploadSelectFiles: 'اختيار ملفات', uploadSuccess: (done, total) => `تم رفع ${done} من ${total} ملف`, uploadTitle: 'رفع ملف', uploadTooManyFiles: max => `يمكنك رفع ${max} ملف كحد أقصى`, $code: 'ar', $dir: 'rtl', $name: 'العربية' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/ar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/cs.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Tento obsah byl vygenerován umělou inteligencí', back: 'Zpět', cancel: 'Cancel', carousel: 'Karusel', chooseDate: 'Vyberte datum', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Vyberte čas', clearEntry: 'Smazat položku', close: 'Zavřít', collapse: 'Sbalit', copied: 'Zkopírováno', copy: 'Kopírovat', currentValue: 'Současná hodnota', dateInputBadInput: 'Zadejte platné datum.', dateInputRangeOverflow: 'Datum je příliš pozdní.', dateInputRangeUnderflow: 'Datum je příliš brzké.', dateInputValueMissing: 'Vyplňte toto pole.', dateNotSelectable: 'Toto datum nelze vybrat.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Den', dateSegmentMonth: 'Měsíc', dateSegmentYear: 'Rok', datetimeInputBadInput: 'Zadejte platné datum a čas.', datetimeInputRangeOverflow: 'Datum a čas jsou příliš pozdní.', datetimeInputRangeUnderflow: 'Datum a čas jsou příliš brzké.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Snížit', dragToReorder: 'Přetažením změňte pořadí', dropFileHere: 'Drop file here or click to browse', dropFilesHere: 'Drop files here or click to browse', entriesPerPage: 'Entries per page', error: 'Chyba', expand: 'Rozbalit', finish: 'Dokončit', from: 'from', goToSlide: (slide, count) => `Přejít na slide ${slide} z ${count}`, halfyear: 'Pololetí', hidePassword: 'Skrýt heslo', increment: 'Zvýšit', loading: 'Nahrává se', mainMenu: 'Hlavní nabídka', maximumValue: label => (label ? `${label} (Maximální hodnota)` : 'Maximální hodnota'), minimumValue: label => (label ? `${label} (Minimální hodnota)` : 'Minimální hodnota'), month: 'Měsíc', multipleValues: 'Více hodnot', newsToggleMenu: 'Přepnout nabídku novinek', next: 'Další', nextPage: 'Next page', nextSlide: 'Další slide', noData: 'Žádná data', noOptions: 'No options', notificationsRegion: hotkey => `Oznámení, stiskněte ${hotkey} pro zaměření`, numCharacters: num => { if (num === 1) return '1 znak'; if (num >= 2 && num <= 4) return `${num} znaky`; return `${num} znaků`; }, numCharactersRemaining: num => { if (num === 1) return '1 zbývající znak'; if (num >= 2 && num <= 4) return `${num} zbývající znaky`; return `${num} zbývajících znaků`; }, numEntries: num => { if (num === 0) return 'Žádné záznamy'; if (num === 1) return '1 záznam'; if (num >= 2 && num <= 4) return `${num} záznamy`; return `${num} záznamů`; }, numEntriesLoaded: num => { if (num === 0) return 'Žádné záznamy nebyly načteny'; if (num === 1) return 'Načten 1 záznam'; return `Načteno ${num} záznamů`; }, numOptionsAvailable: num => { if (num === 0) return 'Nejsou k dispozici žádné možnosti'; if (num === 1) return 'Je k dispozici jedna možnost'; return `Počet dostupných možností: ${num}`; }, numOptionsSelected: num => { if (num === 0) return 'Nejsou vybrány žádné možnosti'; if (num === 1) return 'Je vybrána jedna možnost'; return `Počet vybraných možností: ${num}`; }, numSelected: num => { if (num === 0) return 'Nic vybráno'; return `Vybráno: ${num}`; }, numTotal: num => `Celkem: ${num}`, ok: 'OK', onThisPage: 'Na této stránce', optionPosition: (label, position, total) => `${label}, ${position} z ${total}`, page: 'Page', pauseAnimation: 'Pozastavit animaci', playAnimation: 'Přehrát animaci', previousPage: 'Previous page', previousSlide: 'Předchozí slide', progress: 'Průběh', quarter: 'Čtvrtletí', rangeSelected: (start, end) => `Vybráno ${start} až ${end}`, // Calendar range selection rangeSelectingFrom: date => `Výběr rozsahu od ${date}…`, remove: 'Odstranit', reset: 'Resetovat', resize: 'Změnit velikost', scrollableRegion: 'Posunovatelná oblast', scrollToEnd: 'Scrollovat na konec', scrollToStart: 'Scrollovat na začátek', search: 'Hledat', sectionPages: 'Stránky sekce', sections: 'Sekce', selectAColorFromTheScreen: 'Vybrat barvu z obrazovky', numRowsSelected: num => { if (num === 0) return 'Nejsou vybrány žádné řádky'; if (num === 1) return 'Vybrán 1 řádek'; if (num >= 2 && num <= 4) return `Vybrány ${num} řádky`; return `Vybráno ${num} řádků`; }, pageChanged: (page, total) => `Strana ${page} z ${total}`, reorderRow: 'Přesunout řádek', resizeColumn: 'Změnit šířku sloupce', rowDropped: position => `Řádek umístěn na pozici ${position}`, rowLifted: (position, total) => `Řádek zvednut, pozice ${position} z ${total}. Šipkami nahoru a dolů přesunete, mezerníkem umístíte, klávesou Escape zrušíte.`, rowMoved: (position, total) => `Pozice ${position} z ${total}`, rowReorderCanceled: 'Přesun zrušen', selectAllRows: 'Vybrat všechny řádky', selectDate: 'Vybrat datum', selectDateTime: 'Select date and time', selectRow: 'Vybrat řádek', sortedByColumn: (column, direction) => `Seřazeno podle ${column}, ${direction === 'ascending' ? 'vzestupně' : 'sestupně'}`, sortingCleared: 'Řazení odebráno', // Date picker selectTime: 'Vybrat čas', showingPanelSpan: (first, last) => `Zobrazeno ${first} – ${last}`, showingSinglePanel: month => `Zobrazeno ${month}`, showLess: 'Zobrazit méně', showMore: 'Zobrazit více', showPassword: 'Zobrazit heslo', skipToContent: 'Přeskočit na obsah', slideNum: slide => `Slide ${slide}`, timeInputBadInput: 'Zadejte platný čas.', timeInputRangeOverflow: 'Čas je příliš pozdní.', timeInputRangeUnderflow: 'Čas je příliš brzký.', timeInputValueMissing: 'Vyplňte toto pole.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Hodina', timeSegmentMinute: 'Minuta', timeSegmentSecond: 'Sekunda', toggleColorFormat: 'Přepnout formát barvy', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Krok ${step} z ${total}`, year: 'Rok', zoomIn: 'Přiblížit', zoomOut: 'Oddálit', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Stránku nelze načíst', documentViewerLoadErrorHint: 'Zkontrolujte připojení k internetu', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI návrhy', editorDelete: 'Smazat', editorHideDeletedPages: 'Skrýt smazané stránky', editorPage: page => `Strana ${page}`, editorRotate: 'Otočit o 90°', editorSelectAll: (selected, total) => `Vybrat vše (${selected} z ${total})`, editorSplit: 'Rozdělit', editorUser: 'Uživatel', editorZoom: 'Přiblížení', editorZoomIn: 'Přiblížit', previewPage: page => `Strana ${page}`, save: 'Uložit', scanCancelBack: 'Zpět k úpravám', scanCancelConfirm: 'Zrušit nahrávání', scanCancelMessage: 'Pokud zrušíte, soubor nebude nahrán a změny budou ztraceny. Tuto akci nelze vrátit zpět.', scanCancelTitle: 'Zrušit nahrávání?', scanFilesDisplayError: 'Soubor(y) nelze zobrazit', scanFilesLoading: 'Načítání souborů...', scanInvalidSession: 'Relace je neplatná. Restartujte proces.', scanSaveErrorBack: 'Zpět k úpravám', scanSaveErrorMessage: 'Při ukládání došlo k chybě. Můžete to zkusit znovu nebo se vrátit k úpravám.', scanSaveErrorRetry: 'Zkusit znovu', scanSaveErrorTitle: 'Chyba při ukládání', scanSaving: 'Vytváření souboru(ů)', scanSessionLoading: 'Načítání relace edScan...', scanTitle: 'Úprava stránek s pomocí AI', uploadDragAndDropDescription: 'Soubor můžete přetáhnout sem nebo jej vybrat pomocí tlačítka.', uploadDragAndDropTitle: 'Nahrát soubor', uploadDropFile: 'Přetáhněte soubor', uploadDropFiles: 'Přetáhněte soubory', uploadDuplicateFile: name => `${name} už je v seznamu`, uploadFailed: 'Soubor(y) nebylo možné úspěšně nahrát', uploadFileCountSummary: (count, size) => `${count} soubor(ů) · ${size}`, uploadFileTooLarge: (name, size) => `Soubor ${name} je příliš velký. Maximální velikost je ${size} MB.`, uploadFileTypeNotAllowed: type => `Typ souboru není povolen: ${type}`, uploadLimitExceeded: size => `Soubor překročil limit nahrávání ${size} MB`, uploadLimitsExceeded: size => `Soubory překročily limit nahrávání ${size} MB`, uploadOr: 'nebo', uploadPreviewFile: name => `Náhled: ${name}`, uploadProgress: 'Soubor(y) se nahrávají...', uploadRemoveFile: name => `Odebrat: ${name}`, uploadRetryFile: name => `Zkusit znovu: ${name}`, uploadSelectFile: 'Vybrat soubor', uploadSelectFiles: 'Vybrat soubory', uploadSuccess: (done, total) => `${done} z ${total} souborů nahráno`, uploadTitle: 'Nahrát soubor', uploadTooManyFiles: max => `Můžete nahrát nejvýše ${max} soubor(ů)`, $code: 'cs', $dir: 'ltr', $name: 'Čeština' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/cs.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/da.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Dette indhold er genereret af AI', back: 'Tilbage', cancel: 'Cancel', carousel: 'Karrusel', chooseDate: 'Vælg en dato', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Vælg et tidspunkt', clearEntry: 'Ryd indtastning', close: 'Luk', collapse: 'Skjul', copied: 'Kopieret', copy: 'Kopier', currentValue: 'Nuværende værdi', dateInputBadInput: 'Indtast en gyldig dato.', dateInputRangeOverflow: 'Datoen er for sen.', dateInputRangeUnderflow: 'Datoen er for tidlig.', dateInputValueMissing: 'Udfyld dette felt.', dateNotSelectable: 'Denne dato kan ikke vælges.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Dag', dateSegmentMonth: 'Måned', dateSegmentYear: 'År', datetimeInputBadInput: 'Indtast en gyldig dato og et gyldigt tidspunkt.', datetimeInputRangeOverflow: 'Dato og tidspunkt er for sent.', datetimeInputRangeUnderflow: 'Dato og tidspunkt er for tidligt.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Formindsk', dragToReorder: 'Træk for at omarrangere', dropFileHere: 'Drop file here or click to browse', dropFilesHere: 'Drop files here or click to browse', entriesPerPage: 'Entries per page', error: 'Fejl', expand: 'Vis', finish: 'Afslut', from: 'from', goToSlide: (slide, count) => `Gå til dias ${slide} af ${count}`, halfyear: 'Halvår', hidePassword: 'Skjul adgangskode', increment: 'Forøg', loading: 'Indlæser', mainMenu: 'Hovedmenu', maximumValue: label => (label ? `${label} (Maksimumsværdi)` : 'Maksimumsværdi'), minimumValue: label => (label ? `${label} (Minimumsværdi)` : 'Minimumsværdi'), month: 'Måned', multipleValues: 'Flere værdier', newsToggleMenu: 'Skift nyhedsmenu', next: 'Næste', nextPage: 'Next page', nextSlide: 'Næste slide', noData: 'Ingen data', noOptions: 'No options', notificationsRegion: hotkey => `Notifikationer, tryk ${hotkey} for at fokusere`, numCharacters: num => { if (num === 1) return '1 tegn'; return `${num} tegn`; }, numCharactersRemaining: num => { if (num === 1) return '1 tegn tilbage'; return `${num} tegn tilbage`; }, numEntries: (num: number) => { if (num === 0) return 'Ingen poster'; if (num === 1) return '1 post'; return `${num} poster`; }, numEntriesLoaded: (num: number) => { if (num === 0) return 'Ingen poster indlæst'; if (num === 1) return '1 post indlæst'; return `${num} poster indlæst`; }, numOptionsAvailable: (num: number) => { if (num === 0) return 'Ingen tilgængelige'; if (num === 1) return '1 tilgængelig'; return `${num} tilgængelige`; }, numOptionsSelected: (num: number) => { if (num === 0) return 'Ingen valgt'; if (num === 1) return '1 valgt'; return `${num} valgt`; }, numSelected: (num: number) => { if (num === 0) return 'Ingen valgt'; return `${num} valgt`; }, numTotal: (num: number) => `${num} i alt`, ok: 'OK', onThisPage: 'På denne side', optionPosition: (label, position, total) => `${label}, ${position} af ${total}`, page: 'Page', pauseAnimation: 'Pause animation', playAnimation: 'Afspil animation', previousPage: 'Previous page', previousSlide: 'Forrige dias', progress: 'Status', quarter: 'Kvartal', rangeSelected: (start, end) => `${start} til ${end} valgt`, // Calendar range selection rangeSelectingFrom: date => `Vælger interval fra ${date}…`, remove: 'Fjern', reset: 'Nulstil', resize: 'Tilpas størrelse', scrollableRegion: 'Rullebar region', scrollToEnd: 'Scroll til slut', scrollToStart: 'Scroll til start', search: 'Søg', sectionPages: 'Sektionens sider', sections: 'Sektioner', selectAColorFromTheScreen: 'Vælg en farve fra skærmen', numRowsSelected: num => { if (num === 0) return 'Ingen rækker valgt'; if (num === 1) return '1 række valgt'; return `${num} rækker valgt`; }, pageChanged: (page, total) => `Side ${page} af ${total}`, reorderRow: 'Flyt række', resizeColumn: 'Tilpas kolonnebredde', rowDropped: position => `Række placeret på position ${position}`, rowLifted: (position, total) => `Række løftet, position ${position} af ${total}. Brug pil op og pil ned for at flytte, mellemrum for at placere, Escape for at annullere.`, rowMoved: (position, total) => `Position ${position} af ${total}`, rowReorderCanceled: 'Flytning annulleret', selectAllRows: 'Vælg alle rækker', selectDate: 'Vælg dato', selectDateTime: 'Select date and time', selectRow: 'Vælg række', sortedByColumn: (column, direction) => `Sorteret efter ${column}, ${direction === 'ascending' ? 'stigende' : 'faldende'}`, sortingCleared: 'Sortering fjernet', // Date picker selectTime: 'Vælg tidspunkt', showingPanelSpan: (first, last) => `Viser ${first} – ${last}`, showingSinglePanel: month => `Viser ${month}`, showLess: 'Vis mindre', showMore: 'Vis mere', showPassword: 'Vis adgangskode', skipToContent: 'Gå til indhold', slideNum: slide => `Slide ${slide}`, timeInputBadInput: 'Indtast et gyldigt tidspunkt.', timeInputRangeOverflow: 'Tidspunktet er for sent.', timeInputRangeUnderflow: 'Tidspunktet er for tidligt.', timeInputValueMissing: 'Udfyld dette felt.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Time', timeSegmentMinute: 'Minut', timeSegmentSecond: 'Sekund', toggleColorFormat: 'Skift farveformat', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Trin ${step} af ${total}`, year: 'År', zoomIn: 'Zoom ind', zoomOut: 'Zoom ud', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Siden kunne ikke indlæses', documentViewerLoadErrorHint: 'Tjek din internetforbindelse', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI-forslag', editorDelete: 'Slet', editorHideDeletedPages: 'Skjul slettede sider', editorPage: page => `Side ${page}`, editorRotate: 'Roter 90°', editorSelectAll: (selected, total) => `Vælg alle (${selected} af ${total})`, editorSplit: 'Opdel', editorUser: 'Bruger', editorZoom: 'Zoom', editorZoomIn: 'Zoom ind', previewPage: page => `Side ${page}`, save: 'Gem', scanCancelBack: 'Tilbage til redigering', scanCancelConfirm: 'Annuller upload', scanCancelMessage: 'Hvis du annullerer, bliver filen ikke uploadet, og ændringer går tabt. Handlingen kan ikke fortrydes.', scanCancelTitle: 'Annuller upload?', scanFilesDisplayError: 'Filen/filerne kan ikke vises', scanFilesLoading: 'Indlæser filer...', scanInvalidSession: 'Sessionen er ugyldig. Genstart processen.', scanSaveErrorBack: 'Tilbage til redigering', scanSaveErrorMessage: 'Der opstod en fejl under lagring. Du kan prøve igen eller vende tilbage til redigering.', scanSaveErrorRetry: 'Prøv igen', scanSaveErrorTitle: 'Fejl under lagring', scanSaving: 'Opretter fil(er)', scanSessionLoading: 'Indlæser edScan-session...', scanTitle: 'AI-assisteret sidebehandling', uploadDragAndDropDescription: 'Du kan trække og slippe en fil her eller vælge en med knappen.', uploadDragAndDropTitle: 'Upload fil', uploadDropFile: 'Slip fil', uploadDropFiles: 'Slip filer', uploadDuplicateFile: name => `${name} er allerede på listen`, uploadFailed: 'Fil(er) kunne ikke uploades', uploadFileCountSummary: (count, size) => `${count} fil(er) · ${size}`, uploadFileTooLarge: (name, size) => `Filen ${name} er for stor. Maksimal størrelse er ${size} MB.`, uploadFileTypeNotAllowed: type => `Filtypen er ikke tilladt: ${type}`, uploadLimitExceeded: size => `Filen overskrider uploadgrænsen på ${size} MB`, uploadLimitsExceeded: size => `Filerne overskrider uploadgrænsen på ${size} MB`, uploadOr: 'eller', uploadPreviewFile: name => `Forhåndsvisning: ${name}`, uploadProgress: 'Fil(er) uploades...', uploadRemoveFile: name => `Fjern: ${name}`, uploadRetryFile: name => `Prøv igen: ${name}`, uploadSelectFile: 'Vælg fil', uploadSelectFiles: 'Vælg filer', uploadSuccess: (done, total) => `${done} af ${total} fil(er) uploadet`, uploadTitle: 'Upload fil', uploadTooManyFiles: max => `Du kan højst uploade ${max} fil(er)`, $code: 'da', $dir: 'ltr', $name: 'Dansk' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/da.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/de.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Dieser Inhalt wurde von KI generiert', back: 'Zurück', cancel: 'Abbrechen', carousel: 'Karussell', chooseDate: 'Datum auswählen', chooseDateAndTime: 'Datum und Uhrzeit auswählen', chooseTime: 'Uhrzeit auswählen', clearEntry: 'Eingabe löschen', close: 'Schließen', collapse: 'Einklappen', copied: 'Kopiert', copy: 'Kopieren', currentValue: 'Aktueller Wert', dateInputBadInput: 'Bitte geben Sie ein gültiges Datum ein.', dateInputRangeOverflow: 'Das Datum ist zu spät.', dateInputRangeUnderflow: 'Das Datum ist zu früh.', dateInputValueMissing: 'Bitte füllen Sie dieses Feld aus.', dateNotSelectable: 'Dieses Datum ist nicht auswählbar.', datePlaceholderDay: 'TT', datePlaceholderMonth: 'MM', datePlaceholderYear: 'JJJJ', // Date input dateSegmentDay: 'Tag', dateSegmentMonth: 'Monat', dateSegmentYear: 'Jahr', datetimeInputBadInput: 'Bitte geben Sie ein gültiges Datum und eine gültige Uhrzeit ein.', datetimeInputRangeOverflow: 'Datum und Uhrzeit ist zu spät.', datetimeInputRangeUnderflow: 'Datum und Uhrzeit ist zu früh.', datetimeInputValueMissing: 'Bitte füllen Sie dieses Feld aus.', decrement: 'Verringern', dragToReorder: 'Zum Neuanordnen ziehen', dropFileHere: 'Datei hier ablegen oder zum Durchsuchen klicken', dropFilesHere: 'Dateien hier ablegen oder zum Durchsuchen klicken', entriesPerPage: 'Einträge pro Seite', error: 'Fehler', expand: 'Ausklappen', finish: 'Fertig', from: 'von', goToSlide: (slide, count) => `Zu Folie ${slide} von ${count} gehen`, halfyear: 'Halbjahr', hidePassword: 'Passwort verbergen', increment: 'Erhöhen', loading: 'Wird geladen', mainMenu: 'Hauptmenü', maximumValue: label => (label ? `${label} (Maximalwert)` : 'Maximalwert'), minimumValue: label => (label ? `${label} (Minimalwert)` : 'Minimalwert'), month: 'Monat', multipleValues: 'Mehrere Werte', newsToggleMenu: 'News-Menü umschalten', next: 'Weiter', nextPage: 'Nächste Seite', nextSlide: 'Nächste Folie', noData: 'Keine Daten', noOptions: 'Keine Optionen', notificationsRegion: hotkey => `Benachrichtigungen, ${hotkey} drücken zum Fokussieren`, numCharacters: num => { if (num === 1) return '1 Zeichen'; return `${num} Zeichen`; }, numCharactersRemaining: num => { if (num === 1) return '1 Zeichen verbleibend'; return `${num} Zeichen verbleibend`; }, numEntries: num => { if (num === 0) return 'Keine Einträge'; if (num === 1) return '1 Eintrag'; return `${num} Einträge`; }, numEntriesLoaded: num => { if (num === 0) return 'Keine Einträge geladen'; if (num === 1) return '1 Eintrag geladen'; return `${num} Einträge geladen`; }, numOptionsAvailable: num => { if (num === 0) return 'Keine Optionen verfügbar'; if (num === 1) return '1 Option verfügbar'; return `${num} Optionen verfügbar`; }, numOptionsSelected: num => { if (num === 0) return 'Keine Optionen ausgewählt'; if (num === 1) return '1 Option ausgewählt'; return `${num} Optionen ausgewählt`; }, numSelected: num => { if (num === 0) return 'Keine ausgewählt'; return `${num} ausgewählt`; }, numTotal: num => `${num} insgesamt`, ok: 'OK', onThisPage: 'Auf dieser Seite', optionPosition: (label, position, total) => `${label}, ${position} von ${total}`, page: 'Seite', pauseAnimation: 'Animation pausieren', playAnimation: 'Animation abspielen', previousPage: 'Vorherige Seite', previousSlide: 'Vorherige Folie', progress: 'Fortschritt', quarter: 'Quartal', rangeSelected: (start, end) => `${start} bis ${end} ausgewählt`, // Calendar range selection rangeSelectingFrom: date => `Bereich ab ${date} wird ausgewählt…`, remove: 'Entfernen', reset: 'Zurücksetzen', resize: 'Größe ändern', scrollableRegion: 'Scrollbarer Bereich', scrollToEnd: 'Zum Ende scrollen', scrollToStart: 'Zum Anfang scrollen', search: 'Suchen', sectionPages: 'Seiten des Bereichs', sections: 'Bereiche', selectAColorFromTheScreen: 'Farbe vom Bildschirm auswählen', numRowsSelected: num => { if (num === 0) return 'Keine Zeilen ausgewählt'; if (num === 1) return '1 Zeile ausgewählt'; return `${num} Zeilen ausgewählt`; }, pageChanged: (page, total) => `Seite ${page} von ${total}`, reorderRow: 'Zeile verschieben', resizeColumn: 'Spaltenbreite ändern', rowDropped: position => `Zeile an Position ${position} abgelegt`, rowLifted: (position, total) => `Zeile angehoben, Position ${position} von ${total}. Pfeiltasten verschieben, Leertaste legt ab, Escape bricht ab.`, rowMoved: (position, total) => `Position ${position} von ${total}`, rowReorderCanceled: 'Verschieben abgebrochen', selectAllRows: 'Alle Zeilen auswählen', selectDate: 'Datum auswählen', selectDateTime: 'Datum und Uhrzeit auswählen', selectRow: 'Zeile auswählen', sortedByColumn: (column, direction) => `Sortiert nach ${column}, ${direction === 'ascending' ? 'aufsteigend' : 'absteigend'}`, sortingCleared: 'Sortierung entfernt', // Date picker selectTime: 'Uhrzeit auswählen', showingPanelSpan: (first, last) => `Zeigt ${first} – ${last}`, showingSinglePanel: month => `Zeigt ${month}`, showLess: 'Weniger anzeigen', showMore: 'Mehr anzeigen', showPassword: 'Passwort anzeigen', skipToContent: 'Zum Inhalt springen', slideNum: slide => `Folie ${slide}`, timeInputBadInput: 'Bitte geben Sie eine gültige Uhrzeit ein.', timeInputRangeOverflow: 'Uhrzeit ist zu spät.', timeInputRangeUnderflow: 'Uhrzeit ist zu früh.', timeInputValueMissing: 'Bitte füllen Sie dieses Feld aus.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Tageshälfte', timeSegmentHour: 'Stunde', timeSegmentMinute: 'Minute', timeSegmentSecond: 'Sekunde', toggleColorFormat: 'Farbformat wechseln', weekInputRangeOverflow: 'Die Woche ist zu spät.', weekInputRangeUnderflow: 'Die Woche ist zu früh.', weekInputValueMissing: 'Bitte wählen Sie eine Woche aus.', // Calendar week mode weekLabel: week => `KW ${week}`, wizardStep: (step, total) => `Schritt ${step} von ${total}`, year: 'Jahr', zoomIn: 'Hineinzoomen', zoomOut: 'Herauszoomen', documentViewerContinuous: 'Fortlaufend', documentViewerFitHeight: 'An Höhe anpassen', documentViewerFitWidth: 'An Breite anpassen', documentViewerLoadError: 'Seite konnte nicht geladen werden', documentViewerLoadErrorHint: 'Überprüfen Sie Ihre Internetverbindung', documentViewerPages: 'Seiten', documentViewerRotateLeft: 'Nach links drehen', documentViewerRotateRight: 'Nach rechts drehen', documentViewerSinglePage: 'Einzelseite', documentViewerZoom: 'Zoom', editorAi: 'KI', editorAiSuggestions: 'KI-Vorschläge', editorDelete: 'Löschen', editorHideDeletedPages: 'Gelöschte Seiten ausblenden', editorPage: page => `Seite ${page}`, editorRotate: '90° drehen', editorSelectAll: (selected, total) => `Alle auswählen (${selected} von ${total})`, editorSplit: 'Teilen', editorUser: 'Benutzer', editorZoom: 'Zoom', editorZoomIn: 'Vergrößern', previewPage: page => `Seite ${page}`, save: 'Speichern', scanCancelBack: 'Zurück zur Bearbeitung', scanCancelConfirm: 'Upload abbrechen', scanCancelMessage: 'Wenn Sie abbrechen, wird die Datei nicht hochgeladen und Änderungen gehen verloren. Diese Aktion kann nicht rückgängig gemacht werden.', scanCancelTitle: 'Upload abbrechen?', scanFilesDisplayError: 'Die Datei(en) können nicht angezeigt werden', scanFilesLoading: 'Dateien werden geladen...', scanInvalidSession: 'Die Sitzung ist ungültig. Bitte starten Sie den Vorgang erneut.', scanSaveErrorBack: 'Zurück zur Bearbeitung', scanSaveErrorMessage: 'Beim Speichern ist ein Fehler aufgetreten. Sie können es erneut versuchen oder zur Bearbeitung zurückkehren.', scanSaveErrorRetry: 'Erneut versuchen', scanSaveErrorTitle: 'Fehler beim Speichern', scanSaving: 'Datei(en) werden erstellt', scanSessionLoading: 'edScan-Sitzung wird geladen...', scanTitle: 'KI-gestützte Seitenbearbeitung', uploadDragAndDropDescription: 'Sie können eine Datei hierher ziehen oder über die Schaltfläche auswählen.', uploadDragAndDropTitle: 'Datei hochladen', uploadDropFile: 'Datei ablegen', uploadDropFiles: 'Dateien ablegen', uploadDuplicateFile: name => `${name} ist bereits in der Liste`, uploadFailed: 'Datei(en) konnten nicht erfolgreich hochgeladen werden', uploadFileCountSummary: (count, size) => `${count} Datei(en) · ${size}`, uploadFileTooLarge: (name, size) => `Datei ${name} ist zu groß. Maximale Größe: ${size} MB.`, uploadFileTypeNotAllowed: type => `Dateityp ist nicht erlaubt: ${type}`, uploadLimitExceeded: size => `Die Datei überschreitet das Upload-Limit von ${size} MB`, uploadLimitsExceeded: size => `Die Dateien überschreiten das Upload-Limit von ${size} MB`, uploadOr: 'oder', uploadPreviewFile: name => `Vorschau: ${name}`, uploadProgress: 'Datei(en) werden hochgeladen...', uploadRemoveFile: name => `Entfernen: ${name}`, uploadRetryFile: name => `Erneut versuchen: ${name}`, uploadSelectFile: 'Datei auswählen', uploadSelectFiles: 'Dateien auswählen', uploadSuccess: (done, total) => `${done} von ${total} Datei(en) hochgeladen`, uploadTitle: 'Datei hochladen', uploadTooManyFiles: max => `Es können höchstens ${max} Datei(en) hochgeladen werden`, $code: 'de', $dir: 'ltr', $name: 'Deutsch' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/de.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/de-ch.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ ...baseTranslation, close: 'Schliessen', resize: 'Grösse ändern', $code: 'de-CH', $name: 'Deutsch (Schweiz)' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/de-ch.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/en-gb.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ ...baseTranslation, selectAColorFromTheScreen: 'Select a colour from the screen', toggleColorFormat: 'Toggle colour format', $code: 'en-GB', $name: 'English (United Kingdom)' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/en-gb.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/es.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Este contenido fue generado por IA', back: 'Atrás', cancel: 'Cancel', carousel: 'Carrusel', chooseDate: 'Elegir una fecha', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Elegir una hora', clearEntry: 'Borrar entrada', close: 'Cerrar', collapse: 'Contraer', copied: 'Copiado', copy: 'Copiar', currentValue: 'Valor actual', dateInputBadInput: 'Introduzca una fecha válida.', dateInputRangeOverflow: 'La fecha es demasiado tardía.', dateInputRangeUnderflow: 'La fecha es demasiado temprana.', dateInputValueMissing: 'Rellene este campo.', dateNotSelectable: 'Esta fecha no se puede seleccionar.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Día', dateSegmentMonth: 'Mes', dateSegmentYear: 'Año', datetimeInputBadInput: 'Introduzca una fecha y una hora válidas.', datetimeInputRangeOverflow: 'La fecha y la hora son demasiado tardías.', datetimeInputRangeUnderflow: 'La fecha y la hora son demasiado tempranas.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Disminuir', dragToReorder: 'Arrastrar para reordenar', dropFileHere: 'Arrastra el archivo aquí o haz clic para buscarlo.', dropFilesHere: 'Arrastra los archivos aquí o haz clic para buscarlos.', entriesPerPage: 'Entries per page', error: 'Error', expand: 'Expandir', finish: 'Finalizar', from: 'from', goToSlide: (slide, count) => `Ir a la diapositiva ${slide} de ${count}`, halfyear: 'Semestre', hidePassword: 'Ocultar contraseña', increment: 'Aumentar', loading: 'Cargando', mainMenu: 'Menú principal', maximumValue: label => (label ? `${label} (Valor máximo)` : 'Valor máximo'), minimumValue: label => (label ? `${label} (Valor mínimo)` : 'Valor mínimo'), month: 'Mes', multipleValues: 'Múltiples valores', newsToggleMenu: 'Alternar menú de noticias', next: 'Siguiente', nextPage: 'Next page', nextSlide: 'Siguiente diapositiva', noData: 'Sin datos', noOptions: 'No options', notificationsRegion: hotkey => `Notificaciones, pulse ${hotkey} para enfocar`, numCharacters: num => { if (num === 1) return '1 carácter'; return `${num} caracteres`; }, numCharactersRemaining: num => { if (num === 1) return '1 carácter restante'; return `${num} caracteres restantes`; }, numEntries: num => { if (num === 0) return 'Sin entradas'; if (num === 1) return '1 entrada'; return `${num} entradas`; }, numEntriesLoaded: num => { if (num === 0) return 'No se cargaron entradas'; if (num === 1) return '1 entrada cargada'; return `${num} entradas cargadas`; }, numOptionsAvailable: num => { if (num === 0) return 'No hay opciones disponibles'; if (num === 1) return '1 opción disponible'; return `${num} opciones disponibles`; }, numOptionsSelected: num => { if (num === 0) return 'No hay opciones seleccionadas'; if (num === 1) return '1 opción seleccionada'; return `${num} opción seleccionada`; }, numSelected: num => { if (num === 0) return 'Ninguna seleccionada'; if (num === 1) return '1 seleccionada'; return `${num} seleccionadas`; }, numTotal: num => `${num} en total`, ok: 'OK', onThisPage: 'En esta página', optionPosition: (label, position, total) => `${label}, ${position} de ${total}`, page: 'Page', pauseAnimation: 'Pausar animación', playAnimation: 'Reproducir animación', previousPage: 'Previous page', previousSlide: 'Diapositiva anterior', progress: 'Progreso', quarter: 'Trimestre', rangeSelected: (start, end) => `${start} a ${end} seleccionados`, // Calendar range selection rangeSelectingFrom: date => `Seleccionando intervalo desde ${date}…`, remove: 'Eliminar', reset: 'Restablecer', resize: 'Cambiar el tamaño', scrollableRegion: 'Región desplazable', scrollToEnd: 'Desplazarse hasta el final', scrollToStart: 'Desplazarse al inicio', search: 'Buscar', sectionPages: 'Páginas de la sección', sections: 'Secciones', selectAColorFromTheScreen: 'Seleccione un color de la pantalla', numRowsSelected: num => { if (num === 0) return 'Ninguna fila seleccionada'; if (num === 1) return '1 fila seleccionada'; return `${num} filas seleccionadas`; }, pageChanged: (page, total) => `Página ${page} de ${total}`, reorderRow: 'Reordenar fila', resizeColumn: 'Cambiar el ancho de la columna', rowDropped: position => `Fila soltada en la posición ${position}`, rowLifted: (position, total) => `Fila levantada, posición ${position} de ${total}. Usa las flechas arriba y abajo para mover, Espacio para soltar, Escape para cancelar.`, rowMoved: (position, total) => `Posición ${position} de ${total}`, rowReorderCanceled: 'Reordenación cancelada', selectAllRows: 'Seleccionar todas las filas', selectDate: 'Seleccionar fecha', selectDateTime: 'Select date and time', selectRow: 'Seleccionar fila', sortedByColumn: (column, direction) => `Ordenado por ${column}, ${direction === 'ascending' ? 'ascendente' : 'descendente'}`, sortingCleared: 'Orden eliminado', // Date picker selectTime: 'Seleccionar hora', showingPanelSpan: (first, last) => `Mostrando ${first} – ${last}`, showingSinglePanel: month => `Mostrando ${month}`, showLess: 'Mostrar menos', showMore: 'Mostrar más', showPassword: 'Mostrar contraseña', skipToContent: 'Saltar al contenido', slideNum: slide => `Diapositiva ${slide}`, timeInputBadInput: 'Introduzca una hora válida.', timeInputRangeOverflow: 'La hora es demasiado tardía.', timeInputRangeUnderflow: 'La hora es demasiado temprana.', timeInputValueMissing: 'Rellene este campo.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Hora', timeSegmentMinute: 'Minuto', timeSegmentSecond: 'Segundo', toggleColorFormat: 'Alternar formato de color', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Paso ${step} de ${total}`, year: 'Año', zoomIn: 'Acercar', zoomOut: 'Alejar', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'No se pudo cargar la página', documentViewerLoadErrorHint: 'Compruebe su conexión a Internet', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'IA', editorAiSuggestions: 'Sugerencias de IA', editorDelete: 'Eliminar', editorHideDeletedPages: 'Ocultar páginas eliminadas', editorPage: page => `Página ${page}`, editorRotate: 'Rotar 90°', editorSelectAll: (selected, total) => `Seleccionar todo (${selected} de ${total})`, editorSplit: 'Dividir', editorUser: 'Usuario', editorZoom: 'Zoom', editorZoomIn: 'Ampliar', previewPage: page => `Página ${page}`, save: 'Guardar', scanCancelBack: 'Volver a la edición', scanCancelConfirm: 'Cancelar carga', scanCancelMessage: 'Si cancelas, el archivo no se cargará y los cambios se perderán. Esta acción no se puede deshacer.', scanCancelTitle: '¿Cancelar carga?', scanFilesDisplayError: 'No se pueden mostrar los archivos', scanFilesLoading: 'Cargando archivos...', scanInvalidSession: 'La sesión no es válida. Reinicia el proceso.', scanSaveErrorBack: 'Volver a la edición', scanSaveErrorMessage: 'Ocurrió un error al guardar. Puedes intentarlo nuevamente o volver a la edición.', scanSaveErrorRetry: 'Intentar nuevamente', scanSaveErrorTitle: 'Error al guardar', scanSaving: 'Creando archivo(s)', scanSessionLoading: 'Cargando sesión de edScan...', scanTitle: 'Edición de páginas asistida por IA', uploadDragAndDropDescription: 'Puedes arrastrar y soltar un archivo aquí o seleccionarlo con el botón.', uploadDragAndDropTitle: 'Subir archivo', uploadDropFile: 'Suelta el archivo', uploadDropFiles: 'Suelta los archivos', uploadDuplicateFile: name => `${name} ya está en la lista`, uploadFailed: 'No se pudieron cargar correctamente los archivos', uploadFileCountSummary: (count, size) => `${count} archivo(s) · ${size}`, uploadFileTooLarge: (name, size) => `El archivo ${name} es demasiado grande. El tamaño máximo es ${size} MB.`, uploadFileTypeNotAllowed: type => `El tipo de archivo no está permitido: ${type}`, uploadLimitExceeded: size => `El archivo supera el límite de carga de ${size} MB`, uploadLimitsExceeded: size => `Los archivos superan el límite de carga de ${size} MB`, uploadOr: 'o', uploadPreviewFile: name => `Vista previa: ${name}`, uploadProgress: 'Subiendo archivo(s)...', uploadRemoveFile: name => `Eliminar: ${name}`, uploadRetryFile: name => `Intentar nuevamente: ${name}`, uploadSelectFile: 'Seleccionar archivo', uploadSelectFiles: 'Seleccionar archivos', uploadSuccess: (done, total) => `${done} de ${total} archivo(s) cargados`, uploadTitle: 'Subir archivo', uploadTooManyFiles: max => `Puedes subir como máximo ${max} archivo(s)`, $code: 'es', $dir: 'ltr', $name: 'Español' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/es.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/fa.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'این محتوا توسط هوش مصنوعی تولید شده است', back: 'بازشت', cancel: 'Cancel', carousel: 'چرخ‌فلک', chooseDate: 'انتخاب تاریخ', chooseDateAndTime: 'Choose a date and time', chooseTime: 'انتخاب زمان', clearEntry: 'پاک کردن ورودی', close: 'بستن', collapse: 'جمع کردن', copied: 'کپی شد', copy: 'کپی', currentValue: 'مقدار فعلی', dateInputBadInput: 'لطفاً یک تاریخ معتبر وارد کنید.', dateInputRangeOverflow: 'تاریخ خیلی دیر است.', dateInputRangeUnderflow: 'تاریخ خیلی زود است.', dateInputValueMissing: 'لطفاً این فیلد را پر کنید.', dateNotSelectable: 'این تاریخ قابل انتخاب نیست.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'روز', dateSegmentMonth: 'ماه', dateSegmentYear: 'سال', datetimeInputBadInput: 'لطفاً تاریخ و زمان معتبر وارد کنید.', datetimeInputRangeOverflow: 'تاریخ و زمان خیلی دیر است.', datetimeInputRangeUnderflow: 'تاریخ و زمان خیلی زود است.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'کاهش', dragToReorder: 'برای مرتب‌سازی مجدد بکشید', dropFileHere: 'فایل را اینجا رها کنید یا برای انتخاب کلیک کنید', dropFilesHere: 'فایل‌ها را اینجا رها کنید یا برای انتخاب کلیک کنید', entriesPerPage: 'Entries per page', error: 'خطا', expand: 'گسترش دادن', finish: 'ایان', from: 'from', goToSlide: (slide, count) => `رفتن به اسلاید ${slide} از ${count}`, halfyear: 'نیم‌سال', hidePassword: 'پنهان کردن رمز', increment: 'افزایش', loading: 'بارگذاری', mainMenu: 'منوی اصلی', maximumValue: label => (label ? `${label} (حداکثر مقدار)` : 'حداکثر مقدار'), minimumValue: label => (label ? `${label} (حداقل مقدار)` : 'حداقل مقدار'), month: 'ماه', multipleValues: 'چندین مقدار', newsToggleMenu: 'تغییر منوی اخبار', next: 'بعدی', nextPage: 'Next page', nextSlide: 'اسلاید بعدی', noData: 'بدون داده', noOptions: 'No options', notificationsRegion: hotkey => `اعلان‌ها، برای تمرکز ${hotkey} را فشار دهید`, numCharacters: num => { if (num === 1) return '1 نویسه'; return `${num} نویسه`; }, numCharactersRemaining: num => { if (num === 1) return '1 نویسه باقیمانده'; return `${num} نویسه باقیمانده`; }, numEntries: num => { if (num === 0) return 'بدون ورودی'; return `${num} ورودی`; }, numEntriesLoaded: num => { if (num === 0) return 'هیچ ورودی‌ای بارگیری نشد'; if (num === 1) return '1 ورودی بارگیری شد'; return `${num} ورودی بارگیری شد`; }, numOptionsAvailable: num => { if (num === 0) return 'هیچ گزینه‌ای موجود نیست'; if (num === 1) return '1 گزینه موجود است'; return `${num} گزینه موجود است`; }, numOptionsSelected: num => { if (num === 0) return 'هیچ گزینه ای انتخاب نشده است'; if (num === 1) return '1 گزینه انتخاب شده است'; return `${num} گزینه انتخاب شده است`; }, numSelected: num => { if (num === 0) return 'هیچ‌کدام انتخاب نشده'; return `${num} انتخاب شده`; }, numTotal: num => `${num} در کل`, ok: 'OK', onThisPage: 'در این صفحه', optionPosition: (label, position, total) => `${label}، ${position} از ${total}`, page: 'Page', pauseAnimation: 'مکث انیمیشن', playAnimation: 'پخش انیمیشن', previousPage: 'Previous page', previousSlide: 'اسلاید قبلی', progress: 'پیشرفت', quarter: 'سه‌ماهه', rangeSelected: (start, end) => `از ${start} تا ${end} انتخاب شد`, // Calendar range selection rangeSelectingFrom: date => `در حال انتخاب بازه از ${date}…`, remove: 'حذف', reset: 'بازنشانی', resize: 'تغییر اندازه', scrollableRegion: 'ناحیه قابل اسکرول', scrollToEnd: 'پیمایش به انتها', scrollToStart: 'پیمایش به ابتدا', search: 'جستجو', sectionPages: 'صفحات بخش', sections: 'بخش‌ها', selectAColorFromTheScreen: 'انتخاب یک رنگ از صفحه نمایش', numRowsSelected: num => { if (num === 0) return 'هیچ ردیفی انتخاب نشده است'; return `${num} ردیف انتخاب شد`; }, pageChanged: (page, total) => `صفحه ${page} از ${total}`, reorderRow: 'جابه\\u200cجایی ردیف', resizeColumn: 'تغییر عرض ستون', rowDropped: position => `ردیف در موقعیت ${position} رها شد`, rowLifted: (position, total) => `ردیف برداشته شد، موقعیت ${position} از ${total}. با کلیدهای جهت بالا و پایین جابه\\u200cجا کنید، با کلید فاصله رها کنید و با Escape لغو کنید.`, rowMoved: (position, total) => `موقعیت ${position} از ${total}`, rowReorderCanceled: 'جابه\\u200cجایی لغو شد', selectAllRows: 'انتخاب همه ردیف‌ها', selectDate: 'انتخاب تاریخ', selectDateTime: 'Select date and time', selectRow: 'انتخاب ردیف', sortedByColumn: (column, direction) => `مرتب‌سازی بر اساس ${column}، ${direction === 'ascending' ? 'صعودی' : 'نزولی'}`, sortingCleared: 'مرتب‌سازی حذف شد', // Date picker selectTime: 'انتخاب زمان', showingPanelSpan: (first, last) => `نمایش ${first} – ${last}`, showingSinglePanel: month => `نمایش ${month}`, showLess: 'نمایش کمتر', showMore: 'نمایش بیشتر', showPassword: 'نمایش رمز', skipToContent: 'پرش به محتوا', slideNum: slide => `اسلاید ${slide}`, timeInputBadInput: 'لطفاً یک زمان معتبر وارد کنید.', timeInputRangeOverflow: 'زمان خیلی دیر است.', timeInputRangeUnderflow: 'زمان خیلی زود است.', timeInputValueMissing: 'لطفاً این فیلد را پر کنید.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'ساعت', timeSegmentMinute: 'دقیقه', timeSegmentSecond: 'ثانیه', toggleColorFormat: 'تغییر قالب رنگ', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `مرحله ${step} از ${total}`, year: 'سال', zoomIn: 'بزرگ‌نمایی', zoomOut: 'کوچک‌نمایی', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'صفحه بارگذاری نشد', documentViewerLoadErrorHint: 'اتصال اینترنت خود را بررسی کنید', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'هوش مصنوعی', editorAiSuggestions: 'پیشنهادهای هوش مصنوعی', editorDelete: 'حذف', editorHideDeletedPages: 'مخفی کردن صفحات حذف‌شده', editorPage: page => `صفحه ${page}`, editorRotate: 'چرخش ۹۰°', editorSelectAll: (selected, total) => `انتخاب همه (${selected} از ${total})`, editorSplit: 'تقسیم', editorUser: 'کاربر', editorZoom: 'بزرگ‌نمایی', editorZoomIn: 'بزرگ‌نمایی', previewPage: page => `صفحه ${page}`, save: 'ذخیره', scanCancelBack: 'بازگشت به ویرایش', scanCancelConfirm: 'لغو بارگذاری', scanCancelMessage: 'اگر لغو کنید، فایل بارگذاری نمی‌شود و تغییرات از بین می‌رود. این عمل قابل بازگشت نیست.', scanCancelTitle: 'لغو بارگذاری؟', scanFilesDisplayError: 'نمایش فایل(ها) امکان‌پذیر نیست', scanFilesLoading: 'در حال بارگذاری فایل‌ها...', scanInvalidSession: 'نشست معتبر نیست. لطفاً فرایند را دوباره شروع کنید.', scanSaveErrorBack: 'بازگشت به ویرایش', scanSaveErrorMessage: 'هنگام ذخیره خطایی رخ داد. می‌توانید دوباره تلاش کنید یا به ویرایش برگردید.', scanSaveErrorRetry: 'تلاش دوباره', scanSaveErrorTitle: 'خطا هنگام ذخیره', scanSaving: 'در حال ایجاد فایل(ها)', scanSessionLoading: 'در حال بارگذاری نشست edScan...', scanTitle: 'ویرایش صفحه با کمک هوش مصنوعی', uploadDragAndDropDescription: 'می‌توانید فایل را اینجا بکشید و رها کنید یا با دکمه انتخاب نمایید.', uploadDragAndDropTitle: 'بارگذاری فایل', uploadDropFile: 'فایل را رها کنید', uploadDropFiles: 'فایل‌ها را رها کنید', uploadDuplicateFile: name => `${name} از قبل در فهرست وجود دارد`, uploadFailed: 'بارگذاری فایل(ها) با موفقیت انجام نشد', uploadFileCountSummary: (count, size) => `${count} فایل · ${size}`, uploadFileTooLarge: (name, size) => `فایل ${name} خیلی بزرگ است. حداکثر اندازه ${size} مگابایت است.`, uploadFileTypeNotAllowed: type => `نوع فایل مجاز نیست: ${type}`, uploadLimitExceeded: size => `فایل از محدودیت بارگذاری ${size} مگابایت بیشتر است`, uploadLimitsExceeded: size => `فایل‌ها از محدودیت بارگذاری ${size} مگابایت بیشتر هستند`, uploadOr: 'یا', uploadPreviewFile: name => `پیش‌نمایش: ${name}`, uploadProgress: 'در حال بارگذاری فایل(ها)...', uploadRemoveFile: name => `حذف: ${name}`, uploadRetryFile: name => `تلاش دوباره: ${name}`, uploadSelectFile: 'انتخاب فایل', uploadSelectFiles: 'انتخاب فایل‌ها', uploadSuccess: (done, total) => `${done} از ${total} فایل بارگذاری شد`, uploadTitle: 'بارگذاری فایل', uploadTooManyFiles: max => `حداکثر می‌توانید ${max} فایل بارگذاری کنید`, $code: 'fa', $dir: 'rtl', $name: 'فارسی' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/fa.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/fi.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Tämä sisältö on tekoälyn luomaa', back: 'Takaisin', cancel: 'Cancel', carousel: 'Karuselli', chooseDate: 'Valitse päivämäärä', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Valitse kellonaika', clearEntry: 'Poista merkintä', close: 'Sulje', collapse: 'Supista', copied: 'Kopioitu', copy: 'Kopioi', currentValue: 'Nykyinen arvo', dateInputBadInput: 'Anna kelvollinen päivämäärä.', dateInputRangeOverflow: 'Päivämäärä on liian myöhäinen.', dateInputRangeUnderflow: 'Päivämäärä on liian aikainen.', dateInputValueMissing: 'Täytä tämä kenttä.', dateNotSelectable: 'Tätä päivämäärää ei voi valita.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Päivä', dateSegmentMonth: 'Kuukausi', dateSegmentYear: 'Vuosi', datetimeInputBadInput: 'Anna kelvollinen päivämäärä ja kellonaika.', datetimeInputRangeOverflow: 'Päivämäärä ja kellonaika ovat liian myöhäisiä.', datetimeInputRangeUnderflow: 'Päivämäärä ja kellonaika ovat liian aikaisia.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Vähennä', dragToReorder: 'Järjestä vetämällä', dropFileHere: 'Raahaa tiedosto tähän tai selaa tiedostoja', dropFilesHere: 'Raahaa tiedostot tähän tai selaa tiedostoja', entriesPerPage: 'Entries per page', error: 'Virhe', expand: 'Laajenna', finish: 'Valmis', from: 'from', goToSlide: (slide, count) => `Siirry diaan ${slide} / ${count}`, halfyear: 'Vuosipuolisko', hidePassword: 'Piilota salasana', increment: 'Lisää', loading: 'Ladataan', mainMenu: 'Päävalikko', maximumValue: label => (label ? `${label} (Enimmäisarvo)` : 'Enimmäisarvo'), minimumValue: label => (label ? `${label} (Vähimmäisarvo)` : 'Vähimmäisarvo'), month: 'Kuukausi', multipleValues: 'Useita arvoja', newsToggleMenu: 'Vaihda uutisvalikko', next: 'Seuraava', nextPage: 'Next page', nextSlide: 'Seuraava dia', noData: 'Ei tietoja', noOptions: 'No options', notificationsRegion: hotkey => `Ilmoitukset, paina ${hotkey} kohdistukseen`, numCharacters: num => { if (num === 1) return '1 merkki'; return `${num} merkkiä`; }, numCharactersRemaining: num => { if (num === 1) return '1 merkki jäljellä'; return `${num} merkkiä jäljellä`; }, numEntries: num => { if (num === 0) return 'Ei merkintöjä'; if (num === 1) return '1 merkintä'; return `${num} merkintää`; }, numEntriesLoaded: num => { if (num === 0) return 'Ei merkintöjä ladattu'; if (num === 1) return '1 merkintä ladattu'; return `${num} merkintää ladattu`; }, numOptionsAvailable: num => { if (num === 0) return 'Ei saatavilla olevia vaihtoehtoja'; if (num === 1) return 'Yksi vaihtoehto saatavilla'; return `${num} vaihtoehtoa saatavilla`; }, numOptionsSelected: num => { if (num === 0) return 'Ei valittuja vaihtoehtoja'; if (num === 1) return 'Yksi vaihtoehto valittu'; return `${num} vaihtoehtoa valittu`; }, numSelected: num => { if (num === 0) return 'Ei valintoja'; return `${num} valittu`; }, numTotal: num => `${num} yhteensä`, ok: 'OK', onThisPage: 'Tällä sivulla', optionPosition: (label, position, total) => `${label}, ${position}/${total}`, page: 'Page', pauseAnimation: 'Keskeytä animaatio', playAnimation: 'Toista animaatio', previousPage: 'Previous page', previousSlide: 'Edellinen dia', progress: 'Edistyminen', quarter: 'Vuosineljännes', rangeSelected: (start, end) => `Valittu ${start}–${end}`, // Calendar range selection rangeSelectingFrom: date => `Valitaan väliä alkaen ${date}…`, remove: 'Poista', reset: 'Palauta', resize: 'Muuta kokoa', scrollableRegion: 'Vieritettävä alue', scrollToEnd: 'Vieritä loppuun', scrollToStart: 'Vieritä alkuun', search: 'Hae', sectionPages: 'Osion sivut', sections: 'Osiot', selectAColorFromTheScreen: 'Valitse väri näytöltä', numRowsSelected: num => { if (num === 0) return 'Ei valittuja rivejä'; if (num === 1) return '1 rivi valittu'; return `${num} riviä valittu`; }, pageChanged: (page, total) => `Sivu ${page} / ${total}`, reorderRow: 'Siirrä riviä', resizeColumn: 'Muuta sarakkeen leveyttä', rowDropped: position => `Rivi pudotettu kohtaan ${position}`, rowLifted: (position, total) => `Rivi nostettu, sijainti ${position} / ${total}. Siirrä nuolinäppäimillä ylös ja alas, pudota välilyönnillä, peruuta Escape-näppäimellä.`, rowMoved: (position, total) => `Sijainti ${position} / ${total}`, rowReorderCanceled: 'Siirto peruutettu', selectAllRows: 'Valitse kaikki rivit', selectDate: 'Valitse päivämäärä', selectDateTime: 'Select date and time', selectRow: 'Valitse rivi', sortedByColumn: (column, direction) => `Lajiteltu sarakkeen ${column} mukaan, ${direction === 'ascending' ? 'nouseva' : 'laskeva'}`, sortingCleared: 'Lajittelu poistettu', // Date picker selectTime: 'Valitse kellonaika', showingPanelSpan: (first, last) => `Näytetään ${first} – ${last}`, showingSinglePanel: month => `Näytetään ${month}`, showLess: 'Näytä vähemmän', showMore: 'Näytä lisää', showPassword: 'Näytä salasana', skipToContent: 'Siirry sisältöön', slideNum: slide => `Dia ${slide}`, timeInputBadInput: 'Anna kelvollinen kellonaika.', timeInputRangeOverflow: 'Kellonaika on liian myöhäinen.', timeInputRangeUnderflow: 'Kellonaika on liian aikainen.', timeInputValueMissing: 'Täytä tämä kenttä.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Tunti', timeSegmentMinute: 'Minuutti', timeSegmentSecond: 'Sekunti', toggleColorFormat: 'Vaihda väriformaattia', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Vaihe ${step}/${total}`, year: 'Vuosi', zoomIn: 'Lähennä', zoomOut: 'Loitonna', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Sivua ei voitu ladata', documentViewerLoadErrorHint: 'Tarkista internetyhteytesi', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'tekoäly', editorAiSuggestions: 'Tekoälyn ehdotukset', editorDelete: 'Poista', editorHideDeletedPages: 'Piilota poistetut sivut', editorPage: page => `Sivu ${page}`, editorRotate: 'Kierrä 90°', editorSelectAll: (selected, total) => `Valitse kaikki (${selected}/${total})`, editorSplit: 'Jaa', editorUser: 'Käyttäjä', editorZoom: 'Zoomaus', editorZoomIn: 'Lähennä', previewPage: page => `Sivu ${page}`, save: 'Tallenna', scanCancelBack: 'Takaisin muokkaukseen', scanCancelConfirm: 'Peru lataus', scanCancelMessage: 'Jos peruutat, tiedostoa ei ladata ja muutokset menetetään. Toimintoa ei voi kumota.', scanCancelTitle: 'Perutaanko lataus?', scanFilesDisplayError: 'Tiedostoja ei voida näyttää', scanFilesLoading: 'Ladataan tiedostoja...', scanInvalidSession: 'Istunto ei ole kelvollinen. Käynnistä prosessi uudelleen.', scanSaveErrorBack: 'Takaisin muokkaukseen', scanSaveErrorMessage: 'Tallennuksessa tapahtui virhe. Voit yrittää uudelleen tai palata muokkaukseen.', scanSaveErrorRetry: 'Yritä uudelleen', scanSaveErrorTitle: 'Virhe tallennuksessa', scanSaving: 'Luodaan tiedostoja', scanSessionLoading: 'Ladataan edScan-istuntoa...', scanTitle: 'Tekoälyavusteinen sivujen muokkaus', uploadDragAndDropDescription: 'Voit vetää tiedoston tähän tai valita sen painikkeella.', uploadDragAndDropTitle: 'Lataa tiedosto', uploadDropFile: 'Pudota tiedosto', uploadDropFiles: 'Pudota tiedostot', uploadDuplicateFile: name => `${name} on jo luettelossa`, uploadFailed: 'Tiedostojen lataus epäonnistui', uploadFileCountSummary: (count, size) => `${count} tiedosto(a) · ${size}`, uploadFileTooLarge: (name, size) => `Tiedosto ${name} on liian suuri. Suurin sallittu koko on ${size} Mt.`, uploadFileTypeNotAllowed: type => `Tiedostotyyppi ei ole sallittu: ${type}`, uploadLimitExceeded: size => `Tiedosto ylittää latausrajan (${size} Mt)`, uploadLimitsExceeded: size => `Tiedostot ylittävät latausrajan (${size} Mt)`, uploadOr: 'tai', uploadPreviewFile: name => `Esikatselu: ${name}`, uploadProgress: 'Tiedostoja ladataan...', uploadRemoveFile: name => `Poista: ${name}`, uploadRetryFile: name => `Yritä uudelleen: ${name}`, uploadSelectFile: 'Valitse tiedosto', uploadSelectFiles: 'Valitse tiedostot', uploadSuccess: (done, total) => `${done}/${total} tiedostoa ladattu`, uploadTitle: 'Lataa tiedosto', uploadTooManyFiles: max => `Voit ladata enintään ${max} tiedostoa`, $code: 'fi', $dir: 'ltr', $name: 'Suomi' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/fi.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/fr.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: \"Ce contenu a été généré par l'IA\", back: 'Retour', cancel: 'Cancel', carousel: 'Carrousel', chooseDate: 'Choisir une date', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Choisir une heure', clearEntry: `Effacer l'entrée`, close: 'Fermer', collapse: 'Réduire', copied: 'Copié', copy: 'Copier', currentValue: 'Valeur actuelle', dateInputBadInput: 'Veuillez saisir une date valide.', dateInputRangeOverflow: 'La date est trop tardive.', dateInputRangeUnderflow: 'La date est trop ancienne.', dateInputValueMissing: 'Veuillez remplir ce champ.', dateNotSelectable: 'Cette date ne peut pas être sélectionnée.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Jour', dateSegmentMonth: 'Mois', dateSegmentYear: 'Année', datetimeInputBadInput: 'Veuillez saisir une date et une heure valides.', datetimeInputRangeOverflow: 'La date et l’heure sont trop tardives.', datetimeInputRangeUnderflow: 'La date et l’heure sont trop anciennes.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Diminuer', dragToReorder: 'Faire glisser pour réorganiser', dropFileHere: 'Déposez le fichier ici ou cliquez pour parcourir', dropFilesHere: 'Déposez les fichiers ici ou cliquez pour parcourir', entriesPerPage: 'Entries per page', error: 'Erreur', expand: 'Développer', finish: 'Terminer', from: 'from', goToSlide: (slide, count) => `Aller à la diapositive ${slide} de ${count}`, halfyear: 'Semestre', hidePassword: 'Masquer le mot de passe', increment: 'Augmenter', loading: 'Chargement', mainMenu: 'Menu principal', maximumValue: label => (label ? `${label} (Valeur maximale)` : 'Valeur maximale'), minimumValue: label => (label ? `${label} (Valeur minimale)` : 'Valeur minimale'), month: 'Mois', multipleValues: 'Valeurs multiples', newsToggleMenu: 'Basculer le menu des actualités', next: 'Suivant', nextPage: 'Next page', nextSlide: 'Diapositive suivante', noData: 'Aucune donnée', noOptions: 'No options', notificationsRegion: hotkey => `Notifications, appuyez sur ${hotkey} pour vous y rendre`, numCharacters: num => { if (num === 1) return '1 caractère'; return `${num} caractères`; }, numCharactersRemaining: num => { if (num === 1) return '1 caractère restant'; return `${num} caractères restants`; }, numEntries: num => { if (num === 0) return 'Aucune entrée'; if (num === 1) return '1 entrée'; return `${num} entrées`; }, numEntriesLoaded: num => { if (num === 0) return 'Aucune entrée chargée'; if (num === 1) return '1 entrée chargée'; return `${num} entrées chargées`; }, numOptionsAvailable: num => { if (num === 0) return 'Aucune option disponible'; if (num === 1) return '1 option disponible'; return `${num} options disponibles`; }, numOptionsSelected: num => { if (num === 0) return 'Aucune option sélectionnée'; if (num === 1) return '1 option sélectionnée'; return `${num} options sélectionnées`; }, numSelected: num => { if (num === 0) return 'Aucune sélection'; if (num === 1) return '1 sélectionnée'; return `${num} sélectionnées`; }, numTotal: num => `${num} au total`, ok: 'OK', onThisPage: 'Sur cette page', optionPosition: (label, position, total) => `${label}, ${position} sur ${total}`, page: 'Page', pauseAnimation: \"Suspendre l'animation\", playAnimation: \"Lire l'animation\", previousPage: 'Previous page', previousSlide: 'Diapositive précédente', progress: 'Progrès', quarter: 'Trimestre', rangeSelected: (start, end) => `${start} à ${end} sélectionnés`, // Calendar range selection rangeSelectingFrom: date => `Sélection de la plage à partir du ${date}…`, remove: 'Retirer', reset: 'Réinitialiser', resize: 'Redimensionner', scrollableRegion: 'Région défilante', scrollToEnd: `Faire défiler jusqu'à la fin`, scrollToStart: `Faire défiler jusqu'au début`, search: 'Rechercher', sectionPages: 'Pages de la section', sections: 'Sections', selectAColorFromTheScreen: `Sélectionnez une couleur à l'écran`, numRowsSelected: num => { if (num === 0) return 'Aucune ligne sélectionnée'; if (num === 1) return '1 ligne sélectionnée'; return `${num} lignes sélectionnées`; }, pageChanged: (page, total) => `Page ${page} sur ${total}`, reorderRow: 'Réorganiser la ligne', resizeColumn: 'Redimensionner la colonne', rowDropped: position => `Ligne déposée à la position ${position}`, rowLifted: (position, total) => `Ligne soulevée, position ${position} sur ${total}. Utilisez les flèches haut et bas pour déplacer, Espace pour déposer, Échap pour annuler.`, rowMoved: (position, total) => `Position ${position} sur ${total}`, rowReorderCanceled: 'Réorganisation annulée', selectAllRows: 'Sélectionner toutes les lignes', selectDate: 'Sélectionner une date', selectDateTime: 'Select date and time', selectRow: 'Sélectionner la ligne', sortedByColumn: (column, direction) => `Trié par ${column}, ${direction === 'ascending' ? 'croissant' : 'décroissant'}`, sortingCleared: 'Tri supprimé', // Date picker selectTime: 'Sélectionner une heure', showingPanelSpan: (first, last) => `Affichage de ${first} – ${last}`, showingSinglePanel: month => `Affichage de ${month}`, showLess: 'Afficher moins', showMore: 'Afficher plus', showPassword: 'Montrer le mot de passe', skipToContent: 'Passer au contenu', slideNum: slide => `Diapositive ${slide}`, timeInputBadInput: 'Veuillez saisir une heure valide.', timeInputRangeOverflow: 'L’heure est trop tardive.', timeInputRangeUnderflow: 'L’heure est trop matinale.', timeInputValueMissing: 'Veuillez remplir ce champ.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Heure', timeSegmentMinute: 'Minute', timeSegmentSecond: 'Seconde', toggleColorFormat: 'Changer le format de couleur', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Étape ${step} sur ${total}`, year: 'Année', zoomIn: 'Zoomer', zoomOut: 'Dézoomer', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Impossible de charger la page', documentViewerLoadErrorHint: 'Vérifiez votre connexion Internet', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'IA', editorAiSuggestions: \"Suggestions de l'IA\", editorDelete: 'Supprimer', editorHideDeletedPages: 'Masquer les pages supprimées', editorPage: page => `Page ${page}`, editorRotate: 'Pivoter à 90°', editorSelectAll: (selected, total) => `Tout sélectionner (${selected} sur ${total})`, editorSplit: 'Diviser', editorUser: 'Utilisateur', editorZoom: 'Zoom', editorZoomIn: 'Agrandir', previewPage: page => `Page ${page}`, save: 'Enregistrer', scanCancelBack: 'Retour à l’édition', scanCancelConfirm: 'Annuler le téléversement', scanCancelMessage: 'Si vous annulez, le fichier ne sera pas téléversé et les modifications seront perdues. Cette action est irréversible.', scanCancelTitle: 'Annuler le téléversement ?', scanFilesDisplayError: 'Impossible d’afficher le(s) fichier(s)', scanFilesLoading: 'Chargement des fichiers...', scanInvalidSession: 'La session est invalide. Veuillez redémarrer le processus.', scanSaveErrorBack: 'Retour à l’édition', scanSaveErrorMessage: 'Une erreur est survenue pendant la sauvegarde. Vous pouvez réessayer ou revenir à l’édition.', scanSaveErrorRetry: 'Réessayer', scanSaveErrorTitle: 'Erreur lors de la sauvegarde', scanSaving: 'Création du/des fichier(s)', scanSessionLoading: 'Chargement de la session edScan...', scanTitle: 'Édition de pages assistée par IA', uploadDragAndDropDescription: 'Vous pouvez glisser-déposer un fichier ici ou en sélectionner un avec le bouton.', uploadDragAndDropTitle: 'Téléverser un fichier', uploadDropFile: 'Déposez le fichier', uploadDropFiles: 'Déposez les fichiers', uploadDuplicateFile: name => `${name} est déjà dans la liste`, uploadFailed: 'Le téléversement du/des fichier(s) a échoué', uploadFileCountSummary: (count, size) => `${count} fichier(s) · ${size}`, uploadFileTooLarge: (name, size) => `Le fichier ${name} est trop volumineux. Taille maximale : ${size} Mo.`, uploadFileTypeNotAllowed: type => `Type de fichier non autorisé : ${type}`, uploadLimitExceeded: size => `Le fichier dépasse la limite de téléversement de ${size} Mo`, uploadLimitsExceeded: size => `Les fichiers dépassent la limite de téléversement de ${size} Mo`, uploadOr: 'ou', uploadPreviewFile: name => `Aperçu : ${name}`, uploadProgress: 'Téléversement du/des fichier(s)...', uploadRemoveFile: name => `Supprimer : ${name}`, uploadRetryFile: name => `Réessayer: ${name}`, uploadSelectFile: 'Choisir un fichier', uploadSelectFiles: 'Choisir des fichiers', uploadSuccess: (done, total) => `${done} sur ${total} fichier(s) téléversé(s)`, uploadTitle: 'Téléverser un fichier', uploadTooManyFiles: max => `Vous pouvez téléverser au maximum ${max} fichier(s)`, $code: 'fr', $dir: 'ltr', $name: 'Français' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/fr.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/he.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'תוכן זה נוצר על ידי בינה מלאכותית', back: 'חזרה', cancel: 'Cancel', carousel: 'קרוסלה', chooseDate: 'בחירת תאריך', chooseDateAndTime: 'Choose a date and time', chooseTime: 'בחירת שעה', clearEntry: 'נקה קלט', close: 'סגור', collapse: 'כווץ', copied: 'מוּעֲתָק', copy: 'העתק', currentValue: 'ערך נוכחי', dateInputBadInput: 'יש להזין תאריך תקין.', dateInputRangeOverflow: 'התאריך מאוחר מדי.', dateInputRangeUnderflow: 'התאריך מוקדם מדי.', dateInputValueMissing: 'יש למלא שדה זה.', dateNotSelectable: 'לא ניתן לבחור תאריך זה.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'יום', dateSegmentMonth: 'חודש', dateSegmentYear: 'שנה', datetimeInputBadInput: 'יש להזין תאריך ושעה תקינים.', datetimeInputRangeOverflow: 'התאריך והשעה מאוחרים מדי.', datetimeInputRangeUnderflow: 'התאריך והשעה מוקדמים מדי.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'הקטן', dragToReorder: 'גרור לסידור מחדש', dropFileHere: 'גרור ושחרר קובץ כאן או לחץ לבחירה', dropFilesHere: 'גרור ושחרר קבצים כאן או לחץ לבחירה', entriesPerPage: 'Entries per page', error: 'שְׁגִיאָה', expand: 'הרחב', finish: 'סיום', from: 'from', goToSlide: (slide, count) => `עבור לשקופית ${slide} של ${count}`, halfyear: 'מחצית שנה', hidePassword: 'הסתר סיסמא', increment: 'הגדל', loading: 'טוען', mainMenu: 'התפריט הראשי', maximumValue: label => (label ? `${label} (ערך מרבי)` : 'ערך מרבי'), minimumValue: label => (label ? `${label} (ערך מזערי)` : 'ערך מזערי'), month: 'חודש', multipleValues: 'ערכים מרובים', newsToggleMenu: 'החלף תפריט חדשות', next: 'הבא', nextPage: 'Next page', nextSlide: 'השקף הבא', noData: 'אין נתונים', noOptions: 'No options', notificationsRegion: hotkey => `התראות, לחץ ${hotkey} למיקוד`, numCharacters: num => { if (num === 1) return '1 תו'; return `${num} תווים`; }, numCharactersRemaining: num => { if (num === 1) return '1 תו נותר'; return `${num} תווים נותרים`; }, numEntries: num => { if (num === 0) return 'אין רשומות'; if (num === 1) return 'רשומה אחת'; return `${num} רשומות`; }, numEntriesLoaded: num => { if (num === 0) return 'לא נטענו רשומות'; if (num === 1) return 'נטענה רשומה אחת'; return `נטענו ${num} רשומות`; }, numOptionsAvailable: num => { if (num === 0) return 'אין אפשרויות זמינות'; if (num === 1) return 'אפשרות אחת זמינה'; return `${num} אפשרויות זמינות`; }, numOptionsSelected: num => { if (num === 0) return 'לא נבחרו אפשרויות'; if (num === 1) return 'נבחרה אפשרות אחת'; return `נבחרו ${num} אפשרויות`; }, numSelected: num => { if (num === 0) return 'לא נבחר'; return `נבחרו ${num}`; }, numTotal: num => `${num} בסך הכל`, ok: 'OK', onThisPage: 'בעמוד זה', optionPosition: (label, position, total) => `${label}, ${position} מתוך ${total}`, page: 'Page', pauseAnimation: 'השהה אנימציה', playAnimation: 'נגן אנימציה', previousPage: 'Previous page', previousSlide: 'שקופית קודמת', progress: 'התקדמות', quarter: 'רבעון', rangeSelected: (start, end) => `נבחר מ-${start} עד ${end}`, // Calendar range selection rangeSelectingFrom: date => `בחירת טווח החל מ-${date}…`, remove: 'לְהַסִיר', reset: 'איפוס', resize: 'שנה גודל', scrollableRegion: 'אזור גלילה', scrollToEnd: 'גלול עד הסוף', scrollToStart: 'גלול להתחלה', search: 'חיפוש', sectionPages: 'דפי הקטע', sections: 'קטעים', selectAColorFromTheScreen: 'בחור צבע מהמסך', numRowsSelected: num => { if (num === 0) return 'לא נבחרו שורות'; if (num === 1) return 'שורה אחת נבחרה'; return `${num} שורות נבחרו`; }, pageChanged: (page, total) => `עמוד ${page} מתוך ${total}`, reorderRow: 'סידור שורה מחדש', resizeColumn: 'שינוי רוחב העמודה', rowDropped: position => `השורה הונחה במיקום ${position}`, rowLifted: (position, total) => `השורה הורמה, מיקום ${position} מתוך ${total}. השתמשו בחיצים למעלה ולמטה כדי להזיז, רווח כדי להניח ו-Escape כדי לבטל.`, rowMoved: (position, total) => `מיקום ${position} מתוך ${total}`, rowReorderCanceled: 'הסידור מחדש בוטל', selectAllRows: 'בחר את כל השורות', selectDate: 'בחירת תאריך', selectDateTime: 'Select date and time', selectRow: 'בחר שורה', sortedByColumn: (column, direction) => `ממוין לפי ${column}, ${direction === 'ascending' ? 'בסדר עולה' : 'בסדר יורד'}`, sortingCleared: 'המיון הוסר', // Date picker selectTime: 'בחירת שעה', showingPanelSpan: (first, last) => `מציג ${first} – ${last}`, showingSinglePanel: month => `מציג ${month}`, showLess: 'הצג פחות', showMore: 'הצג עוד', showPassword: 'הראה סיסמה', skipToContent: 'דלג לתוכן', slideNum: slide => `שקופית ${slide}`, timeInputBadInput: 'יש להזין שעה תקינה.', timeInputRangeOverflow: 'השעה מאוחרת מדי.', timeInputRangeUnderflow: 'השעה מוקדמת מדי.', timeInputValueMissing: 'יש למלא שדה זה.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'שעה', timeSegmentMinute: 'דקה', timeSegmentSecond: 'שנייה', toggleColorFormat: 'החלף פורמט צבע', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `שלב ${step} מתוך ${total}`, year: 'שנה', zoomIn: 'התקרב', zoomOut: 'התרחק', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'לא ניתן היה לטעון את העמוד', documentViewerLoadErrorHint: 'בדקו את חיבור האינטרנט שלכם', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'הצעות AI', editorDelete: 'מחק', editorHideDeletedPages: 'הסתר עמודים שנמחקו', editorPage: page => `עמוד ${page}`, editorRotate: 'סובב 90°', editorSelectAll: (selected, total) => `בחר הכול (${selected} מתוך ${total})`, editorSplit: 'פצל', editorUser: 'משתמש', editorZoom: 'זום', editorZoomIn: 'הגדלה', previewPage: page => `עמוד ${page}`, save: 'שמור', scanCancelBack: 'חזרה לעריכה', scanCancelConfirm: 'בטל העלאה', scanCancelMessage: 'אם תבטל, הקובץ לא יועלה והשינויים יאבדו. לא ניתן לשחזר פעולה זו.', scanCancelTitle: 'לבטל העלאה?', scanFilesDisplayError: 'לא ניתן להציג את הקבצים', scanFilesLoading: 'טוען קבצים...', scanInvalidSession: 'הסשן אינו תקין. יש להפעיל מחדש את התהליך.', scanSaveErrorBack: 'חזרה לעריכה', scanSaveErrorMessage: 'אירעה שגיאה במהלך השמירה. ניתן לנסות שוב או לחזור לעריכה.', scanSaveErrorRetry: 'נסה שוב', scanSaveErrorTitle: 'שגיאה בשמירה', scanSaving: 'יוצר קבצים', scanSessionLoading: 'טוען סשן edScan...', scanTitle: 'עריכת עמודים בעזרת AI', uploadDragAndDropDescription: 'ניתן לגרור קובץ לכאן או לבחור באמצעות הכפתור.', uploadDragAndDropTitle: 'העלה קובץ', uploadDropFile: 'שחרר קובץ', uploadDropFiles: 'שחרר קבצים', uploadDuplicateFile: name => `${name} כבר נמצא ברשימה`, uploadFailed: 'העלאת הקבצים נכשלה', uploadFileCountSummary: (count, size) => `${count} קבצים · ${size}`, uploadFileTooLarge: (name, size) => `הקובץ ${name} גדול מדי. הגודל המרבי הוא ${size} MB.`, uploadFileTypeNotAllowed: type => `סוג הקובץ אינו נתמך: ${type}`, uploadLimitExceeded: size => `הקובץ חורג ממגבלת ההעלאה של ${size} MB`, uploadLimitsExceeded: size => `הקבצים חורגים ממגבלת ההעלאה של ${size} MB`, uploadOr: 'או', uploadPreviewFile: name => `תצוגה מקדימה: ${name}`, uploadProgress: 'קבצים מועלים...', uploadRemoveFile: name => `הסר: ${name}`, uploadRetryFile: name => `נסה שוב: ${name}`, uploadSelectFile: 'בחר קובץ', uploadSelectFiles: 'בחר קבצים', uploadSuccess: (done, total) => `${done} מתוך ${total} קבצים הועלו`, uploadTitle: 'העלה קובץ', uploadTooManyFiles: max => `ניתן להעלות ${max} קבצים לכל היותר`, $code: 'he', $dir: 'rtl', $name: 'עברית' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/he.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/hi.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'यह सामग्री AI द्वारा उत्पन्न की गई थी', back: 'वापस', cancel: 'Cancel', carousel: 'कैरोसेल', chooseDate: 'एक तारीख़ चुनें', chooseDateAndTime: 'Choose a date and time', chooseTime: 'एक समय चुनें', clearEntry: 'प्रविष्टि साफ़ करें', close: 'बंद करें', collapse: 'संकुचित करें', copied: 'कॉपी किया गया', copy: 'कॉपी करें', currentValue: 'वर्तमान मान', dateInputBadInput: 'कृपया एक मान्य तारीख़ दर्ज करें.', dateInputRangeOverflow: 'तारीख़ बहुत बाद की है.', dateInputRangeUnderflow: 'तारीख़ बहुत पहले की है.', dateInputValueMissing: 'कृपया यह फ़ील्ड भरें.', dateNotSelectable: 'यह तारीख़ चयन योग्य नहीं है.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'दिन', dateSegmentMonth: 'माह', dateSegmentYear: 'वर्ष', datetimeInputBadInput: 'कृपया एक मान्य तारीख़ और समय दर्ज करें.', datetimeInputRangeOverflow: 'तारीख़ और समय बहुत बाद का है.', datetimeInputRangeUnderflow: 'तारीख़ और समय बहुत पहले का है.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'घटाएं', dragToReorder: 'पुनः क्रमबद्ध करने के लिए खींचें', dropFileHere: 'फ़ाइल यहाँ छोड़ें या ब्राउज़ करने के लिए क्लिक करें', dropFilesHere: 'फ़ाइलें यहाँ छोड़ें या ब्राउज़ करने के लिए क्लिक करें', entriesPerPage: 'Entries per page', error: 'त्रुटि', expand: 'विस्तृत करें', finish: 'समाप्त', from: 'from', goToSlide: (slide, count) => `${count} में से स्लाइड ${slide} पर जाएं`, halfyear: 'छमाही', hidePassword: 'पासवर्ड छुपाएं', increment: 'बढ़ाएं', loading: 'लोड हो रहा है', mainMenu: 'मुख्य मेनू', maximumValue: label => (label ? `${label} (अधिकतम मान)` : 'अधिकतम मान'), minimumValue: label => (label ? `${label} (न्यूनतम मान)` : 'न्यूनतम मान'), month: 'माह', multipleValues: 'कई मान', newsToggleMenu: 'समाचार मेनू बदलें', next: 'आगे', nextPage: 'Next page', nextSlide: 'अगली स्लाइड', noData: 'कोई डेटा नहीं', noOptions: 'No options', notificationsRegion: hotkey => `सूचनाएं, फ़ोकस करने के लिए ${hotkey} दबाएं`, numCharacters: num => { if (num === 1) return '1 अक्षर'; return `${num} अक्षर`; }, numCharactersRemaining: num => { if (num === 1) return '1 अक्षर शेष'; return `${num} अक्षर शेष`; }, numEntries: num => { if (num === 0) return 'कोई प्रविष्टि नहीं'; if (num === 1) return '1 प्रविष्टि'; return `${num} प्रविष्टियाँ`; }, numEntriesLoaded: num => { if (num === 0) return 'कोई प्रविष्टियाँ लोड नहीं हुईं'; if (num === 1) return '1 प्रविष्टि लोड हुई'; return `${num} प्रविष्टियाँ लोड हुईं`; }, numOptionsAvailable: num => { if (num === 0) return 'कोई विकल्प उपलब्ध नहीं'; if (num === 1) return '1 विकल्प उपलब्ध'; return `${num} विकल्प उपलब्ध`; }, numOptionsSelected: num => { if (num === 0) return 'कोई विकल्प चयनित नहीं'; if (num === 1) return '1 विकल्प चयनित'; return `${num} विकल्प चयनित`; }, numSelected: num => { if (num === 0) return 'कोई चयन नहीं'; return `${num} चयनित`; }, numTotal: num => `कुल ${num}`, ok: 'OK', onThisPage: 'इस पृष्ठ पर', optionPosition: (label, position, total) => `${label}, ${position} / ${total}`, page: 'Page', pauseAnimation: 'एनिमेशन रोकें', playAnimation: 'एनिमेशन चलाएं', previousPage: 'Previous page', previousSlide: 'पिछली स्लाइड', progress: 'प्रगति', quarter: 'तिमाही', rangeSelected: (start, end) => `${start} से ${end} तक चयनित`, // Calendar range selection rangeSelectingFrom: date => `${date} से श्रेणी का चयन किया जा रहा है…`, remove: 'हटाएं', reset: 'रीसेट', resize: 'आकार बदलें', scrollableRegion: 'स्क्रॉल करने योग्य क्षेत्र', scrollToEnd: 'अंत तक स्क्रॉल करें', scrollToStart: 'आरंभ तक स्क्रॉल करें', search: 'खोजें', sectionPages: 'अनुभाग के पृष्ठ', sections: 'अनुभाग', selectAColorFromTheScreen: 'स्क्रीन से एक रंग चुनें', numRowsSelected: num => { if (num === 0) return 'कोई पंक्ति चयनित नहीं'; if (num === 1) return '1 पंक्ति चयनित'; return `${num} पंक्तियाँ चयनित`; }, pageChanged: (page, total) => `पृष्ठ ${page} / ${total}`, reorderRow: 'पंक्ति का क्रम बदलें', resizeColumn: 'कॉलम की चौड़ाई बदलें', rowDropped: position => `पंक्ति स्थिति ${position} पर रखी गई`, rowLifted: (position, total) => `पंक्ति उठाई गई, स्थिति ${position} / ${total}. ऊपर-नीचे तीर कुंजियों से हिलाएँ, स्पेस से रखें, Escape से रद्द करें.`, rowMoved: (position, total) => `स्थिति ${position} / ${total}`, rowReorderCanceled: 'क्रम बदलना रद्द किया गया', selectAllRows: 'सभी पंक्तियाँ चुनें', selectDate: 'तारीख़ चुनें', selectDateTime: 'Select date and time', selectRow: 'पंक्ति चुनें', sortedByColumn: (column, direction) => `${column} के अनुसार क्रमबद्ध, ${direction === 'ascending' ? 'आरोही' : 'अवरोही'}`, sortingCleared: 'क्रमबद्धता हटाई गई', // Date picker selectTime: 'समय चुनें', showingPanelSpan: (first, last) => `${first} – ${last} दिखाया जा रहा है`, showingSinglePanel: month => `${month} दिखाया जा रहा है`, showLess: 'कम दिखाएं', showMore: 'अधिक दिखाएं', showPassword: 'पासवर्ड दिखाएं', skipToContent: 'सामग्री पर जाएँ', slideNum: slide => `स्लाइड ${slide}`, timeInputBadInput: 'कृपया एक मान्य समय दर्ज करें.', timeInputRangeOverflow: 'समय बहुत बाद का है.', timeInputRangeUnderflow: 'समय बहुत पहले का है.', timeInputValueMissing: 'कृपया यह फ़ील्ड भरें.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'घंटा', timeSegmentMinute: 'मिनट', timeSegmentSecond: 'सेकंड', toggleColorFormat: 'रंग प्रारूप बदलें', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `चरण ${step} / ${total}`, year: 'वर्ष', zoomIn: 'ज़ूम इन', zoomOut: 'ज़ूम आउट', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'पृष्ठ लोड नहीं किया जा सका', documentViewerLoadErrorHint: 'अपना इंटरनेट कनेक्शन जांचें', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI सुझाव', editorDelete: 'हटाएँ', editorHideDeletedPages: 'हटाए गए पृष्ठ छुपाएँ', editorPage: page => `पृष्ठ ${page}`, editorRotate: '90° घुमाएँ', editorSelectAll: (selected, total) => `सभी चुनें (${selected} / ${total})`, editorSplit: 'विभाजित करें', editorUser: 'उपयोगकर्ता', editorZoom: 'ज़ूम', editorZoomIn: 'ज़ूम इन करें', previewPage: page => `पृष्ठ ${page}`, save: 'सहेजें', scanCancelBack: 'संपादन पर वापस जाएँ', scanCancelConfirm: 'अपलोड रद्द करें', scanCancelMessage: 'यदि आप रद्द करते हैं, तो फ़ाइल अपलोड नहीं होगी और परिवर्तन खो जाएँगे। यह क्रिया वापस नहीं ली जा सकती।', scanCancelTitle: 'अपलोड रद्द करें?', scanFilesDisplayError: 'फ़ाइल(ों) को प्रदर्शित नहीं किया जा सकता', scanFilesLoading: 'फ़ाइलें लोड हो रही हैं...', scanInvalidSession: 'सत्र अमान्य है। कृपया प्रक्रिया पुनः प्रारंभ करें।', scanSaveErrorBack: 'संपादन पर वापस जाएँ', scanSaveErrorMessage: 'सहेजते समय त्रुटि हुई। आप पुनः प्रयास कर सकते हैं या संपादन पर लौट सकते हैं।', scanSaveErrorRetry: 'पुनः प्रयास करें', scanSaveErrorTitle: 'सहेजते समय त्रुटि', scanSaving: 'फ़ाइल(ें) बनाई जा रही हैं', scanSessionLoading: 'edScan सत्र लोड हो रहा है...', scanTitle: 'AI-सहायता प्राप्त पृष्ठ संपादन', uploadDragAndDropDescription: 'आप फ़ाइल को यहाँ खींच सकते हैं या बटन से चुन सकते हैं।', uploadDragAndDropTitle: 'फ़ाइल अपलोड करें', uploadDropFile: 'फ़ाइल छोड़ें', uploadDropFiles: 'फ़ाइलें छोड़ें', uploadDuplicateFile: name => `${name} पहले से सूची में है`, uploadFailed: 'फ़ाइलें सफलतापूर्वक अपलोड नहीं हो सकीं', uploadFileCountSummary: (count, size) => `${count} फ़ाइल(ें) · ${size}`, uploadFileTooLarge: (name, size) => `फ़ाइल ${name} बहुत बड़ी है। अधिकतम आकार ${size} MB है।`, uploadFileTypeNotAllowed: type => `फ़ाइल प्रकार अनुमति नहीं है: ${type}`, uploadLimitExceeded: size => `फ़ाइल ${size} MB की अपलोड सीमा से अधिक है`, uploadLimitsExceeded: size => `फ़ाइलें ${size} MB की अपलोड सीमा से अधिक हैं`, uploadOr: 'या', uploadPreviewFile: name => `पूर्वावलोकन: ${name}`, uploadProgress: 'फ़ाइल(ें) अपलोड की जा रही हैं...', uploadRemoveFile: name => `हटाएं: ${name}`, uploadRetryFile: name => `पुनः प्रयास करें: ${name}`, uploadSelectFile: 'फ़ाइल चुनें', uploadSelectFiles: 'फ़ाइलें चुनें', uploadSuccess: (done, total) => `${done} में से ${total} फ़ाइलें अपलोड हुईं`, uploadTitle: 'फ़ाइल अपलोड करें', uploadTooManyFiles: max => `आप अधिकतम ${max} फ़ाइल(ें) अपलोड कर सकते हैं`, $code: 'hi', $dir: 'ltr', $name: 'हिन्दी' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/hi.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/hr.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Ovaj sadržaj generirala je umjetna inteligencija', back: 'Nazad', cancel: 'Cancel', carousel: 'Vrtuljak', chooseDate: 'Odaberite datum', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Odaberite vrijeme', clearEntry: 'Očisti unos', close: 'Zatvori', collapse: 'Sažmi', copied: 'Kopirano', copy: 'Kopiraj', currentValue: 'Trenutna vrijednost', dateInputBadInput: 'Unesite valjani datum.', dateInputRangeOverflow: 'Datum je prekasan.', dateInputRangeUnderflow: 'Datum je prerani.', dateInputValueMissing: 'Ispunite ovo polje.', dateNotSelectable: 'Ovaj datum nije moguće odabrati.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Dan', dateSegmentMonth: 'Mjesec', dateSegmentYear: 'Godina', datetimeInputBadInput: 'Unesite valjani datum i vrijeme.', datetimeInputRangeOverflow: 'Datum i vrijeme su prekasni.', datetimeInputRangeUnderflow: 'Datum i vrijeme su prerani.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Smanji', dragToReorder: 'Povuci za promjenu redosljeda', dropFileHere: 'Dovucite datoteku ovdje ili kliknite za pregled', dropFilesHere: 'Dovucite datoteke ovdje ili kliknite za pregled', entriesPerPage: 'Entries per page', error: 'Greška', expand: 'Proširi', finish: 'Završi', from: 'from', goToSlide: (slide, count) => `Idi na slajd ${slide} od ${count}`, halfyear: 'Polugodište', hidePassword: 'Sakrij lozinku', increment: 'Povećaj', loading: 'Učitavanje', mainMenu: 'Glavni izbornik', maximumValue: label => (label ? `${label} (Najveća vrijednost)` : 'Najveća vrijednost'), minimumValue: label => (label ? `${label} (Najmanja vrijednost)` : 'Najmanja vrijednost'), month: 'Mjesec', multipleValues: 'Višestruke vrijednosti', newsToggleMenu: 'Zamijeni izbornik novosti', next: 'Sljedeće', nextPage: 'Next page', nextSlide: 'Sljedeći slajd', noData: 'Nema podataka', noOptions: 'No options', notificationsRegion: hotkey => `Obavijesti, pritisnite ${hotkey} za fokus`, numCharacters: num => { if (num === 1) return '1 znak'; const mod10 = num % 10; const mod100 = num % 100; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `${num} znaka`; return `${num} znakova`; }, numCharactersRemaining: num => { if (num === 1) return '1 preostali znak'; const mod10 = num % 10; const mod100 = num % 100; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `${num} preostala znaka`; return `${num} preostalih znakova`; }, numEntries: num => { if (num === 0) return 'Nema unosa'; if (num === 1) return '1 unos'; return `${num} unosa`; }, numEntriesLoaded: num => { if (num === 0) return 'Nije učitan nijedan unos'; if (num === 1) return 'Učitan 1 unos'; return `Učitano ${num} unosa`; }, numOptionsAvailable: num => { if (num === 0) return 'Nije dostupna nijedna opcija'; if (num === 1) return '1 opcija je dostupna'; return `${num} dostupnih opcija`; }, numOptionsSelected: num => { if (num === 0) return 'Nije odabrana nijedna opcija'; if (num === 1) return '1 opcija je odabrana'; return `${num} odabranih opcija`; }, numSelected: num => { if (num === 0) return 'Nije odabrano'; return `${num} odabrano`; }, numTotal: num => `Ukupno ${num}`, ok: 'OK', onThisPage: 'Na ovoj stranici', optionPosition: (label, position, total) => `${label}, ${position} od ${total}`, page: 'Page', pauseAnimation: 'Pauziraj animaciju', playAnimation: 'Reproduciraj animaciju', previousPage: 'Previous page', previousSlide: 'Prethodni slajd', progress: 'Napredak', quarter: 'Kvartal', rangeSelected: (start, end) => `Odabrano od ${start} do ${end}`, // Calendar range selection rangeSelectingFrom: date => `Odabir raspona od ${date}…`, remove: 'Makni', reset: 'Resetuj', resize: 'Promijeni veličinu', scrollableRegion: 'Područje s mogućnošću pomicanja', scrollToEnd: 'Skrolaj do kraja', scrollToStart: 'Skrolaj na početak', search: 'Pretraži', sectionPages: 'Stranice odjeljka', sections: 'Odjeljci', selectAColorFromTheScreen: 'Odaberi boju sa ekrana', numRowsSelected: num => { if (num === 0) return 'Nije odabran nijedan redak'; if (num === 1) return 'Odabran 1 redak'; const mod10 = num % 10; const mod100 = num % 100; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `Odabrana ${num} retka`; return `Odabrano ${num} redaka`; }, pageChanged: (page, total) => `Stranica ${page} od ${total}`, reorderRow: 'Premjesti redak', resizeColumn: 'Promijeni širinu stupca', rowDropped: position => `Redak spušten na poziciju ${position}`, rowLifted: (position, total) => `Redak podignut, pozicija ${position} od ${total}. Strelicama gore i dolje pomičete, razmaknicom spuštate, tipkom Escape odustajete.`, rowMoved: (position, total) => `Pozicija ${position} od ${total}`, rowReorderCanceled: 'Premještanje otkazano', selectAllRows: 'Odaberi sve retke', selectDate: 'Odaberi datum', selectDateTime: 'Select date and time', selectRow: 'Odaberi redak', sortedByColumn: (column, direction) => `Sortirano po ${column}, ${direction === 'ascending' ? 'uzlazno' : 'silazno'}`, sortingCleared: 'Sortiranje uklonjeno', // Date picker selectTime: 'Odaberi vrijeme', showingPanelSpan: (first, last) => `Prikaz ${first} – ${last}`, showingSinglePanel: month => `Prikaz ${month}`, showLess: 'Prikaži manje', showMore: 'Prikaži više', showPassword: 'Pokaži lozinku', skipToContent: 'Preskoči na sadržaj', slideNum: slide => `Slajd ${slide}`, timeInputBadInput: 'Unesite valjano vrijeme.', timeInputRangeOverflow: 'Vrijeme je prekasno.', timeInputRangeUnderflow: 'Vrijeme je prerano.', timeInputValueMissing: 'Ispunite ovo polje.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Sat', timeSegmentMinute: 'Minuta', timeSegmentSecond: 'Sekunda', toggleColorFormat: 'Zamijeni format boje', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Korak ${step} od ${total}`, year: 'Godina', zoomIn: 'Povećaj', zoomOut: 'Smanji', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Stranicu nije moguće učitati', documentViewerLoadErrorHint: 'Provjerite internetsku vezu', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI prijedlozi', editorDelete: 'Obriši', editorHideDeletedPages: 'Sakrij obrisane stranice', editorPage: page => `Stranica ${page}`, editorRotate: 'Rotiraj 90°', editorSelectAll: (selected, total) => `Odaberi sve (${selected} od ${total})`, editorSplit: 'Podijeli', editorUser: 'Korisnik', editorZoom: 'Zumiranje', editorZoomIn: 'Povećaj', previewPage: page => `Stranica ${page}`, save: 'Spremi', scanCancelBack: 'Natrag na uređivanje', scanCancelConfirm: 'Prekini prijenos', scanCancelMessage: 'Ako otkažete, datoteka neće biti prenesena i promjene će se izgubiti. Ova radnja se ne može poništiti.', scanCancelTitle: 'Prekinuti prijenos?', scanFilesDisplayError: 'Datoteke se ne mogu prikazati', scanFilesLoading: 'Učitavaju se datoteke...', scanInvalidSession: 'Sesija nije valjana. Ponovno pokrenite postupak.', scanSaveErrorBack: 'Natrag na uređivanje', scanSaveErrorMessage: 'Dogodila se greška pri spremanju. Možete pokušati ponovno ili se vratiti uređivanju.', scanSaveErrorRetry: 'Pokušaj ponovno', scanSaveErrorTitle: 'Greška pri spremanju', scanSaving: 'Stvaranje datoteka', scanSessionLoading: 'Učitava se edScan sesija...', scanTitle: 'AI uređivanje stranica', uploadDragAndDropDescription: 'Možete povući datoteku ovdje ili je odabrati pomoću gumba.', uploadDragAndDropTitle: 'Prenesi datoteku', uploadDropFile: 'Ispustite datoteku', uploadDropFiles: 'Ispustite datoteke', uploadDuplicateFile: name => `${name} već je na popisu`, uploadFailed: 'Prijenos datoteka nije uspio', uploadFileCountSummary: (count, size) => `${count} datoteka · ${size}`, uploadFileTooLarge: (name, size) => `Datoteka ${name} je prevelika. Maksimalna veličina je ${size} MB.`, uploadFileTypeNotAllowed: type => `Vrsta datoteke nije dopuštena: ${type}`, uploadLimitExceeded: size => `Datoteka prelazi ograničenje prijenosa od ${size} MB`, uploadLimitsExceeded: size => `Datoteke prelaze ograničenje prijenosa od ${size} MB`, uploadOr: 'ili', uploadPreviewFile: name => `Pregled: ${name}`, uploadProgress: 'Datoteke se prenose...', uploadRemoveFile: name => `Ukloni: ${name}`, uploadRetryFile: name => `Pokušaj ponovno: ${name}`, uploadSelectFile: 'Odaberi datoteku', uploadSelectFiles: 'Odaberi datoteke', uploadSuccess: (done, total) => `Preneseno ${done} od ${total} datoteka`, uploadTitle: 'Prenesi datoteku', uploadTooManyFiles: max => `Možete prenijeti najviše ${max} datoteka`, $code: 'hr', $dir: 'ltr', $name: 'Hrvatski' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/hr.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/hu.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Ezt a tartalmat mesterséges intelligencia generálta', back: 'Vissza', cancel: 'Cancel', carousel: 'Körhinta', chooseDate: 'Válasszon dátumot', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Válasszon időpontot', clearEntry: 'Bejegyzés törlése', close: 'Bezárás', collapse: 'Összecsukás', copied: 'Másolva', copy: 'Másolás', currentValue: 'Aktuális érték', dateInputBadInput: 'Adjon meg egy érvényes dátumot.', dateInputRangeOverflow: 'A dátum túl késői.', dateInputRangeUnderflow: 'A dátum túl korai.', dateInputValueMissing: 'Töltse ki ezt a mezőt.', dateNotSelectable: 'Ez a dátum nem választható ki.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Nap', dateSegmentMonth: 'Hónap', dateSegmentYear: 'Év', datetimeInputBadInput: 'Adjon meg egy érvényes dátumot és időpontot.', datetimeInputRangeOverflow: 'A dátum és az időpont túl késői.', datetimeInputRangeUnderflow: 'A dátum és az időpont túl korai.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Csökkentés', dragToReorder: 'Húzza az átrendezéshez', dropFileHere: 'Húzza ide a fájlt, vagy kattintson a tallózáshoz', dropFilesHere: 'Húzza ide a fájlokat, vagy kattintson a tallózáshoz', entriesPerPage: 'Entries per page', error: 'Hiba', expand: 'Kibontás', finish: 'Befejezés', from: 'from', goToSlide: (slide, count) => `Ugrás a ${count}/${slide}. diára`, halfyear: 'Félév', hidePassword: 'Jelszó elrejtése', increment: 'Növelés', loading: 'Betöltés', mainMenu: 'Főmenü', maximumValue: label => (label ? `${label} (Maximális érték)` : 'Maximális érték'), minimumValue: label => (label ? `${label} (Minimális érték)` : 'Minimális érték'), month: 'Hónap', multipleValues: 'Több érték', newsToggleMenu: 'Hírmenü váltása', next: 'Következő', nextPage: 'Next page', nextSlide: 'Következő dia', noData: 'Nincs adat', noOptions: 'No options', notificationsRegion: hotkey => `Értesítések, fókuszhoz nyomja meg: ${hotkey}`, numCharacters: num => { if (num === 1) return '1 karakter'; return `${num} karakter`; }, numCharactersRemaining: num => { if (num === 1) return '1 karakter maradt'; return `${num} karakter maradt`; }, numEntries: num => { if (num === 0) return 'Nincsenek bejegyzések'; if (num === 1) return '1 bejegyzés'; return `${num} bejegyzés`; }, numEntriesLoaded: num => { if (num === 0) return 'Nincsenek bejegyzések betöltve'; if (num === 1) return '1 bejegyzés betöltve'; return `${num} bejegyzés betöltve`; }, numOptionsAvailable: num => { if (num === 0) return 'Nincs elérhető lehetőség'; if (num === 1) return '1 lehetőség elérhető'; return `${num} lehetőség elérhető`; }, numOptionsSelected: num => { if (num === 0) return 'Nincsenek kiválasztva opciók'; if (num === 1) return '1 lehetőség kiválasztva'; return `${num} lehetőség kiválasztva`; }, numSelected: num => { if (num === 0) return 'Nincs kijelölés'; return `${num} kijelölve`; }, numTotal: num => `Összesen ${num}`, ok: 'OK', onThisPage: 'Ezen az oldalon', optionPosition: (label, position, total) => `${label}, ${position} / ${total}`, page: 'Page', pauseAnimation: 'Animáció szüneteltetése', playAnimation: 'Animáció lejátszása', previousPage: 'Previous page', previousSlide: 'Előző dia', progress: 'Folyamat', quarter: 'Negyedév', rangeSelected: (start, end) => `${start}–${end} kijelölve`, // Calendar range selection rangeSelectingFrom: date => `Tartomány kijelölése innen: ${date}…`, remove: 'Eltávolítás', reset: 'Visszaállítás', resize: 'Átméretezés', scrollableRegion: 'Görgethető terület', scrollToEnd: 'Görgessen a végére', scrollToStart: 'Görgessen az elejére', search: 'Keresés', sectionPages: 'Szakasz oldalai', sections: 'Szakaszok', selectAColorFromTheScreen: 'Szín választása a képernyőről', numRowsSelected: num => { if (num === 0) return 'Nincs kijelölt sor'; if (num === 1) return '1 sor kijelölve'; return `${num} sor kijelölve`; }, pageChanged: (page, total) => `${page}. oldal, összesen ${total}`, reorderRow: 'Sor áthelyezése', resizeColumn: 'Oszlopszélesség módosítása', rowDropped: position => `Sor letéve a(z) ${position}. pozícióra`, rowLifted: (position, total) => `Sor felemelve, ${position}. pozíció, összesen ${total}. A fel és le nyilakkal mozgathatja, szóközzel leteheti, Escape billentyűvel megszakíthatja.`, rowMoved: (position, total) => `${position}. pozíció, összesen ${total}`, rowReorderCanceled: 'Áthelyezés megszakítva', selectAllRows: 'Az összes sor kiválasztása', selectDate: 'Dátum kiválasztása', selectDateTime: 'Select date and time', selectRow: 'Sor kiválasztása', sortedByColumn: (column, direction) => `Rendezve: ${column}, ${direction === 'ascending' ? 'növekvő' : 'csökkenő'}`, sortingCleared: 'Rendezés eltávolítva', // Date picker selectTime: 'Időpont kiválasztása', showingPanelSpan: (first, last) => `${first} – ${last} megjelenítése`, showingSinglePanel: month => `${month} megjelenítése`, showLess: 'Mutass kevesebbet', showMore: 'Mutass többet', showPassword: 'Jelszó megjelenítése', skipToContent: 'Ugrás a tartalomra', slideNum: slide => `${slide}. dia`, timeInputBadInput: 'Adjon meg egy érvényes időpontot.', timeInputRangeOverflow: 'Az időpont túl késői.', timeInputRangeUnderflow: 'Az időpont túl korai.', timeInputValueMissing: 'Töltse ki ezt a mezőt.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Óra', timeSegmentMinute: 'Perc', timeSegmentSecond: 'Másodperc', toggleColorFormat: 'Színformátum változtatása', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `${step}. lépés / ${total}`, year: 'Év', zoomIn: 'Nagyítás', zoomOut: 'Kicsinyítés', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Az oldal nem tölthető be', documentViewerLoadErrorHint: 'Ellenőrizze az internetkapcsolatát', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'MI', editorAiSuggestions: 'MI-javaslatok', editorDelete: 'Törlés', editorHideDeletedPages: 'Törölt oldalak elrejtése', editorPage: page => `${page}. oldal`, editorRotate: 'Forgatás 90°', editorSelectAll: (selected, total) => `Összes kijelölése (${selected}/${total})`, editorSplit: 'Felosztás', editorUser: 'Felhasználó', editorZoom: 'Nagyítás', editorZoomIn: 'Nagyítás', previewPage: page => `${page}. oldal`, save: 'Mentés', scanCancelBack: 'Vissza a szerkesztéshez', scanCancelConfirm: 'Feltöltés megszakítása', scanCancelMessage: 'Ha megszakítja, a fájl nem kerül feltöltésre, és a módosítások elvesznek. Ez a művelet nem vonható vissza.', scanCancelTitle: 'Feltöltés megszakítása?', scanFilesDisplayError: 'A fájl(ok) nem jeleníthetők meg', scanFilesLoading: 'Fájlok betöltése...', scanInvalidSession: 'A munkamenet érvénytelen. Kérjük, indítsa újra a folyamatot.', scanSaveErrorBack: 'Vissza a szerkesztéshez', scanSaveErrorMessage: 'Hiba történt mentés közben. Próbálja újra, vagy térjen vissza a szerkesztéshez.', scanSaveErrorRetry: 'Próbálja újra', scanSaveErrorTitle: 'Hiba mentés közben', scanSaving: 'Fájl(ok) létrehozása', scanSessionLoading: 'edScan munkamenet betöltése...', scanTitle: 'MI által támogatott oldalszerkesztés', uploadDragAndDropDescription: 'Ide húzhat egy fájlt, vagy kiválaszthatja a gomb segítségével.', uploadDragAndDropTitle: 'Fájl feltöltése', uploadDropFile: 'Ejtse ide a fájlt', uploadDropFiles: 'Ejtse ide a fájlokat', uploadDuplicateFile: name => `${name} már szerepel a listán`, uploadFailed: 'A fájlok feltöltése sikertelen volt', uploadFileCountSummary: (count, size) => `${count} fájl · ${size}`, uploadFileTooLarge: (name, size) => `A(z) ${name} fájl túl nagy. A maximális méret ${size} MB.`, uploadFileTypeNotAllowed: type => `A fájltípus nem engedélyezett: ${type}`, uploadLimitExceeded: size => `A fájl meghaladja a ${size} MB feltöltési korlátot`, uploadLimitsExceeded: size => `A fájlok meghaladják a ${size} MB feltöltési korlátot`, uploadOr: 'vagy', uploadPreviewFile: name => `Előnézet: ${name}`, uploadProgress: 'Fájl(ok) feltöltése folyamatban...', uploadRemoveFile: name => `Eltávolítás: ${name}`, uploadRetryFile: name => `Próbálja újra: ${name}`, uploadSelectFile: 'Fájl kiválasztása', uploadSelectFiles: 'Fájlok kiválasztása', uploadSuccess: (done, total) => `${done}/${total} fájl feltöltve`, uploadTitle: 'Fájl feltöltése', uploadTooManyFiles: max => `Legfeljebb ${max} fájlt tölthet fel`, $code: 'hu', $dir: 'ltr', $name: 'Magyar' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/hu.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/id.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Konten ini dibuat oleh AI', back: 'Kembali', cancel: 'Cancel', carousel: 'Karousel', chooseDate: 'Pilih tanggal', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Pilih waktu', clearEntry: 'Hapus entri', close: 'Tutup', collapse: 'Ciutkan', copied: 'Disalin', copy: 'Salin', currentValue: 'Nilai saat ini', dateInputBadInput: 'Masukkan tanggal yang valid.', dateInputRangeOverflow: 'Tanggal terlalu lambat.', dateInputRangeUnderflow: 'Tanggal terlalu awal.', dateInputValueMissing: 'Isi bidang ini.', dateNotSelectable: 'Tanggal ini tidak dapat dipilih.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Hari', dateSegmentMonth: 'Bulan', dateSegmentYear: 'Tahun', datetimeInputBadInput: 'Masukkan tanggal dan waktu yang valid.', datetimeInputRangeOverflow: 'Tanggal dan waktu terlalu lambat.', datetimeInputRangeUnderflow: 'Tanggal dan waktu terlalu awal.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Kurangi', dragToReorder: 'Seret untuk mengurutkan ulang', dropFileHere: 'Lepas file di sini atau klik untuk menelusuri', dropFilesHere: 'Lepas file di sini atau klik untuk menelusuri', entriesPerPage: 'Entries per page', error: 'Kesalahan', expand: 'Perluas', finish: 'Selesai', from: 'from', goToSlide: (slide, count) => `Pergi ke slide ${slide} dari ${count}`, halfyear: 'Semester', hidePassword: 'Sembunyikan sandi', increment: 'Tambah', loading: 'Memuat', mainMenu: 'Menu utama', maximumValue: label => (label ? `${label} (Nilai maksimum)` : 'Nilai maksimum'), minimumValue: label => (label ? `${label} (Nilai minimum)` : 'Nilai minimum'), month: 'Bulan', multipleValues: 'Beberapa nilai', newsToggleMenu: 'Alihkan menu berita', next: 'Berikutnya', nextPage: 'Next page', nextSlide: 'Slide berikutnya', noData: 'Tidak ada data', noOptions: 'No options', notificationsRegion: hotkey => `Notifikasi, tekan ${hotkey} untuk fokus`, numCharacters: num => { if (num === 1) return '1 karakter'; return `${num} karakter`; }, numCharactersRemaining: num => { if (num === 1) return '1 karakter tersisa'; return `${num} karakter tersisa`; }, numEntries: num => { if (num === 0) return 'Tidak ada entri'; return `${num} entri`; }, numEntriesLoaded: num => { if (num === 0) return 'Tidak ada entri yang dimuat'; if (num === 1) return '1 entri dimuat'; return `${num} entri dimuat`; }, numOptionsAvailable: num => { if (num === 0) return 'Tidak ada opsi yang tersedia'; if (num === 1) return '1 opsi yang tersedia'; return `${num} opsi yang tersedia`; }, numOptionsSelected: num => { if (num === 0) return 'Tidak ada opsi yang dipilih'; if (num === 1) return '1 opsi yang dipilih'; return `${num} opsi yang dipilih`; }, numSelected: num => { if (num === 0) return 'Tidak ada yang dipilih'; return `${num} dipilih`; }, numTotal: num => `Total ${num}`, ok: 'OK', onThisPage: 'Di halaman ini', optionPosition: (label, position, total) => `${label}, ${position} dari ${total}`, page: 'Page', pauseAnimation: 'Jeda animasi', playAnimation: 'Putar animasi', previousPage: 'Previous page', previousSlide: 'Slide sebelumnya', progress: 'Kemajuan', quarter: 'Kuartal', rangeSelected: (start, end) => `${start} hingga ${end} dipilih`, // Calendar range selection rangeSelectingFrom: date => `Memilih rentang dari ${date}…`, remove: 'Hapus', reset: 'Atur ulang', resize: 'Ubah ukuran', scrollableRegion: 'Area yang dapat digulir', scrollToEnd: 'Gulir ke akhir', scrollToStart: 'Gulir ke awal', search: 'Cari', sectionPages: 'Halaman bagian', sections: 'Bagian', selectAColorFromTheScreen: 'Pilih warna dari layar', numRowsSelected: num => { if (num === 0) return 'Tidak ada baris yang dipilih'; return `${num} baris dipilih`; }, pageChanged: (page, total) => `Halaman ${page} dari ${total}`, reorderRow: 'Ubah urutan baris', resizeColumn: 'Ubah lebar kolom', rowDropped: position => `Baris diletakkan di posisi ${position}`, rowLifted: (position, total) => `Baris diangkat, posisi ${position} dari ${total}. Gunakan panah atas dan bawah untuk memindahkan, Spasi untuk meletakkan, Escape untuk membatalkan.`, rowMoved: (position, total) => `Posisi ${position} dari ${total}`, rowReorderCanceled: 'Pengubahan urutan dibatalkan', selectAllRows: 'Pilih semua baris', selectDate: 'Pilih tanggal', selectDateTime: 'Select date and time', selectRow: 'Pilih baris', sortedByColumn: (column, direction) => `Diurutkan berdasarkan ${column}, ${direction === 'ascending' ? 'menaik' : 'menurun'}`, sortingCleared: 'Pengurutan dihapus', // Date picker selectTime: 'Pilih waktu', showingPanelSpan: (first, last) => `Menampilkan ${first} – ${last}`, showingSinglePanel: month => `Menampilkan ${month}`, showLess: 'Tampilkan lebih sedikit', showMore: 'Tampilkan lebih banyak', showPassword: 'Tampilkan sandi', skipToContent: 'Lanjutkan ke konten', slideNum: slide => `Slide ${slide}`, timeInputBadInput: 'Masukkan waktu yang valid.', timeInputRangeOverflow: 'Waktu terlalu lambat.', timeInputRangeUnderflow: 'Waktu terlalu awal.', timeInputValueMissing: 'Isi bidang ini.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Jam', timeSegmentMinute: 'Menit', timeSegmentSecond: 'Detik', toggleColorFormat: 'Beralih format warna', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Langkah ${step} dari ${total}`, year: 'Tahun', zoomIn: 'Perbesar', zoomOut: 'Perkecil', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Halaman tidak dapat dimuat', documentViewerLoadErrorHint: 'Periksa koneksi internet Anda', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'Saran AI', editorDelete: 'Hapus', editorHideDeletedPages: 'Sembunyikan halaman yang dihapus', editorPage: page => `Halaman ${page}`, editorRotate: 'Putar 90°', editorSelectAll: (selected, total) => `Pilih semua (${selected} dari ${total})`, editorSplit: 'Pisahkan', editorUser: 'Pengguna', editorZoom: 'Zoom', editorZoomIn: 'Perbesar', previewPage: page => `Halaman ${page}`, save: 'Simpan', scanCancelBack: 'Kembali ke pengeditan', scanCancelConfirm: 'Batalkan unggahan', scanCancelMessage: 'Jika dibatalkan, file tidak akan diunggah dan perubahan akan hilang. Tindakan ini tidak dapat dibatalkan.', scanCancelTitle: 'Batalkan unggahan?', scanFilesDisplayError: 'File tidak dapat ditampilkan', scanFilesLoading: 'Memuat file...', scanInvalidSession: 'Sesi tidak valid. Silakan mulai ulang proses.', scanSaveErrorBack: 'Kembali ke pengeditan', scanSaveErrorMessage: 'Terjadi kesalahan saat menyimpan. Anda dapat mencoba lagi atau kembali ke pengeditan.', scanSaveErrorRetry: 'Coba lagi', scanSaveErrorTitle: 'Kesalahan saat menyimpan', scanSaving: 'Membuat file', scanSessionLoading: 'Memuat sesi edScan...', scanTitle: 'Pengeditan halaman dengan bantuan AI', uploadDragAndDropDescription: 'Anda dapat menyeret file ke sini atau memilihnya menggunakan tombol.', uploadDragAndDropTitle: 'Unggah file', uploadDropFile: 'Lepaskan file', uploadDropFiles: 'Lepaskan file', uploadDuplicateFile: name => `${name} sudah ada dalam daftar`, uploadFailed: 'File gagal diunggah', uploadFileCountSummary: (count, size) => `${count} file · ${size}`, uploadFileTooLarge: (name, size) => `File ${name} terlalu besar. Ukuran maksimum adalah ${size} MB.`, uploadFileTypeNotAllowed: type => `Jenis file tidak diizinkan: ${type}`, uploadLimitExceeded: size => `File melebihi batas unggahan ${size} MB`, uploadLimitsExceeded: size => `File melebihi batas unggahan ${size} MB`, uploadOr: 'atau', uploadPreviewFile: name => `Pratinjau: ${name}`, uploadProgress: 'File sedang diunggah...', uploadRemoveFile: name => `Hapus: ${name}`, uploadRetryFile: name => `Coba lagi: ${name}`, uploadSelectFile: 'Pilih file', uploadSelectFiles: 'Pilih file', uploadSuccess: (done, total) => `${done} dari ${total} file diunggah`, uploadTitle: 'Unggah file', uploadTooManyFiles: max => `Anda dapat mengunggah maksimal ${max} file`, $code: 'id', $dir: 'ltr', $name: 'Bahasa Indonesia' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/id.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/it.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: \"Questo contenuto è stato generato dall'IA\", back: 'Indietro', cancel: 'Cancel', carousel: 'Carosello', chooseDate: 'Scegli una data', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Scegli un orario', clearEntry: 'Cancella inserimento', close: 'Chiudi', collapse: 'Comprimi', copied: 'Copiato', copy: 'Copia', currentValue: 'Valore attuale', dateInputBadInput: 'Inserisci una data valida.', dateInputRangeOverflow: 'La data è troppo avanti.', dateInputRangeUnderflow: 'La data è troppo indietro.', dateInputValueMissing: 'Compila questo campo.', dateNotSelectable: 'Questa data non è selezionabile.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Giorno', dateSegmentMonth: 'Mese', dateSegmentYear: 'Anno', datetimeInputBadInput: 'Inserisci una data e un orario validi.', datetimeInputRangeOverflow: 'La data e l’orario sono troppo avanti.', datetimeInputRangeUnderflow: 'La data e l’orario sono troppo indietro.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Diminuisci', dragToReorder: 'Trascina per riordinare', dropFileHere: 'Trascina il file qui o clicca per sfogliare', dropFilesHere: 'Trascina i file qui o clicca per sfogliare', entriesPerPage: 'Entries per page', error: 'Errore', expand: 'Espandi', finish: 'Fine', from: 'from', goToSlide: (slide, count) => `Vai alla diapositiva ${slide} di ${count}`, halfyear: 'Semestre', hidePassword: 'Nascondi password', increment: 'Aumenta', loading: 'In caricamento', mainMenu: 'Menu principale', maximumValue: label => (label ? `${label} (Valore massimo)` : 'Valore massimo'), minimumValue: label => (label ? `${label} (Valore minimo)` : 'Valore minimo'), month: 'Mese', multipleValues: 'Valori multipli', newsToggleMenu: 'Attiva/disattiva il menu delle notizie', next: 'Avanti', nextPage: 'Next page', nextSlide: 'Prossima diapositiva', noData: 'Nessun dato', noOptions: 'No options', notificationsRegion: hotkey => `Notifiche, premi ${hotkey} per mettere a fuoco`, numCharacters: num => { if (num === 1) return '1 carattere'; return `${num} caratteri`; }, numCharactersRemaining: num => { if (num === 1) return '1 carattere rimanente'; return `${num} caratteri rimanenti`; }, numEntries: num => { if (num === 0) return 'Nessuna voce'; if (num === 1) return '1 voce'; return `${num} voci`; }, numEntriesLoaded: num => { if (num === 0) return 'Nessuna voce caricata'; if (num === 1) return '1 voce caricata'; return `${num} voci caricate`; }, numOptionsAvailable: num => { if (num === 0) return 'Nessuna opzione disponibile'; if (num === 1) return '1 opzione disponibile'; return `${num} opzioni disponibili`; }, numOptionsSelected: num => { if (num === 0) return 'Nessuna opzione selezionata'; if (num === 1) return '1 opzione selezionata'; return `${num} opzioni selezionate`; }, numSelected: num => { if (num === 0) return 'Nessuna selezione'; if (num === 1) return '1 selezionata'; return `${num} selezionate`; }, numTotal: num => `${num} in totale`, ok: 'OK', onThisPage: 'In questa pagina', optionPosition: (label, position, total) => `${label}, ${position} di ${total}`, page: 'Page', pauseAnimation: 'Metti in pausa animazione', playAnimation: 'Riproduci animazione', previousPage: 'Previous page', previousSlide: 'Diapositiva precedente', progress: 'Avanzamento', quarter: 'Trimestre', rangeSelected: (start, end) => `Selezionati da ${start} a ${end}`, // Calendar range selection rangeSelectingFrom: date => `Selezione dell’intervallo da ${date}…`, remove: 'Rimuovi', reset: 'Reimposta', resize: 'Ridimensiona', scrollableRegion: 'Area scorrevole', scrollToEnd: 'Scorri alla fine', scrollToStart: \"Scorri all'inizio\", search: 'Cerca', sectionPages: 'Pagine della sezione', sections: 'Sezioni', selectAColorFromTheScreen: 'Seleziona un colore dalla schermo', numRowsSelected: num => { if (num === 0) return 'Nessuna riga selezionata'; if (num === 1) return '1 riga selezionata'; return `${num} righe selezionate`; }, pageChanged: (page, total) => `Pagina ${page} di ${total}`, reorderRow: 'Riordina riga', resizeColumn: 'Ridimensiona colonna', rowDropped: position => `Riga rilasciata alla posizione ${position}`, rowLifted: (position, total) => `Riga sollevata, posizione ${position} di ${total}. Usa le frecce su e giù per spostare, Spazio per rilasciare, Esc per annullare.`, rowMoved: (position, total) => `Posizione ${position} di ${total}`, rowReorderCanceled: 'Riordino annullato', selectAllRows: 'Seleziona tutte le righe', selectDate: 'Seleziona data', selectDateTime: 'Select date and time', selectRow: 'Seleziona riga', sortedByColumn: (column, direction) => `Ordinato per ${column}, ${direction === 'ascending' ? 'crescente' : 'decrescente'}`, sortingCleared: 'Ordinamento rimosso', // Date picker selectTime: 'Seleziona orario', showingPanelSpan: (first, last) => `Visualizzazione di ${first} – ${last}`, showingSinglePanel: month => `Visualizzazione di ${month}`, showLess: 'Mostra meno', showMore: 'Mostra di più', showPassword: 'Mostra password', skipToContent: 'Vai al contenuto', slideNum: slide => `Diapositiva ${slide}`, timeInputBadInput: 'Inserisci un orario valido.', timeInputRangeOverflow: 'L’orario è troppo avanti.', timeInputRangeUnderflow: 'L’orario è troppo indietro.', timeInputValueMissing: 'Compila questo campo.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Ora', timeSegmentMinute: 'Minuto', timeSegmentSecond: 'Secondo', toggleColorFormat: 'Cambia formato colore', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Passaggio ${step} di ${total}`, year: 'Anno', zoomIn: 'Ingrandire', zoomOut: 'Rimpicciolire', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Impossibile caricare la pagina', documentViewerLoadErrorHint: 'Controlla la tua connessione a Internet', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'IA', editorAiSuggestions: 'Suggerimenti IA', editorDelete: 'Elimina', editorHideDeletedPages: 'Nascondi pagine eliminate', editorPage: page => `Pagina ${page}`, editorRotate: 'Ruota di 90°', editorSelectAll: (selected, total) => `Seleziona tutto (${selected} di ${total})`, editorSplit: 'Dividi', editorUser: 'Utente', editorZoom: 'Zoom', editorZoomIn: 'Ingrandisci', previewPage: page => `Pagina ${page}`, save: 'Salva', scanCancelBack: 'Torna alla modifica', scanCancelConfirm: 'Annulla caricamento', scanCancelMessage: 'Se annulli, il file non verrà caricato e le modifiche andranno perse. Questa azione non può essere annullata.', scanCancelTitle: 'Annullare il caricamento?', scanFilesDisplayError: 'Impossibile visualizzare i file', scanFilesLoading: 'Caricamento file...', scanInvalidSession: 'La sessione non è valida. Riavvia il processo.', scanSaveErrorBack: 'Torna alla modifica', scanSaveErrorMessage: 'Si è verificato un errore durante il salvataggio. Puoi riprovare o tornare alla modifica.', scanSaveErrorRetry: 'Riprova', scanSaveErrorTitle: 'Errore durante il salvataggio', scanSaving: 'Creazione file', scanSessionLoading: 'Caricamento sessione edScan...', scanTitle: 'Modifica pagine assistita da IA', uploadDragAndDropDescription: 'Puoi trascinare qui un file oppure selezionarlo usando il pulsante.', uploadDragAndDropTitle: 'Carica file', uploadDropFile: 'Rilascia il file', uploadDropFiles: 'Rilascia i file', uploadDuplicateFile: name => `${name} è già nell'elenco`, uploadFailed: 'Impossibile caricare i file', uploadFileCountSummary: (count, size) => `${count} file · ${size}`, uploadFileTooLarge: (name, size) => `Il file ${name} è troppo grande. La dimensione massima è ${size} MB.`, uploadFileTypeNotAllowed: type => `Tipo di file non consentito: ${type}`, uploadLimitExceeded: size => `Il file supera il limite di caricamento di ${size} MB`, uploadLimitsExceeded: size => `I file superano il limite di caricamento di ${size} MB`, uploadOr: 'oppure', uploadPreviewFile: name => `Anteprima: ${name}`, uploadProgress: 'Caricamento file in corso...', uploadRemoveFile: name => `Rimuovi: ${name}`, uploadRetryFile: name => `Riprova: ${name}`, uploadSelectFile: 'Seleziona file', uploadSelectFiles: 'Seleziona file', uploadSuccess: (done, total) => `${done} di ${total} file caricati`, uploadTitle: 'Carica file', uploadTooManyFiles: max => `Puoi caricare al massimo ${max} file`, $code: 'it', $dir: 'ltr', $name: 'Italiano' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/it.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/ja.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'このコンテンツはAIによって生成されました', back: '戻る', cancel: 'Cancel', carousel: 'カルーセル', chooseDate: '日付を選択', chooseDateAndTime: 'Choose a date and time', chooseTime: '時刻を選択', clearEntry: 'クリア', close: '閉じる', collapse: '折りたたむ', copied: 'コピーしました', copy: 'コピー', currentValue: '現在の値', dateInputBadInput: '有効な日付を入力してください。', dateInputRangeOverflow: '日付が遅すぎます。', dateInputRangeUnderflow: '日付が早すぎます。', dateInputValueMissing: 'このフィールドを入力してください。', dateNotSelectable: 'この日付は選択できません。', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: '日', dateSegmentMonth: '月', dateSegmentYear: '年', datetimeInputBadInput: '有効な日付と時刻を入力してください。', datetimeInputRangeOverflow: '日付と時刻が遅すぎます。', datetimeInputRangeUnderflow: '日付と時刻が早すぎます。', datetimeInputValueMissing: 'Please fill in this field.', decrement: '減らす', dragToReorder: 'ドラッグして並べ替え', dropFileHere: 'ファイルをここにドロップするか、クリックして参照してください', dropFilesHere: 'ファイルをここにドロップするか、クリックして参照してください', entriesPerPage: 'Entries per page', error: 'エラー', expand: '展開する', finish: '完了', from: 'from', goToSlide: (slide, count) => `${count} 枚中 ${slide} 枚のスライドに移動`, halfyear: '半期', hidePassword: 'パスワードを隠す', increment: '増やす', loading: '読み込み中', mainMenu: 'メインメニュー', maximumValue: label => (label ? `${label} (最大値)` : '最大値'), minimumValue: label => (label ? `${label} (最小値)` : '最小値'), month: '月', multipleValues: '複数の値', newsToggleMenu: 'ニュースメニューの切り替え', next: '次へ', nextPage: 'Next page', nextSlide: '次のスライド', noData: 'データなし', noOptions: 'No options', notificationsRegion: hotkey => `通知、${hotkey}を押してフォーカス`, numCharacters: num => `${num}文字`, numCharactersRemaining: num => `残り${num}文字`, numEntries: num => `${num} 件`, numEntriesLoaded: num => { if (num === 0) return 'ロードされた項目はありません'; return `${num} 件がロードされました`; }, numOptionsAvailable: num => { if (num === 0) return '利用可能な項目はありません'; return `${num} 個の項目が利用可能です`; }, numOptionsSelected: num => { if (num === 0) return '項目が選択されていません'; return `${num} 個の項目が選択されました`; }, numSelected: num => `${num} 件選択`, numTotal: num => `合計 ${num}`, ok: 'OK', onThisPage: 'このページ内', optionPosition: (label, position, total) => `${label}、${total} 件中 ${position} 件目`, page: 'Page', pauseAnimation: 'アニメーションを一時停止', playAnimation: 'アニメーションを再生', previousPage: 'Previous page', previousSlide: '前のスライド', progress: '進行', quarter: '四半期', rangeSelected: (start, end) => `${start}から${end}を選択しました`, // Calendar range selection rangeSelectingFrom: date => `${date}からの範囲を選択中…`, remove: '削除', reset: 'リセット', resize: 'サイズ変更', scrollableRegion: 'スクロール可能領域', scrollToEnd: '最後にスクロールする', scrollToStart: '最初にスクロールする', search: '検索', sectionPages: 'セクションのページ', sections: 'セクション', selectAColorFromTheScreen: '画面から色を選択してください', numRowsSelected: num => { if (num === 0) return '選択された行はありません'; return `${num} 行が選択されました`; }, pageChanged: (page, total) => `${total} ページ中 ${page} ページ目`, reorderRow: '行を並べ替え', resizeColumn: '列の幅を変更', rowDropped: position => `行を位置 ${position} に配置しました`, rowLifted: (position, total) => `行を持ち上げました。位置 ${position} / ${total}。上下矢印キーで移動、スペースキーで配置、Escape でキャンセルします。`, rowMoved: (position, total) => `位置 ${position} / ${total}`, rowReorderCanceled: '並べ替えをキャンセルしました', selectAllRows: 'すべての行を選択', selectDate: '日付を選択', selectDateTime: 'Select date and time', selectRow: '行を選択', sortedByColumn: (column, direction) => `${column} で並べ替え、${direction === 'ascending' ? '昇順' : '降順'}`, sortingCleared: '並べ替えを解除しました', // Date picker selectTime: '時刻を選択', showingPanelSpan: (first, last) => `${first} – ${last} を表示中`, showingSinglePanel: month => `${month} を表示中`, showLess: '表示を減らす', showMore: 'もっと表示', showPassword: 'パスワードを表示', skipToContent: 'メインコンテンツへ移動', slideNum: slide => `スライド ${slide}`, timeInputBadInput: '有効な時刻を入力してください。', timeInputRangeOverflow: '時刻が遅すぎます。', timeInputRangeUnderflow: '時刻が早すぎます。', timeInputValueMissing: 'このフィールドを入力してください。', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: '時', timeSegmentMinute: '分', timeSegmentSecond: '秒', toggleColorFormat: '色のフォーマットを切り替える', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `ステップ ${step}/${total}`, year: '年', zoomIn: 'ズームイン', zoomOut: 'ズームアウト', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'ページを読み込めませんでした', documentViewerLoadErrorHint: 'インターネット接続を確認してください', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AIの提案', editorDelete: '削除', editorHideDeletedPages: '削除されたページを非表示', editorPage: page => `ページ ${page}`, editorRotate: '90°回転', editorSelectAll: (selected, total) => `すべて選択 (${selected}/${total})`, editorSplit: '分割', editorUser: 'ユーザー', editorZoom: 'ズーム', editorZoomIn: '拡大', previewPage: page => `ページ ${page}`, save: '保存', scanCancelBack: '編集に戻る', scanCancelConfirm: 'アップロードをキャンセル', scanCancelMessage: 'キャンセルするとファイルはアップロードされず、変更内容は失われます。この操作は元に戻せません。', scanCancelTitle: 'アップロードをキャンセルしますか？', scanFilesDisplayError: 'ファイルを表示できません', scanFilesLoading: 'ファイルを読み込み中...', scanInvalidSession: 'セッションが無効です。処理を再開してください。', scanSaveErrorBack: '編集に戻る', scanSaveErrorMessage: '保存中にエラーが発生しました。再試行するか編集に戻ってください。', scanSaveErrorRetry: '再試行', scanSaveErrorTitle: '保存エラー', scanSaving: 'ファイルを作成中...', scanSessionLoading: 'edScan セッションを読み込み中...', scanTitle: 'AI支援ページ編集', uploadDragAndDropDescription: 'ここにファイルをドラッグするか、ボタンから選択してください。', uploadDragAndDropTitle: 'ファイルをアップロード', uploadDropFile: 'ファイルをドロップ', uploadDropFiles: 'ファイルをドロップ', uploadDuplicateFile: name => `${name} は既にリストに含まれています`, uploadFailed: 'ファイルのアップロードに失敗しました', uploadFileCountSummary: (count, size) => `${count} 件のファイル · ${size}`, uploadFileTooLarge: (name, size) => `ファイル ${name} は大きすぎます。最大サイズは ${size} MB です。`, uploadFileTypeNotAllowed: type => `許可されていないファイル形式: ${type}`, uploadLimitExceeded: size => `ファイルが ${size} MB のアップロード制限を超えています`, uploadLimitsExceeded: size => `ファイルが ${size} MB のアップロード制限を超えています`, uploadOr: 'または', uploadPreviewFile: name => `プレビュー: ${name}`, uploadProgress: 'ファイルをアップロード中...', uploadRemoveFile: name => `削除: ${name}`, uploadRetryFile: name => `再試行: ${name}`, uploadSelectFile: 'ファイルを選択', uploadSelectFiles: 'ファイルを選択', uploadSuccess: (done, total) => `${total} 件中 ${done} 件アップロード済み`, uploadTitle: 'ファイルをアップロード', uploadTooManyFiles: max => `アップロードできるファイルは最大 ${max} 件です`, $code: 'ja', $dir: 'ltr', $name: '日本語' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/ja.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/kk.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Бұл мазмұнды жасанды интеллект жасаған', back: 'Арта', cancel: 'Cancel', carousel: 'Карусель', chooseDate: 'Күн таңдаңыз', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Уақыт таңдаңыз', clearEntry: 'Жазбаны жою', close: 'Жабу', collapse: 'Жию', copied: 'Көшірілді', copy: 'Көшіру', currentValue: 'Қазіргі мән', dateInputBadInput: 'Жарамды күн енгізіңіз.', dateInputRangeOverflow: 'Күн тым кеш.', dateInputRangeUnderflow: 'Күн тым ерте.', dateInputValueMissing: 'Бұл өрісті толтырыңыз.', dateNotSelectable: 'Бұл күнді таңдау мүмкін емес.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Күн', dateSegmentMonth: 'Ай', dateSegmentYear: 'Жыл', datetimeInputBadInput: 'Жарамды күн мен уақыт енгізіңіз.', datetimeInputRangeOverflow: 'Күн мен уақыт тым кеш.', datetimeInputRangeUnderflow: 'Күн мен уақыт тым ерте.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Азайту', dragToReorder: 'Ретті өзгерту үшін сүйреңіз', dropFileHere: 'Файлды осы жерге тастаңыз немесе таңдау үшін басыңыз', dropFilesHere: 'Файлдарды осы жерге тастаңыз немесе таңдау үшін басыңыз', entriesPerPage: 'Entries per page', error: 'Қате', expand: 'Жаю', finish: 'Аятау', from: 'from', goToSlide: (slide, count) => `${slide}/${count} слайдқа өту`, halfyear: 'Жарты жыл', hidePassword: 'Құпиясөзді жасыру', increment: 'Арттыру', loading: 'Жүктелуде', mainMenu: 'Басты мәзір', maximumValue: label => (label ? `${label} (Ең үлкен мән)` : 'Ең үлкен мән'), minimumValue: label => (label ? `${label} (Ең кіші мән)` : 'Ең кіші мән'), month: 'Ай', multipleValues: 'Бірнеше мән', newsToggleMenu: 'Жаңалықтар мәзірін ауыстыру', next: 'Келесі', nextPage: 'Next page', nextSlide: 'Келесі слайд', noData: 'Деректер жоқ', noOptions: 'No options', notificationsRegion: hotkey => `Хабарландырулар, фокустау үшін ${hotkey} басыңыз`, numCharacters: num => { if (num === 1) return '1 таңба'; return `${num} таңба`; }, numCharactersRemaining: num => { if (num === 1) return '1 таңба қалды'; return `${num} таңба қалды`; }, numEntries: num => { if (num === 0) return 'Жазбалар жоқ'; return `${num} жазба`; }, numEntriesLoaded: num => { if (num === 0) return 'Жазбалар жүктелмеді'; if (num === 1) return '1 жазба жүктелді'; return `${num} жазба жүктелді`; }, numOptionsAvailable: num => { if (num === 0) return 'Қолжетімді нұсқа жоқ'; if (num < 6 || num === 7) return `${num}-еу қолжетімді`; if (num === 6) return `${num}-ау қолжетімді`; return `${num} қолжетімді`; }, numOptionsSelected: num => { if (num === 0) return 'Ештеңе таңдалмады'; if (num < 6 || num === 7) return `${num}-еу таңдалды`; if (num === 6) return `${num}-ау таңдалды`; return `${num} таңдалды`; }, numSelected: num => { if (num === 0) return 'Ештеңе таңдалмады'; return `${num} таңдалды`; }, numTotal: num => `Барлығы ${num}`, ok: 'OK', onThisPage: 'Осы бетте', optionPosition: (label, position, total) => `${label}, ${position}/${total}`, page: 'Page', pauseAnimation: 'Анимацияны тоқтату', playAnimation: 'Анимацияны ойнату', previousPage: 'Previous page', previousSlide: 'Алдыңғы слайд', progress: 'Прогресс', quarter: 'Тоқсан', rangeSelected: (start, end) => `${start} мен ${end} аралығы таңдалды`, // Calendar range selection rangeSelectingFrom: date => `${date} күнінен бастап аралық таңдалуда…`, remove: 'Жою', reset: 'алпына келтіру', resize: 'Өлшемін өзгерту', scrollableRegion: 'Көтеру/түсіруге болатын аймақ (скролл)', scrollToEnd: 'Соңына түсіру', scrollToStart: 'Басына көтеру', search: 'Іздеу', sectionPages: 'Бөлім беттері', sections: 'Бөлімдер', selectAColorFromTheScreen: 'Экраннан түсті таңдаңыз', numRowsSelected: num => { if (num === 0) return 'Жолдар таңдалмаған'; return `${num} жол таңдалды`; }, pageChanged: (page, total) => `${total} беттің ${page}-беті`, reorderRow: 'Жол ретін өзгерту', resizeColumn: 'Баған енін өзгерту', rowDropped: position => `Жол ${position}-позицияға қойылды`, rowLifted: (position, total) => `Жол көтерілді, позиция ${position} / ${total}. Жоғары және төмен көрсеткілерімен жылжытыңыз, бос орын пернесімен қойыңыз, Escape пернесімен бас тартыңыз.`, rowMoved: (position, total) => `Позиция ${position} / ${total}`, rowReorderCanceled: 'Ретін өзгерту тоқтатылды', selectAllRows: 'Барлық жолдарды таңдау', selectDate: 'Күнді таңдау', selectDateTime: 'Select date and time', selectRow: 'Жолды таңдау', sortedByColumn: (column, direction) => `${column} бойынша сұрыпталды, ${direction === 'ascending' ? 'өсу ретімен' : 'кему ретімен'}`, sortingCleared: 'Сұрыптау алынды', // Date picker selectTime: 'Уақытты таңдау', showingPanelSpan: (first, last) => `${first} – ${last} көрсетілуде`, showingSinglePanel: month => `${month} көрсетілуде`, showLess: 'Азырақ көрсету', showMore: 'Көбірек көрсету', showPassword: 'Құпиясөзді көрсету', skipToContent: 'Мазмұнға өту', slideNum: slide => `${slide}-слайд`, timeInputBadInput: 'Жарамды уақыт енгізіңіз.', timeInputRangeOverflow: 'Уақыт тым кеш.', timeInputRangeUnderflow: 'Уақыт тым ерте.', timeInputValueMissing: 'Бұл өрісті толтырыңыз.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Сағат', timeSegmentMinute: 'Минут', timeSegmentSecond: 'Секунд', toggleColorFormat: 'Түс пішімін ауыстыру', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Қадам ${step}/${total}`, year: 'Жыл', zoomIn: 'Жақындату', zoomOut: 'Алыстату', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Бетті жүктеу мүмкін болмады', documentViewerLoadErrorHint: 'Интернет байланысын тексеріңіз', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI ұсыныстары', editorDelete: 'Жою', editorHideDeletedPages: 'Жойылған беттерді жасыру', editorPage: page => `${page}-бет`, editorRotate: '90° бұру', editorSelectAll: (selected, total) => `Барлығын таңдау (${selected}/${total})`, editorSplit: 'Бөлу', editorUser: 'Пайдаланушы', editorZoom: 'Үлкейту', editorZoomIn: 'Үлкейту', previewPage: page => `${page}-бет`, save: 'Сақтау', scanCancelBack: 'Өңдеуге оралу', scanCancelConfirm: 'Жүктеуді тоқтату', scanCancelMessage: 'Тоқтатсаңыз, файл жүктелмейді және өзгерістер жоғалады. Бұл әрекетті қайтару мүмкін емес.', scanCancelTitle: 'Жүктеуді тоқтату керек пе?', scanFilesDisplayError: 'Файлдарды көрсету мүмкін емес', scanFilesLoading: 'Файлдар жүктелуде...', scanInvalidSession: 'Сессия жарамсыз. Процесті қайта бастаңыз.', scanSaveErrorBack: 'Өңдеуге оралу', scanSaveErrorMessage: 'Сақтау кезінде қате пайда болды. Қайта көруге немесе өңдеуге оралуға болады.', scanSaveErrorRetry: 'Қайта көру', scanSaveErrorTitle: 'Сақтау қатесі', scanSaving: 'Файлдар жасалуда', scanSessionLoading: 'edScan сессиясы жүктелуде...', scanTitle: 'AI көмегімен беттерді өңдеу', uploadDragAndDropDescription: 'Файлды осы жерге сүйреп апаруға немесе батырма арқылы таңдауға болады.', uploadDragAndDropTitle: 'Файл жүктеу', uploadDropFile: 'Файлды осында тастаңыз', uploadDropFiles: 'Файлдарды осында тастаңыз', uploadDuplicateFile: name => `${name} тізімде бар`, uploadFailed: 'Файлдарды жүктеу сәтсіз аяқталды', uploadFileCountSummary: (count, size) => `${count} файл · ${size}`, uploadFileTooLarge: (name, size) => `${name} файлы тым үлкен. Максималды өлшемі ${size} МБ.`, uploadFileTypeNotAllowed: type => `Файл түріне рұқсат жоқ: ${type}`, uploadLimitExceeded: size => `Файл ${size} МБ жүктеу шегінен асты`, uploadLimitsExceeded: size => `Файлдар ${size} МБ жүктеу шегінен асты`, uploadOr: 'немесе', uploadPreviewFile: name => `Алдын ала қарау: ${name}`, uploadProgress: 'Файлдар жүктелуде...', uploadRemoveFile: name => `Жою: ${name}`, uploadRetryFile: name => `Қайта көру: ${name}`, uploadSelectFile: 'Файл таңдау', uploadSelectFiles: 'Файлдарды таңдау', uploadSuccess: (done, total) => `${total} файлдың ${done} жүктелді`, uploadTitle: 'Файл жүктеу', uploadTooManyFiles: max => `Ең көбі ${max} файл жүктей аласыз`, $code: 'kk', $dir: 'ltr', $name: 'Қазақ' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/kk.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/nb.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Dette innholdet er generert av KI', back: 'Tilbake', cancel: 'Cancel', carousel: 'Karusell', chooseDate: 'Velg en dato', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Velg et tidspunkt', clearEntry: 'Tøm felt', close: 'Lukk', collapse: 'Skjul', copied: 'Kopiert', copy: 'Kopier', currentValue: 'Nåværende verdi', dateInputBadInput: 'Skriv inn en gyldig dato.', dateInputRangeOverflow: 'Datoen er for sen.', dateInputRangeUnderflow: 'Datoen er for tidlig.', dateInputValueMissing: 'Fyll ut dette feltet.', dateNotSelectable: 'Denne datoen kan ikke velges.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Dag', dateSegmentMonth: 'Måned', dateSegmentYear: 'År', datetimeInputBadInput: 'Skriv inn en gyldig dato og et gyldig tidspunkt.', datetimeInputRangeOverflow: 'Dato og tidspunkt er for sent.', datetimeInputRangeUnderflow: 'Dato og tidspunkt er for tidlig.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Reduser', dragToReorder: 'Dra for å omorganisere', dropFileHere: 'Slipp filen her eller klikk for å bla gjennom', dropFilesHere: 'Slipp filene her eller klikk for å bla gjennom', entriesPerPage: 'Entries per page', error: 'Feil', expand: 'Vis', finish: 'Fullfør', from: 'from', goToSlide: (slide, count) => `Gå til visning ${slide} av ${count}`, halfyear: 'Halvår', hidePassword: 'Skjul passord', increment: 'Øk', loading: 'Laster', mainMenu: 'Hovedmeny', maximumValue: label => (label ? `${label} (Maksimumsverdi)` : 'Maksimumsverdi'), minimumValue: label => (label ? `${label} (Minimumsverdi)` : 'Minimumsverdi'), month: 'Måned', multipleValues: 'Flere verdier', newsToggleMenu: 'Bytt nyhetsmeny', next: 'Neste', nextPage: 'Next page', nextSlide: 'Neste visning', noData: 'Ingen data', noOptions: 'No options', notificationsRegion: hotkey => `Varsler, trykk ${hotkey} for å fokusere`, numCharacters: num => { if (num === 1) return '1 tegn'; return `${num} tegn`; }, numCharactersRemaining: num => { if (num === 1) return '1 tegn gjenstår'; return `${num} tegn gjenstår`; }, numEntries: num => { if (num === 0) return 'Ingen poster'; if (num === 1) return '1 post'; return `${num} poster`; }, numEntriesLoaded: num => { if (num === 0) return 'Ingen poster lastet'; if (num === 1) return '1 post lastet'; return `${num} poster lastet`; }, numOptionsAvailable: num => { if (num === 0) return 'Ingen alternativer tilgjengelige'; if (num === 1) return 'Ett alternativ tilgjengelig'; return `${num} alternativer tilgjengelige`; }, numOptionsSelected: num => { if (num === 0) return 'Ingen alternativer valgt'; if (num === 1) return 'Ett alternativ valgt'; return `${num} alternativer valgt`; }, numSelected: num => { if (num === 0) return 'Ingen valgt'; return `${num} valgt`; }, numTotal: num => `${num} totalt`, ok: 'OK', onThisPage: 'På denne siden', optionPosition: (label, position, total) => `${label}, ${position} av ${total}`, page: 'Page', pauseAnimation: 'Sett animasjon på pause', playAnimation: 'Spill av animasjon', previousPage: 'Previous page', previousSlide: 'Forrige visning', progress: 'Fremdrift', quarter: 'Kvartal', rangeSelected: (start, end) => `${start} til ${end} valgt`, // Calendar range selection rangeSelectingFrom: date => `Velger intervall fra ${date}…`, remove: 'Fjern', reset: 'Tilbakestill', resize: 'Endre størrelse', scrollableRegion: 'Rullbar region', scrollToEnd: 'Rull til slutten', scrollToStart: 'Rull til starten', search: 'Søk', sectionPages: 'Seksjonens sider', sections: 'Seksjoner', selectAColorFromTheScreen: 'Velg en farge fra skjermen', numRowsSelected: num => { if (num === 0) return 'Ingen rader valgt'; if (num === 1) return '1 rad valgt'; return `${num} rader valgt`; }, pageChanged: (page, total) => `Side ${page} av ${total}`, reorderRow: 'Flytt rad', resizeColumn: 'Endre kolonnebredde', rowDropped: position => `Rad plassert på posisjon ${position}`, rowLifted: (position, total) => `Rad løftet, posisjon ${position} av ${total}. Bruk pil opp og pil ned for å flytte, mellomrom for å plassere, Escape for å avbryte.`, rowMoved: (position, total) => `Posisjon ${position} av ${total}`, rowReorderCanceled: 'Flytting avbrutt', selectAllRows: 'Velg alle rader', selectDate: 'Velg dato', selectDateTime: 'Select date and time', selectRow: 'Velg rad', sortedByColumn: (column, direction) => `Sortert etter ${column}, ${direction === 'ascending' ? 'stigende' : 'synkende'}`, sortingCleared: 'Sortering fjernet', // Date picker selectTime: 'Velg tidspunkt', showingPanelSpan: (first, last) => `Viser ${first} – ${last}`, showingSinglePanel: month => `Viser ${month}`, showLess: 'Vis mindre', showMore: 'Vis mer', showPassword: 'Vis passord', skipToContent: 'Gå til innhold', slideNum: slide => `Visning ${slide}`, timeInputBadInput: 'Skriv inn et gyldig tidspunkt.', timeInputRangeOverflow: 'Tidspunktet er for sent.', timeInputRangeUnderflow: 'Tidspunktet er for tidlig.', timeInputValueMissing: 'Fyll ut dette feltet.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Time', timeSegmentMinute: 'Minutt', timeSegmentSecond: 'Sekund', toggleColorFormat: 'Bytt fargeformat', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Trinn ${step} av ${total}`, year: 'År', zoomIn: 'Zoom inn', zoomOut: 'Zoom ut', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Siden kunne ikke lastes inn', documentViewerLoadErrorHint: 'Kontroller internettforbindelsen din', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'KI', editorAiSuggestions: 'KI-forslag', editorDelete: 'Slett', editorHideDeletedPages: 'Skjul slettede sider', editorPage: page => `Side ${page}`, editorRotate: 'Roter 90°', editorSelectAll: (selected, total) => `Velg alle (${selected} av ${total})`, editorSplit: 'Del', editorUser: 'Bruker', editorZoom: 'Zoom', editorZoomIn: 'Zoom inn', previewPage: page => `Side ${page}`, save: 'Lagre', scanCancelBack: 'Tilbake til redigering', scanCancelConfirm: 'Avbryt opplasting', scanCancelMessage: 'Hvis du avbryter, blir filen ikke lastet opp og endringene går tapt. Denne handlingen kan ikke angres.', scanCancelTitle: 'Avbryt opplasting?', scanFilesDisplayError: 'Filen(e) kan ikke vises', scanFilesLoading: 'Laster filer...', scanInvalidSession: 'Økten er ugyldig. Start prosessen på nytt.', scanSaveErrorBack: 'Tilbake til redigering', scanSaveErrorMessage: 'Det oppstod en feil under lagring. Du kan prøve igjen eller gå tilbake til redigering.', scanSaveErrorRetry: 'Prøv igjen', scanSaveErrorTitle: 'Feil ved lagring', scanSaving: 'Oppretter fil(er)', scanSessionLoading: 'Laster edScan-økt...', scanTitle: 'KI-assistert sideredigering', uploadDragAndDropDescription: 'Du kan dra og slippe en fil her eller velge en med knappen.', uploadDragAndDropTitle: 'Last opp fil', uploadDropFile: 'Slipp fil', uploadDropFiles: 'Slipp filer', uploadDuplicateFile: name => `${name} er allerede på listen`, uploadFailed: 'Filene kunne ikke lastes opp', uploadFileCountSummary: (count, size) => `${count} fil(er) · ${size}`, uploadFileTooLarge: (name, size) => `Filen ${name} er for stor. Maksimal størrelse er ${size} MB.`, uploadFileTypeNotAllowed: type => `Filtypen er ikke tillatt: ${type}`, uploadLimitExceeded: size => `Filen overskrider opplastingsgrensen på ${size} MB`, uploadLimitsExceeded: size => `Filene overskrider opplastingsgrensen på ${size} MB`, uploadOr: 'eller', uploadPreviewFile: name => `Forhåndsvisning: ${name}`, uploadProgress: 'Fil(er) lastes opp...', uploadRemoveFile: name => `Fjern: ${name}`, uploadRetryFile: name => `Prøv igjen: ${name}`, uploadSelectFile: 'Velg fil', uploadSelectFiles: 'Velg filer', uploadSuccess: (done, total) => `${done} av ${total} fil(er) lastet opp`, uploadTitle: 'Last opp fil', uploadTooManyFiles: max => `Du kan laste opp maksimalt ${max} fil(er)`, $code: 'nb', $dir: 'ltr', $name: 'Norwegian Bokmål' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/nb.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/nl.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Deze inhoud is gegenereerd door AI', back: 'Terug', cancel: 'Cancel', carousel: 'Carrousel', chooseDate: 'Een datum kiezen', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Een tijd kiezen', clearEntry: 'Invoer wissen', close: 'Sluiten', collapse: 'Inklappen', copied: 'Gekopieerd', copy: 'Kopiëren', currentValue: 'Huidige waarde', dateInputBadInput: 'Voer een geldige datum in.', dateInputRangeOverflow: 'De datum is te laat.', dateInputRangeUnderflow: 'De datum is te vroeg.', dateInputValueMissing: 'Vul dit veld in.', dateNotSelectable: 'Deze datum kan niet worden geselecteerd.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Dag', dateSegmentMonth: 'Maand', dateSegmentYear: 'Jaar', datetimeInputBadInput: 'Voer een geldige datum en tijd in.', datetimeInputRangeOverflow: 'De datum en tijd zijn te laat.', datetimeInputRangeUnderflow: 'De datum en tijd zijn te vroeg.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Verlagen', dragToReorder: 'Slepen om te herordenen', dropFileHere: 'Sleep bestand hierheen of klik om te bladeren', dropFilesHere: 'Sleep bestanden hierheen of klik om te bladeren', entriesPerPage: 'Entries per page', error: 'Fout', expand: 'Uitklappen', finish: 'Voltooien', from: 'from', goToSlide: (slide, count) => `Ga naar slide ${slide} van ${count}`, halfyear: 'Halfjaar', hidePassword: 'Verberg wachtwoord', increment: 'Verhogen', loading: 'Bezig met laden', mainMenu: 'Hoofdmenu', maximumValue: label => (label ? `${label} (Maximumwaarde)` : 'Maximumwaarde'), minimumValue: label => (label ? `${label} (Minimumwaarde)` : 'Minimumwaarde'), month: 'Maand', multipleValues: 'Meerdere waarden', newsToggleMenu: 'Nieuwsmenu wisselen', next: 'Volgende', nextPage: 'Next page', nextSlide: 'Volgende dia', noData: 'Geen gegevens', noOptions: 'No options', notificationsRegion: hotkey => `Meldingen, druk ${hotkey} om te focussen`, numCharacters: num => { if (num === 1) return '1 teken'; return `${num} tekens`; }, numCharactersRemaining: num => { if (num === 1) return '1 teken resterend'; return `${num} tekens resterend`; }, numEntries: num => { if (num === 0) return 'Geen items'; if (num === 1) return '1 item'; return `${num} items`; }, numEntriesLoaded: num => { if (num === 0) return 'Geen items geladen'; if (num === 1) return '1 item geladen'; return `${num} items geladen`; }, numOptionsAvailable: num => { if (num === 0) return 'Geen opties beschikbaar'; if (num === 1) return '1 optie beschikbaar'; return `${num} opties beschikbaar`; }, numOptionsSelected: num => { if (num === 0) return 'Geen optie geselecteerd'; if (num === 1) return '1 optie geselecteerd'; return `${num} opties geselecteerd`; }, numSelected: num => { if (num === 0) return 'Niets geselecteerd'; return `${num} geselecteerd`; }, numTotal: num => `${num} totaal`, ok: 'OK', onThisPage: 'Op deze pagina', optionPosition: (label, position, total) => `${label}, ${position} van ${total}`, page: 'Page', pauseAnimation: 'Animatie pauzeren', playAnimation: 'Animatie afspelen', previousPage: 'Previous page', previousSlide: 'Vorige dia', progress: 'Voortgang', quarter: 'Kwartaal', rangeSelected: (start, end) => `${start} tot ${end} geselecteerd`, // Calendar range selection rangeSelectingFrom: date => `Bereik selecteren vanaf ${date}…`, remove: 'Verwijderen', reset: 'Opnieuw instellen', resize: 'Formaat wijzigen', scrollableRegion: 'Scrollbaar gebied', scrollToEnd: 'Scroll naar einde', scrollToStart: 'Scroll naar begin', search: 'Zoeken', sectionPages: \"Pagina's van de sectie\", sections: 'Secties', selectAColorFromTheScreen: 'Selecteer een kleur van het scherm', numRowsSelected: num => { if (num === 0) return 'Geen rijen geselecteerd'; if (num === 1) return '1 rij geselecteerd'; return `${num} rijen geselecteerd`; }, pageChanged: (page, total) => `Pagina ${page} van ${total}`, reorderRow: 'Rij verplaatsen', resizeColumn: 'Kolombreedte wijzigen', rowDropped: position => `Rij neergezet op positie ${position}`, rowLifted: (position, total) => `Rij opgetild, positie ${position} van ${total}. Gebruik pijl omhoog en omlaag om te verplaatsen, spatie om neer te zetten, Escape om te annuleren.`, rowMoved: (position, total) => `Positie ${position} van ${total}`, rowReorderCanceled: 'Verplaatsen geannuleerd', selectAllRows: 'Alle rijen selecteren', selectDate: 'Datum selecteren', selectDateTime: 'Select date and time', selectRow: 'Rij selecteren', sortedByColumn: (column, direction) => `Gesorteerd op ${column}, ${direction === 'ascending' ? 'oplopend' : 'aflopend'}`, sortingCleared: 'Sortering verwijderd', // Date picker selectTime: 'Tijd selecteren', showingPanelSpan: (first, last) => `${first} – ${last} worden getoond`, showingSinglePanel: month => `${month} wordt getoond`, showLess: 'Minder weergeven', showMore: 'Meer weergeven', showPassword: 'Laat wachtwoord zien', skipToContent: 'Ga naar inhoud', slideNum: slide => `Schuif ${slide}`, timeInputBadInput: 'Voer een geldige tijd in.', timeInputRangeOverflow: 'De tijd is te laat.', timeInputRangeUnderflow: 'De tijd is te vroeg.', timeInputValueMissing: 'Vul dit veld in.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Uur', timeSegmentMinute: 'Minuut', timeSegmentSecond: 'Seconde', toggleColorFormat: 'Wissel kleurnotatie', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Stap ${step} van ${total}`, year: 'Jaar', zoomIn: 'Inzoomen', zoomOut: 'Uitzoomen', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Pagina kon niet worden geladen', documentViewerLoadErrorHint: 'Controleer uw internetverbinding', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI-suggesties', editorDelete: 'Verwijderen', editorHideDeletedPages: 'Verwijderde pagina’s verbergen', editorPage: page => `Pagina ${page}`, editorRotate: '90° draaien', editorSelectAll: (selected, total) => `Alles selecteren (${selected} van ${total})`, editorSplit: 'Splitsen', editorUser: 'Gebruiker', editorZoom: 'Zoom', editorZoomIn: 'Inzoomen', previewPage: page => `Pagina ${page}`, save: 'Opslaan', scanCancelBack: 'Terug naar bewerken', scanCancelConfirm: 'Upload annuleren', scanCancelMessage: 'Als je annuleert, wordt het bestand niet geüpload en gaan wijzigingen verloren. Deze actie kan niet ongedaan worden gemaakt.', scanCancelTitle: 'Upload annuleren?', scanFilesDisplayError: 'Bestand(en) kunnen niet worden weergegeven', scanFilesLoading: 'Bestanden laden...', scanInvalidSession: 'De sessie is ongeldig. Start het proces opnieuw.', scanSaveErrorBack: 'Terug naar bewerken', scanSaveErrorMessage: 'Er is een fout opgetreden tijdens het opslaan. Probeer opnieuw of keer terug naar bewerken.', scanSaveErrorRetry: 'Opnieuw proberen', scanSaveErrorTitle: 'Fout bij opslaan', scanSaving: 'Bestand(en) maken', scanSessionLoading: 'edScan-sessie laden...', scanTitle: 'AI-ondersteunde paginabewerking', uploadDragAndDropDescription: 'Je kunt een bestand hierheen slepen of selecteren met de knop.', uploadDragAndDropTitle: 'Bestand uploaden', uploadDropFile: 'Bestand neerzetten', uploadDropFiles: 'Bestanden neerzetten', uploadDuplicateFile: name => `${name} staat al in de lijst`, uploadFailed: 'Bestanden konden niet worden geüpload', uploadFileCountSummary: (count, size) => `${count} bestand(en) · ${size}`, uploadFileTooLarge: (name, size) => `Bestand ${name} is te groot. Maximale grootte is ${size} MB.`, uploadFileTypeNotAllowed: type => `Bestandstype niet toegestaan: ${type}`, uploadLimitExceeded: size => `Het bestand overschrijdt de uploadlimiet van ${size} MB`, uploadLimitsExceeded: size => `De bestanden overschrijden de uploadlimiet van ${size} MB`, uploadOr: 'of', uploadPreviewFile: name => `Voorbeeld: ${name}`, uploadProgress: 'Bestanden worden geüpload...', uploadRemoveFile: name => `Verwijderen: ${name}`, uploadRetryFile: name => `Opnieuw proberen: ${name}`, uploadSelectFile: 'Bestand kiezen', uploadSelectFiles: 'Bestanden kiezen', uploadSuccess: (done, total) => `${done} van ${total} bestanden geüpload`, uploadTitle: 'Bestand uploaden', uploadTooManyFiles: max => `U kunt maximaal ${max} bestand(en) uploaden`, $code: 'nl', $dir: 'ltr', $name: 'Nederlands' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/nl.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/nn.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Dette innhaldet er generert av KI', back: 'Tilbake', cancel: 'Cancel', carousel: 'Karusell', chooseDate: 'Vel ein dato', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Vel eit tidspunkt', clearEntry: 'Tøm felt', close: 'Lukk', collapse: 'Skjul', copied: 'Kopiert', copy: 'Kopier', currentValue: 'Nåverande verdi', dateInputBadInput: 'Skriv inn ein gyldig dato.', dateInputRangeOverflow: 'Datoen er for sein.', dateInputRangeUnderflow: 'Datoen er for tidleg.', dateInputValueMissing: 'Fyll ut dette feltet.', dateNotSelectable: 'Denne datoen kan ikkje veljast.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Dag', dateSegmentMonth: 'Månad', dateSegmentYear: 'År', datetimeInputBadInput: 'Skriv inn ein gyldig dato og eit gyldig tidspunkt.', datetimeInputRangeOverflow: 'Dato og tidspunkt er for seint.', datetimeInputRangeUnderflow: 'Dato og tidspunkt er for tidleg.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Reduser', dragToReorder: 'Dra for å omorganisere', dropFileHere: 'Slepp fila her eller klikk for å bla gjennom', dropFilesHere: 'Slepp filene her eller klikk for å bla gjennom', entriesPerPage: 'Entries per page', error: 'Feil', expand: 'Vis', finish: 'Fullfør', from: 'from', goToSlide: (slide, count) => `Gå til visning ${slide} av ${count}`, halfyear: 'Halvår', hidePassword: 'Gøym passord', increment: 'Auk', loading: 'Lastar', mainMenu: 'Hovudmeny', maximumValue: label => (label ? `${label} (Maksimumsverdi)` : 'Maksimumsverdi'), minimumValue: label => (label ? `${label} (Minimumsverdi)` : 'Minimumsverdi'), month: 'Månad', multipleValues: 'Fleire verdiar', newsToggleMenu: 'Byt nyheitsmeny', next: 'Neste', nextPage: 'Next page', nextSlide: 'Neste visning', noData: 'Ingen data', noOptions: 'No options', notificationsRegion: hotkey => `Varsel, trykk ${hotkey} for å fokusere`, numCharacters: num => { if (num === 1) return '1 teikn'; return `${num} teikn`; }, numCharactersRemaining: num => { if (num === 1) return '1 teikn att'; return `${num} teikn att`; }, numEntries: num => { if (num === 0) return 'Ingen postar'; if (num === 1) return '1 post'; return `${num} postar`; }, numEntriesLoaded: num => { if (num === 0) return 'Ingen postar lasta'; if (num === 1) return '1 post lasta'; return `${num} postar lasta`; }, numOptionsAvailable: num => { if (num === 0) return 'Ingen alternativ tilgjengelege'; if (num === 1) return 'Eitt alternativ tilgjengeleg'; return `${num} alternativ tilgjengelege`; }, numOptionsSelected: num => { if (num === 0) return 'Ingen alternativ valt'; if (num === 1) return 'Eitt alternativ valt'; return `${num} alternativ valt`; }, numSelected: num => { if (num === 0) return 'Ingen valde'; return `${num} valde`; }, numTotal: num => `${num} totalt`, ok: 'OK', onThisPage: 'På denne sida', optionPosition: (label, position, total) => `${label}, ${position} av ${total}`, page: 'Page', pauseAnimation: 'Set animasjon på pause', playAnimation: 'Spel av animasjon', previousPage: 'Previous page', previousSlide: 'Førre visning', progress: 'Framdrift', quarter: 'Kvartal', rangeSelected: (start, end) => `${start} til ${end} valde`, // Calendar range selection rangeSelectingFrom: date => `Vel intervall frå ${date}…`, remove: 'Fjern', reset: 'Tilbakestill', resize: 'Endre storleik', scrollableRegion: 'Rullbar region', scrollToEnd: 'Rull til slutten', scrollToStart: 'Rull til starten', search: 'Søk', sectionPages: 'Sider i seksjonen', sections: 'Seksjonar', selectAColorFromTheScreen: 'Vel ein farge frå skjermen', numRowsSelected: num => { if (num === 0) return 'Ingen rader valde'; if (num === 1) return '1 rad vald'; return `${num} rader valde`; }, pageChanged: (page, total) => `Side ${page} av ${total}`, reorderRow: 'Flytt rad', resizeColumn: 'Endre kolonnebreidde', rowDropped: position => `Rad plassert på posisjon ${position}`, rowLifted: (position, total) => `Rad løfta, posisjon ${position} av ${total}. Bruk pil opp og pil ned for å flytte, mellomrom for å plassere, Escape for å avbryte.`, rowMoved: (position, total) => `Posisjon ${position} av ${total}`, rowReorderCanceled: 'Flytting avbroten', selectAllRows: 'Vel alle rader', selectDate: 'Vel dato', selectDateTime: 'Select date and time', selectRow: 'Vel rad', sortedByColumn: (column, direction) => `Sortert etter ${column}, ${direction === 'ascending' ? 'stigande' : 'synkande'}`, sortingCleared: 'Sortering fjerna', // Date picker selectTime: 'Vel tidspunkt', showingPanelSpan: (first, last) => `Viser ${first} – ${last}`, showingSinglePanel: month => `Viser ${month}`, showLess: 'Vis mindre', showMore: 'Vis meir', showPassword: 'Vis passord', skipToContent: 'Gå til innhald', slideNum: slide => `Visning ${slide}`, timeInputBadInput: 'Skriv inn eit gyldig tidspunkt.', timeInputRangeOverflow: 'Tidspunktet er for seint.', timeInputRangeUnderflow: 'Tidspunktet er for tidleg.', timeInputValueMissing: 'Fyll ut dette feltet.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Time', timeSegmentMinute: 'Minutt', timeSegmentSecond: 'Sekund', toggleColorFormat: 'Byt fargeformat', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Steg ${step} av ${total}`, year: 'År', zoomIn: 'Zoom inn', zoomOut: 'Zoom ut', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Sida kunne ikkje lastast inn', documentViewerLoadErrorHint: 'Kontroller internettforbindelsen din', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'KI', editorAiSuggestions: 'KI-forslag', editorDelete: 'Slett', editorHideDeletedPages: 'Gøym sletta sider', editorPage: page => `Side ${page}`, editorRotate: 'Roter 90°', editorSelectAll: (selected, total) => `Vel alle (${selected} av ${total})`, editorSplit: 'Del', editorUser: 'Brukar', editorZoom: 'Zoom', editorZoomIn: 'Zoom inn', previewPage: page => `Side ${page}`, save: 'Lagre', scanCancelBack: 'Tilbake til redigering', scanCancelConfirm: 'Avbryt opplasting', scanCancelMessage: 'Viss du avbryt, blir fila ikkje lasta opp og endringane går tapt. Denne handlinga kan ikkje angrast.', scanCancelTitle: 'Avbryte opplasting?', scanFilesDisplayError: 'Fila(e) kan ikkje visast', scanFilesLoading: 'Lastar filer...', scanInvalidSession: 'Økta er ugyldig. Start prosessen på nytt.', scanSaveErrorBack: 'Tilbake til redigering', scanSaveErrorMessage: 'Det oppstod ein feil under lagring. Du kan prøve igjen eller gå tilbake til redigering.', scanSaveErrorRetry: 'Prøv igjen', scanSaveErrorTitle: 'Feil ved lagring', scanSaving: 'Opprettar fil(er)', scanSessionLoading: 'Lastar edScan-økt...', scanTitle: 'KI-assistert sideredigering', uploadDragAndDropDescription: 'Du kan dra og sleppe ei fil her eller velje ho med knappen.', uploadDragAndDropTitle: 'Last opp fil', uploadDropFile: 'Slepp fil', uploadDropFiles: 'Slepp filer', uploadDuplicateFile: name => `${name} er allereie på lista`, uploadFailed: 'Filene kunne ikkje lastast opp', uploadFileCountSummary: (count, size) => `${count} fil(er) · ${size}`, uploadFileTooLarge: (name, size) => `Fila ${name} er for stor. Maksimal storleik er ${size} MB.`, uploadFileTypeNotAllowed: type => `Filtypen er ikkje tillaten: ${type}`, uploadLimitExceeded: size => `Fila overskrid opplastingsgrensa på ${size} MB`, uploadLimitsExceeded: size => `Filene overskrid opplastingsgrensa på ${size} MB`, uploadOr: 'eller', uploadPreviewFile: name => `Førehandsvising: ${name}`, uploadProgress: 'Fil(er) blir lasta opp...', uploadRemoveFile: name => `Fjern: ${name}`, uploadRetryFile: name => `Prøv igjen: ${name}`, uploadSelectFile: 'Vel fil', uploadSelectFiles: 'Vel filer', uploadSuccess: (done, total) => `${done} av ${total} fil(er) lasta opp`, uploadTitle: 'Last opp fil', uploadTooManyFiles: max => `Du kan laste opp maksimalt ${max} fil(er)`, $code: 'nn', $dir: 'ltr', $name: 'Norwegian Nynorsk' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/nn.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/pl.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Ta treść została wygenerowana przez sztuczną inteligencję', back: 'Wstecz', cancel: 'Cancel', carousel: 'Karuzela', chooseDate: 'Wybierz datę', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Wybierz godzinę', clearEntry: 'Wyczyść wpis', close: 'Zamknij', collapse: 'Zwiń', copied: 'Skopiowane', copy: 'Kopiuj', currentValue: 'Aktualna wartość', dateInputBadInput: 'Wprowadź prawidłową datę.', dateInputRangeOverflow: 'Data jest zbyt późna.', dateInputRangeUnderflow: 'Data jest zbyt wczesna.', dateInputValueMissing: 'Wypełnij to pole.', dateNotSelectable: 'Tej daty nie można wybrać.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Dzień', dateSegmentMonth: 'Miesiąc', dateSegmentYear: 'Rok', datetimeInputBadInput: 'Wprowadź prawidłową datę i godzinę.', datetimeInputRangeOverflow: 'Data i godzina są zbyt późne.', datetimeInputRangeUnderflow: 'Data i godzina są zbyt wczesne.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Zmniejsz', dragToReorder: 'Przeciągnij, aby zmienić kolejność', dropFileHere: 'Upuść plik tutaj lub kliknij, aby przeglądać', dropFilesHere: 'Upuść pliki tutaj lub kliknij, aby przeglądać', entriesPerPage: 'Entries per page', error: 'Błąd', expand: 'Rozwiń', finish: 'Zakończ', from: 'from', goToSlide: (slide, count) => `Przejdź do slajdu ${slide} z ${count}`, halfyear: 'Półrocze', hidePassword: 'Ukryj hasło', increment: 'Zwiększ', loading: 'Ładowanie', mainMenu: 'Menu główne', maximumValue: label => (label ? `${label} (Wartość maksymalna)` : 'Wartość maksymalna'), minimumValue: label => (label ? `${label} (Wartość minimalna)` : 'Wartość minimalna'), month: 'Miesiąc', multipleValues: 'Wiele wartości', newsToggleMenu: 'Przełącz menu aktualności', next: 'Dalej', nextPage: 'Next page', nextSlide: 'Następny slajd', noData: 'Brak danych', noOptions: 'No options', notificationsRegion: hotkey => `Powiadomienia, naciśnij ${hotkey} aby skupić`, numCharacters: num => { if (num === 1) return '1 znak'; const mod10 = num % 10; const mod100 = num % 100; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `${num} znaki`; return `${num} znaków`; }, numCharactersRemaining: num => { if (num === 1) return 'Pozostał 1 znak'; const mod10 = num % 10; const mod100 = num % 100; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `Pozostały ${num} znaki`; return `Pozostało ${num} znaków`; }, numEntries: num => { if (num === 0) return 'Brak wpisów'; if (num === 1) return '1 wpis'; const mod10 = num % 10; const mod100 = num % 100; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `${num} wpisy`; return `${num} wpisów`; }, numEntriesLoaded: num => { if (num === 0) return 'Nie wczytano wpisów'; if (num === 1) return 'Wczytano 1 wpis'; return `Wczytano ${num} wpisów`; }, numOptionsAvailable: num => { if (num === 0) return 'Brak dostępnych opcji'; if (num === 1) return 'Dostępna 1 opcja'; return `Dostępne ${num} opcje`; }, numOptionsSelected: num => { if (num === 0) return 'Nie wybrano opcji'; if (num === 1) return 'Wybrano 1 opcję'; return `Wybrano ${num} opcje`; }, numSelected: num => { if (num === 0) return 'Nic nie zaznaczono'; return `Zaznaczono ${num}`; }, numTotal: num => `Łącznie ${num}`, ok: 'OK', onThisPage: 'Na tej stronie', optionPosition: (label, position, total) => `${label}, ${position} z ${total}`, page: 'Page', pauseAnimation: 'Wstrzymaj animację', playAnimation: 'Odtwórz animację', previousPage: 'Previous page', previousSlide: 'Poprzedni slajd', progress: 'Postęp', quarter: 'Kwartał', rangeSelected: (start, end) => `Wybrano od ${start} do ${end}`, // Calendar range selection rangeSelectingFrom: date => `Wybieranie zakresu od ${date}…`, remove: 'Usunąć', reset: 'Resetuj', resize: 'Zmień rozmiar', scrollableRegion: 'Obszar przewijalny', scrollToEnd: 'Przewiń do końca', scrollToStart: 'Przewiń do początku', search: 'Szukaj', sectionPages: 'Strony sekcji', sections: 'Sekcje', selectAColorFromTheScreen: 'Próbkuj z ekranu', numRowsSelected: num => { if (num === 0) return 'Nie wybrano żadnych wierszy'; if (num === 1) return 'Wybrano 1 wiersz'; const mod10 = num % 10; const mod100 = num % 100; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `Wybrano ${num} wiersze`; return `Wybrano ${num} wierszy`; }, pageChanged: (page, total) => `Strona ${page} z ${total}`, reorderRow: 'Przenieś wiersz', resizeColumn: 'Zmień szerokość kolumny', rowDropped: position => `Wiersz upuszczony na pozycji ${position}`, rowLifted: (position, total) => `Wiersz podniesiony, pozycja ${position} z ${total}. Strzałkami w górę i w dół przesuwasz, spacją upuszczasz, klawiszem Escape anulujesz.`, rowMoved: (position, total) => `Pozycja ${position} z ${total}`, rowReorderCanceled: 'Przenoszenie anulowane', selectAllRows: 'Zaznacz wszystkie wiersze', selectDate: 'Wybierz datę', selectDateTime: 'Select date and time', selectRow: 'Zaznacz wiersz', sortedByColumn: (column, direction) => `Posortowano według ${column}, ${direction === 'ascending' ? 'rosnąco' : 'malejąco'}`, sortingCleared: 'Sortowanie usunięte', // Date picker selectTime: 'Wybierz godzinę', showingPanelSpan: (first, last) => `Wyświetlanie ${first} – ${last}`, showingSinglePanel: month => `Wyświetlanie ${month}`, showLess: 'Pokaż mniej', showMore: 'Pokaż więcej', showPassword: 'Pokaż hasło', skipToContent: 'Przejdź do treści', slideNum: slide => `Slajd ${slide}`, timeInputBadInput: 'Wprowadź prawidłową godzinę.', timeInputRangeOverflow: 'Godzina jest zbyt późna.', timeInputRangeUnderflow: 'Godzina jest zbyt wczesna.', timeInputValueMissing: 'Wypełnij to pole.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Godzina', timeSegmentMinute: 'Minuta', timeSegmentSecond: 'Sekunda', toggleColorFormat: 'Przełącz format', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Krok ${step} z ${total}`, year: 'Rok', zoomIn: 'Powiększ', zoomOut: 'Pomniejsz', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Nie można załadować strony', documentViewerLoadErrorHint: 'Sprawdź połączenie z internetem', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'Sugestie AI', editorDelete: 'Usuń', editorHideDeletedPages: 'Ukryj usunięte strony', editorPage: page => `Strona ${page}`, editorRotate: 'Obróć o 90°', editorSelectAll: (selected, total) => `Zaznacz wszystko (${selected} z ${total})`, editorSplit: 'Podziel', editorUser: 'Użytkownik', editorZoom: 'Powiększenie', editorZoomIn: 'Powiększ', previewPage: page => `Strona ${page}`, save: 'Zapisz', scanCancelBack: 'Powrót do edycji', scanCancelConfirm: 'Anuluj przesyłanie', scanCancelMessage: 'Jeśli anulujesz, plik nie zostanie przesłany, a zmiany zostaną utracone. Tej operacji nie można cofnąć.', scanCancelTitle: 'Anulować przesyłanie?', scanFilesDisplayError: 'Nie można wyświetlić plików', scanFilesLoading: 'Ładowanie plików...', scanInvalidSession: 'Sesja jest nieprawidłowa. Uruchom proces ponownie.', scanSaveErrorBack: 'Powrót do edycji', scanSaveErrorMessage: 'Wystąpił błąd podczas zapisywania. Spróbuj ponownie lub wróć do edycji.', scanSaveErrorRetry: 'Spróbuj ponownie', scanSaveErrorTitle: 'Błąd podczas zapisywania', scanSaving: 'Tworzenie plików', scanSessionLoading: 'Ładowanie sesji edScan...', scanTitle: 'Edycja stron wspomagana AI', uploadDragAndDropDescription: 'Możesz przeciągnąć plik tutaj lub wybrać go przyciskiem.', uploadDragAndDropTitle: 'Prześlij plik', uploadDropFile: 'Upuść plik', uploadDropFiles: 'Upuść pliki', uploadDuplicateFile: name => `${name} jest już na liście`, uploadFailed: 'Nie udało się przesłać plików', uploadFileCountSummary: (count, size) => `${count} plik(ów) · ${size}`, uploadFileTooLarge: (name, size) => `Plik ${name} jest za duży. Maksymalny rozmiar to ${size} MB.`, uploadFileTypeNotAllowed: type => `Typ pliku jest niedozwolony: ${type}`, uploadLimitExceeded: size => `Plik przekracza limit przesyłania ${size} MB`, uploadLimitsExceeded: size => `Pliki przekraczają limit przesyłania ${size} MB`, uploadOr: 'lub', uploadPreviewFile: name => `Podgląd: ${name}`, uploadProgress: 'Przesyłanie plików...', uploadRemoveFile: name => `Usuń: ${name}`, uploadRetryFile: name => `Spróbuj ponownie: ${name}`, uploadSelectFile: 'Wybierz plik', uploadSelectFiles: 'Wybierz pliki', uploadSuccess: (done, total) => `${done} z ${total} plików przesłano`, uploadTitle: 'Prześlij plik', uploadTooManyFiles: max => `Możesz przesłać maksymalnie ${max} plik(ów)`, $code: 'pl', $dir: 'ltr', $name: 'Polski' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/pl.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/pt.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Este conteúdo foi gerado por IA', back: 'Voltar', cancel: 'Cancel', carousel: 'Carrossel', chooseDate: 'Escolher uma data', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Escolher uma hora', clearEntry: 'Limpar entrada', close: 'Fechar', collapse: 'Recolher', copied: 'Copiado', copy: 'Copiar', currentValue: 'Valor atual', dateInputBadInput: 'Introduza uma data válida.', dateInputRangeOverflow: 'A data é demasiado tardia.', dateInputRangeUnderflow: 'A data é demasiado antiga.', dateInputValueMissing: 'Preencha este campo.', dateNotSelectable: 'Esta data não pode ser selecionada.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Dia', dateSegmentMonth: 'Mês', dateSegmentYear: 'Ano', datetimeInputBadInput: 'Introduza uma data e uma hora válidas.', datetimeInputRangeOverflow: 'A data e a hora são demasiado tardias.', datetimeInputRangeUnderflow: 'A data e a hora são demasiado antigas.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Diminuir', dragToReorder: 'Arraste para reordenar', dropFileHere: 'Solte o arquivo aqui ou clique para procurar', dropFilesHere: 'Solte os arquivos aqui ou clique para procurar', entriesPerPage: 'Entries per page', error: 'Erro', expand: 'Expandir', finish: 'Finalizar', from: 'from', goToSlide: (slide, count) => `Vá para o slide ${slide} de ${count}`, halfyear: 'Semestre', hidePassword: 'Esconder a senha', increment: 'Aumentar', loading: 'Carregando', mainMenu: 'Menu principal', maximumValue: label => (label ? `${label} (Valor máximo)` : 'Valor máximo'), minimumValue: label => (label ? `${label} (Valor mínimo)` : 'Valor mínimo'), month: 'Mês', multipleValues: 'Vários valores', newsToggleMenu: 'Alternar menu de notícias', next: 'Próximo', nextPage: 'Next page', nextSlide: 'Próximo slide', noData: 'Sem dados', noOptions: 'No options', notificationsRegion: hotkey => `Notificações, pressione ${hotkey} para focar`, numCharacters: num => { if (num === 1) return '1 caractere'; return `${num} caracteres`; }, numCharactersRemaining: num => { if (num === 1) return '1 caractere restante'; return `${num} caracteres restantes`; }, numEntries: num => { if (num === 0) return 'Sem entradas'; if (num === 1) return '1 entrada'; return `${num} entradas`; }, numEntriesLoaded: num => { if (num === 0) return 'Nenhuma entrada carregada'; if (num === 1) return '1 entrada carregada'; return `${num} entradas carregadas`; }, numOptionsAvailable: num => { if (num === 0) return 'Nenhuma opção disponível'; if (num === 1) return '1 opção disponível'; return `${num} opções disponíveis`; }, numOptionsSelected: num => { if (num === 0) return 'Nenhuma opção selecionada'; if (num === 1) return '1 opção selecionada'; return `${num} opções selecionadas`; }, numSelected: num => { if (num === 0) return 'Nenhuma selecionada'; if (num === 1) return '1 selecionada'; return `${num} selecionadas`; }, numTotal: num => `${num} no total`, ok: 'OK', onThisPage: 'Nesta página', optionPosition: (label, position, total) => `${label}, ${position} de ${total}`, page: 'Page', pauseAnimation: 'Pausar animação', playAnimation: 'Reproduzir animação', previousPage: 'Previous page', previousSlide: 'Slide anterior', progress: 'Progresso', quarter: 'Trimestre', rangeSelected: (start, end) => `${start} a ${end} selecionados`, // Calendar range selection rangeSelectingFrom: date => `A selecionar intervalo a partir de ${date}…`, remove: 'Remover', reset: 'Redefinir', resize: 'Mudar o tamanho', scrollableRegion: 'Região rolável', scrollToEnd: 'Rolar até o final', scrollToStart: 'Rolar até o início', search: 'Pesquisar', sectionPages: 'Páginas da seção', sections: 'Seções', selectAColorFromTheScreen: 'Selecionar uma cor da tela', numRowsSelected: num => { if (num === 0) return 'Nenhuma linha selecionada'; if (num === 1) return '1 linha selecionada'; return `${num} linhas selecionadas`; }, pageChanged: (page, total) => `Página ${page} de ${total}`, reorderRow: 'Reordenar linha', resizeColumn: 'Redimensionar coluna', rowDropped: position => `Linha solta na posição ${position}`, rowLifted: (position, total) => `Linha levantada, posição ${position} de ${total}. Use as setas para cima e para baixo para mover, Espaço para soltar, Escape para cancelar.`, rowMoved: (position, total) => `Posição ${position} de ${total}`, rowReorderCanceled: 'Reordenação cancelada', selectAllRows: 'Selecionar todas as linhas', selectDate: 'Selecionar data', selectDateTime: 'Select date and time', selectRow: 'Selecionar linha', sortedByColumn: (column, direction) => `Ordenado por ${column}, ${direction === 'ascending' ? 'crescente' : 'decrescente'}`, sortingCleared: 'Ordenação removida', // Date picker selectTime: 'Selecionar hora', showingPanelSpan: (first, last) => `A mostrar ${first} – ${last}`, showingSinglePanel: month => `A mostrar ${month}`, showLess: 'Mostrar menos', showMore: 'Mostrar mais', showPassword: 'Mostrar senha', skipToContent: 'Saltar para o conteúdo', slideNum: slide => `Slide ${slide}`, timeInputBadInput: 'Introduza uma hora válida.', timeInputRangeOverflow: 'A hora é demasiado tardia.', timeInputRangeUnderflow: 'A hora é demasiado cedo.', timeInputValueMissing: 'Preencha este campo.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Hora', timeSegmentMinute: 'Minuto', timeSegmentSecond: 'Segundo', toggleColorFormat: 'Trocar o formato de cor', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Passo ${step} de ${total}`, year: 'Ano', zoomIn: 'Aumentar zoom', zoomOut: 'Diminuir zoom', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Não foi possível carregar a página', documentViewerLoadErrorHint: 'Verifique a sua ligação à Internet', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'IA', editorAiSuggestions: 'Sugestões de IA', editorDelete: 'Eliminar', editorHideDeletedPages: 'Ocultar páginas eliminadas', editorPage: page => `Página ${page}`, editorRotate: 'Rodar 90°', editorSelectAll: (selected, total) => `Selecionar tudo (${selected} de ${total})`, editorSplit: 'Dividir', editorUser: 'Utilizador', editorZoom: 'Zoom', editorZoomIn: 'Ampliar', previewPage: page => `Página ${page}`, save: 'Guardar', scanCancelBack: 'Voltar à edição', scanCancelConfirm: 'Cancelar carregamento', scanCancelMessage: 'Se cancelar, o ficheiro não será carregado e as alterações serão perdidas. Esta ação não pode ser desfeita.', scanCancelTitle: 'Cancelar carregamento?', scanFilesDisplayError: 'Não foi possível apresentar os ficheiros', scanFilesLoading: 'A carregar ficheiros...', scanInvalidSession: 'A sessão é inválida. Reinicie o processo.', scanSaveErrorBack: 'Voltar à edição', scanSaveErrorMessage: 'Ocorreu um erro ao guardar. Pode tentar novamente ou voltar à edição.', scanSaveErrorRetry: 'Tentar novamente', scanSaveErrorTitle: 'Erro ao guardar', scanSaving: 'A criar ficheiro(s)', scanSessionLoading: 'A carregar sessão edScan...', scanTitle: 'Edição de páginas assistida por IA', uploadDragAndDropDescription: 'Pode arrastar um ficheiro para aqui ou selecioná-lo através do botão.', uploadDragAndDropTitle: 'Carregar ficheiro', uploadDropFile: 'Largue o ficheiro', uploadDropFiles: 'Largue os ficheiros', uploadDuplicateFile: name => `${name} já está na lista`, uploadFailed: 'Não foi possível carregar os ficheiros', uploadFileCountSummary: (count, size) => `${count} ficheiro(s) · ${size}`, uploadFileTooLarge: (name, size) => `O ficheiro ${name} é demasiado grande. O tamanho máximo é ${size} MB.`, uploadFileTypeNotAllowed: type => `Tipo de ficheiro não permitido: ${type}`, uploadLimitExceeded: size => `O ficheiro excede o limite de carregamento de ${size} MB`, uploadLimitsExceeded: size => `Os ficheiros excedem o limite de carregamento de ${size} MB`, uploadOr: 'ou', uploadPreviewFile: name => `Pré-visualização: ${name}`, uploadProgress: 'A carregar ficheiros...', uploadRemoveFile: name => `Remover: ${name}`, uploadRetryFile: name => `Tentar novamente: ${name}`, uploadSelectFile: 'Selecionar ficheiro', uploadSelectFiles: 'Selecionar ficheiros', uploadSuccess: (done, total) => `${done} de ${total} ficheiros carregados`, uploadTitle: 'Carregar ficheiro', uploadTooManyFiles: max => `Pode carregar no máximo ${max} ficheiro(s)`, $code: 'pt', $dir: 'ltr', $name: 'Português' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/pt.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/ru.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Этот контент был создан ИИ', back: 'Назад', cancel: 'Cancel', carousel: 'Карусель', chooseDate: 'Выберите дату', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Выберите время', clearEntry: 'Очистить запись', close: 'Закрыть', collapse: 'Свернуть', copied: 'Скопировано', copy: 'Скопировать', currentValue: 'Текущее значение', dateInputBadInput: 'Введите корректную дату.', dateInputRangeOverflow: 'Дата слишком поздняя.', dateInputRangeUnderflow: 'Дата слишком ранняя.', dateInputValueMissing: 'Заполните это поле.', dateNotSelectable: 'Эту дату нельзя выбрать.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'День', dateSegmentMonth: 'Месяц', dateSegmentYear: 'Год', datetimeInputBadInput: 'Введите корректную дату и время.', datetimeInputRangeOverflow: 'Дата и время слишком поздние.', datetimeInputRangeUnderflow: 'Дата и время слишком ранние.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Уменьшить', dragToReorder: 'Перетащите для изменения порядка', dropFileHere: 'Перетащите файл сюда или нажмите для выбора', dropFilesHere: 'Перетащите файлы сюда или нажмите для выбора', entriesPerPage: 'Entries per page', error: 'Ошибка', expand: 'Развернуть', finish: 'Завершить', from: 'from', goToSlide: (slide, count) => `Перейти к слайду ${slide} из ${count}`, halfyear: 'Полугодие', hidePassword: 'Скрыть пароль', increment: 'Увеличить', loading: 'Загрузка', mainMenu: 'Главное меню', maximumValue: label => (label ? `${label} (Максимальное значение)` : 'Максимальное значение'), minimumValue: label => (label ? `${label} (Минимальное значение)` : 'Минимальное значение'), month: 'Месяц', multipleValues: 'Несколько значений', newsToggleMenu: 'Переключить меню новостей', next: 'Далее', nextPage: 'Next page', nextSlide: 'Следующий слайд', noData: 'Нет данных', noOptions: 'No options', notificationsRegion: hotkey => `Уведомления, нажмите ${hotkey} для фокуса`, numCharacters: num => { const mod10 = num % 10; const mod100 = num % 100; if (mod10 === 1 && mod100 !== 11) return `${num} символ`; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `${num} символа`; return `${num} символов`; }, numCharactersRemaining: num => { const mod10 = num % 10; const mod100 = num % 100; if (mod10 === 1 && mod100 !== 11) return `Остался ${num} символ`; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `Осталось ${num} символа`; return `Осталось ${num} символов`; }, numEntries: num => { const mod10 = num % 10; const mod100 = num % 100; if (mod10 === 1 && mod100 !== 11) return `${num} запись`; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `${num} записи`; return `${num} записей`; }, numEntriesLoaded: num => { if (num === 0) return 'Загружено 0 записей'; if (num === 1) return 'Загружена 1 запись'; return `Загружено ${num} записей`; }, numOptionsAvailable: num => { if (num === 0) return 'доступно 0 вариантов'; if (num === 1) return 'Доступен 1 вариант'; return `доступно ${num} варианта`; }, numOptionsSelected: num => { if (num === 0) return 'выбрано 0 вариантов'; if (num === 1) return 'Выбран 1 вариант'; return `выбрано ${num} варианта`; }, numSelected: num => { if (num === 0) return 'Ничего не выбрано'; return `Выбрано ${num}`; }, numTotal: num => `Всего ${num}`, ok: 'OK', onThisPage: 'На этой странице', optionPosition: (label, position, total) => `${label}, ${position} из ${total}`, page: 'Page', pauseAnimation: 'Приостановить анимацию', playAnimation: 'Воспроизвести анимацию', previousPage: 'Previous page', previousSlide: 'Предыдущий слайд', progress: 'Прогресс', quarter: 'Квартал', rangeSelected: (start, end) => `Выбрано с ${start} по ${end}`, // Calendar range selection rangeSelectingFrom: date => `Выбор диапазона с ${date}…`, remove: 'Удалить', reset: 'Сбросить', resize: 'Изменить размер', scrollableRegion: 'Scrollable region', scrollToEnd: 'Пролистать до конца', scrollToStart: 'Пролистать к началу', search: 'Поиск', sectionPages: 'Страницы раздела', sections: 'Разделы', selectAColorFromTheScreen: 'Выберите цвет на экране', numRowsSelected: num => { const mod10 = num % 10; const mod100 = num % 100; if (mod10 === 1 && mod100 !== 11) return `Выбрана ${num} строка`; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `Выбраны ${num} строки`; return `Выбрано ${num} строк`; }, pageChanged: (page, total) => `Страница ${page} из ${total}`, reorderRow: 'Переместить строку', resizeColumn: 'Изменить ширину столбца', rowDropped: position => `Строка опущена на позицию ${position}`, rowLifted: (position, total) => `Строка поднята, позиция ${position} из ${total}. Стрелки вверх и вниз перемещают, пробел опускает, Escape отменяет.`, rowMoved: (position, total) => `Позиция ${position} из ${total}`, rowReorderCanceled: 'Перемещение отменено', selectAllRows: 'Выбрать все строки', selectDate: 'Выбрать дату', selectDateTime: 'Select date and time', selectRow: 'Выбрать строку', sortedByColumn: (column, direction) => `Отсортировано по ${column}, ${direction === 'ascending' ? 'по возрастанию' : 'по убыванию'}`, sortingCleared: 'Сортировка снята', // Date picker selectTime: 'Выбрать время', showingPanelSpan: (first, last) => `Показано ${first} – ${last}`, showingSinglePanel: month => `Показано ${month}`, showLess: 'Показать меньше', showMore: 'Показать больше', showPassword: 'Показать пароль', skipToContent: 'Перейти к содержанию', slideNum: slide => `Слайд ${slide}`, timeInputBadInput: 'Введите корректное время.', timeInputRangeOverflow: 'Время слишком позднее.', timeInputRangeUnderflow: 'Время слишком раннее.', timeInputValueMissing: 'Заполните это поле.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Час', timeSegmentMinute: 'Минута', timeSegmentSecond: 'Секунда', toggleColorFormat: 'Переключить цветовую модель', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Шаг ${step} из ${total}`, year: 'Год', zoomIn: 'Увеличить', zoomOut: 'Уменьшить', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Не удалось загрузить страницу', documentViewerLoadErrorHint: 'Проверьте подключение к интернету', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'ИИ', editorAiSuggestions: 'Предложения ИИ', editorDelete: 'Удалить', editorHideDeletedPages: 'Скрыть удалённые страницы', editorPage: page => `Страница ${page}`, editorRotate: 'Повернуть на 90°', editorSelectAll: (selected, total) => `Выбрать всё (${selected} из ${total})`, editorSplit: 'Разделить', editorUser: 'Пользователь', editorZoom: 'Масштаб', editorZoomIn: 'Увеличить', previewPage: page => `Страница ${page}`, save: 'Сохранить', scanCancelBack: 'Вернуться к редактированию', scanCancelConfirm: 'Отменить загрузку', scanCancelMessage: 'Если отменить, файл не будет загружен, а изменения будут потеряны. Это действие нельзя отменить.', scanCancelTitle: 'Отменить загрузку?', scanFilesDisplayError: 'Невозможно отобразить файл(ы)', scanFilesLoading: 'Загрузка файлов...', scanInvalidSession: 'Сессия недействительна. Перезапустите процесс.', scanSaveErrorBack: 'Вернуться к редактированию', scanSaveErrorMessage: 'Произошла ошибка при сохранении. Попробуйте снова или вернитесь к редактированию.', scanSaveErrorRetry: 'Повторить', scanSaveErrorTitle: 'Ошибка при сохранении', scanSaving: 'Создание файла(ов)', scanSessionLoading: 'Загрузка сессии edScan...', scanTitle: 'Редактирование страниц с помощью ИИ', uploadDragAndDropDescription: 'Вы можете перетащить файл сюда или выбрать его кнопкой.', uploadDragAndDropTitle: 'Загрузить файл', uploadDropFile: 'Перетащите файл', uploadDropFiles: 'Перетащите файлы', uploadDuplicateFile: name => `${name} уже в списке`, uploadFailed: 'Не удалось загрузить файлы', uploadFileCountSummary: (count, size) => `${count} файл(ов) · ${size}`, uploadFileTooLarge: (name, size) => `Файл ${name} слишком большой. Максимальный размер: ${size} МБ.`, uploadFileTypeNotAllowed: type => `Недопустимый тип файла: ${type}`, uploadLimitExceeded: size => `Файл превышает лимит загрузки ${size} МБ`, uploadLimitsExceeded: size => `Файлы превышают лимит загрузки ${size} МБ`, uploadOr: 'или', uploadPreviewFile: name => `Предпросмотр: ${name}`, uploadProgress: 'Загрузка файлов...', uploadRemoveFile: name => `Удалить: ${name}`, uploadRetryFile: name => `Повторить: ${name}`, uploadSelectFile: 'Выбрать файл', uploadSelectFiles: 'Выбрать файлы', uploadSuccess: (done, total) => `${done} из ${total} файлов загружено`, uploadTitle: 'Загрузить файл', uploadTooManyFiles: max => `Можно загрузить не более ${max} файл(ов)`, $code: 'ru', $dir: 'ltr', $name: 'Русский' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/ru.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/sl.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'To vsebino je ustvarila umetna inteligenca', back: 'Nazaj', cancel: 'Cancel', carousel: 'Vrtiljak', chooseDate: 'Izberite datum', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Izberite čas', clearEntry: 'Počisti vnos', close: 'Zapri', collapse: 'Strni', copied: 'Kopirano', copy: 'Kopiraj', currentValue: 'Trenutna vrednost', dateInputBadInput: 'Vnesite veljaven datum.', dateInputRangeOverflow: 'Datum je prepozen.', dateInputRangeUnderflow: 'Datum je prezgoden.', dateInputValueMissing: 'Izpolnite to polje.', dateNotSelectable: 'Tega datuma ni mogoče izbrati.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Dan', dateSegmentMonth: 'Mesec', dateSegmentYear: 'Leto', datetimeInputBadInput: 'Vnesite veljaven datum in čas.', datetimeInputRangeOverflow: 'Datum in čas sta prepozna.', datetimeInputRangeUnderflow: 'Datum in čas sta prezgodnja.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Zmanjšaj', dragToReorder: 'Povleci za prerazporeditev', dropFileHere: 'Spustite datoteko tukaj ali kliknite za brskanje', dropFilesHere: 'Spustite datoteke tukaj ali kliknite za brskanje', entriesPerPage: 'Entries per page', error: 'Napaka', expand: 'Razširi', finish: 'Zaključi', from: 'from', goToSlide: (slide, count) => `Pojdi na diapozitiv ${slide} od ${count}`, halfyear: 'Polletje', hidePassword: 'Skrij geslo', increment: 'Povečaj', loading: 'Nalaganje', mainMenu: 'Glavni meni', maximumValue: label => (label ? `${label} (Največja vrednost)` : 'Največja vrednost'), minimumValue: label => (label ? `${label} (Najmanjša vrednost)` : 'Najmanjša vrednost'), month: 'Mesec', multipleValues: 'Več vrednosti', newsToggleMenu: 'Preklopi meni novic', next: 'Naprej', nextPage: 'Next page', nextSlide: 'Naslednji diapozitiv', noData: 'Ni podatkov', noOptions: 'No options', notificationsRegion: hotkey => `Obvestila, pritisnite ${hotkey} za fokus`, numCharacters: num => { const mod100 = num % 100; if (mod100 === 1) return `${num} znak`; if (mod100 === 2) return `${num} znaka`; if (mod100 === 3 || mod100 === 4) return `${num} znaki`; return `${num} znakov`; }, numCharactersRemaining: num => { const mod100 = num % 100; if (mod100 === 1) return `Preostane ${num} znak`; if (mod100 === 2) return `Preostaneta ${num} znaka`; if (mod100 === 3 || mod100 === 4) return `Preostanejo ${num} znaki`; return `Preostane ${num} znakov`; }, numEntries: num => { if (num === 0) return 'Ni vnosov'; if (num === 1) return '1 vnos'; if (num === 2) return '2 vnosa'; if (num === 3 || num === 4) return `${num} vnosi`; return `${num} vnosov`; }, numEntriesLoaded: num => { if (num === 0) return 'Ni naloženih vnosov'; if (num === 1) return 'Naložen 1 vnos'; if (num === 2) return 'Naložena 2 vnosa'; if (num === 3 || num === 4) return `Naloženi ${num} vnosi`; return `Naloženih ${num} vnosov`; }, numOptionsAvailable: num => { if (num === 0) return 'Na voljo ni nobene možnosti'; if (num === 1) return '1 možnost na voljo'; if (num === 2) return '2 možnosti na voljo'; if (num === 3 || num === 4) return `${num} možnosti na voljo`; return `${num} možnosti na voljo`; }, numOptionsSelected: num => { if (num === 0) return 'Nobena možnost ni izbrana'; if (num === 1) return '1 možnost izbrana'; if (num === 2) return '2 možnosti izbrani'; if (num === 3 || num === 4) return `${num} možnosti izbrane`; return `${num} možnosti izbranih`; }, numSelected: num => { if (num === 0) return 'Nič izbranega'; return `${num} izbranih`; }, numTotal: num => `${num} skupaj`, ok: 'OK', onThisPage: 'Na tej strani', optionPosition: (label, position, total) => `${label}, ${position} od ${total}`, page: 'Page', pauseAnimation: 'Zaustavi animacijo', playAnimation: 'Predvajaj animacijo', previousPage: 'Previous page', previousSlide: 'Prejšnji diapozitiv', progress: 'Napredek', quarter: 'Četrtletje', rangeSelected: (start, end) => `Izbrano od ${start} do ${end}`, // Calendar range selection rangeSelectingFrom: date => `Izbiranje obsega od ${date}…`, remove: 'Odstrani', reset: 'Ponastavi', resize: 'Spremeni velikost', scrollableRegion: 'Področje za drsenje', scrollToEnd: 'Pomakni se na konec', scrollToStart: 'Pomakni se na začetek', search: 'Iskanje', sectionPages: 'Strani razdelka', sections: 'Razdelki', selectAColorFromTheScreen: 'Izberite barvo z zaslona', numRowsSelected: num => { if (num === 0) return 'Nobena vrstica ni izbrana'; const mod100 = num % 100; if (mod100 === 1) return `Izbrana ${num} vrstica`; if (mod100 === 2) return `Izbrani ${num} vrstici`; if (mod100 === 3 || mod100 === 4) return `Izbrane ${num} vrstice`; return `Izbranih ${num} vrstic`; }, pageChanged: (page, total) => `Stran ${page} od ${total}`, reorderRow: 'Premakni vrstico', resizeColumn: 'Spremeni širino stolpca', rowDropped: position => `Vrstica odložena na položaj ${position}`, rowLifted: (position, total) => `Vrstica dvignjena, položaj ${position} od ${total}. S puščicama gor in dol premikate, s preslednico odložite, s tipko Escape prekličete.`, rowMoved: (position, total) => `Položaj ${position} od ${total}`, rowReorderCanceled: 'Premikanje preklicano', selectAllRows: 'Izberi vse vrstice', selectDate: 'Izberi datum', selectDateTime: 'Select date and time', selectRow: 'Izberi vrstico', sortedByColumn: (column, direction) => `Razvrščeno po ${column}, ${direction === 'ascending' ? 'naraščajoče' : 'padajoče'}`, sortingCleared: 'Razvrščanje odstranjeno', // Date picker selectTime: 'Izberi čas', showingPanelSpan: (first, last) => `Prikaz ${first} – ${last}`, showingSinglePanel: month => `Prikaz ${month}`, showLess: 'Pokaži manj', showMore: 'Pokaži več', showPassword: 'Prikaži geslo', skipToContent: 'Pojdi na vsebino', slideNum: slide => `Diapozitiv ${slide}`, timeInputBadInput: 'Vnesite veljaven čas.', timeInputRangeOverflow: 'Čas je prepozen.', timeInputRangeUnderflow: 'Čas je prezgoden.', timeInputValueMissing: 'Izpolnite to polje.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Ura', timeSegmentMinute: 'Minuta', timeSegmentSecond: 'Sekunda', toggleColorFormat: 'Preklopi format barve', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Korak ${step} od ${total}`, year: 'Leto', zoomIn: 'Povečaj', zoomOut: 'Pomanjšaj', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Strani ni mogoče naložiti', documentViewerLoadErrorHint: 'Preverite internetno povezavo', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'UI', editorAiSuggestions: 'Predlogi AI', editorDelete: 'Izbriši', editorHideDeletedPages: 'Skrij izbrisane strani', editorPage: page => `Stran ${page}`, editorRotate: 'Zavrti za 90°', editorSelectAll: (selected, total) => `Izberi vse (${selected} od ${total})`, editorSplit: 'Razdeli', editorUser: 'Uporabnik', editorZoom: 'Povečava', editorZoomIn: 'Povečaj', previewPage: page => `Stran ${page}`, save: 'Shrani', scanCancelBack: 'Nazaj na urejanje', scanCancelConfirm: 'Prekliči nalaganje', scanCancelMessage: 'Če prekličete, datoteka ne bo naložena in spremembe bodo izgubljene. Dejanja ni mogoče razveljaviti.', scanCancelTitle: 'Prekličem nalaganje?', scanFilesDisplayError: 'Datotek ni mogoče prikazati', scanFilesLoading: 'Nalaganje datotek...', scanInvalidSession: 'Seja ni veljavna. Znova zaženite postopek.', scanSaveErrorBack: 'Nazaj na urejanje', scanSaveErrorMessage: 'Prišlo je do napake pri shranjevanju. Poskusite znova ali se vrnite na urejanje.', scanSaveErrorRetry: 'Poskusi znova', scanSaveErrorTitle: 'Napaka pri shranjevanju', scanSaving: 'Ustvarjanje datotek', scanSessionLoading: 'Nalaganje seje edScan...', scanTitle: 'Urejanje strani s pomočjo AI', uploadDragAndDropDescription: 'Datoteko lahko povlečete sem ali jo izberete z gumbom.', uploadDragAndDropTitle: 'Naloži datoteko', uploadDropFile: 'Spustite datoteko', uploadDropFiles: 'Spustite datoteke', uploadDuplicateFile: name => `${name} je že na seznamu`, uploadFailed: 'Datotek ni bilo mogoče naložiti', uploadFileCountSummary: (count, size) => `${count} datotek · ${size}`, uploadFileTooLarge: (name, size) => `Datoteka ${name} je prevelika. Največja velikost je ${size} MB.`, uploadFileTypeNotAllowed: type => `Vrsta datoteke ni dovoljena: ${type}`, uploadLimitExceeded: size => `Datoteka presega omejitev nalaganja ${size} MB`, uploadLimitsExceeded: size => `Datoteke presegajo omejitev nalaganja ${size} MB`, uploadOr: 'ali', uploadPreviewFile: name => `Predogled: ${name}`, uploadProgress: 'Datoteke se nalagajo...', uploadRemoveFile: name => `Odstrani: ${name}`, uploadRetryFile: name => `Poskusi znova: ${name}`, uploadSelectFile: 'Izberi datoteko', uploadSelectFiles: 'Izberi datoteke', uploadSuccess: (done, total) => `${done} od ${total} datotek naloženih`, uploadTitle: 'Naloži datoteko', uploadTooManyFiles: max => `Naložite lahko največ ${max} datotek`, $code: 'sl', $dir: 'ltr', $name: 'Slovenski' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/sl.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/sv.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Detta innehåll har skapats av AI', back: 'Tillbaka', cancel: 'Cancel', carousel: 'Karusell', chooseDate: 'Välj ett datum', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Välj en tid', clearEntry: 'Återställ val', close: 'Stäng', collapse: 'Fäll ihop', copied: 'Kopierade', copy: 'Kopiera', currentValue: 'Nuvarande värde', dateInputBadInput: 'Ange ett giltigt datum.', dateInputRangeOverflow: 'Datumet är för sent.', dateInputRangeUnderflow: 'Datumet är för tidigt.', dateInputValueMissing: 'Fyll i det här fältet.', dateNotSelectable: 'Det här datumet går inte att välja.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Dag', dateSegmentMonth: 'Månad', dateSegmentYear: 'År', datetimeInputBadInput: 'Ange ett giltigt datum och en giltig tid.', datetimeInputRangeOverflow: 'Datum och tid är för sena.', datetimeInputRangeUnderflow: 'Datum och tid är för tidiga.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Minska', dragToReorder: 'Dra för att ändra ordning', dropFileHere: 'Dra filen hit eller klicka för att bläddra', dropFilesHere: 'Dra filerna hit eller klicka för att bläddra', entriesPerPage: 'Entries per page', error: 'Fel', expand: 'Expandera', finish: 'Slutför', from: 'from', goToSlide: (slide, count) => `Gå till bild ${slide} av ${count}`, halfyear: 'Halvår', hidePassword: 'Dölj lösenord', increment: 'Öka', loading: 'Läser in', mainMenu: 'Huvudmeny', maximumValue: label => (label ? `${label} (Maximalt värde)` : 'Maximalt värde'), minimumValue: label => (label ? `${label} (Minimalt värde)` : 'Minimalt värde'), month: 'Månad', multipleValues: 'Flera värden', newsToggleMenu: 'Växla nyhetsmeny', next: 'Nästa', nextPage: 'Next page', nextSlide: 'Nästa bild', noData: 'Inga data', noOptions: 'No options', notificationsRegion: hotkey => `Aviseringar, tryck ${hotkey} för att fokusera`, numCharacters: num => { if (num === 1) return '1 tecken'; return `${num} tecken`; }, numCharactersRemaining: num => { if (num === 1) return '1 tecken kvar'; return `${num} tecken kvar`; }, numEntries: num => { if (num === 0) return 'Inga poster'; if (num === 1) return '1 post'; return `${num} poster`; }, numEntriesLoaded: num => { if (num === 0) return 'Inga poster laddade'; if (num === 1) return '1 post laddad'; return `${num} poster laddade`; }, numOptionsAvailable: num => { if (num === 0) return 'Inga alternativ tillgängliga'; if (num === 1) return '1 alternativ tillgängligt'; return `${num} alternativ tillgängliga`; }, numOptionsSelected: num => { if (num === 0) return 'Inga alternativ har valts'; if (num === 1) return '1 alternativ valt'; return `${num} alternativ valda`; }, numSelected: num => { if (num === 0) return 'Inget valt'; return `${num} valda`; }, numTotal: num => `${num} totalt`, ok: 'OK', onThisPage: 'På denna sida', optionPosition: (label, position, total) => `${label}, ${position} av ${total}`, page: 'Page', pauseAnimation: 'Pausa animation', playAnimation: 'Spela upp animation', previousPage: 'Previous page', previousSlide: 'Föregående bild', progress: 'Framsteg', quarter: 'Kvartal', rangeSelected: (start, end) => `${start} till ${end} valt`, // Calendar range selection rangeSelectingFrom: date => `Väljer intervall från ${date}…`, remove: 'Ta bort', reset: 'Återställ', resize: 'Ändra storlek', scrollableRegion: 'Scrollbart område', scrollToEnd: 'Skrolla till slutet', scrollToStart: 'Skrolla till början', search: 'Sök', sectionPages: 'Sektionens sidor', sections: 'Sektioner', selectAColorFromTheScreen: 'Välj en färg från skärmen', numRowsSelected: num => { if (num === 0) return 'Inga rader valda'; if (num === 1) return '1 rad vald'; return `${num} rader valda`; }, pageChanged: (page, total) => `Sida ${page} av ${total}`, reorderRow: 'Flytta rad', resizeColumn: 'Ändra kolumnbredd', rowDropped: position => `Rad placerad på position ${position}`, rowLifted: (position, total) => `Rad lyft, position ${position} av ${total}. Använd pil upp och pil ned för att flytta, mellanslag för att placera, Escape för att avbryta.`, rowMoved: (position, total) => `Position ${position} av ${total}`, rowReorderCanceled: 'Flytt avbruten', selectAllRows: 'Välj alla rader', selectDate: 'Välj datum', selectDateTime: 'Select date and time', selectRow: 'Välj rad', sortedByColumn: (column, direction) => `Sorterad efter ${column}, ${direction === 'ascending' ? 'stigande' : 'fallande'}`, sortingCleared: 'Sortering borttagen', // Date picker selectTime: 'Välj tid', showingPanelSpan: (first, last) => `Visar ${first} – ${last}`, showingSinglePanel: month => `Visar ${month}`, showLess: 'Visa mindre', showMore: 'Visa mer', showPassword: 'Visa lösenord', skipToContent: 'Hoppa till innehåll', slideNum: slide => `Bild ${slide}`, timeInputBadInput: 'Ange en giltig tid.', timeInputRangeOverflow: 'Tiden är för sen.', timeInputRangeUnderflow: 'Tiden är för tidig.', timeInputValueMissing: 'Fyll i det här fältet.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Timme', timeSegmentMinute: 'Minut', timeSegmentSecond: 'Sekund', toggleColorFormat: 'Växla färgformat', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Steg ${step} av ${total}`, year: 'År', zoomIn: 'Zooma in', zoomOut: 'Zooma ut', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Sidan kunde inte läsas in', documentViewerLoadErrorHint: 'Kontrollera din internetanslutning', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI-förslag', editorDelete: 'Ta bort', editorHideDeletedPages: 'Dölj borttagna sidor', editorPage: page => `Sida ${page}`, editorRotate: 'Rotera 90°', editorSelectAll: (selected, total) => `Välj alla (${selected} av ${total})`, editorSplit: 'Dela', editorUser: 'Användare', editorZoom: 'Zoom', editorZoomIn: 'Zooma in', previewPage: page => `Sida ${page}`, save: 'Spara', scanCancelBack: 'Tillbaka till redigering', scanCancelConfirm: 'Avbryt uppladdning', scanCancelMessage: 'Om du avbryter laddas filen inte upp och ändringar går förlorade. Åtgärden kan inte ångras.', scanCancelTitle: 'Avbryt uppladdning?', scanFilesDisplayError: 'Filen/filerna kan inte visas', scanFilesLoading: 'Läser in filer...', scanInvalidSession: 'Sessionen är ogiltig. Starta om processen.', scanSaveErrorBack: 'Tillbaka till redigering', scanSaveErrorMessage: 'Ett fel uppstod vid sparning. Försök igen eller återgå till redigering.', scanSaveErrorRetry: 'Försök igen', scanSaveErrorTitle: 'Fel vid sparning', scanSaving: 'Skapar fil(er)', scanSessionLoading: 'Läser in edScan-session...', scanTitle: 'AI-assisterad sidredigering', uploadDragAndDropDescription: 'Du kan dra en fil hit eller välja den med knappen.', uploadDragAndDropTitle: 'Ladda upp fil', uploadDropFile: 'Släpp fil', uploadDropFiles: 'Släpp filer', uploadDuplicateFile: name => `${name} finns redan i listan`, uploadFailed: 'Filerna kunde inte laddas upp', uploadFileCountSummary: (count, size) => `${count} fil(er) · ${size}`, uploadFileTooLarge: (name, size) => `Filen ${name} är för stor. Maximal storlek är ${size} MB.`, uploadFileTypeNotAllowed: type => `Filtypen är inte tillåten: ${type}`, uploadLimitExceeded: size => `Filen överskrider uppladdningsgränsen på ${size} MB`, uploadLimitsExceeded: size => `Filerna överskrider uppladdningsgränsen på ${size} MB`, uploadOr: 'eller', uploadPreviewFile: name => `Förhandsgranskning: ${name}`, uploadProgress: 'Filer laddas upp...', uploadRemoveFile: name => `Ta bort: ${name}`, uploadRetryFile: name => `Försök igen: ${name}`, uploadSelectFile: 'Välj fil', uploadSelectFiles: 'Välj filer', uploadSuccess: (done, total) => `${done} av ${total} filer uppladdade`, uploadTitle: 'Ladda upp fil', uploadTooManyFiles: max => `Du kan ladda upp högst ${max} fil(er)`, $code: 'sv', $dir: 'ltr', $name: 'Svenska' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/sv.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/tr.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Bu içerik yapay zeka tarafından oluşturuldu', back: 'Geri', cancel: 'Cancel', carousel: 'Atlıkarınca', chooseDate: 'Bir tarih seçin', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Bir saat seçin', clearEntry: 'Girişi sil', close: 'Kapat', collapse: 'Daralt', copied: 'Kopyalandı', copy: 'Kopya', currentValue: 'Mevcut değer', dateInputBadInput: 'Lütfen geçerli bir tarih girin.', dateInputRangeOverflow: 'Tarih çok geç.', dateInputRangeUnderflow: 'Tarih çok erken.', dateInputValueMissing: 'Lütfen bu alanı doldurun.', dateNotSelectable: 'Bu tarih seçilemez.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'Gün', dateSegmentMonth: 'Ay', dateSegmentYear: 'Yıl', datetimeInputBadInput: 'Lütfen geçerli bir tarih ve saat girin.', datetimeInputRangeOverflow: 'Tarih ve saat çok geç.', datetimeInputRangeUnderflow: 'Tarih ve saat çok erken.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Azalt', dragToReorder: 'Yeniden sıralamak için sürükleyin', dropFileHere: 'Dosyayı buraya bırakın veya göz atmak için tıklayın', dropFilesHere: 'Dosyaları buraya bırakın veya göz atmak için tıklayın', entriesPerPage: 'Entries per page', error: 'Hata', expand: 'Genişlet', finish: 'Bitir', from: 'from', goToSlide: (slide, count) => `${count} slayttan ${slide} slayta gidin`, halfyear: 'Yarıyıl', hidePassword: 'Şifreyi sakla', increment: 'Artır', loading: 'Yükleme', mainMenu: 'Ana menü', maximumValue: label => (label ? `${label} (En büyük değer)` : 'En büyük değer'), minimumValue: label => (label ? `${label} (En küçük değer)` : 'En küçük değer'), month: 'Ay', multipleValues: 'Birden fazla değer', newsToggleMenu: 'Haber menüsünü aç/kapat', next: 'İleri', nextPage: 'Next page', nextSlide: 'Sonraki slayt', noData: 'Veri yok', noOptions: 'No options', notificationsRegion: hotkey => `Bildirimler, odaklanmak için ${hotkey} tuşuna basın`, numCharacters: num => { if (num === 1) return '1 karakter'; return `${num} karakter`; }, numCharactersRemaining: num => { if (num === 1) return '1 karakter kaldı'; return `${num} karakter kaldı`; }, numEntries: num => { if (num === 0) return 'Kayıt yok'; return `${num} kayıt`; }, numEntriesLoaded: num => { if (num === 0) return 'Hiç kayıt yüklenmedi'; if (num === 1) return '1 kayıt yüklendi'; return `${num} kayıt yüklendi`; }, numOptionsAvailable: num => { if (num === 0) return 'Kullanılabilir seçenek yok'; if (num === 1) return '1 seçenek kullanılabilir'; return `${num} seçenek kullanılabilir`; }, numOptionsSelected: num => { if (num === 0) return 'Hiçbir seçenek seçilmedi'; if (num === 1) return '1 seçenek seçildi'; return `${num} seçenek seçildi`; }, numSelected: num => { if (num === 0) return 'Seçim yok'; return `${num} seçildi`; }, numTotal: num => `Toplam ${num}`, ok: 'OK', onThisPage: 'Bu sayfada', optionPosition: (label, position, total) => `${label}, ${position}/${total}`, page: 'Page', pauseAnimation: 'Animasyonu duraklat', playAnimation: 'Animasyonu oynat', previousPage: 'Previous page', previousSlide: 'Bir onceki slayt', progress: 'İlerleme', quarter: 'Çeyrek', rangeSelected: (start, end) => `${start} - ${end} seçildi`, // Calendar range selection rangeSelectingFrom: date => `${date} tarihinden itibaren aralık seçiliyor…`, remove: 'Kaldır', reset: 'Sıfırla', resize: 'Yeniden boyutlandır', scrollableRegion: 'Kaydırılabilir alan', scrollToEnd: 'Sona kay', scrollToStart: 'Başa kay', search: 'Ara', sectionPages: 'Bölüm sayfaları', sections: 'Bölümler', selectAColorFromTheScreen: 'Ekrandan bir renk seçin', numRowsSelected: num => { if (num === 0) return 'Seçili satır yok'; return `${num} satır seçildi`; }, pageChanged: (page, total) => `Sayfa ${page} / ${total}`, reorderRow: 'Satırı taşı', resizeColumn: 'Sütun genişliğini değiştir', rowDropped: position => `Satır ${position}. konuma bırakıldı`, rowLifted: (position, total) => `Satır kaldırıldı, konum ${position} / ${total}. Yukarı ve aşağı ok tuşlarıyla taşıyın, boşluk tuşuyla bırakın, Escape ile iptal edin.`, rowMoved: (position, total) => `Konum ${position} / ${total}`, rowReorderCanceled: 'Taşıma iptal edildi', selectAllRows: 'Tüm satırları seç', selectDate: 'Tarih seç', selectDateTime: 'Select date and time', selectRow: 'Satırı seç', sortedByColumn: (column, direction) => `${column} sütununa göre sıralandı, ${direction === 'ascending' ? 'artan' : 'azalan'}`, sortingCleared: 'Sıralama kaldırıldı', // Date picker selectTime: 'Saat seç', showingPanelSpan: (first, last) => `${first} – ${last} gösteriliyor`, showingSinglePanel: month => `${month} gösteriliyor`, showLess: 'Daha az göster', showMore: 'Daha fazla göster', showPassword: 'Şifreyi göster', skipToContent: 'İçeriğe atla', slideNum: slide => `Slayt ${slide}`, timeInputBadInput: 'Lütfen geçerli bir saat girin.', timeInputRangeOverflow: 'Saat çok geç.', timeInputRangeUnderflow: 'Saat çok erken.', timeInputValueMissing: 'Lütfen bu alanı doldurun.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Saat', timeSegmentMinute: 'Dakika', timeSegmentSecond: 'Saniye', toggleColorFormat: 'Renk biçimini değiştir', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Adım ${step}/${total}`, year: 'Yıl', zoomIn: 'Yakınlaştır', zoomOut: 'Uzaklaştır', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Sayfa yüklenemedi', documentViewerLoadErrorHint: 'İnternet bağlantınızı kontrol edin', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'YZ', editorAiSuggestions: 'Yapay zekâ önerileri', editorDelete: 'Sil', editorHideDeletedPages: 'Silinen sayfaları gizle', editorPage: page => `Sayfa ${page}`, editorRotate: '90° döndür', editorSelectAll: (selected, total) => `Tümünü seç (${selected} / ${total})`, editorSplit: 'Böl', editorUser: 'Kullanıcı', editorZoom: 'Yakınlaştırma', editorZoomIn: 'Yakınlaştır', previewPage: page => `Sayfa ${page}`, save: 'Kaydet', scanCancelBack: 'Düzenlemeye dön', scanCancelConfirm: 'Yüklemeyi iptal et', scanCancelMessage: 'İptal ederseniz dosya yüklenmeyecek ve değişiklikler kaybolacaktır. Bu işlem geri alınamaz.', scanCancelTitle: 'Yükleme iptal edilsin mi?', scanFilesDisplayError: 'Dosya(lar) görüntülenemiyor', scanFilesLoading: 'Dosyalar yükleniyor...', scanInvalidSession: 'Oturum geçersiz. Lütfen işlemi yeniden başlatın.', scanSaveErrorBack: 'Düzenlemeye dön', scanSaveErrorMessage: 'Kaydetme sırasında bir hata oluştu. Tekrar deneyebilir veya düzenlemeye dönebilirsiniz.', scanSaveErrorRetry: 'Tekrar dene', scanSaveErrorTitle: 'Kaydetme hatası', scanSaving: 'Dosya(lar) oluşturuluyor', scanSessionLoading: 'edScan oturumu yükleniyor...', scanTitle: 'Yapay zekâ destekli sayfa düzenleme', uploadDragAndDropDescription: 'Bir dosyayı buraya sürükleyebilir veya düğmeyle seçebilirsiniz.', uploadDragAndDropTitle: 'Dosya yükle', uploadDropFile: 'Dosyayı bırakın', uploadDropFiles: 'Dosyaları bırakın', uploadDuplicateFile: name => `${name} zaten listede`, uploadFailed: 'Dosyalar yüklenemedi', uploadFileCountSummary: (count, size) => `${count} dosya · ${size}`, uploadFileTooLarge: (name, size) => `${name} dosyası çok büyük. Maksimum boyut ${size} MB.`, uploadFileTypeNotAllowed: type => `Dosya türüne izin verilmiyor: ${type}`, uploadLimitExceeded: size => `Dosya ${size} MB yükleme sınırını aşıyor`, uploadLimitsExceeded: size => `Dosyalar ${size} MB yükleme sınırını aşıyor`, uploadOr: 'veya', uploadPreviewFile: name => `Önizleme: ${name}`, uploadProgress: 'Dosyalar yükleniyor...', uploadRemoveFile: name => `Kaldır: ${name}`, uploadRetryFile: name => `Tekrar dene: ${name}`, uploadSelectFile: 'Dosya seç', uploadSelectFiles: 'Dosyaları seç', uploadSuccess: (done, total) => `${total} dosyadan ${done} tanesi yüklendi`, uploadTitle: 'Dosya yükle', uploadTooManyFiles: max => `En fazla ${max} dosya yükleyebilirsiniz`, $code: 'tr', $dir: 'ltr', $name: 'Türkçe' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/tr.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/uk.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: 'Цей контент створено штучним інтелектом', back: 'Назад', cancel: 'Cancel', carousel: 'Карусель', chooseDate: 'Виберіть дату', chooseDateAndTime: 'Choose a date and time', chooseTime: 'Виберіть час', clearEntry: 'Очистити поле', close: 'Закрити', collapse: 'Згорнути', copied: 'Скопійовано', copy: 'Скопіювати', currentValue: 'Поточне значення', dateInputBadInput: 'Введіть припустиму дату.', dateInputRangeOverflow: 'Дата занадто пізня.', dateInputRangeUnderflow: 'Дата занадто рання.', dateInputValueMissing: 'Заповніть це поле.', dateNotSelectable: 'Цю дату не можна вибрати.', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: 'День', dateSegmentMonth: 'Місяць', dateSegmentYear: 'Рік', datetimeInputBadInput: 'Введіть припустимі дату та час.', datetimeInputRangeOverflow: 'Дата та час занадто пізні.', datetimeInputRangeUnderflow: 'Дата та час занадто ранні.', datetimeInputValueMissing: 'Please fill in this field.', decrement: 'Зменшити', dragToReorder: 'Перетягніть для зміни порядку', dropFileHere: 'Перетягніть файл сюди або натисніть, щоб вибрати', dropFilesHere: 'Перетягніть файли сюди або натисніть, щоб вибрати', entriesPerPage: 'Entries per page', error: 'Збій', expand: 'Розгорнути', finish: 'Завершити', from: 'from', goToSlide: (slide, count) => `Перейти до слайда №${slide} з ${count}`, halfyear: 'Півріччя', hidePassword: 'Приховати пароль', increment: 'Збільшити', loading: 'Завантаження', mainMenu: 'Головне меню', maximumValue: label => (label ? `${label} (Максимальне значення)` : 'Максимальне значення'), minimumValue: label => (label ? `${label} (Мінімальне значення)` : 'Мінімальне значення'), month: 'Місяць', multipleValues: 'Кілька значень', newsToggleMenu: 'Переключити меню новин', next: 'Далі', nextPage: 'Next page', nextSlide: 'Наступний слайд', noData: 'Немає даних', noOptions: 'No options', notificationsRegion: hotkey => `Сповіщення, натисніть ${hotkey} для фокусу`, numCharacters: num => { const mod10 = num % 10; const mod100 = num % 100; if (mod10 === 1 && mod100 !== 11) return `${num} символ`; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `${num} символи`; return `${num} символів`; }, numCharactersRemaining: num => { const mod10 = num % 10; const mod100 = num % 100; if (mod10 === 1 && mod100 !== 11) return `Залишився ${num} символ`; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `Залишилося ${num} символи`; return `Залишилося ${num} символів`; }, numEntries: num => { const mod10 = num % 10; const mod100 = num % 100; if (mod10 === 1 && mod100 !== 11) return `${num} запис`; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `${num} записи`; return `${num} записів`; }, numEntriesLoaded: num => { const n = num % 10; if (num === 0) return 'не завантажено записів'; if (n === 1 && num !== 11) return `завантажено ${num} запис`; if ((n === 2 || n === 3 || n === 4) && (num < 12 || num > 14)) return `завантажено ${num} записи`; return `завантажено ${num} записів`; }, numOptionsAvailable: num => { const n = num % 10; if (n === 0) return 'немає доступних варіантів'; if (n === 1) return `доступний ${num} варіант`; if (n === 2 || n === 3 || n === 4) return `доступні ${num} варіанти`; return `доступно ${num} варіантів`; }, numOptionsSelected: num => { const n = num % 10; if (n === 0) return 'не вибрано варіантів'; if (n === 1) return 'вибрано 1 варіант'; if (n === 2 || n === 3 || n === 4) return `вибрано ${num} варіанти`; return `вибрано ${num} варіантів`; }, numSelected: num => { if (num === 0) return 'Нічого не вибрано'; return `Вибрано ${num}`; }, numTotal: num => `Усього ${num}`, ok: 'OK', onThisPage: 'На цій сторінці', optionPosition: (label, position, total) => `${label}, ${position} з ${total}`, page: 'Page', pauseAnimation: 'Призупинити анімацію', playAnimation: 'Відтворити анімацію', previousPage: 'Previous page', previousSlide: 'Попередній слайд', progress: 'Поступ', quarter: 'Квартал', rangeSelected: (start, end) => `Вибрано з ${start} по ${end}`, // Calendar range selection rangeSelectingFrom: date => `Вибір діапазону з ${date}…`, remove: 'Видалити', reset: 'Скинути', resize: 'Змінити розмір', scrollableRegion: 'Область з можливістю прокрутки', scrollToEnd: 'Прокрутити в кінець', scrollToStart: 'Прокрутити на початок', search: 'Пошук', sectionPages: 'Сторінки розділу', sections: 'Розділи', selectAColorFromTheScreen: 'Виберіть колір на екрані', numRowsSelected: num => { const mod10 = num % 10; const mod100 = num % 100; if (mod10 === 1 && mod100 !== 11) return `Вибрано ${num} рядок`; if (mod10 >= 2 && mod10 <= 4 && !(mod100 >= 12 && mod100 <= 14)) return `Вибрано ${num} рядки`; return `Вибрано ${num} рядків`; }, pageChanged: (page, total) => `Сторінка ${page} з ${total}`, reorderRow: 'Перемістити рядок', resizeColumn: 'Змінити ширину стовпця', rowDropped: position => `Рядок опущено на позицію ${position}`, rowLifted: (position, total) => `Рядок піднято, позиція ${position} з ${total}. Стрілки вгору та вниз переміщують, пробіл опускає, Escape скасовує.`, rowMoved: (position, total) => `Позиція ${position} з ${total}`, rowReorderCanceled: 'Переміщення скасовано', selectAllRows: 'Вибрати всі рядки', selectDate: 'Вибрати дату', selectDateTime: 'Select date and time', selectRow: 'Вибрати рядок', sortedByColumn: (column, direction) => `Відсортовано за ${column}, ${direction === 'ascending' ? 'за зростанням' : 'за спаданням'}`, sortingCleared: 'Сортування знято', // Date picker selectTime: 'Вибрати час', showingPanelSpan: (first, last) => `Показано ${first} – ${last}`, showingSinglePanel: month => `Показано ${month}`, showLess: 'Показати менше', showMore: 'Показати більше', showPassword: 'Показати пароль', skipToContent: 'Перейти до змісту', slideNum: slide => `Слайд ${slide}`, timeInputBadInput: 'Введіть припустимий час.', timeInputRangeOverflow: 'Час занадто пізній.', timeInputRangeUnderflow: 'Час занадто ранній.', timeInputValueMissing: 'Заповніть це поле.', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: 'Година', timeSegmentMinute: 'Хвилина', timeSegmentSecond: 'Секунда', toggleColorFormat: 'Переключити кольорову модель', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `Крок ${step} з ${total}`, year: 'Рік', zoomIn: 'Збільшити', zoomOut: 'Зменшити', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: 'Не вдалося завантажити сторінку', documentViewerLoadErrorHint: 'Перевірте підключення до інтернету', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'ШІ', editorAiSuggestions: 'Пропозиції ШІ', editorDelete: 'Видалити', editorHideDeletedPages: 'Приховати видалені сторінки', editorPage: page => `Сторінка ${page}`, editorRotate: 'Повернути на 90°', editorSelectAll: (selected, total) => `Вибрати все (${selected} з ${total})`, editorSplit: 'Розділити', editorUser: 'Користувач', editorZoom: 'Масштаб', editorZoomIn: 'Збільшити', previewPage: page => `Сторінка ${page}`, save: 'Зберегти', scanCancelBack: 'Повернутися до редагування', scanCancelConfirm: 'Скасувати завантаження', scanCancelMessage: 'Якщо скасувати, файл не буде завантажено, а зміни буде втрачено. Цю дію неможливо скасувати.', scanCancelTitle: 'Скасувати завантаження?', scanFilesDisplayError: 'Неможливо відобразити файл(и)', scanFilesLoading: 'Завантаження файлів...', scanInvalidSession: 'Сесія недійсна. Перезапустіть процес.', scanSaveErrorBack: 'Повернутися до редагування', scanSaveErrorMessage: 'Сталася помилка під час збереження. Спробуйте ще раз або поверніться до редагування.', scanSaveErrorRetry: 'Спробувати ще раз', scanSaveErrorTitle: 'Помилка під час збереження', scanSaving: 'Створення файлів', scanSessionLoading: 'Завантаження сесії edScan...', scanTitle: 'Редагування сторінок за допомогою ШІ', uploadDragAndDropDescription: 'Ви можете перетягнути файл сюди або вибрати його кнопкою.', uploadDragAndDropTitle: 'Завантажити файл', uploadDropFile: 'Перетягніть файл', uploadDropFiles: 'Перетягніть файли', uploadDuplicateFile: name => `${name} вже у списку`, uploadFailed: 'Не вдалося завантажити файли', uploadFileCountSummary: (count, size) => `${count} файл(ів) · ${size}`, uploadFileTooLarge: (name, size) => `Файл ${name} занадто великий. Максимальний розмір: ${size} МБ.`, uploadFileTypeNotAllowed: type => `Тип файлу не дозволено: ${type}`, uploadLimitExceeded: size => `Файл перевищує ліміт завантаження ${size} МБ`, uploadLimitsExceeded: size => `Файли перевищують ліміт завантаження ${size} МБ`, uploadOr: 'або', uploadPreviewFile: name => `Попередній перегляд: ${name}`, uploadProgress: 'Файли завантажуються...', uploadRemoveFile: name => `Видалити: ${name}`, uploadRetryFile: name => `Спробувати ще раз: ${name}`, uploadSelectFile: 'Вибрати файл', uploadSelectFiles: 'Вибрати файли', uploadSuccess: (done, total) => `${done} з ${total} файлів завантажено`, uploadTitle: 'Завантажити файл', uploadTooManyFiles: max => `Можна завантажити щонайбільше ${max} файл(ів)`, $code: 'uk', $dir: 'ltr', $name: 'Українська' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/uk.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/zh-cn.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: '此内容由人工智能生成', back: '返回', cancel: 'Cancel', carousel: '跑马灯', chooseDate: '选择日期', chooseDateAndTime: 'Choose a date and time', chooseTime: '选择时间', clearEntry: '清空', close: '关闭', collapse: '折叠', copied: '已复制', copy: '复制', currentValue: '当前值', dateInputBadInput: '请输入有效的日期。', dateInputRangeOverflow: '日期太晚。', dateInputRangeUnderflow: '日期太早。', dateInputValueMissing: '请填写此字段。', dateNotSelectable: '此日期不可选择。', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: '日', dateSegmentMonth: '月', dateSegmentYear: '年', datetimeInputBadInput: '请输入有效的日期和时间。', datetimeInputRangeOverflow: '日期和时间太晚。', datetimeInputRangeUnderflow: '日期和时间太早。', datetimeInputValueMissing: 'Please fill in this field.', decrement: '减少', dragToReorder: '拖动以重新排序', dropFileHere: '将文件拖到此处或点击浏览', dropFilesHere: '将文件拖到此处或点击浏览', entriesPerPage: 'Entries per page', error: '错误', expand: '展开', finish: '完成', from: 'from', goToSlide: (slide, count) => `转到第 ${slide} 张幻灯片，共 ${count} 张`, halfyear: '半年', hidePassword: '隐藏密码', increment: '增加', loading: '加载中', mainMenu: '主菜单', maximumValue: label => (label ? `${label} (最大值)` : '最大值'), minimumValue: label => (label ? `${label} (最小值)` : '最小值'), month: '月', multipleValues: '多个值', newsToggleMenu: '切换新闻菜单', next: '下一步', nextPage: 'Next page', nextSlide: '下一张幻灯片', noData: '暂无数据', noOptions: 'No options', notificationsRegion: hotkey => `通知，按 ${hotkey} 聚焦`, numCharacters: num => `${num}个字符`, numCharactersRemaining: num => `剩余${num}个字符`, numEntries: num => { if (num === 0) return '无条目'; return `${num} 条`; }, numEntriesLoaded: num => { if (num === 0) return '未加载任何条目'; if (num === 1) return '已加载 1 条'; return `已加载 ${num} 条`; }, numOptionsAvailable: num => { if (num === 0) return '没有可用的选项'; if (num === 1) return '有 1 个可用选项'; return `有 ${num} 个可用选项`; }, numOptionsSelected: num => { if (num === 0) return '未选择任何项目'; if (num === 1) return '已选择 1 个项目'; return `${num} 选择项目`; }, numSelected: num => { if (num === 0) return '未选择'; return `已选 ${num} 项`; }, numTotal: num => `共 ${num}`, ok: 'OK', onThisPage: '本页内容', optionPosition: (label, position, total) => `${label}，第 ${position} 项，共 ${total} 项`, page: 'Page', pauseAnimation: '暂停动画', playAnimation: '播放动画', previousPage: 'Previous page', previousSlide: '上一张幻灯片', progress: '进度', quarter: '季度', rangeSelected: (start, end) => `已选择 ${start} 至 ${end}`, // Calendar range selection rangeSelectingFrom: date => `正在选择从 ${date} 开始的范围…`, remove: '删除', reset: '重置', resize: '调整大小', scrollableRegion: '可滚动区域', scrollToEnd: '滚动至页尾', scrollToStart: '滚动至页首', search: '搜索', sectionPages: '板块页面', sections: '板块', selectAColorFromTheScreen: '从屏幕中选择一种颜色', numRowsSelected: num => { if (num === 0) return '未选择任何行'; return `已选择 ${num} 行`; }, pageChanged: (page, total) => `第 ${page} 页，共 ${total} 页`, reorderRow: '调整行顺序', resizeColumn: '调整列宽', rowDropped: position => `行已放置到第 ${position} 位`, rowLifted: (position, total) => `行已提起，第 ${position} 位，共 ${total} 行。使用上下方向键移动，空格键放下，Escape 取消。`, rowMoved: (position, total) => `第 ${position} 位，共 ${total} 行`, rowReorderCanceled: '已取消调整顺序', selectAllRows: '选择所有行', selectDate: '选择日期', selectDateTime: 'Select date and time', selectRow: '选择行', sortedByColumn: (column, direction) => `已按${column}排序，${direction === 'ascending' ? '升序' : '降序'}`, sortingCleared: '已取消排序', // Date picker selectTime: '选择时间', showingPanelSpan: (first, last) => `正在显示 ${first} – ${last}`, showingSinglePanel: month => `正在显示 ${month}`, showLess: '显示更少', showMore: '显示更多', showPassword: '显示密码', skipToContent: '跳到内容', slideNum: slide => `幻灯片 ${slide}`, timeInputBadInput: '请输入有效的时间。', timeInputRangeOverflow: '时间太晚。', timeInputRangeUnderflow: '时间太早。', timeInputValueMissing: '请填写此字段。', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: '时', timeSegmentMinute: '分', timeSegmentSecond: '秒', toggleColorFormat: '切换颜色模式', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `第 ${step} 步，共 ${total} 步`, year: '年', zoomIn: '放大', zoomOut: '缩小', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: '无法加载页面', documentViewerLoadErrorHint: '请检查您的网络连接', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI 建议', editorDelete: '删除', editorHideDeletedPages: '隐藏已删除页面', editorPage: page => `第 ${page} 页`, editorRotate: '旋转 90°', editorSelectAll: (selected, total) => `全选（${selected}/${total}）`, editorSplit: '拆分', editorUser: '用户', editorZoom: '缩放', editorZoomIn: '放大', previewPage: page => `第 ${page} 页`, save: '保存', scanCancelBack: '返回编辑', scanCancelConfirm: '取消上传', scanCancelMessage: '如果取消，文件将不会上传，且更改会丢失。此操作无法撤销。', scanCancelTitle: '取消上传？', scanFilesDisplayError: '无法显示文件', scanFilesLoading: '正在加载文件...', scanInvalidSession: '会话无效，请重新开始流程。', scanSaveErrorBack: '返回编辑', scanSaveErrorMessage: '保存时发生错误。您可以重试或返回编辑。', scanSaveErrorRetry: '重试', scanSaveErrorTitle: '保存时出错', scanSaving: '正在创建文件', scanSessionLoading: '正在加载 edScan 会话...', scanTitle: 'AI 辅助页面编辑', uploadDragAndDropDescription: '您可以将文件拖到此处，或通过按钮选择文件。', uploadDragAndDropTitle: '上传文件', uploadDropFile: '拖放文件', uploadDropFiles: '拖放文件', uploadDuplicateFile: name => `${name} 已在列表中`, uploadFailed: '文件上传失败', uploadFileCountSummary: (count, size) => `${count} 个文件 · ${size}`, uploadFileTooLarge: (name, size) => `文件 ${name} 太大。最大允许大小为 ${size} MB。`, uploadFileTypeNotAllowed: type => `不支持的文件类型：${type}`, uploadLimitExceeded: size => `文件超过 ${size} MB 上传限制`, uploadLimitsExceeded: size => `文件超过 ${size} MB 上传限制`, uploadOr: '或', uploadPreviewFile: name => `预览：${name}`, uploadProgress: '文件上传中...', uploadRemoveFile: name => `移除：${name}`, uploadRetryFile: name => `重试: ${name}`, uploadSelectFile: '选择文件', uploadSelectFiles: '选择文件', uploadSuccess: (done, total) => `已上传 ${done}/${total} 个文件`, uploadTitle: '上传文件', uploadTooManyFiles: max => `最多可以上传 ${max} 个文件`, $code: 'zh-cn', $dir: 'ltr', $name: '简体中文' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/zh-cn.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "translations/zh-tw.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "translation",
          "type": {
            "text": "Translation"
          },
          "default": "{ aiGenerated: '此內容由人工智慧生成', back: '返回', cancel: 'Cancel', carousel: '幻燈片', chooseDate: '選擇日期', chooseDateAndTime: 'Choose a date and time', chooseTime: '選擇時間', clearEntry: '清空', close: '關閉', collapse: '折疊', copied: '已複製', copy: '複製', currentValue: '當前值', dateInputBadInput: '請輸入有效的日期。', dateInputRangeOverflow: '日期太晚。', dateInputRangeUnderflow: '日期太早。', dateInputValueMissing: '請填寫此欄位。', dateNotSelectable: '此日期無法選擇。', datePlaceholderDay: 'dd', datePlaceholderMonth: 'mm', datePlaceholderYear: 'yyyy', // Date input (untranslated — awaiting locale contribution) dateSegmentDay: '日', dateSegmentMonth: '月', dateSegmentYear: '年', datetimeInputBadInput: '請輸入有效的日期和時間。', datetimeInputRangeOverflow: '日期和時間太晚。', datetimeInputRangeUnderflow: '日期和時間太早。', datetimeInputValueMissing: 'Please fill in this field.', decrement: '減少', dragToReorder: '拖曳以重新排序', dropFileHere: '將檔案拖曳至此或點擊瀏覽', dropFilesHere: '將檔案拖曳至此或點擊瀏覽', entriesPerPage: 'Entries per page', error: '錯誤', expand: '展開', finish: '完成', from: 'from', goToSlide: (slide, count) => `轉到第 ${slide} 張幻燈片，共 ${count} 張`, halfyear: '半年', hidePassword: '隱藏密碼', increment: '增加', loading: '載入中', mainMenu: '主選單', maximumValue: label => (label ? `${label} (最大值)` : '最大值'), minimumValue: label => (label ? `${label} (最小值)` : '最小值'), month: '月', multipleValues: '多個值', newsToggleMenu: '切換新聞選單', next: '下一步', nextPage: 'Next page', nextSlide: '下一張幻燈片', noData: '無資料', noOptions: 'No options', notificationsRegion: hotkey => `通知，按 ${hotkey} 聚焦`, numCharacters: num => `${num}個字元`, numCharactersRemaining: num => `剩餘${num}個字元`, numEntries: num => { if (num === 0) return '無項目'; return `${num} 筆`; }, numEntriesLoaded: num => { if (num === 0) return '未載入任何項目'; if (num === 1) return '已載入 1 筆'; return `已載入 ${num} 筆`; }, numOptionsAvailable: num => { if (num === 0) return '沒有可用的選項'; if (num === 1) return '有 1 個可用選項'; return `有 ${num} 個可用選項`; }, numOptionsSelected: num => { if (num === 0) return '未選擇任何項目'; if (num === 1) return '已選擇 1 個項目'; return `${num} 選擇項目`; }, numSelected: num => { if (num === 0) return '未選取'; return `已選 ${num} 項`; }, numTotal: num => `共 ${num}`, ok: 'OK', onThisPage: '本頁內容', optionPosition: (label, position, total) => `${label}，第 ${position} 項，共 ${total} 項`, page: 'Page', pauseAnimation: '暫停動畫', playAnimation: '播放動畫', previousPage: 'Previous page', previousSlide: '上一張幻燈片', progress: '進度', quarter: '季度', rangeSelected: (start, end) => `已選擇 ${start} 至 ${end}`, // Calendar range selection rangeSelectingFrom: date => `正在選擇從 ${date} 開始的範圍…`, remove: '移除', reset: '重置', resize: '調整大小', scrollableRegion: '可捲動区域', scrollToEnd: '捲至頁尾', scrollToStart: '捲至頁首', search: '搜尋', sectionPages: '區塊頁面', sections: '區塊', selectAColorFromTheScreen: '從螢幕中選擇一種顏色', numRowsSelected: num => { if (num === 0) return '未選取任何列'; return `已選取 ${num} 列`; }, pageChanged: (page, total) => `第 ${page} 頁，共 ${total} 頁`, reorderRow: '調整列順序', resizeColumn: '調整欄寬', rowDropped: position => `列已放置到第 ${position} 位`, rowLifted: (position, total) => `列已提起，第 ${position} 位，共 ${total} 列。使用上下方向鍵移動，空白鍵放下，Escape 取消。`, rowMoved: (position, total) => `第 ${position} 位，共 ${total} 列`, rowReorderCanceled: '已取消調整順序', selectAllRows: '選取所有列', selectDate: '選擇日期', selectDateTime: 'Select date and time', selectRow: '選取列', sortedByColumn: (column, direction) => `已依${column}排序，${direction === 'ascending' ? '遞增' : '遞減'}`, sortingCleared: '已取消排序', // Date picker selectTime: '選擇時間', showingPanelSpan: (first, last) => `正在顯示 ${first} – ${last}`, showingSinglePanel: month => `正在顯示 ${month}`, showLess: '顯示更少', showMore: '顯示更多', showPassword: '顯示密碼', skipToContent: '跳至主內容', slideNum: slide => `幻燈片 ${slide}`, timeInputBadInput: '請輸入有效的時間。', timeInputRangeOverflow: '時間太晚。', timeInputRangeUnderflow: '時間太早。', timeInputValueMissing: '請填寫此欄位。', timePlaceholderDayPeriod: '--', timePlaceholderHour: 'hh', timePlaceholderMinute: 'mm', timePlaceholderSecond: 'ss', // Time input timeSegmentDayPeriod: 'Day period', timeSegmentHour: '時', timeSegmentMinute: '分', timeSegmentSecond: '秒', toggleColorFormat: '切換顏色格式', weekInputRangeOverflow: 'Week is too late.', weekInputRangeUnderflow: 'Week is too early.', weekInputValueMissing: 'Please select a week.', weekLabel: week => `CW ${week}`, wizardStep: (step, total) => `第 ${step} 步，共 ${total} 步`, year: '年', zoomIn: '放大', zoomOut: '縮小', documentViewerContinuous: 'Continuous', documentViewerFitHeight: 'Fit to height', documentViewerFitWidth: 'Fit to width', documentViewerLoadError: '無法載入頁面', documentViewerLoadErrorHint: '請檢查您的網路連線', documentViewerPages: 'Pages', documentViewerRotateLeft: 'Rotate left', documentViewerRotateRight: 'Rotate right', documentViewerSinglePage: 'Single page', documentViewerZoom: 'Zoom', editorAi: 'AI', editorAiSuggestions: 'AI 建議', editorDelete: '刪除', editorHideDeletedPages: '隱藏已刪除頁面', editorPage: page => `第 ${page} 頁`, editorRotate: '旋轉 90°', editorSelectAll: (selected, total) => `全選（${selected}/${total}）`, editorSplit: '分割', editorUser: '使用者', editorZoom: '縮放', editorZoomIn: '放大', previewPage: page => `第 ${page} 頁`, save: '儲存', scanCancelBack: '返回編輯', scanCancelConfirm: '取消上傳', scanCancelMessage: '若取消，檔案將不會上傳，且變更會遺失。此操作無法復原。', scanCancelTitle: '取消上傳？', scanFilesDisplayError: '無法顯示檔案', scanFilesLoading: '正在載入檔案...', scanInvalidSession: '工作階段無效，請重新開始流程。', scanSaveErrorBack: '返回編輯', scanSaveErrorMessage: '儲存時發生錯誤。您可以重試或返回編輯。', scanSaveErrorRetry: '重試', scanSaveErrorTitle: '儲存時發生錯誤', scanSaving: '正在建立檔案', scanSessionLoading: '正在載入 edScan 工作階段...', scanTitle: 'AI 輔助頁面編輯', uploadDragAndDropDescription: '您可以將檔案拖曳到此處，或透過按鈕選擇檔案。', uploadDragAndDropTitle: '上傳檔案', uploadDropFile: '拖放檔案', uploadDropFiles: '拖放檔案', uploadDuplicateFile: name => `${name} 已在清單中`, uploadFailed: '檔案上傳失敗', uploadFileCountSummary: (count, size) => `${count} 個檔案 · ${size}`, uploadFileTooLarge: (name, size) => `檔案 ${name} 太大。允許的最大大小為 ${size} MB。`, uploadFileTypeNotAllowed: type => `不支援的檔案類型：${type}`, uploadLimitExceeded: size => `檔案超過 ${size} MB 上傳限制`, uploadLimitsExceeded: size => `檔案超過 ${size} MB 上傳限制`, uploadOr: '或', uploadPreviewFile: name => `預覽：${name}`, uploadProgress: '檔案上傳中...', uploadRemoveFile: name => `移除：${name}`, uploadRetryFile: name => `重試: ${name}`, uploadSelectFile: '選擇檔案', uploadSelectFiles: '選擇檔案', uploadSuccess: (done, total) => `已上傳 ${done}/${total} 個檔案`, uploadTitle: '上傳檔案', uploadTooManyFiles: max => `最多可以上傳 ${max} 個檔案`, $code: 'zh-tw', $dir: 'ltr', $name: '正體中文' }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "translation",
            "module": "translations/zh-tw.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "utilities/image-loader.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ImageLoader",
          "members": [
            {
              "kind": "field",
              "name": "queue",
              "type": {
                "text": "ImageLoadingTask<T>[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "activeCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "controllers",
              "type": {
                "text": "AbortController[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "FALLBACK_IMAGE",
              "privacy": "private",
              "static": true,
              "readonly": true
            },
            {
              "kind": "method",
              "name": "load",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "tasks",
                  "type": {
                    "text": "ImageLoadingTask<T>[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "cancelAll",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "fillConcurrencySlots",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "fetchNext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "fetch",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<string>"
                }
              },
              "parameters": [
                {
                  "name": "url",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "signal",
                  "type": {
                    "text": "AbortSignal"
                  }
                }
              ]
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ImageLoader",
          "declaration": {
            "name": "ImageLoader",
            "module": "utilities/image-loader.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/active-elements.js",
      "declarations": [
        {
          "kind": "function",
          "name": "activeElements",
          "return": {
            "type": {
              "text": "Generator<Element>"
            }
          },
          "parameters": [
            {
              "name": "activeElement",
              "default": "document.activeElement",
              "type": {
                "text": "Element | null"
              }
            }
          ],
          "description": "Use a generator so we can iterate and possibly break early."
        },
        {
          "kind": "function",
          "name": "getDeepestActiveElement"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "activeElements",
          "declaration": {
            "name": "activeElements",
            "module": "internal/active-elements.js"
          }
        },
        {
          "kind": "js",
          "name": "getDeepestActiveElement",
          "declaration": {
            "name": "getDeepestActiveElement",
            "module": "internal/active-elements.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/anchor-aria.js",
      "declarations": [
        {
          "kind": "function",
          "name": "resolveAnchorAriaTarget",
          "return": {
            "type": {
              "text": "Promise<HTMLElement | null>"
            }
          },
          "parameters": [
            {
              "name": "anchor",
              "type": {
                "text": "Element | null"
              }
            }
          ],
          "description": "Resolves the node that actually carries a trigger's ARIA semantics. eurodata-ui hosts are\nintentionally role-less, so for an `<ed-button>` the semantic node is its internal native\nbutton/anchor (`[part~=\"base\"]`); any other element carries its own semantics. Returns null\ninstead of throwing when the internal node isn't available (e.g. before upgrade) — callers\nshould skip their sync then and retry on the next state change."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "resolveAnchorAriaTarget",
          "declaration": {
            "name": "resolveAnchorAriaTarget",
            "module": "internal/anchor-aria.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/computed-style.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "computedStyleMap",
          "default": "new WeakMap<Element, CSSStyleDeclaration>()"
        },
        {
          "kind": "function",
          "name": "getComputedStyle",
          "return": {
            "type": {
              "text": "CSSStyleDeclaration | null"
            }
          },
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "computedStyleMap",
          "declaration": {
            "name": "computedStyleMap",
            "module": "internal/computed-style.js"
          }
        },
        {
          "kind": "js",
          "name": "getComputedStyle",
          "declaration": {
            "name": "getComputedStyle",
            "module": "internal/computed-style.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/date-utils.js",
      "declarations": [
        {
          "kind": "function",
          "name": "clipForLog",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "s",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Clip a consumer-supplied string before it reaches the logger, bounding console output so a\ndeliberately huge attribute value cannot flood the console. 64 chars is comfortably longer\nthan any well-formed date/time/datetime wire string."
        },
        {
          "kind": "function",
          "name": "isoWeekNumber",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "d",
              "type": {
                "text": "Date"
              }
            }
          ],
          "description": "Compute the ISO 8601 week number for a given local date.\n\nAlgorithm: the ISO week that contains Thursday is always the week of the year that Thursday\nfalls in. We shift the date to the Thursday of its ISO week, then count how many full weeks\nhave elapsed since Jan 1 of that Thursday's year.\n\nYear-boundary cases handled correctly:\n- Dec 28–31 may belong to the NEXT year's W01 when their Thursday falls in January.\n- Jan 1–3 may belong to the PREVIOUS year's W52/W53 when their Thursday falls in December."
        },
        {
          "kind": "function",
          "name": "isoWeekYear",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "d",
              "type": {
                "text": "Date"
              }
            }
          ],
          "description": "Returns the ISO 8601 year that contains the ISO week of `d`.\n\nThis differs from `d.getFullYear()` for days near year boundaries — e.g. Monday 2025-12-29\nbelongs to 2026-W01, so its ISO year is 2026."
        },
        {
          "kind": "function",
          "name": "parseIsoWeek",
          "return": {
            "type": {
              "text": "{ year: number; week: number } | null"
            }
          },
          "parameters": [
            {
              "name": "s",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Parse a `'YYYY-Www'` string (e.g. `'2026-W22'`) and return `{ year, week }`.\nReturns `null` when the string is malformed or the week number is outside 1–53.\n\nNote: this does NOT validate that week 53 actually exists in the given year — that\nvalidation belongs to the picker's constraint-validation layer."
        },
        {
          "kind": "function",
          "name": "isoWeekToMonday",
          "return": {
            "type": {
              "text": "Date"
            }
          },
          "parameters": [
            {
              "name": "year",
              "type": {
                "text": "number"
              }
            },
            {
              "name": "week",
              "type": {
                "text": "number"
              }
            }
          ],
          "description": "Return the local `Date` of the Monday that starts ISO week `week` of `year`.\n\nAlgorithm (ISO 8601 §4.3.2):\n1. Find Jan 4 of `year` — Jan 4 is always in W01 (because the ISO week containing\n   Thursday is W01, and Jan 4 is guaranteed to be in that week for any year).\n2. Find the Monday of that week (W01 Monday).\n3. Add `(week - 1) * 7` days."
        },
        {
          "kind": "function",
          "name": "toIsoWeekString",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "d",
              "type": {
                "text": "Date"
              }
            }
          ],
          "description": "Format a local date as its ISO 8601 week string `'YYYY-Www'` (week zero-padded to 2 digits).\n\nUses the ISO year (see isoWeekYear) so dates near year boundaries are attributed to\nthe correct year — e.g. 2015-12-31 → `'2015-W53'`, 2016-01-01 → `'2015-W53'`."
        },
        {
          "kind": "function",
          "name": "parseLocalDateString",
          "return": {
            "type": {
              "text": "Date | null"
            }
          },
          "parameters": [
            {
              "name": "str",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Parse a `'YYYY-MM-DD'` string as a local date. Returns `null` for anything else."
        },
        {
          "kind": "function",
          "name": "toDateString",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "d",
              "type": {
                "text": "Date"
              }
            }
          ],
          "description": "Format a date as `'YYYY-MM-DD'` (local)."
        },
        {
          "kind": "function",
          "name": "normalizeDate",
          "return": {
            "type": {
              "text": "Date | null"
            }
          },
          "parameters": [
            {
              "name": "input",
              "type": {
                "text": "Date | string | null"
              }
            },
            {
              "name": "propName",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "owner",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Normalize a `Date | string | null` input to `Date | null`, with `logger.warn` on garbage strings.\n`owner` is the element tag used in the warning prefix (e.g. `'ed-calendar'`, `'ed-date-input'`)."
        },
        {
          "kind": "function",
          "name": "isSameLocalDay",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "a",
              "type": {
                "text": "Date"
              }
            },
            {
              "name": "b",
              "type": {
                "text": "Date"
              }
            }
          ],
          "description": "True when `a` and `b` are the same local calendar day."
        },
        {
          "kind": "function",
          "name": "parseLocalDateTimeString",
          "return": {
            "type": {
              "text": "Date | null"
            }
          },
          "parameters": [
            {
              "name": "str",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Parse a datetime string as a local datetime. Returns `null` for anything else.\n\nAccepts:\n- `\"YYYY-MM-DDTHH:mm\"` (ISO 8601 local, minute precision)\n- `\"YYYY-MM-DDTHH:mm:ss\"` (ISO 8601 local, second precision)\n- `\"YYYY-MM-DD HH:mm\"` (space-separated, minute precision)\n- `\"YYYY-MM-DD HH:mm:ss\"` (space-separated, second precision)\n\nThe `T` / space separator is lenient on input; output always uses `T` (see `toDateTimeString`).\nNo `Z` / timezone offset is accepted — local only, matching the family's local-date contract.\n\nAll parsed components are round-trip-validated (`new Date(y, mo-1, d, h, mi, s)` is\nreconstructed and compared) so out-of-range values (month 13, hour 25, etc.) return `null`.\n\nDST note: a wall-clock time that does not exist because of a forward DST transition (e.g.\n`02:30` on a spring-forward day) fails the round-trip check — the `Date` constructor shifts\nit past the gap — and is therefore rejected as `null`. This is intentional (the instant does\nnot exist locally), but can surprise a user who types such a value by hand."
        },
        {
          "kind": "function",
          "name": "toDateTimeString",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "d",
              "type": {
                "text": "Date"
              }
            }
          ],
          "description": "Format a datetime as `'YYYY-MM-DDTHH:mm'` (local, minute precision, `T` separator, no `Z`).\n\nReuses toDateString for the date half. Seconds are not included — this is the\nminute-precision projection. Use toDateTimeStringWithSeconds when the value must\npreserve a seconds component (e.g. a seconds-aware format)."
        },
        {
          "kind": "function",
          "name": "toDateTimeStringWithSeconds",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "d",
              "type": {
                "text": "Date"
              }
            }
          ],
          "description": "Format a datetime as `'YYYY-MM-DDTHH:mm:ss'` (local, second precision, `T` separator, no `Z`).\n\nThe seconds-preserving counterpart to toDateTimeString. Callers that own a\nformat-aware projection (e.g. `<ed-datetime-picker>` / `<ed-datetime-input>`) keep the\nfull-precision wire so a value set before a seconds-bearing format is known is not\nsilently truncated to minutes."
        },
        {
          "kind": "function",
          "name": "toTimeString",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "d",
              "type": {
                "text": "Date"
              }
            }
          ],
          "description": "Format a `Date`'s local time-of-day as `'HH:mm:ss'`.\n\nUsed by the time-only controls (`<ed-time-input>` / `<ed-time-picker>`) to accept a `Date`\nfor `min`/`max`/`value` and use only its time portion. Precision the consuming format does\nnot show is dropped downstream (the segment adapter / validator truncates to the wire length)."
        },
        {
          "kind": "function",
          "name": "normalizeDateTime",
          "return": {
            "type": {
              "text": "Date | null"
            }
          },
          "parameters": [
            {
              "name": "input",
              "type": {
                "text": "Date | string | null"
              }
            },
            {
              "name": "propName",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "owner",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Normalize a `Date | string | null` input to `Date | null` at datetime (minute) precision,\nwith `logger.warn` on unrecognized strings.\n\nMirrors normalizeDate but parses via parseLocalDateTimeString so the full\ndate + time is preserved. Strings must be `YYYY-MM-DDTHH:mm` or `YYYY-MM-DDTHH:mm:ss`\n(with `T` or space separator).\n\n`owner` is the element tag used in the warning prefix (e.g. `'ed-datetime-picker'`)."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "clipForLog",
          "declaration": {
            "name": "clipForLog",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "isoWeekNumber",
          "declaration": {
            "name": "isoWeekNumber",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "isoWeekYear",
          "declaration": {
            "name": "isoWeekYear",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "parseIsoWeek",
          "declaration": {
            "name": "parseIsoWeek",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "isoWeekToMonday",
          "declaration": {
            "name": "isoWeekToMonday",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "toIsoWeekString",
          "declaration": {
            "name": "toIsoWeekString",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "parseLocalDateString",
          "declaration": {
            "name": "parseLocalDateString",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "toDateString",
          "declaration": {
            "name": "toDateString",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "normalizeDate",
          "declaration": {
            "name": "normalizeDate",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "isSameLocalDay",
          "declaration": {
            "name": "isSameLocalDay",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "parseLocalDateTimeString",
          "declaration": {
            "name": "parseLocalDateTimeString",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "toDateTimeString",
          "declaration": {
            "name": "toDateTimeString",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "toDateTimeStringWithSeconds",
          "declaration": {
            "name": "toDateTimeStringWithSeconds",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "toTimeString",
          "declaration": {
            "name": "toTimeString",
            "module": "internal/date-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "normalizeDateTime",
          "declaration": {
            "name": "normalizeDateTime",
            "module": "internal/date-utils.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/debounce.js",
      "declarations": [
        {
          "kind": "function",
          "name": "debounce",
          "parameters": [
            {
              "name": "delay",
              "type": {
                "text": "number"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "debounce",
          "declaration": {
            "name": "debounce",
            "module": "internal/debounce.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/default-value.js",
      "declarations": [
        {
          "kind": "function",
          "name": "defaultValue",
          "parameters": [
            {
              "name": "propertyName",
              "default": "'value'"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "defaultValue",
          "declaration": {
            "name": "defaultValue",
            "module": "internal/default-value.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/range-form-value.js",
      "declarations": [
        {
          "kind": "function",
          "name": "buildRangeFormData",
          "return": {
            "type": {
              "text": "FormData | null"
            }
          },
          "parameters": [
            {
              "name": "name",
              "type": {
                "text": "string | null"
              }
            },
            {
              "name": "start",
              "type": {
                "text": "string | null"
              }
            },
            {
              "name": "end",
              "type": {
                "text": "string | null"
              }
            }
          ],
          "description": "Pure helper for building a two-pair FormData for range inputs.\n\nSpec contract (architect Blocker 2): the ISO-8601 interval string\n\"YYYY-MM-DD/YYYY-MM-DD\" is the JS-property wire ONLY and must NEVER reach\nFormData. Submission always goes through this helper, writing two independent\nkeys: `<name>-start` and `<name>-end`.\n\nRules:\n- Returns `null` when `name` is null/empty (no form association).\n- Both halves are appended independently. A half is omitted when its value is null.\n- Returns `null` (no submission entry) when both halves are null — so a completely\n  empty range control contributes nothing to FormData, matching native behavior.\n- Completeness (both halves non-null) is NOT enforced here; that is the validator's job.\n  This lets a partial range write its available half (e.g. start-only) so autocomplete\n  restore and form-state restore can round-trip partial state cleanly."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "buildRangeFormData",
          "declaration": {
            "name": "buildRangeFormData",
            "module": "internal/range-form-value.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/ed-picker-base.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdPickerBase",
          "members": [
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isMirroring",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set to `true` for the synchronous duration of `super.updateValidity()` so that\n`_handleInputInvalid` can tell mirror-induced `ed-invalid` events apart from real user\ninvalids. `MirrorValidator` calls `inner.checkValidity()`, which dispatches a composed\n`EdInvalidEvent` — without this guard that would flip `hasInteracted` on the untouched\npicker, showing the error UI on page load."
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "_wireInnerInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Point `input` at the current inner element so `MirrorValidator` (which reads `element.input`)\nand the `setValidity` anchor resolve to it. The base declares `input` as a property, so this\nis a plain assignment rather than a getter override (overriding a property with an accessor is\na TS error). Called from `willUpdate` and `firstUpdated` before `super` runs `updateValidity()`.\n\nThe inner is an `EdFormAssociatedElement`, not a literal `HTMLInputElement`, but satisfies the\nstructural contract (`value` / `validity` / `validationMessage` / `checkValidity`), hence the\ncast. `_innerInput` is `undefined` before the first render / during SSR — `MirrorValidator`\ndegrades gracefully to valid when `input` is absent."
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "The inner input owns all visible chrome AND its own `aria-invalid` (state-forwarding\ncontract, see this class's header). The picker host must not double-manage `aria-invalid`,\nso it exposes no `validationTarget`. The validity engine still anchors `setValidity` on\n`this.input` (the inner) via the `this.validationTarget || this.input` fallback in\n`updateValidity()` (~line 452 of `ed-form-associated-element.ts`) — popup anchoring stays\ncorrect.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "description": "Tracks whether the consumer slotted rich `hint` content into the picker.\n\nThe inner input renders the active hint-area message (hint text, consumer `error`, or the\nvalidation message) as the FALLBACK content of its own `hint` slot. Forwarding an assigned\n`<slot slot=\"hint\">` into the inner unconditionally would suppress that fallback (a slotted\nnode beats fallback), so the inner would show the error STATE but never the message TEXT.\nPickers therefore forward the `hint` slot only when the consumer actually provides slotted\ncontent — see `_renderHintSlot()`. Plain `hint`-attribute text still reaches the inner via the\nforwarded `.hint` property and renders through the inner's own message path.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "_renderHintSlot",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult | typeof nothing"
                }
              },
              "description": "Forward the consumer's `hint` slot into the inner input — but only when the consumer actually\nslotted content, so an empty forwarded slot never masks the inner's own message fallback.\nBind it inside the inner input's template where the `slot=\"hint\"` child would go."
            },
            {
              "kind": "field",
              "name": "_innerInput",
              "type": {
                "text": "PickerInnerInput | undefined"
              },
              "privacy": "protected",
              "description": "The inner input element (ed-date-input, ed-time-input, etc.).\nMay be `undefined` during SSR / before first render.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_triggerEl",
              "type": {
                "text": "HTMLButtonElement | undefined"
              },
              "privacy": "protected",
              "description": "The popup trigger button slotted inside the inner input's `end` slot.\nMay be `undefined` during SSR / before first render.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_commitFromSurface",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "_next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Called by the subclass's surface change handler (e.g. calendar `ed-change`) when the\nuser selects a new value. The base class does NOT auto-close — subclasses decide when to\ncall `hide()` after committing.\n\nThis hook is **optional** — the default is a no-op. Single-string surface pickers\n(`ed-date-picker`, `ed-time-picker`) override it to commit and optionally close. Pickers\nthat merge multiple independent surface halves (e.g. `ed-datetime-picker`, which tracks\n`_pendingDate` and `_pendingTime` separately) skip this hook entirely and route directly\nthrough `_commitWire`."
            },
            {
              "kind": "method",
              "name": "_commitPending",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Commit the buffered pending selection. Called by `_handleOk` when the user presses OK.\n\nSubclasses must implement this: write the pending value through their own commit tail\n(writing the inner input, setting `valueHasChanged`, syncing, dispatching `change`,\nand closing the popup). Subclasses that gate confirm via `_confirmSupported = false`\nstill need a (no-op) implementation to satisfy the abstract contract."
            },
            {
              "kind": "field",
              "name": "_handleOk",
              "privacy": "protected",
              "description": "OK button handler. Delegates to `_commitPending()` which is responsible for\nclosing the popup after committing."
            },
            {
              "kind": "field",
              "name": "_handleCancel",
              "privacy": "protected",
              "description": "Cancel button handler. Closes the popup. Subclasses clear pending state in\n`_onAfterClose()` — this handler intentionally does NOT clear it here."
            },
            {
              "kind": "method",
              "name": "_canCommit",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Whether the current selection (pending, or the committed value when no pending\nchange is in progress) is complete enough to commit — drives the OK button's\nenabled state. Defaults to `true`; confirm-supporting subclasses override to\ndisable OK for empty/incomplete selections (e.g. a range missing an endpoint)."
            },
            {
              "kind": "method",
              "name": "_renderFooterControls",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "{ slotted = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ slotted?: boolean }"
                  }
                },
                {
                  "description": "When `true` (the default), the wrapper `<div>` carries\n`slot=\"footer-controls\"` so it is projected into a child surface's named slot (the\npattern used by `ed-date-picker`, `ed-time-picker`, and `ed-date-range-picker`).\nPass `{ slotted: false }` when the footer is a **sibling** of the surfaces — as in\n`ed-datetime-picker`, where the dialog is `[calendar+list row] + [footer]` and the\nfooter must not be slotted into either surface.\n\nOnly call this when the footer should be rendered; the returned template has no\ngate of its own.",
                  "name": "options.slotted"
                }
              ],
              "description": "Render the OK/Cancel footer fragment."
            },
            {
              "kind": "method",
              "name": "_commitWire",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null"
                  }
                },
                {
                  "name": "{ close = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ close?: boolean }"
                  }
                }
              ],
              "description": "Shared commit tail for single-value pickers using confirm mode.\n\nPushes `wire` to the inner input, sets `valueHasChanged = true`, then in a\nmicrotask calls `_syncFromInner()` and dispatches `change`. When `close` is true\n(the default) it also calls `hide()`.\n\nThis is intentionally limited to the confirm-path commit tail. The broader\n`_commitFromSurface` rework (§13 decision 4 of the family plan) is a separate session."
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pickerOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "attribute": "picker-only",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the popup shows a Cancel / OK footer. A selection sets a pending value\nthat only commits to the inner input when OK is pressed. Cancel and Escape revert.\n\nNot all picker surfaces support confirm. If `confirm` is set on a picker where\n`_confirmSupported` is false, the footer is not rendered and a dev-time warning is emitted.",
              "attribute": "confirm",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_openOrigin",
              "type": {
                "text": "'trigger' | 'input' | 'programmatic' | null"
              },
              "privacy": "protected",
              "default": "null",
              "description": "Origin of the most-recent open, used for focus restoration on close.\n`null` when closed."
            },
            {
              "kind": "field",
              "name": "_confirmSupported",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "true",
              "description": "Whether this picker supports the `confirm` footer feature.\nSet to `false` in subclasses where confirm is not yet implemented (e.g. time-picker).\nWhen `confirm` is set but `_confirmSupported` is false, a one-time dev warning is emitted\nand the footer is not rendered."
            },
            {
              "kind": "field",
              "name": "_confirmActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the confirm feature is both requested and supported by this picker.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_confirmWarnedOnce",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Flag to ensure the unsupported-confirm warning is only emitted once."
            },
            {
              "kind": "field",
              "name": "_inputReadonly",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the inner input should be made read-only.\nTrue when either `readonly` OR `picker-only` is set.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_triggerDisabled",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the popup trigger button should be disabled.\nTrue when `disabled` OR `readonly` (but NOT when only `picker-only`).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Opens the popup. No-op if `disabled` or `readonly`."
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Closes the popup."
            },
            {
              "kind": "method",
              "name": "_waitForOpenSettle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Resolve once the open-state transition settles — as soon as EITHER `ed-after-show` or\n`ed-after-hide` fires from this element.\n\nBoth `show()` and `hide()` await this. A cancelled `ed-show` / `ed-hide` (via\n`preventDefault()`) flips `open` straight back, which dispatches the OPPOSITE after-event\nrather than the one a single-event wait expected — so awaiting only `ed-after-show` (or only\n`ed-after-hide`) would hang forever and leak its listener. Listening for both and removing\nboth on the first settle guarantees the promise always resolves and no listener leaks,\nregardless of which direction the transition ends up resolving."
            },
            {
              "kind": "method",
              "name": "_handleOpenChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              }
            },
            {
              "kind": "method",
              "name": "_focusInitialSurfaceEl",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Focus the surface's initial element after opening.\nOverride to target a specific element (e.g. calendar cell, clock hour wheel).\nThe default implementation is a no-op — subclasses must override for keyboard accessibility."
            },
            {
              "kind": "method",
              "name": "_onAfterClose",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called by `_handleOpenChange` after the hide event fires and focus has been restored, but\nbefore `ed-after-hide` is dispatched. Override to reset surface-specific state\n(e.g. clear pending value, reset segment snapshot)."
            },
            {
              "kind": "method",
              "name": "_restoreFocusOnClose",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_restoreFocusToInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called when origin is `'input'` and focus needs to be restored on close.\nOverride to target a specific segment (date-picker tracks the segment snapshot).\nThe default delegates to the inner input's `focus()`."
            },
            {
              "kind": "method",
              "name": "_addOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_removeOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "_handleDocumentMouseDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleTriggerClick",
              "privacy": "protected",
              "description": "Click handler for the popup trigger button.\nSubclass render should bind: `@click=${this._handleTriggerClick}`."
            },
            {
              "kind": "field",
              "name": "_handleInputInput",
              "privacy": "protected",
              "description": "`input` bridge: stops inner-input's event from escaping, syncs internal state, re-fires\nfrom host. Subclass render should bind: `@input=${this._handleInputInput}`."
            },
            {
              "kind": "field",
              "name": "_handleInputChange",
              "privacy": "protected",
              "description": "`change` bridge: stops inner-input's event, syncs, re-fires from host.\nSubclass render should bind: `@change=${this._handleInputChange}`."
            },
            {
              "kind": "field",
              "name": "_handleInputInvalid",
              "privacy": "protected",
              "description": "`ed-invalid` bridge: stops propagation, marks interaction, syncs.\nSubclass render should bind: `@ed-invalid=${this._handleInputInvalid}`.\n\nGuard: `MirrorValidator` calls `inner.checkValidity()` inside our own `updateValidity()`,\nwhich re-dispatches a composed `EdInvalidEvent` (composed: true, so it bubbles up through\nthe picker's shadow root). That is a programmatic probe — flipping `hasInteracted` here\nwould show the error UI on an untouched required picker on page load. `_isMirroring` is\ntrue for exactly that window; when set we stop propagation but skip the interaction mark."
            },
            {
              "kind": "field",
              "name": "_handleInputClear",
              "privacy": "protected",
              "description": "`ed-clear` bridge: the inner input's clear button was activated. Stop the inner's event and\nre-emit from the picker host so `event.target` is the picker (parity with the input/change\nbridges). The value sync rides on the `input` / `change` events the inner also dispatches on\nclear, which flow through `_handleInputInput` / `_handleInputChange`.\nSubclass render should bind: `@ed-clear=${this._handleInputClear}`."
            },
            {
              "kind": "method",
              "name": "_syncFromInner",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Mirror the inner input's `value` into this picker's `_pickerValue`.\nSubclasses own `_pickerValue` storage — this calls the abstract `_onInnerValueChange()` hook\nso `EdPickerBase` doesn't need to know the concrete type or backing field.\n\nValue-feedback-loop guard: the inner input value is pushed only to `_pickerValue`, NOT back\nto the inner input itself — preventing the \"wipe partial segments\" footgun from #35.\n\nValidity is now driven reactively by `static validators` on every `updateValidity()` cycle\n(triggered by `willUpdate` → `requestUpdate('value')` in subclasses). No manual\n`_refreshValidity()` call is needed here."
            },
            {
              "kind": "method",
              "name": "_onInnerValueChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "_next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Called by `_syncFromInner` with the inner input's current value wire string.\nOverride to update the picker's backing value field and signal Lit.\nThe base implementation is a no-op — subclasses MUST override."
            },
            {
              "kind": "field",
              "name": "_inputKind",
              "type": {
                "text": "'segments' | 'label'"
              },
              "privacy": "protected",
              "description": "Describes the inner input type this picker mounts.\n- `'segments'` (default) — the standard segmented date/time input (`<ed-date-input>`,\n  `<ed-time-input>`, etc.). Segment-specific APIs (`activeSegmentType`, per-segment\n  `focus({segment})`) are available.\n- `'label'` — a read-only display-label element (`<ed-week-label-input>`). Segment\n  APIs are absent; callers must guard against them before use.\n\nSubclasses override when the input kind varies by configuration (e.g. `EdDatePicker`\nreturns `'label'` when `type === 'week'`).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "blur",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "_isRange",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "readonly": true,
              "default": "false",
              "description": "Whether this picker operates in range mode (two values → two FormData pairs).\n`false` for all single-value pickers; `true` for range pickers (subclass sets it).\n\nWhen `true`, `setFormValue` writes two entries keyed `name-start` / `name-end`.\nSingle-value pickers never set this; the branch is a seam for Phase C (#39)."
            },
            {
              "kind": "method",
              "name": "_setFormValue",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null | FormData"
                  }
                }
              ],
              "description": "Write FormData. For single-value pickers this delegates to the standard `setValue()`;\nfor range pickers it writes two entries (`name-start` / `name-end`).\n\nCall this instead of `setValue()` in subclasses that participate in form submission."
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<EdFormAssociatedElement['setValue']>"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Block the base-class `setValue(string, string)` path that would submit the interval wire\nstring (e.g. `2024-01-01/2024-12-31`) directly under `name` for range pickers.\n\nThe base class `willUpdate` calls `setValue(this.value, this.value)` whenever `value`\nchanges; for range pickers `this.value` is the solidus interval string which must NEVER\nreach FormData — only the range-form-value pairs (`name-start` / `name-end`) written via\n`_setFormValue` are correct. Swallow the string branch; FormData calls pass through.\n\nSingle-value pickers are unaffected (`_isRange` is false → the guard is a no-op for them).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "Event"
              },
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "fieldName": "readonly"
            },
            {
              "name": "picker-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "fieldName": "pickerOnly"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "fieldName": "open"
            },
            {
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the popup shows a Cancel / OK footer. A selection sets a pending value\nthat only commits to the inner input when OK is pressed. Cancel and Escape revert.\n\nNot all picker surfaces support confirm. If `confirm` is set on a picker where\n`_confirmSupported` is false, the footer is not rendered and a dev-time warning is emitted.",
              "fieldName": "confirm"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EdPickerBase",
          "declaration": {
            "name": "EdPickerBase",
            "module": "internal/ed-picker-base.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/file-picker.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Reactive controller encapsulating file-selection logic shared by `ed-upload` and\n`ed-file-input`: drag & drop, `accept` matching, size/count limits, deduplication, and the\naccepted/rejected lists. It owns no upload/transport concerns — hosts that upload (e.g.\n`ed-upload`) layer that on top, keyed by `PickedFile.name`.",
          "name": "FilePickerController",
          "members": [
            {
              "kind": "field",
              "name": "files",
              "type": {
                "text": "PickedFile[]"
              },
              "default": "[]",
              "description": "The currently accepted files."
            },
            {
              "kind": "field",
              "name": "rejected",
              "type": {
                "text": "Array<PickedFile & { reason: RejectReason }>"
              },
              "default": "[]",
              "description": "Content-rejected files (`type` / `too-large` / `total-exceeded`), kept as persistent rows so\nthe host can render why they failed. List-state rejections (`duplicate` / `too-many`) never\nappear here — see RejectReason."
            },
            {
              "kind": "field",
              "name": "dragging",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether a drag is currently over the drop target."
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "ext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "isAccepted",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "File"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "reject",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "File"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "RejectReason"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "addFiles",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "list",
                  "type": {
                    "text": "FileList | File[]"
                  }
                }
              ],
              "description": "Runs a `FileList`/`File[]` through validation, appending survivors to `files`."
            },
            {
              "kind": "method",
              "name": "removeFile",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Removes a file from the selection, or dismisses a rejected row."
            },
            {
              "kind": "method",
              "name": "clear",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Clears the entire selection, accepted and rejected alike."
            },
            {
              "kind": "method",
              "name": "setFiles",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "files",
                  "type": {
                    "text": "File[]"
                  }
                }
              ],
              "description": "Replaces `files` directly from an external `File[]` — no `accept`/size/deduplication validation, no\npersistent rejected rows for the new list. For mirroring a host's externally assigned value\n(e.g. `el.value = […]`, form reset) into the visible list, as opposed to `addFiles`, which is\nfor a real user selection (dialog/drag & drop). Deliberately does **not** call `onChange`: the\nhost is the one setting `files` here, so it already knows about the change and is responsible\nfor deciding whether that warrants its own public event."
            },
            {
              "kind": "method",
              "name": "handleDragOver",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDragLeave",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDrop",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInputChange",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ],
              "description": "Reads `input.files`, then resets `input.value` so the same file can be re-selected."
            }
          ],
          "jsDoc": "/**\n * Reactive controller encapsulating file-selection logic shared by `ed-upload` and\n * `ed-file-input`: drag & drop, `accept` matching, size/count limits, deduplication, and the\n * accepted/rejected lists. It owns no upload/transport concerns — hosts that upload (e.g.\n * `ed-upload`) layer that on top, keyed by `PickedFile.name`.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FilePickerController",
          "declaration": {
            "name": "FilePickerController",
            "module": "internal/file-picker.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/format-parser.js",
      "declarations": [
        {
          "kind": "function",
          "name": "parseFormat",
          "return": {
            "type": {
              "text": "FormatPart<DateSegmentType>[] | null"
            }
          },
          "parameters": [
            {
              "name": "format",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "kind",
              "type": {
                "text": "'date'"
              }
            }
          ],
          "description": "Parse a format string into ordered parts for the given `kind`.\n\nReturns `null` when the format is invalid for the requested kind. Callers should warn and fall\nback to the locale default on `null`.\n\nPhase A: `kind = 'date'` (tokens: `DD`, `MM`, `YYYY`).\nPhase B: `kind = 'time'` (24h tokens: `HH`/`H`, `mm`/`m`, `ss`/`s`;\n  12h tokens: `hh`/`h` + required `a`/`A` day period).\nPhase C: `kind = 'datetime'` (a complete date set + a complete time set, either order,\n  separated by `T` or a space)."
        },
        {
          "kind": "function",
          "name": "parseFormat",
          "return": {
            "type": {
              "text": "FormatPart<TimeSegmentType>[] | null"
            }
          },
          "parameters": [
            {
              "name": "format",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "kind",
              "type": {
                "text": "'time'"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "parseFormat",
          "return": {
            "type": {
              "text": "FormatPart<DateSegmentType | TimeSegmentType>[] | null"
            }
          },
          "parameters": [
            {
              "name": "format",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "kind",
              "type": {
                "text": "'datetime'"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "parseFormat",
          "return": {
            "type": {
              "text": "FormatPart[] | null"
            }
          },
          "parameters": [
            {
              "name": "format",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "kind",
              "optional": true,
              "type": {
                "text": "FormatKind"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "parseFormat",
          "return": {
            "type": {
              "text": "FormatPart[] | null"
            }
          },
          "parameters": [
            {
              "name": "format",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "kind",
              "default": "'date'",
              "type": {
                "text": "FormatKind"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "deriveLocaleFormat",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "locale",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Derive the default display format string for a locale (`\"DD.MM.YYYY\"` for de, `\"MM/DD/YYYY\"`\nfor en-US, `\"YYYY/MM/DD\"` for ja). Built from `Intl.DateTimeFormat().formatToParts` so segment\norder and separators follow the locale's conventions.\n\nThe locale-derived format always uses the `DD`/`MM`/`YYYY` tokens regardless of whether the\nlocale normally suppresses leading zeros — that is a display detail handled per-segment."
        },
        {
          "kind": "function",
          "name": "deriveLocaleTimeFormat",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "locale",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Derive the default time format string for a locale, honoring the locale's natural hour cycle.\n\nLocales that naturally prefer 12-hour time (e.g. en-US) produce `\"hh:mm a\"`;\n24-hour locales (e.g. de) produce `\"HH:mm\"`. The dayPeriod part's position in the\nformatted output determines where `a` is placed relative to `hh` and the separator.\n\nBuilt from `Intl.DateTimeFormat().formatToParts` without overriding `hourCycle`, so the\nlocale's natural preference is respected. A fixed reference at an AM hour (09:00) is used\nto keep the SSR output stable — `new Date()` of \"now\" must never be called here."
        },
        {
          "kind": "function",
          "name": "deriveLocaleDateTimeFormat",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "locale",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Derive the default display format string for a locale's datetime representation.\n\nComposes deriveLocaleFormat (date half) and deriveLocaleTimeFormat (time half)\njoined by a single space: `\"DD.MM.YYYY HH:mm\"` for de, `\"MM/DD/YYYY hh:mm a\"` for en-US.\n\nThe separator is always a space — `parseDateTimeFormat` recognizes both `T` and space boundaries.\nThe canonical wire format always uses `T` regardless of this display format."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "parseFormat",
          "declaration": {
            "name": "parseFormat",
            "module": "internal/format-parser.js"
          }
        },
        {
          "kind": "js",
          "name": "parseFormat",
          "declaration": {
            "name": "parseFormat",
            "module": "internal/format-parser.js"
          }
        },
        {
          "kind": "js",
          "name": "parseFormat",
          "declaration": {
            "name": "parseFormat",
            "module": "internal/format-parser.js"
          }
        },
        {
          "kind": "js",
          "name": "parseFormat",
          "declaration": {
            "name": "parseFormat",
            "module": "internal/format-parser.js"
          }
        },
        {
          "kind": "js",
          "name": "parseFormat",
          "declaration": {
            "name": "parseFormat",
            "module": "internal/format-parser.js"
          }
        },
        {
          "kind": "js",
          "name": "deriveLocaleFormat",
          "declaration": {
            "name": "deriveLocaleFormat",
            "module": "internal/format-parser.js"
          }
        },
        {
          "kind": "js",
          "name": "deriveLocaleTimeFormat",
          "declaration": {
            "name": "deriveLocaleTimeFormat",
            "module": "internal/format-parser.js"
          }
        },
        {
          "kind": "js",
          "name": "deriveLocaleDateTimeFormat",
          "declaration": {
            "name": "deriveLocaleDateTimeFormat",
            "module": "internal/format-parser.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/get-text.js",
      "declarations": [
        {
          "kind": "function",
          "name": "getText",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "root",
              "type": {
                "text": "Node | Iterable<Node>"
              },
              "description": "One or more nodes to get text content from."
            },
            {
              "name": "depth",
              "default": "0",
              "description": "By default, will just return element.textContent for any child elements instead of calling the function recursively.\n  Set to a positive integer to recurse that many levels. Generally a tradeoff between performance and accuracy."
            }
          ],
          "description": "Like textContent, but better:\n- Uses assignedNodes to get text content from slots (and falls back to content if nothing is slotted)\n- Ignores script and style elements"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "getText",
            "module": "internal/get-text.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/grid-focus.js",
      "declarations": [
        {
          "kind": "function",
          "name": "getCellWidgets",
          "return": {
            "type": {
              "text": "CellWidget[]"
            }
          },
          "parameters": [
            {
              "name": "cell",
              "type": {
                "text": "HTMLElement"
              }
            }
          ],
          "description": "Returns interactive widgets within a cell, classified by whether they consume\narrow keys. Walks the cell subtree but stops descending once an element is\nitself classified, so wrapping a widget in a layout `<div>` (e.g. for sizing)\ndoes not hide it from keyboard navigation."
        },
        {
          "kind": "class",
          "description": "Manages focused cell tracking and roving tabindex for grid components.\nOne cell has `tabindex=\"0\"` at a time; all others have `tabindex=\"-1\"`.\n\nPer WAI-ARIA grid pattern: if a cell contains a single atomic widget\n(button, link, checkbox, switch, …) focus is delegated directly to it.\nCells with arrow-consuming widgets (inputs, selects, sliders) or multiple\nwidgets keep focus on the cell itself; actions mode (see grid-keyboard-nav)\nis the entry point into those widgets.",
          "name": "GridFocusController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "GridControllerHost"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "focusedCell",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "focusedWidget",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "isGridNavigationDisabled",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "focusSyncTarget",
              "type": {
                "text": "EventTarget"
              },
              "privacy": "private",
              "description": "Where the focusin sync listens. Must be the shadow root, not the host: when\nfocus moves between two cells of the same shadow tree, the event path is\nclipped at the host (target and relatedTarget both retarget to the host, so\nper the DOM spec the event is not dispatched there) — a host-level listener\nonly ever sees focus *entering* the component. Falls back to the host for\nsynthetic hosts without a shadow root (calendar's PanelGridHost, which runs\nits own renderRoot-level sync).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            },
            {
              "kind": "field",
              "name": "handleFocusIn",
              "privacy": "private",
              "description": "Re-anchors the roving tabindex when focus enters a cell by any means the\nkeyboard controller didn't initiate (mouse click, programmatic focus).\nWithout this, arrow keys keep operating from the stale tracked cell until\nthe user tabs back to it. Walks composedPath() because focusin retargets\nacross shadow boundaries (e.g. focus landing inside an ed-checkbox)."
            },
            {
              "kind": "method",
              "name": "getFocusedCell",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              },
              "description": "Returns the currently tracked cell (grid position), or null if none."
            },
            {
              "kind": "method",
              "name": "getFocusedWidget",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "setFocusedWidget",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "focusedWidget",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getIsGridNavigationDisabled",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setIsGridNavigationDisabled",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "applyTabStop",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "isActive",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "description": "Marks a cell (and its widgets) as the active tab stop.\n\nPer WAI-ARIA grid pattern (\"Only one of the focusable elements contained by\nthe grid is included in the page tab sequence\"):\n- Single atomic widget cell: widget gets `tabindex=0`, cell gets `tabindex=-1`.\n- All other compositions: cell gets `tabindex=0`, widgets get `tabindex=-1`.\n\n`isActive=false` resets both the cell and its widgets to `tabindex=-1`."
            },
            {
              "kind": "method",
              "name": "setFocusedCell",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "options",
                  "default": "{}",
                  "type": {
                    "text": "SetFocusedCellOptions"
                  }
                }
              ],
              "description": "Updates the focused cell. Moves the page tab stop from the old cell (or its\ndelegated widget) to the new cell (or its delegated widget) and optionally\ncalls `focus()` on it.\n\nIf the cell contains a single atomic widget, focus is delegated to that\nwidget (per WAI-ARIA grid pattern). While in actions mode (grid navigation\ndisabled) focus is delegated to the first widget regardless of kind.\nIn all other cases (no widgets, single arrow-consuming, or multiple widgets)\nfocus stays on the cell and `focusedWidget` is reset to `null`."
            },
            {
              "kind": "method",
              "name": "scrollCellIntoView",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Scrolls a cell into the scroll container's optimal viewing region — the area\ninside its scroll-padding, which the host derives from sticky regions (pinned\ncolumn bands, sticky header/totals rows).\n\nThe controller owns this scroll instead of the UA (focus() is always called\nwith preventScroll) because engines disagree about scroll-padding during\nscroll-on-focus: Safari ignores it entirely, and Firefox misjudges it around\nsticky cells. Axes on which the cell (or an ancestor inside the scroller)\nis sticky are skipped — sticky elements are permanently visible on that axis,\nand scrolling toward their static position would just yank the viewport."
            },
            {
              "kind": "method",
              "name": "setupRovingTabindex",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Initializes roving tabindex across all cells. The first cell in the first\nrow gets the page tab stop (on the cell itself, or on its widget if that\ncell has a single atomic widget); all other cells and their widgets are\nmarked `tabindex=-1`.\nShould be called after `firstUpdated()`."
            },
            {
              "kind": "method",
              "name": "refresh",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Re-initializes roving tabindex if the currently tracked focused cell is no\nlonger in the DOM, or if it was never set (e.g. initial setup ran before\nany cells existed because data/columns were assigned after first render).\nAlso resets any newly-rendered widgets to `tabindex=-1` so they don't\nleak into the page tab sequence. Call this after rows are added or removed."
            }
          ],
          "jsDoc": "/**\n * Manages focused cell tracking and roving tabindex for grid components.\n * One cell has `tabindex=\"0\"` at a time; all others have `tabindex=\"-1\"`.\n *\n * Per WAI-ARIA grid pattern: if a cell contains a single atomic widget\n * (button, link, checkbox, switch, …) focus is delegated directly to it.\n * Cells with arrow-consuming widgets (inputs, selects, sliders) or multiple\n * widgets keep focus on the cell itself; actions mode (see grid-keyboard-nav)\n * is the entry point into those widgets.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "getCellWidgets",
          "declaration": {
            "name": "getCellWidgets",
            "module": "internal/grid-focus.js"
          }
        },
        {
          "kind": "js",
          "name": "GridFocusController",
          "declaration": {
            "name": "GridFocusController",
            "module": "internal/grid-focus.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/platform.js",
      "declarations": [
        {
          "kind": "function",
          "name": "isMac",
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        },
        {
          "kind": "function",
          "name": "isModKeyPressed",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "event",
              "type": {
                "text": "KeyboardEvent | MouseEvent"
              }
            }
          ],
          "description": "True when the platform's primary shortcut modifier is held — Cmd on Mac, Ctrl elsewhere.\n\nUse this in keyboard handlers that need to mirror native shortcuts (e.g. Ctrl/Cmd+A select-all).\nOn Mac, Ctrl is reserved for system emacs caret bindings inside text fields — accepting both\nmodifiers would trample those (Ctrl+A = move caret to start of line)."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isMac",
          "declaration": {
            "name": "isMac",
            "module": "internal/platform.js"
          }
        },
        {
          "kind": "js",
          "name": "isModKeyPressed",
          "declaration": {
            "name": "isModKeyPressed",
            "module": "internal/platform.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/grid-keyboard-nav.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Listens for `keydown` on the host and implements 2D grid navigation\n(arrow keys, Home/End, Ctrl+Home/End) per the WAI-ARIA grid pattern.\nManages an actions mode entered with Enter or F2 on cells whose widgets\nconsume arrows or whose cell holds more than one widget; inside actions\nmode Tab / Shift+Tab cycle through the cell's widgets, and Escape or a\nsecond F2 returns to grid navigation.",
          "name": "GridKeyboardNavController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "GridControllerHost"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "options",
              "type": {
                "text": "GridKeyboardNavOptions"
              },
              "privacy": "private",
              "default": "options"
            },
            {
              "kind": "field",
              "name": "grid",
              "type": {
                "text": "HTMLElement[][]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "gridDirty",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "true"
            },
            {
              "kind": "field",
              "name": "actionsCell",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Cell currently in actions mode, or null."
            },
            {
              "kind": "field",
              "name": "virtualNavPending",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Guards the async scroll-then-focus path against overlapping virtual jumps."
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            },
            {
              "kind": "method",
              "name": "invalidateGrid",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "buildGrid",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getGrid",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement[][]"
                }
              }
            },
            {
              "kind": "method",
              "name": "findCellPosition",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ row: number; col: number } | null"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "focusCell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "focusGridCell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "gridRow",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "moveVertical",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "delta",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "focusBodyRowByAbsoluteIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<boolean>"
                }
              },
              "parameters": [
                {
                  "name": "targetIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "number | 'last'"
                  }
                }
              ],
              "description": "Scrolls the body row at an absolute data index into view and focuses one of\nits cells. `col` is a column index, or `'last'` for the row's final cell\n(Ctrl+End). Returns true when focus moved. Serialized by `virtualNavPending`\nso a burst of keydown events can't launch overlapping scroll-focus operations."
            },
            {
              "kind": "method",
              "name": "tryTreeToggle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "key",
                  "type": {
                    "text": "'ArrowLeft' | 'ArrowRight'"
                  }
                }
              ],
              "description": "Treegrid arrows: returns true when the onTreeToggle hook consumed the key."
            },
            {
              "kind": "method",
              "name": "movePage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "direction",
                  "type": {
                    "text": "1 | -1"
                  }
                }
              ],
              "description": "PageUp/PageDown: jump one viewport page of body rows in absolute data space,\nclamped to the dataset edges. Returns true when the key was consumed (the\nfocused cell is a body row and the host provides the page hooks)."
            },
            {
              "kind": "method",
              "name": "focusLastDataCell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "lastRow",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Ctrl+End: focus the last cell of the last *data* row. Under virtual scroll the\nlast row usually isn't rendered, so scroll it in first; falls back to the last\ncell of the last rendered row for fully-rendered hosts or when no hooks exist."
            },
            {
              "kind": "method",
              "name": "inActionsMode",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "True while the user is editing/operating a widget inside a cell."
            },
            {
              "kind": "method",
              "name": "enterActionsMode",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "exitActionsMode",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "handleEscapeCapture",
              "privacy": "private",
              "description": "Capture-phase Escape listener. Runs before child widgets like `ed-select` /\n`ed-combobox` get a chance to `stopPropagation()` on the event in their own\nkeydown handlers (they do this on purpose to isolate their internal\nkeystrokes from ancestor components).\n\nCoordinates with `dismissible-stack`: the grid only exits actions mode if\nit is the top dismissible. When a child overlay (e.g. an open `ed-select`\ndropdown) is above us in the stack, we leave the Escape for that overlay\nto consume — the user's first Escape closes the overlay, a second Escape\n(with the grid now top of the stack) exits actions mode."
            },
            {
              "kind": "field",
              "name": "handleFocusOut",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleActionsModeKey",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Handles keys while the grid is in actions mode."
            },
            {
              "kind": "method",
              "name": "cycleWidgets",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "widgets",
                  "type": {
                    "text": "ReturnType<typeof getCellWidgets>"
                  }
                },
                {
                  "name": "delta",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "description": "Moves focus to the widget `delta` steps from the currently focused widget,\nwrapping at the edges. Uses `event.composedPath()` to identify the current\nwidget so shadow-DOM retargeting (which would otherwise rewrite\n`event.target` to the grid host) doesn't break the lookup. Falls back to\nthe focus controller's tracked widget when the path matches nothing.\nReturns `true` when focus moved."
            }
          ],
          "jsDoc": "/**\n * Listens for `keydown` on the host and implements 2D grid navigation\n * (arrow keys, Home/End, Ctrl+Home/End) per the WAI-ARIA grid pattern.\n * Manages an actions mode entered with Enter or F2 on cells whose widgets\n * consume arrows or whose cell holds more than one widget; inside actions\n * mode Tab / Shift+Tab cycle through the cell's widgets, and Escape or a\n * second F2 returns to grid navigation.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "GridKeyboardNavController",
          "declaration": {
            "name": "GridKeyboardNavController",
            "module": "internal/grid-keyboard-nav.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/grid-selection.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Manages row selection state for grid components.\nSupports single and multi-row selection with Shift (range) and Ctrl/Meta (toggle) modifiers.\n\nThe controller operates purely on **absolute data-space row indices** and the\n**keys** the host resolves from them — never on DOM rows. This keeps selection\ncorrect under virtual scrolling, where the rendered rows are only a window into\nthe dataset: `selectAll` covers every row (not just the window), a Shift-range\nspans rows currently scrolled out of view, and the range anchor stays valid\nacross scrolls because it is an absolute index rather than a window position.",
          "name": "GridSelectionController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "GridControllerHost"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "options",
              "type": {
                "text": "GridSelectionOptions"
              },
              "privacy": "private",
              "default": "options"
            },
            {
              "kind": "field",
              "name": "selectedKeys",
              "type": {
                "text": "Set<unknown>"
              },
              "privacy": "private",
              "default": "new Set()"
            },
            {
              "kind": "field",
              "name": "anchorIndex",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The absolute row index of the last directly-activated row, the anchor for Shift+click range."
            },
            {
              "kind": "field",
              "name": "baseSelection",
              "type": {
                "text": "Set<unknown>"
              },
              "privacy": "private",
              "default": "new Set()",
              "description": "Selection snapshot taken when the anchor was set. Shift+range is merged with this."
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            },
            {
              "kind": "method",
              "name": "getSelectedKeys",
              "return": {
                "type": {
                  "text": "Set<unknown>"
                }
              },
              "description": "Returns a copy of the set of selected row keys."
            },
            {
              "kind": "method",
              "name": "isSelected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "description": "Returns true if the given key is currently selected."
            },
            {
              "kind": "method",
              "name": "toggleRow",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "rowIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "event",
                  "optional": true,
                  "type": {
                    "text": "MouseEvent | KeyboardEvent"
                  }
                }
              ],
              "description": "Toggles selection for the row at the given absolute index.\n\nModifier key behavior (multi-select only):\n- Shift: select a contiguous range from the last anchor to this row.\n- Ctrl/Meta: toggle this row without affecting others.\n- No modifier: replace selection with just this row, or deselect if already the only selection."
            },
            {
              "kind": "method",
              "name": "toggleRowAdditive",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "rowIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Toggles a row additively (adds or removes from current selection without clearing others).\nUsed for checkbox clicks in multi-select mode."
            },
            {
              "kind": "method",
              "name": "selectAll",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Selects every selectable row in the dataset. Only effective in multi-select\nmode. Covers all rows the host reports, not just the ones currently rendered\n(virtual scroll) — the header \"select all\" checkbox must mean the whole set."
            },
            {
              "kind": "method",
              "name": "deselectAll",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Clears all row selections."
            },
            {
              "kind": "method",
              "name": "setAnchor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "rowIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Sets the anchor index and snapshots the current selection for Shift+range."
            },
            {
              "kind": "method",
              "name": "toggleKey",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "description": "Adds or removes a key from the selection set."
            },
            {
              "kind": "method",
              "name": "emitChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Notifies the host and callback of the current selection state."
            }
          ],
          "jsDoc": "/**\n * Manages row selection state for grid components.\n * Supports single and multi-row selection with Shift (range) and Ctrl/Meta (toggle) modifiers.\n *\n * The controller operates purely on **absolute data-space row indices** and the\n * **keys** the host resolves from them — never on DOM rows. This keeps selection\n * correct under virtual scrolling, where the rendered rows are only a window into\n * the dataset: `selectAll` covers every row (not just the window), a Shift-range\n * spans rows currently scrolled out of view, and the range anchor stays valid\n * across scrolls because it is an absolute index rather than a window position.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "GridSelectionController",
          "declaration": {
            "name": "GridSelectionController",
            "module": "internal/grid-selection.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/grid-sort.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Manages sort state for grid components. Supports single and multi-column sorting.\nThe sort stack is ordered by priority (index 0 = primary sort).",
          "name": "GridSortController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "GridControllerHost"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "options",
              "type": {
                "text": "GridSortOptions"
              },
              "privacy": "private",
              "default": "options"
            },
            {
              "kind": "field",
              "name": "sorts",
              "type": {
                "text": "SortEntry[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            },
            {
              "kind": "method",
              "name": "getSorts",
              "return": {
                "type": {
                  "text": "SortEntry[]"
                }
              },
              "description": "Returns a shallow copy of the current sort stack."
            },
            {
              "kind": "method",
              "name": "getColumnSort",
              "return": {
                "type": {
                  "text": "SortEntry | undefined"
                }
              },
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Returns the sort entry for a column key, or undefined if the column is not sorted."
            },
            {
              "kind": "method",
              "name": "getSortPriority",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Returns the 1-based sort priority of a column in multi-sort mode.\nReturns 0 if the column is not part of the current sort."
            },
            {
              "kind": "method",
              "name": "toggleSort",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "multi",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "description": "Toggles the sort state for a column, cycling none → asc → desc → none.\n\nWhen `multi` is true and `host.sortMode === 'multi'`, the column is added to\nor updated within the existing sort stack. Otherwise the stack is replaced\nwith only this column's sort.\n\nIf the `onSort` callback returns `false`, the internal state is NOT updated\n(allowing the host to manage sort state externally)."
            }
          ],
          "jsDoc": "/**\n * Manages sort state for grid components. Supports single and multi-column sorting.\n * The sort stack is ordered by priority (index 0 = primary sort).\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "GridSortController",
          "declaration": {
            "name": "GridSortController",
            "module": "internal/grid-sort.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/is-event-from-interactive-element.js",
      "declarations": [
        {
          "kind": "function",
          "name": "isEventFromInteractiveElement",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "event",
              "type": {
                "text": "Event"
              },
              "description": "The UI event"
            },
            {
              "name": "boundary",
              "optional": true,
              "type": {
                "text": "HTMLElement"
              },
              "description": "Optional element at which to stop walking up the composedPath (exclusive)."
            }
          ],
          "description": "Returns true if the event originated from an element that is typically interactive."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isEventFromInteractiveElement",
          "declaration": {
            "name": "isEventFromInteractiveElement",
            "module": "internal/is-event-from-interactive-element.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/offset.js",
      "declarations": [
        {
          "kind": "function",
          "name": "getOffset",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "parent",
              "type": {
                "text": "HTMLElement"
              }
            }
          ],
          "description": "Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\nparent doesn't have to be positioned relative or absolute.\n\nNOTE: This was created to work around what appears to be a bug in Chrome where a slotted element's offsetParent seems\nto ignore elements inside the surrounding shadow DOM: https://bugs.chromium.org/p/chromium/issues/detail?id=920069"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "getOffset",
          "declaration": {
            "name": "getOffset",
            "module": "internal/offset.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/parse.js",
      "declarations": [
        {
          "kind": "function",
          "name": "parseSpaceDelimitedTokens",
          "return": {
            "type": {
              "text": "string[]"
            }
          },
          "parameters": [
            {
              "name": "input",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Parses a space-delimited set of tokens and returns an array with all whitespace removed."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "parseSpaceDelimitedTokens",
          "declaration": {
            "name": "parseSpaceDelimitedTokens",
            "module": "internal/parse.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/scroll.js",
      "declarations": [
        {
          "kind": "function",
          "name": "lockBodyScrolling",
          "parameters": [
            {
              "name": "lockingEl",
              "type": {
                "text": "HTMLElement"
              }
            }
          ],
          "description": "Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\nwithout premature unlocking."
        },
        {
          "kind": "function",
          "name": "unlockBodyScrolling",
          "parameters": [
            {
              "name": "lockingEl",
              "type": {
                "text": "HTMLElement"
              }
            }
          ],
          "description": "Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method."
        },
        {
          "kind": "function",
          "name": "scrollIntoView",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "container",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "direction",
              "default": "'vertical'",
              "type": {
                "text": "'horizontal' | 'vertical' | 'both'"
              }
            },
            {
              "name": "behavior",
              "default": "'smooth'",
              "type": {
                "text": "'smooth' | 'auto'"
              }
            }
          ],
          "description": "Scrolls an element into view of its container. If the element is already in view, nothing will happen."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "lockBodyScrolling",
          "declaration": {
            "name": "lockBodyScrolling",
            "module": "internal/scroll.js"
          }
        },
        {
          "kind": "js",
          "name": "unlockBodyScrolling",
          "declaration": {
            "name": "unlockBodyScrolling",
            "module": "internal/scroll.js"
          }
        },
        {
          "kind": "js",
          "name": "scrollIntoView",
          "declaration": {
            "name": "scrollIntoView",
            "module": "internal/scroll.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/scrollend-polyfill.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "internal/sortable.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Pointer-based, framework-agnostic drag-to-reorder engine, exposed as a reactive controller.\n\nThe host owns the data: the controller never mutates the model. It manages the gesture and, on\ndrop, calls SortableOptions.onReorder with the move; the host updates its array and\nre-renders the committed order. The visual is sortablejs-style — a floating clone follows the\npointer while the original stays in place as a \"gap\" (styled by the host via the `sortable-ghost`\nclass) that slides to the candidate slot, rather than a drop line.\n\nTransient DOM changes (moving the ghost, the clone) are fully reverted before the host re-renders,\nso framework reconciliation (Lit child parts, comment markers) is never disturbed.\n\nWire it up by calling start from a `pointerdown` handler on a draggable item. Because the\ndrag only begins once the pointer passes DRAG_THRESHOLD, a plain click still falls through\nto the host (e.g. selection); a real drag suppresses the trailing click. On touch the drag is a\npress-and-hold (TOUCH_HOLD_DELAY) so a plain swipe scrolls the container instead; mouse and\npen drag immediately.",
          "name": "SortableController",
          "members": [
            {
              "kind": "field",
              "name": "opts",
              "type": {
                "text": "SortableOptions"
              },
              "privacy": "private",
              "default": "opts"
            },
            {
              "kind": "field",
              "name": "dragging",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "pointerId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "-1"
            },
            {
              "kind": "field",
              "name": "isTouch",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True while the active gesture is a touch pointer (press-and-hold to drag)."
            },
            {
              "kind": "field",
              "name": "holdTimer",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "Pending press-and-hold timer (touch only); 0 when none is scheduled."
            },
            {
              "kind": "field",
              "name": "startX",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "startY",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "lastX",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "lastY",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "grabOffsetX",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "grabOffsetY",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "item",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "group",
              "type": {
                "text": "string | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "clone",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "itemsSnapshot",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Item list captured at drag start, in original order — the basis for all index math."
            },
            {
              "kind": "field",
              "name": "childSnapshot",
              "type": {
                "text": "ChildNode[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Every child node of the container at drag start, used to restore exact order before re-render."
            },
            {
              "kind": "field",
              "name": "lastTarget",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "lastPosition",
              "type": {
                "text": "'before' | 'after'"
              },
              "privacy": "private",
              "default": "'before'"
            },
            {
              "kind": "field",
              "name": "scrollRaf",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "start",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ],
              "description": "Arms a potential drag. Call from a `pointerdown` handler on a draggable item."
            },
            {
              "kind": "field",
              "name": "onMove",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "beginDrag",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "moveClone",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "updateTarget",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Finds the item under the pointer (or nearest) and slides the ghost into the candidate slot."
            },
            {
              "kind": "method",
              "name": "startAutoScroll",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "onUp",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "drop",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "cancel",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Abort an in-progress drag with no reorder, reverting every transient DOM change."
            },
            {
              "kind": "method",
              "name": "revertDom",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Restores the container's exact child order so the host's next render reconciles cleanly."
            },
            {
              "kind": "field",
              "name": "onCancel",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "onTouchMove",
              "privacy": "private",
              "description": "Touch only, active once the hold has armed a drag: cancels the browser's native scroll/pan for\nthe rest of the gesture. Pointer-event preventDefault is ignored for touch scrolling, so a\nnon-passive touchmove handler is the reliable lever."
            },
            {
              "kind": "field",
              "name": "onKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "suppressNextClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Swallows the click that a drag's pointerup would otherwise trigger, so it can't toggle selection."
            },
            {
              "kind": "method",
              "name": "removeClone",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "teardown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "jsDoc": "/**\n * Pointer-based, framework-agnostic drag-to-reorder engine, exposed as a reactive controller.\n *\n * The host owns the data: the controller never mutates the model. It manages the gesture and, on\n * drop, calls {@link SortableOptions.onReorder} with the move; the host updates its array and\n * re-renders the committed order. The visual is sortablejs-style — a floating clone follows the\n * pointer while the original stays in place as a \"gap\" (styled by the host via the `sortable-ghost`\n * class) that slides to the candidate slot, rather than a drop line.\n *\n * Transient DOM changes (moving the ghost, the clone) are fully reverted before the host re-renders,\n * so framework reconciliation (Lit child parts, comment markers) is never disturbed.\n *\n * Wire it up by calling {@link start} from a `pointerdown` handler on a draggable item. Because the\n * drag only begins once the pointer passes {@link DRAG_THRESHOLD}, a plain click still falls through\n * to the host (e.g. selection); a real drag suppresses the trailing click. On touch the drag is a\n * press-and-hold ({@link TOUCH_HOLD_DELAY}) so a plain swipe scrolls the container instead; mouse and\n * pen drag immediately.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SortableController",
          "declaration": {
            "name": "SortableController",
            "module": "internal/sortable.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/to-px.js",
      "declarations": [
        {
          "kind": "function",
          "name": "toPx",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "string | number"
              }
            },
            {
              "name": "element",
              "default": "document.documentElement",
              "type": {
                "text": "HTMLElement | SVGElement"
              }
            }
          ],
          "description": "Resolves a CSS length expression to a pixel number, evaluating relative units\n(`em`, `rem`, `%`, viewport units, …) against the given element. A bare number\n— or numeric string — is returned as-is.\n\nFalls back to a best-effort parse on engines without `CSS.registerProperty`."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "toPx",
          "declaration": {
            "name": "toPx",
            "module": "internal/to-px.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/validate-session.js",
      "declarations": [
        {
          "kind": "function",
          "name": "validateSession",
          "return": {
            "type": {
              "text": "Promise<number[]>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "ValidateSessionOptions"
              }
            }
          ],
          "description": "Validates a session against `validateUrl` and schedules the warning/expiry callbacks.\n\nResolves with the scheduled timeout IDs **only** when the session is valid and expires in the future.\nEvery other outcome — a rejected request, a non-OK response, a malformed body, or a `validTo` that is\nmissing or already in the past — invokes `onExpired` with the matching SessionExpiredCause and then\nthrows, so a caller never mistakes a failed validation for a valid session.\n\n`onExpired` is invoked with `cause: 'expired'` **only** from the future-dated expiry timer, i.e. after a\nsession that was valid at validation time reaches the end of its lifetime. A merely failed validation reports\n`'invalid'` (rejected token) or `'error'` (transient/unreachable) — never `'expired'`. That keeps a consumer\nwho re-authenticates on `'expired'` from looping when the token stays bad or the service is down."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "validateSession",
          "declaration": {
            "name": "validateSession",
            "module": "internal/validate-session.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dialog/dialog.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDialog",
          "cssProperties": [
            {
              "description": "The amount of space around and between the dialog's content.",
              "name": "--spacing",
              "default": "var(--ed-panel-spacing)"
            },
            {
              "description": "The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.",
              "name": "--width",
              "default": "var(--ed-dialog-width)"
            },
            {
              "description": "The animation duration when showing the dialog.",
              "name": "--show-duration",
              "default": "var(--ed-transition-normal)"
            },
            {
              "description": "The animation duration when hiding the dialog.",
              "name": "--hide-duration",
              "default": "var(--ed-transition-normal)"
            },
            {
              "description": "A CSS filter, e.g. `blur(4px)`, applied to the backdrop element behind the dialog.",
              "name": "--backdrop-filter"
            }
          ],
          "cssParts": [
            {
              "description": "The dialog's internal `<dialog>` element.",
              "name": "dialog"
            },
            {
              "description": "The dialog's header. This element wraps the title and header actions.",
              "name": "header"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<ed-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The dialog's title.",
              "name": "title"
            },
            {
              "description": "The dialog's subtitle.",
              "name": "subtitle"
            },
            {
              "description": "The close button, a `<ed-button>`.",
              "name": "close-button"
            },
            {
              "description": "The close button's exported `base` part.",
              "name": "close-button__base"
            },
            {
              "description": "The dialog's body.",
              "name": "body"
            },
            {
              "description": "The dialog's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The dialog's main content.",
              "name": ""
            },
            {
              "description": "The dialog's title. Alternatively, you can use the `title` attribute.",
              "name": "title"
            },
            {
              "description": "The dialog's subtitle. Alternatively, you can use the `subtitle` attribute.",
              "name": "subtitle"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<ed-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The dialog's footer, usually one or more buttons representing various options.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer', 'header-actions', 'title', 'subtitle')"
            },
            {
              "kind": "field",
              "name": "originalTrigger",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#isOpenAsModal",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Tracks whether this instance is currently counted in the modal-state counter."
            },
            {
              "kind": "field",
              "name": "#isClosing",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "True while the hide animation runs, so a second close request can't tear down twice."
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "HTMLDialogElement"
              }
            },
            {
              "kind": "field",
              "name": "header",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is open. Toggle this attribute to show and hide the dialog.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The dialog's title as displayed in the header. You should always include a relevant title, as it is required for\nproper accessibility. If you need to display HTML, use the `title` slot instead.",
              "attribute": "title",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "subtitle",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The dialog's subtitle. If you need to display HTML, use the `subtitle` slot instead.",
              "attribute": "subtitle",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The dialog's accessible name, overriding the visible title. Mirrored onto the internal\nnative `<dialog>`, where the dialog role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech (house pattern: ed-checkbox).",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button.",
              "attribute": "without-header",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutClose",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables default close button.",
              "attribute": "without-close",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lightDismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, the dialog will be closed when the user clicks outside of it.",
              "attribute": "light-dismiss"
            },
            {
              "kind": "field",
              "name": "headerAlignment",
              "type": {
                "text": "'stacked' | 'inline'"
              },
              "default": "'stacked'",
              "description": "This is for convenience to switch between stacked and inline headers when using a subtitle",
              "attribute": "header-alignment",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "resizable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is resizable",
              "attribute": "resizable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "draggable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is draggable. The drag-handle is the header, so make sure to add one if draggable is used",
              "attribute": "draggable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fullscreen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is displayed fullscreen, occupying the entire viewport. While `fullscreen` is active,\n`resizable` and `draggable` are ignored; toggling it off restores their behavior.",
              "attribute": "fullscreen",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "isDragging",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "dragStartX",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "dragStartY",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "dialogInitialX",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "dialogInitialY",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "isNativeOpen",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Whether the underlying native dialog is currently open — as either a modal dialog or a (draggable) popover.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "openNativeDialog",
              "privacy": "private",
              "description": "Opens the native dialog in the mode matching the current state. Draggable (non-fullscreen) dialogs open as a\n`popover=\"manual\"`, so they live in the top layer — non-modal, no backdrop, no scroll lock — without portaling\nthe element into `<body>` (which would sever a wrapper's forwarded slots). Everything else opens modally and\nlocks body scrolling."
            },
            {
              "kind": "method",
              "name": "closeNativeDialog",
              "privacy": "private",
              "description": "Closes the native dialog, matching how it was opened (popover vs. modal)."
            },
            {
              "kind": "method",
              "name": "requestClose",
              "privacy": "private",
              "parameters": [
                {
                  "name": "source",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDialogCancel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogPointerDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "privacy": "private",
              "description": "Shows the dialog."
            },
            {
              "kind": "method",
              "name": "centerDialog",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDragStart",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDrag",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDragStop",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the dialog opens.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the dialog opens and all animations are complete.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "type": {
                "text": "{ source: Element }"
              },
              "description": "Emitted when the dialog is requested to close. Calling `event.preventDefault()` will prevent the dialog from closing. You can inspect `event.detail.source` to see which element caused the dialog to close. If the source is the dialog element itself, the user has pressed [[Escape]] or the dialog has been closed programmatically. Avoid using this unless closing the dialog will result in destructive behavior such as data loss.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the dialog closes and all animations are complete.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is open. Toggle this attribute to show and hide the dialog.",
              "fieldName": "open"
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The dialog's title as displayed in the header. You should always include a relevant title, as it is required for\nproper accessibility. If you need to display HTML, use the `title` slot instead.",
              "fieldName": "title"
            },
            {
              "name": "subtitle",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The dialog's subtitle. If you need to display HTML, use the `subtitle` slot instead.",
              "fieldName": "subtitle"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The dialog's accessible name, overriding the visible title. Mirrored onto the internal\nnative `<dialog>`, where the dialog role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech (house pattern: ed-checkbox).",
              "fieldName": "ariaLabel"
            },
            {
              "name": "without-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button.",
              "fieldName": "withoutHeader"
            },
            {
              "name": "without-close",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables default close button.",
              "fieldName": "withoutClose"
            },
            {
              "name": "light-dismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, the dialog will be closed when the user clicks outside of it.",
              "fieldName": "lightDismiss"
            },
            {
              "name": "header-alignment",
              "type": {
                "text": "'stacked' | 'inline'"
              },
              "default": "'stacked'",
              "description": "This is for convenience to switch between stacked and inline headers when using a subtitle",
              "fieldName": "headerAlignment"
            },
            {
              "name": "resizable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is resizable",
              "fieldName": "resizable"
            },
            {
              "name": "draggable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is draggable. The drag-handle is the header, so make sure to add one if draggable is used",
              "fieldName": "draggable"
            },
            {
              "name": "fullscreen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is displayed fullscreen, occupying the entire viewport. While `fullscreen` is active,\n`resizable` and `draggable` are ignored; toggling it off restores their behavior.",
              "fieldName": "fullscreen"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.",
          "jsDoc": "/**\n * @summary Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/dialog\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('dialog')\n *\n * @dependency ed-button\n * @dependency ed-icon\n *\n * @slot - The dialog's main content.\n * @slot title - The dialog's title. Alternatively, you can use the `title` attribute.\n * @slot subtitle - The dialog's subtitle. Alternatively, you can use the `subtitle` attribute.\n * @slot header-actions - Optional actions to add to the header. Works best with `<ed-button>`.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n *\n * @event ed-show - Emitted when the dialog opens.\n * @event ed-after-show - Emitted after the dialog opens and all animations are complete.\n * @event {{ source: Element }} ed-hide - Emitted when the dialog is requested to close. Calling\n *  `event.preventDefault()` will prevent the dialog from closing. You can inspect `event.detail.source` to see which\n *  element caused the dialog to close. If the source is the dialog element itself, the user has pressed [[Escape]] or\n *  the dialog has been closed programmatically. Avoid using this unless closing the dialog will result in destructive\n *  behavior such as data loss.\n * @event ed-after-hide - Emitted after the dialog closes and all animations are complete.\n *\n * @csspart dialog - The dialog's internal `<dialog>` element.\n * @csspart header - The dialog's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header. Works best with `<ed-button>`.\n * @csspart title - The dialog's title.\n * @csspart subtitle - The dialog's subtitle.\n * @csspart close-button - The close button, a `<ed-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n * @csspart body - The dialog's body.\n * @csspart footer - The dialog's footer.\n *\n * @cssproperty [--spacing= var(--ed-panel-spacing)] - The amount of space around and between the dialog's content.\n * @cssproperty [--width=var(--ed-dialog-width)] - The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n * @cssproperty [--show-duration=var(--ed-transition-normal)] - The animation duration when showing the dialog.\n * @cssproperty [--hide-duration=var(--ed-transition-normal)] - The animation duration when hiding the dialog.\n * @cssproperty --backdrop-filter - A CSS filter, e.g. `blur(4px)`, applied to the backdrop element behind the dialog.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/dialog",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('dialog')",
          "dependencies": [
            "ed-button",
            "ed-icon"
          ],
          "tagName": "ed-dialog",
          "customElement": true,
          "modulePath": "components/dialog/dialog.js",
          "definitionPath": "components/dialog/dialog.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDialog",
            "module": "components/dialog/dialog.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-dialog",
          "declaration": {
            "name": "EdDialog",
            "module": "components/dialog/dialog.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/alert-dialog/alert-dialog.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdAlertDialog",
          "cssParts": [
            {
              "description": "The inner ed-dialog.",
              "name": "dialog"
            },
            {
              "description": "The icon + content grid container.",
              "name": "body"
            },
            {
              "description": "The icon wrapper.",
              "name": "icon"
            },
            {
              "description": "The title + message wrapper.",
              "name": "content"
            },
            {
              "description": "The title element.",
              "name": "title"
            },
            {
              "description": "The message wrapper.",
              "name": "message"
            },
            {
              "description": "The footer wrapper.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The message body.",
              "name": ""
            },
            {
              "description": "Override the title (HTML).",
              "name": "title"
            },
            {
              "description": "Override the default icon (HTML).",
              "name": "icon"
            },
            {
              "description": "Full override of footer buttons. When provided, `confirm-text` and `cancel-text` are ignored.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles, variantStyles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the alert dialog is open. Toggle this attribute to show or hide the dialog.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'warning' | 'error' | 'info' | 'help'"
              },
              "default": "'info'",
              "description": "The severity. Selects the icon and accent color.",
              "attribute": "type",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The heading text. If you need HTML, use the `title` slot.",
              "attribute": "title",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "confirmText",
              "type": {
                "text": "string | undefined"
              },
              "description": "If set, renders a primary confirm button with this label.",
              "attribute": "confirm-text"
            },
            {
              "kind": "field",
              "name": "cancelText",
              "type": {
                "text": "string | undefined"
              },
              "description": "If set, renders a secondary cancel button with this label.",
              "attribute": "cancel-text"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "titleId",
              "privacy": "private",
              "readonly": true,
              "default": "`ed-alert-dialog-title-${uniqueId()}`"
            },
            {
              "kind": "field",
              "name": "descId",
              "privacy": "private",
              "readonly": true,
              "default": "`ed-alert-dialog-desc-${uniqueId()}`"
            },
            {
              "kind": "field",
              "name": "innerDialog",
              "type": {
                "text": "EdDialog"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "messageText",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "hasConfirm",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "hasCancel",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleTypeChange",
              "type": {
                "text": "handleTypeChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "handleInnerShow",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleInnerHide",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleInnerAfterShow",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleInnerAfterHide",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDefaultSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleCloseClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleConfirmClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleCancelClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderDefaultFooter",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the alert opens. Forwarded from the inner ed-dialog.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the alert opens and all animations complete. Forwarded from the inner ed-dialog.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the alert is requested to close. Forwarded from the inner ed-dialog; cancelable.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the alert closes and all animations complete. Forwarded from the inner ed-dialog.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            },
            {
              "description": "Emitted when the default-rendered confirm button is clicked. Cancelable; calling `event.preventDefault()` keeps the dialog open.",
              "name": "ed-confirm",
              "reactName": "onEdConfirm",
              "eventName": "EdConfirmEvent"
            },
            {
              "description": "Emitted when the default-rendered cancel button is clicked. Cancelable; calling `event.preventDefault()` keeps the dialog open.",
              "name": "ed-cancel",
              "reactName": "onEdCancel",
              "eventName": "EdCancelEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the alert dialog is open. Toggle this attribute to show or hide the dialog.",
              "fieldName": "open"
            },
            {
              "name": "type",
              "type": {
                "text": "'warning' | 'error' | 'info' | 'help'"
              },
              "default": "'info'",
              "description": "The severity. Selects the icon and accent color.",
              "fieldName": "type"
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The heading text. If you need HTML, use the `title` slot.",
              "fieldName": "title"
            },
            {
              "name": "confirm-text",
              "type": {
                "text": "string | undefined"
              },
              "description": "If set, renders a primary confirm button with this label.",
              "fieldName": "confirmText"
            },
            {
              "name": "cancel-text",
              "type": {
                "text": "string | undefined"
              },
              "description": "If set, renders a secondary cancel button with this label.",
              "fieldName": "cancelText"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Alert dialogs interrupt the user with a brief, severity-coded message and at most a confirm/cancel choice.",
          "jsDoc": "/**\n * @summary Alert dialogs interrupt the user with a brief, severity-coded message and at most a confirm/cancel choice.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/alert-dialog\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('alertdialog')\n *\n * @dependency ed-dialog\n * @dependency ed-button\n * @dependency ed-icon\n *\n * @slot - The message body.\n * @slot title - Override the title (HTML).\n * @slot icon - Override the default icon (HTML).\n * @slot footer - Full override of footer buttons. When provided, `confirm-text` and `cancel-text` are ignored.\n *\n * @event ed-show - Emitted when the alert opens. Forwarded from the inner ed-dialog.\n * @event ed-after-show - Emitted after the alert opens and all animations complete. Forwarded from the inner ed-dialog.\n * @event ed-hide - Emitted when the alert is requested to close. Forwarded from the inner ed-dialog; cancelable.\n * @event ed-after-hide - Emitted after the alert closes and all animations complete. Forwarded from the inner ed-dialog.\n * @event ed-confirm - Emitted when the default-rendered confirm button is clicked. Cancelable; calling\n *  `event.preventDefault()` keeps the dialog open.\n * @event ed-cancel - Emitted when the default-rendered cancel button is clicked. Cancelable; calling\n *  `event.preventDefault()` keeps the dialog open.\n *\n * @csspart dialog - The inner ed-dialog.\n * @csspart body - The icon + content grid container.\n * @csspart icon - The icon wrapper.\n * @csspart content - The title + message wrapper.\n * @csspart title - The title element.\n * @csspart message - The message wrapper.\n * @csspart footer - The footer wrapper.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/alert-dialog",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('alertdialog')",
          "dependencies": [
            "ed-dialog",
            "ed-button",
            "ed-icon"
          ],
          "tagName": "ed-alert-dialog",
          "customElement": true,
          "modulePath": "components/alert-dialog/alert-dialog.js",
          "definitionPath": "components/alert-dialog/alert-dialog.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdAlertDialog",
            "module": "components/alert-dialog/alert-dialog.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-alert-dialog",
          "declaration": {
            "name": "EdAlertDialog",
            "module": "components/alert-dialog/alert-dialog.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/animation/animation.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdAnimation",
          "slots": [
            {
              "description": "The element to animate. Avoid slotting in more than one element, as subsequent ones will be ignored. To animate multiple elements, either wrap them in a single container or use multiple `<ed-animation>` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "animation",
              "type": {
                "text": "Animation | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "hasStarted",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "Promise<HTMLSlotElement>"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "'none'",
              "description": "The name of the built-in animation to use. For custom animations, use the `keyframes` prop.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "play",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Plays the animation. When omitted, the animation will be paused. This attribute will be automatically removed when\nthe animation finishes or gets canceled.",
              "attribute": "play",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "delay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number of milliseconds to delay the start of the animation.",
              "attribute": "delay"
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "PlaybackDirection"
              },
              "default": "'normal'",
              "description": "Determines the direction of playback as well as the behavior when reaching the end of an iteration.\n[Learn more](https://developer.mozilla.org/en-US/docs/Web/CSS/animation-direction)",
              "attribute": "direction"
            },
            {
              "kind": "field",
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "The number of milliseconds each iteration of the animation takes to complete.",
              "attribute": "duration"
            },
            {
              "kind": "field",
              "name": "easing",
              "type": {
                "text": "string"
              },
              "default": "'linear'",
              "description": "The easing function to use for the animation. This can be an easing function or a custom easing function\nsuch as `cubic-bezier(0, 1, .76, 1.14)`.",
              "attribute": "easing"
            },
            {
              "kind": "field",
              "name": "endDelay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number of milliseconds to delay after the active period of an animation sequence.",
              "attribute": "end-delay"
            },
            {
              "kind": "field",
              "name": "fill",
              "type": {
                "text": "FillMode"
              },
              "default": "'auto'",
              "description": "Sets how the animation applies styles to its target before and after its execution.",
              "attribute": "fill"
            },
            {
              "kind": "field",
              "name": "iterations",
              "default": "Infinity",
              "description": "The number of iterations to run before the animation completes. Defaults to `Infinity`, which loops.",
              "attribute": "iterations"
            },
            {
              "kind": "field",
              "name": "iterationStart",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The offset at which to start the animation, usually between 0 (start) and 1 (end).",
              "attribute": "iteration-start"
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "Keyframe[] | undefined"
              },
              "description": "The keyframes to use for the animation. If this is set, `name` will be ignored."
            },
            {
              "kind": "field",
              "name": "playbackRate",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Sets the animation's playback rate. The default is `1`, which plays the animation at a normal speed. Setting this\nto `2`, for example, will double the animation's speed. A negative value can be used to reverse the animation. This\nvalue can be changed without causing the animation to restart.",
              "attribute": "playback-rate"
            },
            {
              "kind": "field",
              "name": "currentTime",
              "type": {
                "text": "CSSNumberish"
              },
              "description": "Gets and sets the current animation time."
            },
            {
              "kind": "field",
              "name": "handleAnimationFinish",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleAnimationCancel",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "createAnimation",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "destroyAnimation",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleAnimationChange",
              "type": {
                "text": "handleAnimationChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePlayChange",
              "type": {
                "text": "handlePlayChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePlaybackRateChange",
              "type": {
                "text": "handlePlaybackRateChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "cancel",
              "description": "Clears all keyframe effects caused by this animation and aborts its playback.",
              "type": {
                "text": "cancel() => void"
              }
            },
            {
              "kind": "method",
              "name": "finish",
              "description": "Sets the playback time to the end of the animation corresponding to the current playback direction.",
              "type": {
                "text": "finish() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the animation is canceled.",
              "name": "ed-cancel",
              "reactName": "onEdCancel",
              "eventName": "EdCancelEvent"
            },
            {
              "description": "Emitted when the animation finishes.",
              "name": "ed-finish",
              "reactName": "onEdFinish",
              "eventName": "EdFinishEvent"
            },
            {
              "description": "Emitted when the animation starts or restarts.",
              "name": "ed-start",
              "reactName": "onEdStart",
              "eventName": "EdStartEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "'none'",
              "description": "The name of the built-in animation to use. For custom animations, use the `keyframes` prop.",
              "fieldName": "name"
            },
            {
              "name": "play",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Plays the animation. When omitted, the animation will be paused. This attribute will be automatically removed when\nthe animation finishes or gets canceled.",
              "fieldName": "play"
            },
            {
              "name": "delay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number of milliseconds to delay the start of the animation.",
              "fieldName": "delay"
            },
            {
              "name": "direction",
              "type": {
                "text": "PlaybackDirection"
              },
              "default": "'normal'",
              "description": "Determines the direction of playback as well as the behavior when reaching the end of an iteration.\n[Learn more](https://developer.mozilla.org/en-US/docs/Web/CSS/animation-direction)",
              "fieldName": "direction"
            },
            {
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "The number of milliseconds each iteration of the animation takes to complete.",
              "fieldName": "duration"
            },
            {
              "name": "easing",
              "type": {
                "text": "string"
              },
              "default": "'linear'",
              "description": "The easing function to use for the animation. This can be an easing function or a custom easing function\nsuch as `cubic-bezier(0, 1, .76, 1.14)`.",
              "fieldName": "easing"
            },
            {
              "name": "end-delay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number of milliseconds to delay after the active period of an animation sequence.",
              "fieldName": "endDelay"
            },
            {
              "name": "fill",
              "type": {
                "text": "FillMode"
              },
              "default": "'auto'",
              "description": "Sets how the animation applies styles to its target before and after its execution.",
              "fieldName": "fill"
            },
            {
              "name": "iterations",
              "default": "Infinity",
              "description": "The number of iterations to run before the animation completes. Defaults to `Infinity`, which loops.",
              "fieldName": "iterations"
            },
            {
              "name": "iteration-start",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The offset at which to start the animation, usually between 0 (start) and 1 (end).",
              "fieldName": "iterationStart"
            },
            {
              "name": "playback-rate",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Sets the animation's playback rate. The default is `1`, which plays the animation at a normal speed. Setting this\nto `2`, for example, will double the animation's speed. A negative value can be used to reverse the animation. This\nvalue can be changed without causing the animation to restart.",
              "fieldName": "playbackRate"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Animate elements declaratively with nearly 100 baked-in presets, or roll your own with custom keyframes. Powered by the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API).",
          "jsDoc": "/**\n * @summary Animate elements declaratively with nearly 100 baked-in presets, or roll your own with custom keyframes. Powered by the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API).\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/animation\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @event ed-cancel - Emitted when the animation is canceled.\n * @event ed-finish - Emitted when the animation finishes.\n * @event ed-start - Emitted when the animation starts or restarts.\n *\n * @slot - The element to animate. Avoid slotting in more than one element, as subsequent ones will be ignored. To\n *  animate multiple elements, either wrap them in a single container or use multiple `<ed-animation>` elements.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/animation",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-animation",
          "customElement": true,
          "modulePath": "components/animation/animation.js",
          "definitionPath": "components/animation/animation.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdAnimation",
            "module": "components/animation/animation.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-animation",
          "declaration": {
            "name": "EdAnimation",
            "module": "components/animation/animation.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/drawer/drawer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDrawer",
          "cssProperties": [
            {
              "description": "The amount of space around and between the drawer's content.",
              "name": "--spacing"
            },
            {
              "description": "The preferred size of the drawer. This will be applied to the drawer's width or height depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.",
              "name": "--size"
            },
            {
              "description": "The animation duration when showing the drawer.",
              "name": "--show-duration",
              "default": "var(--ed-transition-normal)"
            },
            {
              "description": "The animation duration when hiding the drawer.",
              "name": "--hide-duration",
              "default": "var(--ed-transition-normal)"
            },
            {
              "description": "A CSS filter, e.g. `blur(4px)`, applied to the backdrop element behind the drawer.",
              "name": "--backdrop-filter"
            }
          ],
          "cssParts": [
            {
              "description": "The drawer's internal `<dialog>` element.",
              "name": "dialog"
            },
            {
              "description": "The drawer's header. This element wraps the title and header actions.",
              "name": "header"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<ed-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The drawer's title.",
              "name": "title"
            },
            {
              "description": "The close button, a `<ed-button>`.",
              "name": "close-button"
            },
            {
              "description": "The close button's exported `base` part.",
              "name": "close-button__base"
            },
            {
              "description": "The drawer's body.",
              "name": "body"
            },
            {
              "description": "The drawer's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The drawer's main content.",
              "name": ""
            },
            {
              "description": "The drawer's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<ed-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The drawer's footer, usually one or more buttons representing various options.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer', 'header-actions', 'label')"
            },
            {
              "kind": "field",
              "name": "originalTrigger",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#isClosing",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "True while the hide animation runs, so a second close request can't tear down twice."
            },
            {
              "kind": "field",
              "name": "drawer",
              "type": {
                "text": "HTMLDialogElement"
              }
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "overlay",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the drawer is open. Toggle this attribute to show and hide the drawer.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The drawer's label as displayed in the header. You should always include a relevant label, as it is required for\nproper accessibility. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The drawer's accessible name, overriding the visible label. Mirrored onto the internal\ndialog node, where the dialog role lives — an aria-label left on the host alone would sit\non a role-less element and be ignored by assistive tech (house pattern: ed-checkbox).",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'end' | 'bottom' | 'start'"
              },
              "default": "'end'",
              "description": "The direction from which the drawer will open.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button.",
              "attribute": "without-header",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutClose",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the default close button while keeping the header visible.",
              "attribute": "without-close",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lightDismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, the drawer will be closed when the user clicks outside of it.",
              "attribute": "light-dismiss"
            },
            {
              "kind": "field",
              "name": "withFooter",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `footer` element so the server-rendered markup\nincludes the footer before the component hydrates on the client.",
              "attribute": "with-footer"
            },
            {
              "kind": "field",
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the drawer slides out of the viewport. To make it slide out of its parent element, set this attribute and add `position: relative` and `overflow: hidden` to the parent.",
              "attribute": "contained",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "push",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When used with `contained`, the drawer pushes adjacent content aside instead of overlaying it. The parent element must be a flex container.",
              "attribute": "push",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "requestClose",
              "privacy": "private",
              "parameters": [
                {
                  "name": "source",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDialogCancel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogPointerDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleContainedChange",
              "type": {
                "text": "handleContainedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "privacy": "private",
              "description": "Shows the drawer."
            },
            {
              "kind": "method",
              "name": "awaitTransition",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              }
            },
            {
              "kind": "method",
              "name": "setupContainedParent",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderContent",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOverlayClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderDialog",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderContained",
              "privacy": "private"
            },
            {
              "description": "Exposes the internal modal utility that controls focus trapping. To temporarily disable focus trapping and allow third-party modals spawned from an active Shoelace modal, call `modal.activateExternal()` when the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Shoelace's focus trapping.",
              "name": "modal",
              "kind": "field"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the drawer opens.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the drawer opens and all animations are complete.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the drawer is requesting to close. Calling `event.preventDefault()` will prevent the drawer from closing. You can inspect `event.detail.source` to see which element caused the drawer to close. If the source is the drawer element itself, the user has pressed [[Escape]] or the drawer has been closed programmatically. Avoid using this unless closing the drawer will result in destructive behavior such as data loss.",
              "name": "ed-hide",
              "type": {
                "text": "{ source: Element }"
              },
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the drawer closes and all animations are complete.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the drawer is open. Toggle this attribute to show and hide the drawer.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The drawer's label as displayed in the header. You should always include a relevant label, as it is required for\nproper accessibility. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The drawer's accessible name, overriding the visible label. Mirrored onto the internal\ndialog node, where the dialog role lives — an aria-label left on the host alone would sit\non a role-less element and be ignored by assistive tech (house pattern: ed-checkbox).",
              "fieldName": "ariaLabel"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'end' | 'bottom' | 'start'"
              },
              "default": "'end'",
              "description": "The direction from which the drawer will open.",
              "fieldName": "placement"
            },
            {
              "name": "without-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button.",
              "fieldName": "withoutHeader"
            },
            {
              "name": "without-close",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the default close button while keeping the header visible.",
              "fieldName": "withoutClose"
            },
            {
              "name": "light-dismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, the drawer will be closed when the user clicks outside of it.",
              "fieldName": "lightDismiss"
            },
            {
              "name": "with-footer",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `footer` element so the server-rendered markup\nincludes the footer before the component hydrates on the client.",
              "fieldName": "withFooter"
            },
            {
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the drawer slides out of the viewport. To make it slide out of its parent element, set this attribute and add `position: relative` and `overflow: hidden` to the parent.",
              "fieldName": "contained"
            },
            {
              "name": "push",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When used with `contained`, the drawer pushes adjacent content aside instead of overlaying it. The parent element must be a flex container.",
              "fieldName": "push"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Drawers slide in from a container to expose additional options and information.",
          "jsDoc": "/**\n * @summary Drawers slide in from a container to expose additional options and information.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/drawer\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('dialog')\n *\n * @dependency ed-button\n * @dependency ed-icon\n *\n * @slot - The drawer's main content.\n * @slot label - The drawer's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header. Works best with `<ed-button>`.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @event ed-show - Emitted when the drawer opens.\n * @event ed-after-show - Emitted after the drawer opens and all animations are complete.\n * @event ed-hide - Emitted when the drawer closes.\n * @event ed-after-hide - Emitted after the drawer closes and all animations are complete.\n * @event {{ source: Element }} ed-hide - Emitted when the drawer is requesting to close. Calling\n *  `event.preventDefault()` will prevent the drawer from closing. You can inspect `event.detail.source` to see which\n *  element caused the drawer to close. If the source is the drawer element itself, the user has pressed [[Escape]] or\n *  the drawer has been closed programmatically. Avoid using this unless closing the drawer will result in destructive\n *  behavior such as data loss.\n *\n * @csspart dialog - The drawer's internal `<dialog>` element.\n * @csspart header - The drawer's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header. Works best with `<ed-button>`.\n * @csspart title - The drawer's title.\n * @csspart close-button - The close button, a `<ed-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n * @csspart body - The drawer's body.\n * @csspart footer - The drawer's footer.\n *\n * @cssproperty --spacing - The amount of space around and between the drawer's content.\n * @cssproperty --size - The preferred size of the drawer. This will be applied to the drawer's width or height\n *   depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.\n * @cssproperty [--show-duration=var(--ed-transition-normal)] - The animation duration when showing the drawer.\n * @cssproperty [--hide-duration=var(--ed-transition-normal)] - The animation duration when hiding the drawer.\n * @cssproperty --backdrop-filter - A CSS filter, e.g. `blur(4px)`, applied to the backdrop element behind the drawer.\n *\n * @property modal - Exposes the internal modal utility that controls focus trapping. To temporarily disable focus\n *   trapping and allow third-party modals spawned from an active Shoelace modal, call `modal.activateExternal()` when\n *   the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Shoelace's focus trapping.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/drawer",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('dialog')",
          "dependencies": [
            "ed-button",
            "ed-icon"
          ],
          "tagName": "ed-drawer",
          "customElement": true,
          "modulePath": "components/drawer/drawer.js",
          "definitionPath": "components/drawer/drawer.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDrawer",
            "module": "components/drawer/drawer.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-drawer",
          "declaration": {
            "name": "EdDrawer",
            "module": "components/drawer/drawer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/app/app.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdApp",
          "cssProperties": [
            {
              "description": "The width of the page's \"main\" section.",
              "name": "--main-width",
              "default": "1fr"
            },
            {
              "description": "The width of the page's \"aside\" section.",
              "name": "--aside-width",
              "default": "auto"
            },
            {
              "description": "The height of the banner. This gets calculated when the page initializes. If the height is known, you can set it here to prevent shifting when the page loads.",
              "name": "--banner-height",
              "default": "0px"
            },
            {
              "description": "The height of the header. This gets calculated when the page initializes. If the height is known, you can set it here to prevent shifting when the page loads.",
              "name": "--header-height",
              "default": "0px"
            },
            {
              "description": "The height of the subheader. This gets calculated when the page initializes. If the height is known, you can set it here to prevent shifting when the page loads.",
              "name": "--subheader-height",
              "default": "0px"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The banner to show above header.",
              "name": "banner"
            },
            {
              "description": "The header, usually for top level navigation / branding.",
              "name": "header"
            },
            {
              "description": "Shown below the header.",
              "name": "subheader"
            },
            {
              "description": "The wrapper around menu, main, and aside.",
              "name": "body"
            },
            {
              "description": "The left hand side of the page. Generally intended for navigation.",
              "name": "menu"
            },
            {
              "description": "The `<nav>` that wraps the navigation slots on desktop viewports.",
              "name": "navigation"
            },
            {
              "description": "The header inside the navigation `<nav>`. On mobile this is the header of `<ed-drawer>`.",
              "name": "navigation-header"
            },
            {
              "description": "The footer inside the navigation `<nav>`. On mobile this is the footer of `<ed-drawer>`.",
              "name": "navigation-footer"
            },
            {
              "description": "The default `<ed-button>` that toggles the navigation.",
              "name": "navigation-toggle"
            },
            {
              "description": "The default `<ed-icon>` displayed inside the navigation-toggle button.",
              "name": "navigation-toggle-icon"
            },
            {
              "description": "The header above main content.",
              "name": "main-header"
            },
            {
              "description": "The main content.",
              "name": "main-content"
            },
            {
              "description": "The footer below main content.",
              "name": "main-footer"
            },
            {
              "description": "The right hand side of the page. Used for things like table of contents, ads, etc.",
              "name": "aside"
            },
            {
              "description": "The \"skip to main content\" link.",
              "name": "skip-link"
            },
            {
              "description": "The footer of the page. This is always below the initial viewport size.",
              "name": "footer"
            },
            {
              "description": "The mobile navigation `<ed-drawer>`.",
              "name": "drawer"
            }
          ],
          "slots": [
            {
              "description": "The page's main content.",
              "name": ""
            },
            {
              "description": "The banner that gets display above the header. The banner will not be shown if no content is provided.",
              "name": "banner"
            },
            {
              "description": "The header to display at the top of the page. If a banner is present, the header will appear below the banner. The header will not be shown if there is no content.",
              "name": "header"
            },
            {
              "description": "A subheader to display below the `header`.",
              "name": "subheader"
            },
            {
              "description": "The left side of the page. If you slot an element in here, you will override the default `navigation` slot and will be handling navigation on your own. This section \"sticks\" to the top as the page scrolls.",
              "name": "menu"
            },
            {
              "description": "The header for the navigation area. On desktop this is at the top of the `<nav>`. On mobile it renders as the header of `<ed-drawer>`.",
              "name": "navigation-header"
            },
            {
              "description": "The main content to display in the navigation area. On desktop it is displayed in a `<nav>` on the left side. On mobile it renders inside `<ed-drawer>`.",
              "name": "navigation"
            },
            {
              "description": "The footer for the navigation area. On desktop this is at the bottom of the `<nav>`. On mobile it renders as the footer of `<ed-drawer>`.",
              "name": "navigation-footer"
            },
            {
              "description": "Use this slot to slot in your own button + icon for toggling the navigation. By default it is an `<ed-button>` with a menu `<ed-icon>`.",
              "name": "navigation-toggle"
            },
            {
              "description": "Use this to slot in your own icon for toggling the navigation. By default it is a menu `<ed-icon>`.",
              "name": "navigation-toggle-icon"
            },
            {
              "description": "Header to display inline above the main content. This is a good place to put things like breadcrumbs or the page title.",
              "name": "main-header"
            },
            {
              "description": "Footer to display inline below the main content.",
              "name": "main-footer"
            },
            {
              "description": "Content to be shown on the right side of the page. Typically contains a table of contents, ads, etc. This section \"sticks\" to the top as the page scrolls.",
              "name": "aside"
            },
            {
              "description": "The \"skip to content\" slot. You can override this if you would like to customize the `Skip to content` button or add additional \"Skip to X\" links.",
              "name": "skip-to-content"
            },
            {
              "description": "The content to display in the footer. This is always displayed underneath the viewport so will always make the page \"scrollable\".",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[visuallyHidden, styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "headerResizeObserver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "subheaderResizeObserver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "bannerResizeObserver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "footerResizeObserver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "menuResizeObserver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController( this, 'aside', 'menu', 'navigation', 'navigation-header', 'navigation-footer' )"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "method",
              "name": "slotResizeObserver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "slot",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleNavigationToggle",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "header",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "menu",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "navigation",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "main",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "aside",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "subheader",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "footer",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "banner",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "navigationDrawer",
              "type": {
                "text": "EdDrawer"
              }
            },
            {
              "kind": "field",
              "name": "navigationToggleSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "view",
              "type": {
                "text": "'mobile' | 'desktop'"
              },
              "default": "'desktop'",
              "description": "The view is a reflection of the \"mobileBreakpoint\", when the page is larger than the `mobile-breakpoint` (768px by\ndefault), it is considered to be a \"desktop\" view. The view is merely a way to distinguish when to show/hide the\nnavigation. You can use additional media queries to make other adjustments to content as necessary.\nThe default is \"desktop\" because the \"mobile navigation drawer\" isn't accessible via SSR due to drawer requiring JS.",
              "attribute": "view",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "desktopNavOpen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the desktop navigation is open.",
              "attribute": "desktop-nav-open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "mobileNavOpen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the mobile navigation drawer is open.",
              "attribute": "mobile-nav-open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "mobileBreakpoint",
              "type": {
                "text": "string"
              },
              "default": "'768px'",
              "description": "At what page width to hide the \"navigation\" slot and collapse into a hamburger button.\nAccepts both numbers (interpreted as px) and CSS lengths (e.g. `50em`), which are resolved based on the root element.",
              "attribute": "mobile-breakpoint"
            },
            {
              "kind": "field",
              "name": "navigationPlacement",
              "type": {
                "text": "'start' | 'end'"
              },
              "default": "'start'",
              "description": "Where to place the navigation when in the mobile viewport.",
              "attribute": "navigation-placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disableNavigationToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether to hide the default hamburger button.\nThis will automatically flip to \"true\" if you add an element with `data-toggle-nav` anywhere in the element light DOM.\nGenerally this will be set for you and you don't need to do anything, unless you're using SSR, in which case you should set this manually for initial page loads.",
              "attribute": "disable-navigation-toggle",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hideDesktopNavigationToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the header navigation toggle outside the mobile view. Use together with `ed-rail-menu`,\nwhose panel follows the active section on desktop — the header hamburger then only serves the mobile drawer.",
              "attribute": "hide-desktop-navigation-toggle",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pageResizeObserver"
            },
            {
              "kind": "field",
              "name": "updateNavigationToggleState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "visiblePixelsInViewport",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement | null"
                  }
                }
              ],
              "description": "https://stackoverflow.com/a/26831113",
              "type": {
                "text": "visiblePixelsInViewport(element: HTMLElement | null) => void"
              }
            },
            {
              "kind": "method",
              "name": "showNavigation",
              "description": "Shows the navigation",
              "type": {
                "text": "showNavigation() => void"
              }
            },
            {
              "kind": "method",
              "name": "hideNavigation",
              "description": "Hides the navigation",
              "type": {
                "text": "hideNavigation() => void"
              }
            },
            {
              "kind": "method",
              "name": "toggleNavigation",
              "description": "Toggles the navigation",
              "type": {
                "text": "toggleNavigation() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "view",
              "type": {
                "text": "'mobile' | 'desktop'"
              },
              "default": "'desktop'",
              "description": "The view is a reflection of the \"mobileBreakpoint\", when the page is larger than the `mobile-breakpoint` (768px by\ndefault), it is considered to be a \"desktop\" view. The view is merely a way to distinguish when to show/hide the\nnavigation. You can use additional media queries to make other adjustments to content as necessary.\nThe default is \"desktop\" because the \"mobile navigation drawer\" isn't accessible via SSR due to drawer requiring JS.",
              "fieldName": "view"
            },
            {
              "name": "desktop-nav-open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the desktop navigation is open.",
              "fieldName": "desktopNavOpen"
            },
            {
              "name": "mobile-nav-open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the mobile navigation drawer is open.",
              "fieldName": "mobileNavOpen"
            },
            {
              "name": "mobile-breakpoint",
              "type": {
                "text": "string"
              },
              "default": "'768px'",
              "description": "At what page width to hide the \"navigation\" slot and collapse into a hamburger button.\nAccepts both numbers (interpreted as px) and CSS lengths (e.g. `50em`), which are resolved based on the root element.",
              "fieldName": "mobileBreakpoint"
            },
            {
              "name": "navigation-placement",
              "type": {
                "text": "'start' | 'end'"
              },
              "default": "'start'",
              "description": "Where to place the navigation when in the mobile viewport.",
              "fieldName": "navigationPlacement"
            },
            {
              "name": "disable-navigation-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether to hide the default hamburger button.\nThis will automatically flip to \"true\" if you add an element with `data-toggle-nav` anywhere in the element light DOM.\nGenerally this will be set for you and you don't need to do anything, unless you're using SSR, in which case you should set this manually for initial page loads.",
              "fieldName": "disableNavigationToggle"
            },
            {
              "name": "hide-desktop-navigation-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the header navigation toggle outside the mobile view. Use together with `ed-rail-menu`,\nwhose panel follows the active section on desktop — the header hamburger then only serves the mobile drawer.",
              "fieldName": "hideDesktopNavigationToggle"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Application shell with header, navigation, content and footer regions.",
          "jsDoc": "/**\n * @summary Application shell with header, navigation, content and footer regions.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/app\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('navigation')\n *\n * @dependency ed-button\n * @dependency ed-icon\n * @dependency ed-drawer\n * @dependency ed-toast-stack\n *\n * @slot - The page's main content.\n * @slot banner - The banner that gets display above the header. The banner will not be shown if no content is provided.\n * @slot header - The header to display at the top of the page. If a banner is present, the header will appear below the banner. The header will not be shown if there is no content.\n * @slot subheader - A subheader to display below the `header`.\n * @slot menu - The left side of the page. If you slot an element in here, you will override the default `navigation` slot and will be handling navigation on your own. This section \"sticks\" to the top as the page scrolls.\n * @slot navigation-header - The header for the navigation area. On desktop this is at the top of the `<nav>`. On mobile it renders as the header of `<ed-drawer>`.\n * @slot navigation - The main content to display in the navigation area. On desktop it is displayed in a `<nav>` on the left side. On mobile it renders inside `<ed-drawer>`.\n * @slot navigation-footer - The footer for the navigation area. On desktop this is at the bottom of the `<nav>`. On mobile it renders as the footer of `<ed-drawer>`.\n * @slot navigation-toggle - Use this slot to slot in your own button + icon for toggling the navigation. By default it is an `<ed-button>` with a menu `<ed-icon>`.\n * @slot navigation-toggle-icon - Use this to slot in your own icon for toggling the navigation. By default it is a menu `<ed-icon>`.\n * @slot main-header - Header to display inline above the main content. This is a good place to put things like breadcrumbs or the page title.\n * @slot main-footer - Footer to display inline below the main content.\n * @slot aside - Content to be shown on the right side of the page. Typically contains a table of contents, ads, etc. This section \"sticks\" to the top as the page scrolls.\n * @slot skip-to-content - The \"skip to content\" slot. You can override this if you would like to customize the `Skip to content` button or add additional \"Skip to X\" links.\n * @slot footer - The content to display in the footer. This is always displayed underneath the viewport so will always make the page \"scrollable\".\n *\n * @csspart base - The component's base wrapper.\n * @csspart banner - The banner to show above header.\n * @csspart header - The header, usually for top level navigation / branding.\n * @csspart subheader - Shown below the header.\n * @csspart body - The wrapper around menu, main, and aside.\n * @csspart menu - The left hand side of the page. Generally intended for navigation.\n * @csspart navigation - The `<nav>` that wraps the navigation slots on desktop viewports.\n * @csspart navigation-header - The header inside the navigation `<nav>`. On mobile this is the header of `<ed-drawer>`.\n * @csspart navigation-footer - The footer inside the navigation `<nav>`. On mobile this is the footer of `<ed-drawer>`.\n * @csspart navigation-toggle - The default `<ed-button>` that toggles the navigation.\n * @csspart navigation-toggle-icon - The default `<ed-icon>` displayed inside the navigation-toggle button.\n * @csspart main-header - The header above main content.\n * @csspart main-content - The main content.\n * @csspart main-footer - The footer below main content.\n * @csspart aside - The right hand side of the page. Used for things like table of contents, ads, etc.\n * @csspart skip-link - The \"skip to main content\" link.\n * @csspart footer - The footer of the page. This is always below the initial viewport size.\n * @csspart drawer - The mobile navigation `<ed-drawer>`.\n *\n * @cssproperty [--main-width=1fr] - The width of the page's \"main\" section.\n * @cssproperty [--aside-width=auto] - The width of the page's \"aside\" section.\n * @cssproperty [--banner-height=0px] - The height of the banner. This gets calculated when the page initializes. If the height is known, you can set it here to prevent shifting when the page loads.\n * @cssproperty [--header-height=0px] - The height of the header. This gets calculated when the page initializes. If the height is known, you can set it here to prevent shifting when the page loads.\n * @cssproperty [--subheader-height=0px] - The height of the subheader. This gets calculated when the page initializes. If the height is known, you can set it here to prevent shifting when the page loads.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/app",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('navigation')",
          "dependencies": [
            "ed-button",
            "ed-icon",
            "ed-drawer",
            "ed-toast-stack"
          ],
          "tagName": "ed-app",
          "customElement": true,
          "modulePath": "components/app/app.js",
          "definitionPath": "components/app/app.js",
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdApp",
            "module": "components/app/app.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-app",
          "declaration": {
            "name": "EdApp",
            "module": "components/app/app.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/avatar/avatar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdAvatar",
          "cssProperties": [
            {
              "description": "The size of the avatar.",
              "name": "--size"
            }
          ],
          "cssParts": [
            {
              "description": "The container that wraps the avatar's icon.",
              "name": "icon"
            },
            {
              "description": "The container that wraps the avatar's initials.",
              "name": "initials"
            },
            {
              "description": "The avatar image. Only shown when the `image` attribute is set.",
              "name": "image"
            }
          ],
          "slots": [
            {
              "description": "The default icon to use when no image or initials are present. Works best with `<ed-icon>`.",
              "name": "icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasError",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "image",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The image source to use for the avatar.",
              "attribute": "image"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use to describe the avatar to assistive devices.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "initials",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Initials to use as a fallback when no image is available (1-2 characters max recommended).",
              "attribute": "initials"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "'eager' | 'lazy'"
              },
              "default": "'eager'",
              "description": "Indicates how the browser should load the image.",
              "attribute": "loading"
            },
            {
              "kind": "field",
              "name": "shape",
              "type": {
                "text": "'circle' | 'square' | 'rounded'"
              },
              "default": "'circle'",
              "description": "The shape of the avatar.",
              "attribute": "shape",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleImageChange",
              "type": {
                "text": "handleImageChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleImageLoadError",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "The image could not be loaded. This may because of an invalid URL, a temporary network condition, or some unknown cause.",
              "name": "ed-error",
              "reactName": "onEdError",
              "eventName": "EdErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "image",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The image source to use for the avatar.",
              "fieldName": "image"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use to describe the avatar to assistive devices.",
              "fieldName": "label"
            },
            {
              "name": "initials",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Initials to use as a fallback when no image is available (1-2 characters max recommended).",
              "fieldName": "initials"
            },
            {
              "name": "loading",
              "type": {
                "text": "'eager' | 'lazy'"
              },
              "default": "'eager'",
              "description": "Indicates how the browser should load the image.",
              "fieldName": "loading"
            },
            {
              "name": "shape",
              "type": {
                "text": "'circle' | 'square' | 'rounded'"
              },
              "default": "'circle'",
              "description": "The shape of the avatar.",
              "fieldName": "shape"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Avatars are used to represent a person or object.",
          "jsDoc": "/**\n * @summary Avatars are used to represent a person or object.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/avatar\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('img')\n *\n * @dependency ed-icon\n *\n * @slot icon - The default icon to use when no image or initials are present. Works best with `<ed-icon>`.\n *\n * @event ed-error - The image could not be loaded. This may because of an invalid URL, a temporary network condition, or some\n * unknown cause.\n *\n * @csspart icon - The container that wraps the avatar's icon.\n * @csspart initials - The container that wraps the avatar's initials.\n * @csspart image - The avatar image. Only shown when the `image` attribute is set.\n *\n * @cssproperty --size - The size of the avatar.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/avatar",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('img')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-avatar",
          "customElement": true,
          "modulePath": "components/avatar/avatar.js",
          "definitionPath": "components/avatar/avatar.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdAvatar",
            "module": "components/avatar/avatar.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-avatar",
          "declaration": {
            "name": "EdAvatar",
            "module": "components/avatar/avatar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/badge/badge.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdBadge",
          "cssProperties": [
            {
              "description": "The color of the badge's pulse effect when using `attention=\"pulse\"`.",
              "name": "--pulse-color"
            }
          ],
          "cssParts": [
            {
              "description": "The component's remove icon",
              "name": "remove-icon"
            },
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            }
          ],
          "slots": [
            {
              "description": "The badge's content.",
              "name": ""
            },
            {
              "description": "Content placed before the badge's main content. Typically used for icons.",
              "name": "start"
            },
            {
              "description": "Content placed after the badge's main content. Typically used for icons. When `with-remove` is set, the default content is a remove button that emits `ed-remove` when activated by click, Enter or Space.",
              "name": "end"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[variantStyles, styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "| 'brand'\n    | 'neutral'\n    | 'info'\n    | 'success'\n    | 'danger'\n    | 'warning'\n    | 'new'\n    | 'expired'\n    | 'ai'\n    | 'notification'\n    | 'notification-alt'"
              },
              "default": "'info'",
              "description": "The badge's theme variant.",
              "attribute": "variant",
              "reflects": true,
              "parsedType": {
                "text": "'brand' | 'neutral' | 'info' | 'success' | 'danger' | 'warning' | 'new' | 'expired' | 'ai' | 'notification' | 'notification-alt'"
              }
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style badge with rounded edges. Mainly used to display filters",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "attention",
              "type": {
                "text": "'none' | 'pulse' | 'bounce'"
              },
              "default": "'none'",
              "description": "Adds an animation to draw attention to the badge.",
              "attribute": "attention",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withRemove",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the badge removable and shows a remove button. Although you could use removable without pill, our styleguide requires that only pill styled badges can be removable",
              "attribute": "with-remove"
            },
            {
              "kind": "method",
              "name": "handleRemoveClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleRemoveKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "checkEmpty",
              "privacy": "private",
              "parameters": [
                {
                  "name": "slot",
                  "type": {
                    "text": "HTMLSlotElement"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "| 'brand'\n    | 'neutral'\n    | 'info'\n    | 'success'\n    | 'danger'\n    | 'warning'\n    | 'new'\n    | 'expired'\n    | 'ai'\n    | 'notification'\n    | 'notification-alt'"
              },
              "default": "'info'",
              "description": "The badge's theme variant.",
              "fieldName": "variant",
              "parsedType": {
                "text": "'brand' | 'neutral' | 'info' | 'success' | 'danger' | 'warning' | 'new' | 'expired' | 'ai' | 'notification' | 'notification-alt'"
              }
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style badge with rounded edges. Mainly used to display filters",
              "fieldName": "pill"
            },
            {
              "name": "attention",
              "type": {
                "text": "'none' | 'pulse' | 'bounce'"
              },
              "default": "'none'",
              "description": "Adds an animation to draw attention to the badge.",
              "fieldName": "attention"
            },
            {
              "name": "with-remove",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the badge removable and shows a remove button. Although you could use removable without pill, our styleguide requires that only pill styled badges can be removable",
              "fieldName": "withRemove"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Badges are used to draw attention and display statuses, counts or filters.",
          "jsDoc": "/**\n * @summary Badges are used to draw attention and display statuses, counts or filters.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/badge\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-icon\n *\n * @slot - The badge's content.\n * @slot start - Content placed before the badge's main content. Typically used for icons.\n * @slot end - Content placed after the badge's main content. Typically used for icons. When `with-remove` is set, the default content is a remove button that emits `ed-remove` when activated by click, Enter or Space.\n *\n * @csspart remove-icon - The component's remove icon\n * @csspart base - The component's base wrapper.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n *\n * @cssproperty --pulse-color - The color of the badge's pulse effect when using `attention=\"pulse\"`.\n *\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/badge",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-badge",
          "customElement": true,
          "modulePath": "components/badge/badge.js",
          "definitionPath": "components/badge/badge.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdBadge",
            "module": "components/badge/badge.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-badge",
          "declaration": {
            "name": "EdBadge",
            "module": "components/badge/badge.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/breadcrumb-item/breadcrumb-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdBreadcrumbItem",
          "cssParts": [
            {
              "description": "The breadcrumb item's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            },
            {
              "description": "The container that wraps the separator.",
              "name": "separator"
            }
          ],
          "slots": [
            {
              "description": "The breadcrumb item's label.",
              "name": ""
            },
            {
              "description": "An element, such as `<ed-icon>`, placed before the label.",
              "name": "start"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed after the label.",
              "name": "end"
            },
            {
              "description": "The separator to use for the breadcrumb item. This will only change the separator for this item. If you want to change it for all items in the group, set the separator on `<ed-breadcrumb>` instead.",
              "name": "separator"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'start', 'end')"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "renderType",
              "type": {
                "text": "'button' | 'link' | 'dropdown' | 'heading'"
              },
              "privacy": "private",
              "default": "'button'"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string | undefined"
              },
              "description": "Optional URL to direct the user to when the breadcrumb item is activated. When set, a link will be rendered\ninternally. When unset, a button will be rendered instead. To follow the [WAI-ARIA breadcrumb\npattern](https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/) on the current-page item, set `href=\"\"` — the\nbrowser resolves it to the current URL, and `<ed-breadcrumb>` already applies `aria-current=\"page\"` to the last\nitem.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is set.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "The `rel` attribute to use on the link. Only used when `href` is set.",
              "attribute": "rel"
            },
            {
              "kind": "method",
              "name": "setRenderType",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hrefChanged",
              "type": {
                "text": "hrefChanged() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "type": {
                "text": "handleSlotChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "href",
              "type": {
                "text": "string | undefined"
              },
              "description": "Optional URL to direct the user to when the breadcrumb item is activated. When set, a link will be rendered\ninternally. When unset, a button will be rendered instead. To follow the [WAI-ARIA breadcrumb\npattern](https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/) on the current-page item, set `href=\"\"` — the\nbrowser resolves it to the current URL, and `<ed-breadcrumb>` already applies `aria-current=\"page\"` to the last\nitem.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is set.",
              "fieldName": "target"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "The `rel` attribute to use on the link. Only used when `href` is set.",
              "fieldName": "rel"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Breadcrumb Items are used inside breadcrumbs to represent different links.",
          "jsDoc": "/**\n * @summary Breadcrumb Items are used inside breadcrumbs to represent different links.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/breadcrumb-item\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('link', { name: '…' }) (or `'button'` when there is no `href`)\n *\n * @slot - The breadcrumb item's label.\n * @slot start - An element, such as `<ed-icon>`, placed before the label.\n * @slot end - An element, such as `<ed-icon>`, placed after the label.\n * @slot separator - The separator to use for the breadcrumb item. This will only change the separator for this item. If\n * you want to change it for all items in the group, set the separator on `<ed-breadcrumb>` instead.\n *\n * @csspart label - The breadcrumb item's label.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n * @csspart separator - The container that wraps the separator.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/breadcrumb-item",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('link', { name: '…' }) (or `'button'` when there is no `href`)",
          "tagName": "ed-breadcrumb-item",
          "customElement": true,
          "modulePath": "components/breadcrumb-item/breadcrumb-item.js",
          "definitionPath": "components/breadcrumb-item/breadcrumb-item.js",
          "cssProperties": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdBreadcrumbItem",
            "module": "components/breadcrumb-item/breadcrumb-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-breadcrumb-item",
          "declaration": {
            "name": "EdBreadcrumbItem",
            "module": "components/breadcrumb-item/breadcrumb-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/breadcrumb/breadcrumb.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdBreadcrumb",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "One or more breadcrumb items to display.",
              "name": ""
            },
            {
              "description": "The separator to use between breadcrumb items. Works best with `<ed-icon>`.",
              "name": "separator"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "separatorDir",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "separatorSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'inline' | 'inline-title' | 'title'"
              },
              "default": "'inline'",
              "description": "The breadcrumb's visual variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleVariantChange",
              "type": {
                "text": "handleVariantChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "getSeparator",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
              "fieldName": "label"
            },
            {
              "name": "variant",
              "type": {
                "text": "'inline' | 'inline-title' | 'title'"
              },
              "default": "'inline'",
              "description": "The breadcrumb's visual variant.",
              "fieldName": "variant"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.",
          "jsDoc": "/**\n * @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/breadcrumb\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('navigation')\n *\n * @slot - One or more breadcrumb items to display.\n * @slot separator - The separator to use between breadcrumb items. Works best with `<ed-icon>`.\n *\n * @dependency ed-icon\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/breadcrumb",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('navigation')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-breadcrumb",
          "customElement": true,
          "modulePath": "components/breadcrumb/breadcrumb.js",
          "definitionPath": "components/breadcrumb/breadcrumb.js",
          "cssProperties": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdBreadcrumb",
            "module": "components/breadcrumb/breadcrumb.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-breadcrumb",
          "declaration": {
            "name": "EdBreadcrumb",
            "module": "components/breadcrumb/breadcrumb.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/button-group/button-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdButtonGroup",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "One or more `<ed-button>` elements to display in the button group.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The button group's orientation.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseOut",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
              "fieldName": "label"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The button group's orientation.",
              "fieldName": "orientation"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Button groups can be used to group related buttons into sections.",
          "jsDoc": "/**\n * @summary Button groups can be used to group related buttons into sections.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/button-group\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('group')\n *\n * @dependency ed-button\n *\n * @slot - One or more `<ed-button>` elements to display in the button group.\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/button-group",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('group')",
          "dependencies": [
            "ed-button"
          ],
          "tagName": "ed-button-group",
          "customElement": true,
          "modulePath": "components/button-group/button-group.js",
          "definitionPath": "components/button-group/button-group.js",
          "cssProperties": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdButtonGroup",
            "module": "components/button-group/button-group.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-button-group",
          "declaration": {
            "name": "EdButtonGroup",
            "module": "components/button-group/button-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/divider/divider.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDivider",
          "cssProperties": [
            {
              "description": "The color of the divider.",
              "name": "--color"
            },
            {
              "description": "The width of the divider.",
              "name": "--width"
            },
            {
              "description": "The spacing of the divider.",
              "name": "--spacing"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Sets the divider's orientation.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleVerticalChange",
              "type": {
                "text": "handleVerticalChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Sets the divider's orientation.",
              "fieldName": "orientation"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Dividers are used to visually separate or group elements.",
          "jsDoc": "/**\n * @summary Dividers are used to visually separate or group elements.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/divider\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('separator')\n *\n * @cssproperty --color - The color of the divider.\n * @cssproperty --width - The width of the divider.\n * @cssproperty --spacing - The spacing of the divider.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/divider",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('separator')",
          "tagName": "ed-divider",
          "customElement": true,
          "modulePath": "components/divider/divider.js",
          "definitionPath": "components/divider/divider.js",
          "cssParts": [],
          "cssStates": [],
          "events": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDivider",
            "module": "components/divider/divider.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-divider",
          "declaration": {
            "name": "EdDivider",
            "module": "components/divider/divider.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/calendar/selection/single.js",
      "declarations": [
        {
          "kind": "function",
          "name": "floorToPeriod",
          "return": {
            "type": {
              "text": "Date"
            }
          },
          "parameters": [
            {
              "name": "date",
              "type": {
                "text": "Date"
              }
            },
            {
              "name": "granularity",
              "type": {
                "text": "SelectionGranularity"
              }
            }
          ],
          "description": "Return the first day of the period containing `date` under `granularity`."
        },
        {
          "kind": "function",
          "name": "isSamePeriod",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "a",
              "type": {
                "text": "Date"
              }
            },
            {
              "name": "b",
              "type": {
                "text": "Date"
              }
            },
            {
              "name": "granularity",
              "type": {
                "text": "SelectionGranularity"
              }
            }
          ],
          "description": "True when `a` and `b` fall in the same period under `granularity`."
        },
        {
          "kind": "class",
          "description": "",
          "name": "SingleDateStrategy",
          "members": [
            {
              "kind": "field",
              "name": "selectedDate",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "granularity",
              "type": {
                "text": "SelectionGranularity"
              },
              "privacy": "private",
              "readonly": true,
              "default": "granularity",
              "parsedType": {
                "text": "'day' | 'month' | 'year' | 'quarter' | 'halfyear'"
              }
            },
            {
              "kind": "method",
              "name": "getDayCellState",
              "return": {
                "type": {
                  "text": "DayCellState"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectDay",
              "return": {
                "type": {
                  "text": "SelectionResult"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setSelection",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "Date | DateRange | null"
                  }
                }
              ]
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "floorToPeriod",
          "declaration": {
            "name": "floorToPeriod",
            "module": "components/calendar/selection/single.js"
          }
        },
        {
          "kind": "js",
          "name": "isSamePeriod",
          "declaration": {
            "name": "isSamePeriod",
            "module": "components/calendar/selection/single.js"
          }
        },
        {
          "kind": "js",
          "name": "SingleDateStrategy",
          "declaration": {
            "name": "SingleDateStrategy",
            "module": "components/calendar/selection/single.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/calendar/selection/range.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Two-click range selection strategy for `type=\"date\"` calendars.\n\n- First `selectDay` → sets anchor; returns incomplete result.\n- Second `selectDay` → normalizes to start <= end; returns complete result.\n- Third `selectDay` → starts a new range (MUI semantics).\n- Same-day twice = valid single-day range.\n- `previewDay` stores the hover/roving-focus target for preview rendering.\n- `setSelection` seeds a committed range (or null); never leaves mid-gesture.",
          "name": "RangeStrategy",
          "members": [
            {
              "kind": "field",
              "name": "committedRange",
              "type": {
                "text": "DateRange | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The committed range (both non-null) or null for no selection."
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The anchor date when a gesture is in progress (first click done, awaiting second)."
            },
            {
              "kind": "field",
              "name": "previewTarget",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Current hover/focus preview target. Only meaningful while `anchor` is set."
            },
            {
              "kind": "method",
              "name": "getDayCellState",
              "return": {
                "type": {
                  "text": "DayCellState"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectDay",
              "return": {
                "type": {
                  "text": "SelectionResult"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setSelection",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "Date | DateRange | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "previewDay",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "seedAnchor",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date"
                  }
                }
              ],
              "description": "Seed a placed range anchor (start) without a live click gesture.\nMirrors the post-first-click state so `getDayCellState` returns `'preview-start'`\nfor the anchor via the existing anchor-without-preview path.\nThe next `selectDay` call completes the range as a normal second click."
            }
          ],
          "jsDoc": "/**\n * Two-click range selection strategy for `type=\"date\"` calendars.\n *\n * - First `selectDay` → sets anchor; returns incomplete result.\n * - Second `selectDay` → normalizes to start <= end; returns complete result.\n * - Third `selectDay` → starts a new range (MUI semantics).\n * - Same-day twice = valid single-day range.\n * - `previewDay` stores the hover/roving-focus target for preview rendering.\n * - `setSelection` seeds a committed range (or null); never leaves mid-gesture.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RangeStrategy",
          "declaration": {
            "name": "RangeStrategy",
            "module": "components/calendar/selection/range.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/calendar/selection/week.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Whole-ISO-week selection strategy for `selection-mode=\"week\"` calendars.\n\nSelecting any day in a week selects the entire Mon–Sun band.  The committed\nvalue is always the ISO-week Monday (consistent with `<input type=\"week\">` and\nthe `2026-W22` wire format).  A single `Date` is returned (not a `DateRange`),\nkeeping the calendar on the single-value side of the `Date | DateRange` union.\n\nVisual band: uses `start` (Monday), `in-range` (Tue–Sat), and `end` (Sunday)\nstates — exactly the parts the day-cell template already maps for range mode.\nPreview states are emitted while the user hovers.",
          "name": "WeekStrategy",
          "members": [
            {
              "kind": "field",
              "name": "committedMonday",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Monday of the committed week, or `null` for no selection."
            },
            {
              "kind": "field",
              "name": "previewMonday",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Monday of the currently previewed week (hover / roving focus), or `null`."
            },
            {
              "kind": "method",
              "name": "getDayCellState",
              "return": {
                "type": {
                  "text": "DayCellState"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_bandState",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "'start' | 'in-range' | 'end' | 'idle'"
                }
              },
              "parameters": [
                {
                  "name": "t",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "monday",
                  "type": {
                    "text": "Date"
                  }
                }
              ],
              "description": "Band position of `t` (epoch ms, local midnight) within the ISO week starting at `monday`."
            },
            {
              "kind": "method",
              "name": "selectDay",
              "return": {
                "type": {
                  "text": "SelectionResult"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date"
                  }
                }
              ],
              "description": "Activating any day in a week selects that week.\nReturns `{ value: monday, complete: true }` — week selection is single-gesture."
            },
            {
              "kind": "method",
              "name": "previewDay",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date | null"
                  }
                }
              ],
              "description": "Update the hover/focus preview for the week containing `date`.\nPass `null` to clear the preview (e.g. on mouseleave)."
            },
            {
              "kind": "method",
              "name": "setSelection",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "Date | DateRange | null"
                  }
                }
              ],
              "description": "Programmatic hydration of a committed selection.  Accepts a `Date` (floors to that\nweek's Monday), a `DateRange` (uses `start`, matching the RangeStrategy convention),\nor `null` for no selection.  Never leaves the strategy in a partial state."
            },
            {
              "kind": "method",
              "name": "getCommittedMonday",
              "return": {
                "type": {
                  "text": "Date | null"
                }
              },
              "description": "The ISO-week Monday of the committed selection, or `null`.\nExposed so `buildDayGrid` can compute week-level disable bounds."
            }
          ],
          "jsDoc": "/**\n * Whole-ISO-week selection strategy for `selection-mode=\"week\"` calendars.\n *\n * Selecting any day in a week selects the entire Mon–Sun band.  The committed\n * value is always the ISO-week Monday (consistent with `<input type=\"week\">` and\n * the `2026-W22` wire format).  A single `Date` is returned (not a `DateRange`),\n * keeping the calendar on the single-value side of the `Date | DateRange` union.\n *\n * Visual band: uses `start` (Monday), `in-range` (Tue–Sat), and `end` (Sunday)\n * states — exactly the parts the day-cell template already maps for range mode.\n * Preview states are emitted while the user hovers.\n */"
        },
        {
          "kind": "function",
          "name": "isWeekOutOfBounds",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "date",
              "type": {
                "text": "Date"
              }
            },
            {
              "name": "min",
              "type": {
                "text": "Date | null"
              }
            },
            {
              "name": "max",
              "type": {
                "text": "Date | null"
              }
            }
          ],
          "description": "Return `true` when the entire ISO week containing `date` lies outside `[min, max]`.\nBoth `min` and `max` are day-precision.  A week is disabled only when it is\ncompletely out of bounds — if even one day overlaps the allowed range the week\nstays enabled (the user can select it and the picker will floor to Monday).\n\n`null` for either bound means unbounded on that side."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "WeekStrategy",
          "declaration": {
            "name": "WeekStrategy",
            "module": "components/calendar/selection/week.js"
          }
        },
        {
          "kind": "js",
          "name": "isWeekOutOfBounds",
          "declaration": {
            "name": "isWeekOutOfBounds",
            "module": "components/calendar/selection/week.js"
          }
        },
        {
          "kind": "js",
          "name": "isoWeekToMonday",
          "declaration": {
            "name": "isoWeekToMonday",
            "module": "components/calendar/selection/week.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/calendar/calendar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCalendar",
          "cssParts": [
            {
              "description": "The outer wrapper element.",
              "name": "base"
            },
            {
              "description": "The header row containing the month and year cycler controls.",
              "name": "header"
            },
            {
              "description": "Each cycler block (one for month, one for year).",
              "name": "cycler"
            },
            {
              "description": "The month cycler block.",
              "name": "cycler-month"
            },
            {
              "description": "The year cycler block.",
              "name": "cycler-year"
            },
            {
              "description": "A cycler's previous-step button.",
              "name": "cycler-prev"
            },
            {
              "description": "A cycler's next-step button.",
              "name": "cycler-next"
            },
            {
              "description": "A cycler's menu trigger (shows the current month or year, opens the in-surface menu).",
              "name": "cycler-trigger"
            },
            {
              "description": "A read-only \"Month Year\" label shown above each calendar in two-panel range mode (one per panel).",
              "name": "range-month-label"
            },
            {
              "description": "The body area below the header. Contains the day grid or the active picker menu.",
              "name": "body"
            },
            {
              "description": "The in-surface month or year picker menu (visible only when its cycler trigger is open).",
              "name": "picker-menu"
            },
            {
              "description": "Each menu item in the picker menu.",
              "name": "picker-item"
            },
            {
              "description": "The currently-selected menu item.",
              "name": "picker-item-selected"
            },
            {
              "description": "The divider between the panel content and the footer. Only visible when the footer is.",
              "name": "footer-divider"
            },
            {
              "description": "The footer wrapper. Only visible when at least one footer slot has content.",
              "name": "footer"
            },
            {
              "description": "Each row inside the footer (first row = `footer` slot, second row = `footer-controls` slot).",
              "name": "footer-row"
            },
            {
              "description": "The first footer row (the `footer` slot).",
              "name": "footer-row-custom"
            },
            {
              "description": "The second footer row (the `footer-controls` slot).",
              "name": "footer-row-controls"
            },
            {
              "description": "The day grid container.",
              "name": "grid"
            },
            {
              "description": "The row of weekday column headers.",
              "name": "weekday-header-row"
            },
            {
              "description": "Each weekday column header cell.",
              "name": "weekday-header-cell"
            },
            {
              "description": "Each body row of day cells.",
              "name": "day-row"
            },
            {
              "description": "Each day cell button.",
              "name": "day-cell"
            },
            {
              "description": "The inner state layer of a day cell (holds the digit; carries the selected/endpoint circle and the today ring).",
              "name": "day-cell-label"
            },
            {
              "description": "The day cell for today.",
              "name": "day-cell-today"
            },
            {
              "description": "A selected day cell (single-selection strategy).",
              "name": "day-cell-selected"
            },
            {
              "description": "The range start cell (range/week strategies).",
              "name": "day-cell-start"
            },
            {
              "description": "A cell inside the active range (range/week strategies).",
              "name": "day-cell-in-range"
            },
            {
              "description": "The range end cell (range/week strategies).",
              "name": "day-cell-end"
            },
            {
              "description": "The preview start cell while a range is being built.",
              "name": "day-cell-preview-start"
            },
            {
              "description": "A cell inside the in-progress preview range.",
              "name": "day-cell-preview-in-range"
            },
            {
              "description": "The preview end cell while a range is being built.",
              "name": "day-cell-preview-end"
            },
            {
              "description": "Wrapper around each month panel (header + body). In range mode two panels are rendered; in all other modes one panel.",
              "name": "panel"
            },
            {
              "description": "The week-number cell (rendered when `show-week-numbers` is set or `selection-mode=\"week\"`). In week mode the cell is a clickable `<div role=\"rowheader\">` that selects the entire week.",
              "name": "week-number"
            }
          ],
          "slots": [
            {
              "description": "Custom footer content (e.g. a \"Today\" jump button). Rendered as the first row of the footer.",
              "name": "footer"
            },
            {
              "description": "Action controls for the footer's second row. Intended for `<ed-date-picker>`'s OK/Cancel buttons; nothing rendered by default.",
              "name": "footer-controls"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "_titleId",
              "privacy": "private",
              "readonly": true,
              "default": "`ed-calendar-title-${++_idCounter}`",
              "description": "Stable id for the title element, used by aria-labelledby on the grid."
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "Date | DateRange | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_min",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_max",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_defaultMonth",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_type",
              "type": {
                "text": "EdCalendarType"
              },
              "privacy": "private",
              "default": "'date'",
              "parsedType": {
                "text": "'date' | 'month' | 'year' | 'quarter' | 'halfyear'"
              }
            },
            {
              "kind": "field",
              "name": "_selectionMode",
              "type": {
                "text": "EdCalendarSelectionMode"
              },
              "privacy": "private",
              "default": "'single'",
              "parsedType": {
                "text": "'single' | 'range' | 'week'"
              }
            },
            {
              "kind": "field",
              "name": "_panels",
              "type": {
                "text": "1 | 2"
              },
              "privacy": "private",
              "default": "2"
            },
            {
              "kind": "field",
              "name": "_selectionStrategy",
              "type": {
                "text": "SelectionStrategy"
              },
              "privacy": "private",
              "default": "new SingleDateStrategy()"
            },
            {
              "kind": "field",
              "name": "_externalStrategy",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True after a consumer assigned `selectionStrategy` externally; suppresses internal recreation on type/mode change."
            },
            {
              "kind": "field",
              "name": "_today",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Today's local date. Set in firstUpdated() — never in render()."
            },
            {
              "kind": "field",
              "name": "_displayedMonth",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The month currently shown in the day grid. Set in firstUpdated() and by nav actions."
            },
            {
              "kind": "field",
              "name": "_liveText",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "description": "Text for the aria-live region. Updated when _displayedMonth changes."
            },
            {
              "kind": "field",
              "name": "_hasNavigated",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether the user has navigated the calendar since mount. Gates the polite live region so\nthe initial render does not announce its own period to screen readers."
            },
            {
              "kind": "field",
              "name": "_pendingKeyboardFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set by keyboard nav callbacks before they mutate the displayed month. Tells the post-render\nhook to move DOM focus to the newly-rendered cell instead of leaving focus orphaned on a\nnode that's about to be unmounted."
            },
            {
              "kind": "field",
              "name": "_rangeGestureActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True while a range gesture is in progress (anchor placed, end pending).\nDrives preview hover/focus wiring and the aria-live announcement."
            },
            {
              "kind": "field",
              "name": "_isDragging",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True while the user is actively dragging (pointerdown on a day cell + pointermove\nbefore pointerup). Distinct from _rangeGestureActive so drag and two-click flows\ncan share the same preview/commit paths.\nDrives the `.drag-active` class on the base element for `touch-action: none` (T7)."
            },
            {
              "kind": "field",
              "name": "_pendingGestureAnnouncement",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set to true in _activateDayCell when a range gesture announcement has been written to\n_liveText in the same synchronous call that also changes _displayedMonth (outside-month\ncell clicks). The updated() hook reads and clears this to avoid clobbering the\ngesture announcement with the navigation \"Showing…\" text."
            },
            {
              "kind": "field",
              "name": "_monthMenuOpen",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether the month dropdown is open. While true, the year cycler trigger is disabled."
            },
            {
              "kind": "field",
              "name": "_yearMenuOpen",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether the year dropdown is open. While true, the month cycler trigger is disabled."
            },
            {
              "kind": "field",
              "name": "_hasFooterSlot",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether the `footer` slot has assigned content. Drives the visibility of the first footer row."
            },
            {
              "kind": "field",
              "name": "_hasFooterControlsSlot",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether the `footer-controls` slot has assigned content. Drives the visibility of the second footer row."
            },
            {
              "kind": "field",
              "name": "_panelHosts",
              "type": {
                "text": "PanelGridHost[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Per-panel facade + controller pairs. Initialized lazily in `_reconcilePanelControllers()`.\nEach entry corresponds to one rendered panel (index 0 = leftmost).\n\nThe facade pattern keeps `data-grid` consumers (EdTable, EdDataGrid) completely\nuntouched: the `GridFocusController` and `GridKeyboardNavController` classes are\nunchanged; only their host is a narrow facade instead of the full calendar element."
            },
            {
              "kind": "field",
              "name": "_panelFocusControllers",
              "type": {
                "text": "GridFocusController[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_panelKeyboardNavControllers",
              "type": {
                "text": "GridKeyboardNavController[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_pendingFocusPanelIndex",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "Index of the panel whose key event triggered the most recent paging action.\nUsed to restore focus to the originating panel after re-render."
            },
            {
              "kind": "method",
              "name": "_reconcilePanelControllers",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Reconcile the panel controller arrays to match `this._panelCount`.\nSafe to call multiple times — no-ops if count unchanged.\nMust be called after `connectedCallback` (or later) so addController fires\n`hostConnected` on newly created controllers."
            },
            {
              "kind": "method",
              "name": "_focusControllerForCell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "GridFocusController | null"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Return the focus controller that owns the given cell (by panel containment)."
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "Date | DateRange | null"
              },
              "description": "The selected value.\n\nIn `selection-mode=\"single\"` (default): property only — accepts a `Date` instance or a\n`'YYYY-MM-DD'` string. Garbage strings are treated as `null` and a warning is logged.\n\nIn `selection-mode=\"range\"`: accepts a `DateRange | null` only. String/tuple forms are\nnot supported and a warning is logged. The asymmetry is intentional — the string form is\na long-standing single-mode convenience; tuple/wire formats are the picker's responsibility."
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable date. Accepts a `Date` or a `'YYYY-MM-DD'` string.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable date. Accepts a `Date` or a `'YYYY-MM-DD'` string.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "defaultMonth",
              "type": {
                "text": "Date | null"
              },
              "description": "The month + year to display when no `value` is set. Both the year and the month of the\npassed date are read; the day-of-month component is ignored. Accepts a `Date` or a\n`'YYYY-MM-DD'` string — e.g. `\"2024-11-01\"` opens the calendar on November 2024.",
              "attribute": "default-month"
            },
            {
              "kind": "field",
              "name": "shouldDisableDate",
              "type": {
                "text": "(date: Date) => boolean"
              },
              "description": "Predicate to disable individual dates. Receives a local-date `Date`."
            },
            {
              "kind": "field",
              "name": "showWeekNumbers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, a week-number column is shown in the day grid.",
              "attribute": "show-week-numbers",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "firstDayOfWeek",
              "type": {
                "text": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 'locale'"
              },
              "default": "'locale'",
              "description": "The first day of the week. `'locale'` resolves via `Intl.Locale#getWeekInfo()`.\nAccepts `0`–`6` (Sunday=0) or the literal string `'locale'`.\n\nIgnored when `selection-mode=\"week\"`: ISO weeks start on Monday, so week mode\nalways renders a Monday-start grid regardless of this value or the locale.",
              "attribute": "first-day-of-week"
            },
            {
              "kind": "field",
              "name": "_panelCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "description": "Derives the number of panels to render from the current selection mode and type.\n`selection-mode=\"range\"` with `type=\"date\"` implies a fixed two-panel linked layout;\nall other combinations render a single panel.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "selectionStrategy",
              "type": {
                "text": "SelectionStrategy"
              },
              "description": "The selection strategy controlling how day cells are highlighted and what value is emitted.\nReassigning this property triggers a re-render so cell states reflect the new strategy.\nSetting this externally opts out of the internal `type`-driven strategy recreation —\nthe consumer becomes responsible for keeping its strategy consistent with `type`."
            },
            {
              "kind": "field",
              "name": "selectionMode",
              "type": {
                "text": "EdCalendarSelectionMode"
              },
              "description": "The selection mode for the day grid.\n\n- `single` (default) — one day at a time; `ed-change` detail carries `Date | null`.\n- `range` — two-click range; `ed-change` detail carries `DateRange | null`.\n  First click emits `{ complete: false }`; second click emits `{ complete: true }`.\n  Effective only for `type=\"date\"` — other types ignore this and behave as single.\n- `week` — whole ISO week (Mon–Sun) selection; `ed-change` detail carries the ISO-week\n  Monday as a `Date`. Effective only for `type=\"date\"`.",
              "attribute": "selection-mode",
              "reflects": true,
              "parsedType": {
                "text": "'single' | 'range' | 'week'"
              }
            },
            {
              "kind": "field",
              "name": "panels",
              "type": {
                "text": "number"
              },
              "description": "Number of month panels rendered in range mode: `1` or `2` (default `2`).\nOnly takes effect when `selection-mode=\"range\"` and `type=\"date\"`; every other mode\nalways renders a single panel. `panels=\"1\"` shows one month with the month/year\ndrill-down (matching the single date pickers); `panels=\"2\"` shows two linked months.\nInvalid values fall back to `2`.",
              "attribute": "panels",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "EdCalendarType"
              },
              "description": "The picker mode. Controls what the calendar lets the user select:\n\n- `date` (default) — day grid, emits the picked day.\n- `month` — list of months, emits the 1st of the picked month.\n- `quarter` — 4 quarters, emits the 1st day of the picked quarter.\n- `halfyear` — 2 halves, emits the 1st day of the picked halfyear.\n- `year` — list of years, emits Jan 1 of the picked year.\n\nInvalid values fall back to `'date'` with a `logger.warn`.",
              "attribute": "type",
              "reflects": true,
              "parsedType": {
                "text": "'date' | 'month' | 'year' | 'quarter' | 'halfyear'"
              }
            },
            {
              "kind": "method",
              "name": "_granularity",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SelectionGranularity"
                }
              }
            },
            {
              "kind": "field",
              "name": "_isWeekMode",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "True when `selection-mode=\"week\"` is active.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_showWeekColumn",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "True when the week-number column should be rendered.\nRoutes all `showWeekNumbers ?` sites so week mode implicitly shows the column\n(needed for the clickable week-number cell) without requiring `show-week-numbers`.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_recreateStrategy",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Recreate the internal selection strategy from the current `_type` and `_selectionMode`.\nAlways a no-op when `_externalStrategy` is true (consumer owns the strategy).\nRange mode is only supported for `type=\"date\"`; other types silently fall back to single.\nWeek mode is also only supported for `type=\"date\"`."
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Move focus into the calendar. Delegates to the grid cell that currently holds\ntabindex=\"0\" in panel 0 (or any panel) so popup wrappers (`<ed-date-picker>`)\ncan hand focus to the calendar via the standard HTMLElement.focus() contract.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "_formatMonthYear",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "d",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getEffectiveFirstDayOfWeek",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "_buildLiveText",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "_formatDateFull",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "d",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_stepMonth",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "delta",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Navigate displayed month by delta months."
            },
            {
              "kind": "method",
              "name": "_stepYear",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "delta",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Navigate displayed year by delta years."
            },
            {
              "kind": "method",
              "name": "_pagePrev",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_pageNext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_setInitialFocusedCell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "shouldFocus",
                  "default": "false"
                }
              ],
              "description": "Set the initial focused day cell per panel:\nday matching value > today > first non-disabled non-outside cell > first cell.\nWhen `shouldFocus` is true, only the panel that initiated the keyboard paging\naction moves DOM focus; other panels just update their roving tabindex."
            },
            {
              "kind": "method",
              "name": "_activateDayCell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Activate a day cell (click or keyboard). Commits the selection."
            },
            {
              "kind": "method",
              "name": "_buildWeekdayLabels",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Array<{ short: string; long: string }>"
                }
              },
              "description": "Build ordered weekday labels starting from firstDayOfWeek. Returns [{short, long}]."
            },
            {
              "kind": "method",
              "name": "handleMonthPrevClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleMonthNextClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleYearPrevClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleYearNextClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_commitDisplayedPeriod",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Commit the displayed period's start as the value and emit ed-change. No-op for type=\"date\"."
            },
            {
              "kind": "method",
              "name": "handleMonthTriggerClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleYearTriggerClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePeriodItemClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_periodStart",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Date"
                }
              },
              "parameters": [
                {
                  "name": "kind",
                  "type": {
                    "text": "PeriodKind"
                  }
                },
                {
                  "name": "key",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "First day of the period referenced by `kind` + `key`. `key` is the month/quarter/halfyear index, or the year for `'year'`."
            },
            {
              "kind": "method",
              "name": "_isPeriodOutOfBounds",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "start",
                  "type": {
                    "text": "Date"
                  }
                },
                {
                  "name": "end",
                  "type": {
                    "text": "Date"
                  }
                }
              ],
              "description": "True when the period [start, end] sits entirely outside `[_min, _max]`."
            },
            {
              "kind": "field",
              "name": "handleBaseKeydown",
              "privacy": "private",
              "description": "Escape closes any open picker menu."
            },
            {
              "kind": "field",
              "name": "handleListboxKeydown",
              "privacy": "private",
              "description": "WAI-ARIA listbox keyboard pattern for period lists (drill-down or primary)."
            },
            {
              "kind": "field",
              "name": "handleDocumentClick",
              "privacy": "private",
              "description": "Click outside the open menu (within the surface) closes it."
            },
            {
              "kind": "method",
              "name": "handleDayCellClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleWeekNumberClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "DayCellMeta[]"
                  }
                }
              ],
              "description": "Click handler for the week-number cell in `selection-mode=\"week\"`.\nResolves the first non-disabled, non-suppressed day cell in the row and activates it,\nwhich routes through `_activateDayCell` → `WeekStrategy.selectDay` → `ed-change`.\nKeyboard week-select (Enter/Space on any day cell) already flows through `onBodyActivate`\nwithout any extra wiring."
            },
            {
              "kind": "method",
              "name": "_handleWeekNumberPointerEnter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "DayCellMeta[]"
                  }
                }
              ],
              "description": "pointerenter on the week-number cell (week mode): preview that row's week so\nhovering the number shows the same neutral hover band as hovering a day cell.\nCleared by the panel's pointerleave handler, like the day-cell hover."
            },
            {
              "kind": "method",
              "name": "handleDayCellPointerEnter",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_dragAnchorCellFor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              },
              "parameters": [
                {
                  "name": "origin",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "If `origin` is the start or end of the current committed range, return the cell of the\nOPPOSITE endpoint — so a drag that grabs an endpoint anchors the other end and moves the\ngrabbed date, instead of starting a fresh range. Returns null when `origin` is not an\nendpoint, the range is single-day, or the opposite endpoint is not currently rendered."
            },
            {
              "kind": "field",
              "name": "handleDayCellPointerDown",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_dragOriginCell",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The day-cell button the user pressed to start a potential drag gesture."
            },
            {
              "kind": "field",
              "name": "_handleDragMove",
              "privacy": "private",
              "readonly": true,
              "description": "pointermove on the host during a potential/active drag — hit-tests the element\nunder the pointer with elementFromPoint (T7). On first move to a DIFFERENT cell,\nplaces the anchor at the origin cell (beginning the range gesture) and marks the\ndrag as active. Works across panels because elementFromPoint queries the shadow root."
            },
            {
              "kind": "field",
              "name": "_handleDragEnd",
              "privacy": "private",
              "readonly": true,
              "description": "pointerup / pointercancel on the host — commits the drag range or cancels (T7)."
            },
            {
              "kind": "method",
              "name": "_cleanupDrag",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Remove drag event listeners and reset drag state flags."
            },
            {
              "kind": "field",
              "name": "_handleGridPointerLeave",
              "privacy": "private",
              "readonly": true,
              "description": "pointerleave on the grid container in week mode: clears the week hover band so the\nselection preview does not linger after the pointer exits the calendar entirely.\nNo-op in all other modes."
            },
            {
              "kind": "field",
              "name": "_handleGridFocusIn",
              "privacy": "private",
              "readonly": true,
              "description": "Bound focusin handler on the grid, for roving-focus preview during a range gesture or week mode."
            },
            {
              "kind": "method",
              "name": "handleFooterSlotChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_buildYearWindow",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number[]"
                }
              },
              "description": "Build the year window for the year picker menu. Clamps to min/max year when set;\notherwise renders the *current* year ± 100 (201-year window). The menu scrolls,\nso the size is generous on purpose.\n\nThe default window is anchored to today, not the displayed year: anchoring to the\ndisplayed year would let each reopen re-center on whichever edge year was just\nnavigated to, so the cycler could walk arbitrarily far into the past or future."
            },
            {
              "kind": "method",
              "name": "_renderMonthCycler",
              "privacy": "private",
              "parameters": [
                {
                  "name": "panelMonth",
                  "type": {
                    "text": "Date"
                  }
                },
                {
                  "name": "panelIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "{ showPrev = panelIndex === 0, showNext = panelIndex === this._panelCount - 1 }",
                  "default": "{}"
                }
              ],
              "description": "Render the month cycler for a given panel.\n`showPrev` / `showNext` control arrow visibility explicitly so callers can\noverride the default per-panel distribution (used by the shared range header).\nMenus (trigger button) are only on panel 0 (panelIndex === 0)."
            },
            {
              "kind": "method",
              "name": "_renderInertPeriodCycler",
              "privacy": "private",
              "parameters": [
                {
                  "name": "kind",
                  "type": {
                    "text": "'quarter' | 'halfyear'"
                  }
                }
              ],
              "description": "Inert-only cycler for type=\"quarter\" or type=\"halfyear\" (the body IS the period list, so the label never opens a menu)."
            },
            {
              "kind": "method",
              "name": "_renderYearCycler",
              "privacy": "private",
              "parameters": [
                {
                  "name": "panelMonth",
                  "type": {
                    "text": "Date"
                  }
                },
                {
                  "name": "panelIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "{ showPrev = panelIndex === 0, showNext = panelIndex === this._panelCount - 1 }",
                  "default": "{}"
                }
              ],
              "description": "Render the year cycler for a given panel.\nSame prev/next arrow distribution as _renderMonthCycler (panel 0 = prev, last panel = next).\nMenus (trigger button) are only on panel 0; extra panels show a plain year label.\n`showPrev` / `showNext` can be overridden by callers (used by the shared range header)."
            },
            {
              "kind": "method",
              "name": "_valueAsDate",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Date | null"
                }
              },
              "description": "Extracts the Date from _value for period-list builders. Period types always have a Date value (not DateRange)."
            },
            {
              "kind": "method",
              "name": "_buildMonthItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PeriodItem[]"
                }
              },
              "parameters": [
                {
                  "name": "role",
                  "type": {
                    "text": "PeriodRole"
                  }
                },
                {
                  "name": "panelMonth",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_buildQuarterItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PeriodItem[]"
                }
              },
              "parameters": [
                {
                  "name": "panelMonth",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_buildHalfyearItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PeriodItem[]"
                }
              },
              "parameters": [
                {
                  "name": "panelMonth",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_buildYearItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PeriodItem[]"
                }
              },
              "parameters": [
                {
                  "name": "role",
                  "type": {
                    "text": "PeriodRole"
                  }
                },
                {
                  "name": "panelMonth",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderPeriodList",
              "privacy": "private",
              "parameters": [
                {
                  "name": "opts",
                  "type": {
                    "text": "{ items: PeriodItem[]; kind: PeriodKind; role: PeriodRole; ariaLabel: string }"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderPrimaryPeriodList",
              "privacy": "private",
              "parameters": [
                {
                  "name": "panelMonth",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderDrillDownMenu",
              "privacy": "private",
              "description": "Drill-down overlay menus always use _displayedMonth (they're panel-0 overlays)."
            },
            {
              "kind": "method",
              "name": "_renderDayGrid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "panelMonth",
                  "type": {
                    "text": "Date"
                  }
                },
                {
                  "name": "panelIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_panelMonth",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Date | null"
                }
              },
              "parameters": [
                {
                  "name": "panelIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Compute the displayed month for panel i (0-based). Derives from _displayedMonth\nso that SSR renders are deterministic (no new Date() in render)."
            },
            {
              "kind": "method",
              "name": "_renderSharedRangeHeader",
              "privacy": "private",
              "parameters": [
                {
                  "name": "leftMonth",
                  "type": {
                    "text": "Date"
                  }
                }
              ],
              "description": "Render the shared header for the two-panel range layout (T2).\nOne month spinner on the far left (prev arrow + month trigger + no next arrow),\none year spinner on the far right (no prev arrow + year trigger + next arrow).\nThe month label shows the left panel's month; the year shows the shared year.\nBoth prev and next page by one month (not one year), keeping the panels in sync."
            },
            {
              "kind": "method",
              "name": "_renderPanel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "panelMonth",
                  "type": {
                    "text": "Date"
                  }
                },
                {
                  "name": "panelIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Render a single month panel (header + body). Used for type=\"date\" multi-panel."
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ value: Date | DateRange | null, complete: boolean }"
              },
              "description": "Emitted when a day is selected. Detail: `{ value: Date | DateRange | null; complete: boolean }`. In range mode, emitted twice per gesture: first with `complete: false` (anchor placed), then with `complete: true` (range committed). In week mode, always `complete: true` and value is the ISO-week Monday.",
              "name": "ed-change",
              "reactName": "onEdChange",
              "eventName": "EdChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable date. Accepts a `Date` or a `'YYYY-MM-DD'` string.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable date. Accepts a `Date` or a `'YYYY-MM-DD'` string.",
              "fieldName": "max"
            },
            {
              "name": "default-month",
              "type": {
                "text": "Date | null"
              },
              "description": "The month + year to display when no `value` is set. Both the year and the month of the\npassed date are read; the day-of-month component is ignored. Accepts a `Date` or a\n`'YYYY-MM-DD'` string — e.g. `\"2024-11-01\"` opens the calendar on November 2024.",
              "fieldName": "defaultMonth"
            },
            {
              "name": "show-week-numbers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, a week-number column is shown in the day grid.",
              "fieldName": "showWeekNumbers"
            },
            {
              "name": "first-day-of-week",
              "type": {
                "text": "0 | 1 | 2 | 3 | 4 | 5 | 6 | 'locale'"
              },
              "default": "'locale'",
              "description": "The first day of the week. `'locale'` resolves via `Intl.Locale#getWeekInfo()`.\nAccepts `0`–`6` (Sunday=0) or the literal string `'locale'`.\n\nIgnored when `selection-mode=\"week\"`: ISO weeks start on Monday, so week mode\nalways renders a Monday-start grid regardless of this value or the locale.",
              "fieldName": "firstDayOfWeek"
            },
            {
              "name": "selection-mode",
              "type": {
                "text": "EdCalendarSelectionMode"
              },
              "description": "The selection mode for the day grid.\n\n- `single` (default) — one day at a time; `ed-change` detail carries `Date | null`.\n- `range` — two-click range; `ed-change` detail carries `DateRange | null`.\n  First click emits `{ complete: false }`; second click emits `{ complete: true }`.\n  Effective only for `type=\"date\"` — other types ignore this and behave as single.\n- `week` — whole ISO week (Mon–Sun) selection; `ed-change` detail carries the ISO-week\n  Monday as a `Date`. Effective only for `type=\"date\"`.",
              "fieldName": "selectionMode",
              "parsedType": {
                "text": "'single' | 'range' | 'week'"
              }
            },
            {
              "name": "panels",
              "type": {
                "text": "number"
              },
              "description": "Number of month panels rendered in range mode: `1` or `2` (default `2`).\nOnly takes effect when `selection-mode=\"range\"` and `type=\"date\"`; every other mode\nalways renders a single panel. `panels=\"1\"` shows one month with the month/year\ndrill-down (matching the single date pickers); `panels=\"2\"` shows two linked months.\nInvalid values fall back to `2`.",
              "fieldName": "panels"
            },
            {
              "name": "type",
              "type": {
                "text": "EdCalendarType"
              },
              "description": "The picker mode. Controls what the calendar lets the user select:\n\n- `date` (default) — day grid, emits the picked day.\n- `month` — list of months, emits the 1st of the picked month.\n- `quarter` — 4 quarters, emits the 1st day of the picked quarter.\n- `halfyear` — 2 halves, emits the 1st day of the picked halfyear.\n- `year` — list of years, emits Jan 1 of the picked year.\n\nInvalid values fall back to `'date'` with a `logger.warn`.",
              "fieldName": "type",
              "parsedType": {
                "text": "'date' | 'month' | 'year' | 'quarter' | 'halfyear'"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A day-grid calendar primitive. Anatomy follows the Material Design 3 docked date picker.",
          "jsDoc": "/**\n * @summary A day-grid calendar primitive. Anatomy follows the Material Design 3 docked date picker.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/calendar\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('grid') (or `'listbox'` for the month/quarter/halfyear/year types)\n *\n * @dependency ed-divider\n * @dependency ed-icon\n *\n * @slot footer - Custom footer content (e.g. a \"Today\" jump button). Rendered as the first row of the footer.\n * @slot footer-controls - Action controls for the footer's second row. Intended for `<ed-date-picker>`'s OK/Cancel buttons; nothing rendered by default.\n *\n * @event {{ value: Date | DateRange | null, complete: boolean }} ed-change - Emitted when a day is selected. Detail: `{ value: Date | DateRange | null; complete: boolean }`. In range mode, emitted twice per gesture: first with `complete: false` (anchor placed), then with `complete: true` (range committed). In week mode, always `complete: true` and value is the ISO-week Monday.\n *\n * @csspart base - The outer wrapper element.\n * @csspart header - The header row containing the month and year cycler controls.\n * @csspart cycler - Each cycler block (one for month, one for year).\n * @csspart cycler-month - The month cycler block.\n * @csspart cycler-year - The year cycler block.\n * @csspart cycler-prev - A cycler's previous-step button.\n * @csspart cycler-next - A cycler's next-step button.\n * @csspart cycler-trigger - A cycler's menu trigger (shows the current month or year, opens the in-surface menu).\n * @csspart range-month-label - A read-only \"Month Year\" label shown above each calendar in two-panel range mode (one per panel).\n * @csspart body - The body area below the header. Contains the day grid or the active picker menu.\n * @csspart picker-menu - The in-surface month or year picker menu (visible only when its cycler trigger is open).\n * @csspart picker-item - Each menu item in the picker menu.\n * @csspart picker-item-selected - The currently-selected menu item.\n * @csspart footer-divider - The divider between the panel content and the footer. Only visible when the footer is.\n * @csspart footer - The footer wrapper. Only visible when at least one footer slot has content.\n * @csspart footer-row - Each row inside the footer (first row = `footer` slot, second row = `footer-controls` slot).\n * @csspart footer-row-custom - The first footer row (the `footer` slot).\n * @csspart footer-row-controls - The second footer row (the `footer-controls` slot).\n * @csspart grid - The day grid container.\n * @csspart weekday-header-row - The row of weekday column headers.\n * @csspart weekday-header-cell - Each weekday column header cell.\n * @csspart day-row - Each body row of day cells.\n * @csspart day-cell - Each day cell button.\n * @csspart day-cell-label - The inner state layer of a day cell (holds the digit; carries the selected/endpoint circle and the today ring).\n * @csspart day-cell-today - The day cell for today.\n * @csspart day-cell-selected - A selected day cell (single-selection strategy).\n * @csspart day-cell-start - The range start cell (range/week strategies).\n * @csspart day-cell-in-range - A cell inside the active range (range/week strategies).\n * @csspart day-cell-end - The range end cell (range/week strategies).\n * @csspart day-cell-preview-start - The preview start cell while a range is being built.\n * @csspart day-cell-preview-in-range - A cell inside the in-progress preview range.\n * @csspart day-cell-preview-end - The preview end cell while a range is being built.\n * @csspart panel - Wrapper around each month panel (header + body). In range mode two panels are rendered; in all other modes one panel.\n * @csspart week-number - The week-number cell (rendered when `show-week-numbers` is set or `selection-mode=\"week\"`). In week mode the cell is a clickable `<div role=\"rowheader\">` that selects the entire week.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/calendar",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('grid') (or `'listbox'` for the month/quarter/halfyear/year types)",
          "dependencies": [
            "ed-divider",
            "ed-icon"
          ],
          "tagName": "ed-calendar",
          "customElement": true,
          "modulePath": "components/calendar/calendar.js",
          "definitionPath": "components/calendar/calendar.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdCalendar",
            "module": "components/calendar/calendar.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-calendar",
          "declaration": {
            "name": "EdCalendar",
            "module": "components/calendar/calendar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/card/card.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCard",
          "cssProperties": [
            {
              "description": "The amount of space around and between sections of the card. Expects a single value.",
              "name": "--spacing",
              "default": "var(--ed-space-5)"
            }
          ],
          "cssParts": [
            {
              "description": "The container that wraps the card's media.",
              "name": "media"
            },
            {
              "description": "The container that wraps the card's header.",
              "name": "header"
            },
            {
              "description": "The container that wraps the card's main content.",
              "name": "body"
            },
            {
              "description": "The container that wraps the card's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The card's main content.",
              "name": ""
            },
            {
              "description": "An optional header for the card.",
              "name": "header"
            },
            {
              "description": "An optional footer for the card.",
              "name": "footer"
            },
            {
              "description": "An optional media section to render at the start of the card.",
              "name": "media"
            },
            {
              "description": "An optional actions section to render at the end for the horizontal card.",
              "name": "actions"
            },
            {
              "description": "An optional actions section to render in the header of the vertical card.",
              "name": "header-actions"
            },
            {
              "description": "An optional actions section to render in the footer of the vertical card.",
              "name": "footer-actions"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController( this, 'footer', 'header', 'media', 'header-actions', 'footer-actions', 'actions' )"
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'filled' | 'filled-outlined' | 'outlined' | 'plain'"
              },
              "default": "'plain'",
              "description": "The card's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `header` element so the server-rendered markup\nincludes the header before the component hydrates on the client.",
              "attribute": "with-header",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withMedia",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `media` element so the server-rendered markup\nincludes the media before the component hydrates on the client.",
              "attribute": "with-media",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withFooter",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `footer` element so the server-rendered markup\nincludes the footer before the component hydrates on the client.",
              "attribute": "with-footer",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "Renders the card's orientation *",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "interactive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Turns the card into a button: it gains hover/pressed styling, becomes focusable (`role=\"button\"`,\n`tabindex=\"0\"`) and is activated by pointer or keyboard (Enter or Space), which emits a `click`.\nThe card owns no state — react to `click` to drive navigation, opening a detail view, etc.\n\nInteractive content placed in the `actions` / `header-actions` / `footer-actions` slots (buttons,\nlinks) must call `stopPropagation` on its own events, otherwise a click on it bubbles to the host\nand activates the card.",
              "attribute": "interactive",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Turns the card into a checkbox: it becomes focusable (`role=\"checkbox\"`, `tabindex=\"0\"`) and\ntoggles its own `checked` state on pointer click or Space, emitting a `change` event. Implies\n`interactive` (hover/pressed styling) and takes precedence over it for the ARIA role. The same\n`stopPropagation` caveat for interactive slot content applies.",
              "attribute": "selectable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The checked state of a `selectable` card. Reflected to `aria-checked`. No effect without `selectable`.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "handleKeyDown",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Standard click event. When the card is `interactive`, it is also emitted on keyboard activation (Enter or Space).",
              "name": "click",
              "reactName": "onClick",
              "eventName": "ClickEvent"
            },
            {
              "description": "Emitted when a `selectable` card toggles its `checked` state, by pointer click or Space.",
              "name": "change",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "appearance",
              "type": {
                "text": "'filled' | 'filled-outlined' | 'outlined' | 'plain'"
              },
              "default": "'plain'",
              "description": "The card's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "with-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `header` element so the server-rendered markup\nincludes the header before the component hydrates on the client.",
              "fieldName": "withHeader"
            },
            {
              "name": "with-media",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `media` element so the server-rendered markup\nincludes the media before the component hydrates on the client.",
              "fieldName": "withMedia"
            },
            {
              "name": "with-footer",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `footer` element so the server-rendered markup\nincludes the footer before the component hydrates on the client.",
              "fieldName": "withFooter"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "Renders the card's orientation *",
              "fieldName": "orientation"
            },
            {
              "name": "interactive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Turns the card into a button: it gains hover/pressed styling, becomes focusable (`role=\"button\"`,\n`tabindex=\"0\"`) and is activated by pointer or keyboard (Enter or Space), which emits a `click`.\nThe card owns no state — react to `click` to drive navigation, opening a detail view, etc.\n\nInteractive content placed in the `actions` / `header-actions` / `footer-actions` slots (buttons,\nlinks) must call `stopPropagation` on its own events, otherwise a click on it bubbles to the host\nand activates the card.",
              "fieldName": "interactive"
            },
            {
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Turns the card into a checkbox: it becomes focusable (`role=\"checkbox\"`, `tabindex=\"0\"`) and\ntoggles its own `checked` state on pointer click or Space, emitting a `change` event. Implies\n`interactive` (hover/pressed styling) and takes precedence over it for the ARIA role. The same\n`stopPropagation` caveat for interactive slot content applies.",
              "fieldName": "selectable"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The checked state of a `selectable` card. Reflected to `aria-checked`. No effect without `selectable`.",
              "fieldName": "checked"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Cards can be used to group related subjects in a container.",
          "jsDoc": "/**\n * @summary Cards can be used to group related subjects in a container.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/card\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…') (append `.getByRole('button')` / `.getByRole('checkbox')` in `interactive`/`selectable` mode)\n *\n * @slot - The card's main content.\n * @slot header - An optional header for the card.\n * @slot footer - An optional footer for the card.\n * @slot media - An optional media section to render at the start of the card.\n * @slot actions - An optional actions section to render at the end for the horizontal card.\n * @slot header-actions - An optional actions section to render in the header of the vertical card.\n * @slot footer-actions - An optional actions section to render in the footer of the vertical card.\n *\n * @event click - Standard click event. When the card is `interactive`, it is also emitted on keyboard\n *   activation (Enter or Space).\n * @event change - Emitted when a `selectable` card toggles its `checked` state, by pointer click or Space.\n *\n * @csspart media - The container that wraps the card's media.\n * @csspart header - The container that wraps the card's header.\n * @csspart body - The container that wraps the card's main content.\n * @csspart footer - The container that wraps the card's footer.\n *\n * @cssproperty [--spacing=var(--ed-space-5)] - The amount of space around and between sections of the card. Expects a single value.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/card",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…') (append `.getByRole('button')` / `.getByRole('checkbox')` in `interactive`/`selectable` mode)",
          "tagName": "ed-card",
          "customElement": true,
          "modulePath": "components/card/card.js",
          "definitionPath": "components/card/card.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdCard",
            "module": "components/card/card.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-card",
          "declaration": {
            "name": "EdCard",
            "module": "components/card/card.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/carousel/autoplay-controller.js",
      "declarations": [
        {
          "kind": "class",
          "description": "A controller that repeatedly calls the specified callback with the provided interval time.\nThe timer is automatically paused while the user is interacting with the component.",
          "name": "AutoplayController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "ReactiveElement"
              },
              "privacy": "private",
              "default": "host"
            },
            {
              "kind": "field",
              "name": "timerId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "tickCallback",
              "type": {
                "text": "() => void"
              },
              "privacy": "private",
              "default": "tickCallback"
            },
            {
              "kind": "field",
              "name": "activeInteractions",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "paused",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "stopped",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "start",
              "parameters": [
                {
                  "name": "interval",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "stop"
            },
            {
              "kind": "field",
              "name": "pause"
            },
            {
              "kind": "field",
              "name": "resume"
            }
          ],
          "jsDoc": "/**\n * A controller that repeatedly calls the specified callback with the provided interval time.\n * The timer is automatically paused while the user is interacting with the component.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "AutoplayController",
          "declaration": {
            "name": "AutoplayController",
            "module": "components/carousel/autoplay-controller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/carousel/carousel.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCarousel",
          "cssProperties": [
            {
              "description": "The aspect ratio of each slide.",
              "name": "--aspect-ratio",
              "default": "16/9"
            },
            {
              "description": "The amount of padding to apply to the scroll area, allowing adjacent slides to become partially visible as a scroll hint.",
              "name": "--scroll-hint"
            },
            {
              "description": "The space between each slide.",
              "name": "--slide-gap",
              "default": "var(--ed-space-4)"
            }
          ],
          "cssParts": [
            {
              "description": "The carousel's internal wrapper.",
              "name": "base"
            },
            {
              "description": "The scroll container that wraps the slides.",
              "name": "scroll-container"
            },
            {
              "description": "The pagination indicators wrapper.",
              "name": "pagination"
            },
            {
              "description": "The pagination indicator.",
              "name": "pagination-item"
            },
            {
              "description": "Applied when the item is active.",
              "name": "pagination-item-active"
            },
            {
              "description": "The navigation wrapper.",
              "name": "navigation"
            },
            {
              "description": "The navigation button.",
              "name": "navigation-button"
            },
            {
              "description": "Applied to the previous button.",
              "name": "navigation-button-previous"
            },
            {
              "description": "Applied to the next button.",
              "name": "navigation-button-next"
            }
          ],
          "slots": [
            {
              "description": "The carousel's main content, one or more `<ed-carousel-item>` elements.",
              "name": ""
            },
            {
              "description": "Optional next icon to use instead of the default. Works best with `<ed-icon>`.",
              "name": "next-icon"
            },
            {
              "description": "Optional previous icon to use instead of the default. Works best with `<ed-icon>`.",
              "name": "previous-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "loop",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, allows the user to navigate the carousel in the same direction indefinitely.",
              "attribute": "loop",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "navigation",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the previous/next navigation arrows beside the carousel. Ignored in vertical orientation.",
              "attribute": "navigation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pagination",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the carousel's pagination indicators.",
              "attribute": "pagination",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "paginationVariant",
              "type": {
                "text": "'dots' | 'buttons'"
              },
              "default": "'dots'",
              "description": "The pagination variant. `dots` shows dot indicators; `buttons` shows numbered page buttons\nwith their own previous/next arrows inside the pagination bar (independent of `navigation`).\nForced to `dots` in vertical orientation.",
              "attribute": "paginationVariant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autoplay",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the slides will scroll automatically when the user is not interacting with them.",
              "attribute": "autoplay",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autoplayInterval",
              "type": {
                "text": "number"
              },
              "default": "3000",
              "description": "Specifies the amount of time, in milliseconds, between each automatic scroll.",
              "attribute": "autoplay-interval"
            },
            {
              "kind": "field",
              "name": "slidesPerPage",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Specifies how many slides should be shown at a given time.",
              "attribute": "slides-per-page"
            },
            {
              "kind": "field",
              "name": "slidesPerMove",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Specifies the number of slides the carousel will advance when scrolling, useful when specifying a `slides-per-page`\ngreater than one. It can't be higher than `slides-per-page`.",
              "attribute": "slides-per-move"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Specifies the orientation in which the carousel will lay out.",
              "attribute": "orientation"
            },
            {
              "kind": "field",
              "name": "mouseDragging",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, it is possible to scroll through the slides by dragging them with the mouse.",
              "attribute": "mouse-dragging",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "scrollContainer",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "paginationContainer",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "activeSlide",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "scrolling",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "dragging",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "awaitingInitialPosition",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "autoplayController",
              "privacy": "private",
              "default": "new AutoplayController(this, () => this.next())"
            },
            {
              "kind": "field",
              "name": "dragStartPosition",
              "type": {
                "text": "[number, number]"
              },
              "privacy": "private",
              "default": "[-1, -1]"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "pendingSlideChange",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "method",
              "name": "getPageCount",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getCurrentPage",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "canScrollNext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "canScrollPrev",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseDragStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleMouseDrag",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseDragEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleScroll",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleScrollEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isCarouselItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "node is EdCarouselItem"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "Node"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "initializeSlides",
              "type": {
                "text": "initializeSlides() => void"
              }
            },
            {
              "kind": "method",
              "name": "createClones",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlideChange",
              "type": {
                "text": "handleSlideChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateSlidesSnap",
              "type": {
                "text": "updateSlidesSnap() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleAutoplayChange",
              "type": {
                "text": "handleAutoplayChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "previous",
              "parameters": [
                {
                  "name": "behavior",
                  "default": "'smooth'",
                  "type": {
                    "text": "ScrollBehavior"
                  },
                  "description": "The behavior used for scrolling."
                }
              ],
              "description": "Move the carousel backward by `slides-per-move` slides.",
              "type": {
                "text": "previous(behavior: ScrollBehavior = 'smooth') => void"
              }
            },
            {
              "kind": "method",
              "name": "next",
              "parameters": [
                {
                  "name": "behavior",
                  "default": "'smooth'",
                  "type": {
                    "text": "ScrollBehavior"
                  },
                  "description": "The behavior used for scrolling."
                }
              ],
              "description": "Move the carousel forward by `slides-per-move` slides.",
              "type": {
                "text": "next(behavior: ScrollBehavior = 'smooth') => void"
              }
            },
            {
              "kind": "method",
              "name": "goToSlide",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  },
                  "description": "The slide index."
                },
                {
                  "name": "behavior",
                  "default": "'smooth'",
                  "type": {
                    "text": "ScrollBehavior"
                  },
                  "description": "The behavior used for scrolling."
                }
              ],
              "description": "Scrolls the carousel to the slide specified by `index`.",
              "type": {
                "text": "goToSlide(index: number, behavior: ScrollBehavior = 'smooth') => void"
              }
            },
            {
              "kind": "method",
              "name": "scrollToSlide",
              "privacy": "private",
              "parameters": [
                {
                  "name": "slide",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "behavior",
                  "default": "'smooth'",
                  "type": {
                    "text": "ScrollBehavior"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ index: number, slide: EdCarouselItem }"
              },
              "description": "Emitted when the active slide changes.",
              "name": "ed-slide-change",
              "reactName": "onEdSlideChange",
              "eventName": "EdSlideChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "loop",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, allows the user to navigate the carousel in the same direction indefinitely.",
              "fieldName": "loop"
            },
            {
              "name": "navigation",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the previous/next navigation arrows beside the carousel. Ignored in vertical orientation.",
              "fieldName": "navigation"
            },
            {
              "name": "pagination",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the carousel's pagination indicators.",
              "fieldName": "pagination"
            },
            {
              "name": "paginationVariant",
              "type": {
                "text": "'dots' | 'buttons'"
              },
              "default": "'dots'",
              "description": "The pagination variant. `dots` shows dot indicators; `buttons` shows numbered page buttons\nwith their own previous/next arrows inside the pagination bar (independent of `navigation`).\nForced to `dots` in vertical orientation.",
              "fieldName": "paginationVariant"
            },
            {
              "name": "autoplay",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the slides will scroll automatically when the user is not interacting with them.",
              "fieldName": "autoplay"
            },
            {
              "name": "autoplay-interval",
              "type": {
                "text": "number"
              },
              "default": "3000",
              "description": "Specifies the amount of time, in milliseconds, between each automatic scroll.",
              "fieldName": "autoplayInterval"
            },
            {
              "name": "slides-per-page",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Specifies how many slides should be shown at a given time.",
              "fieldName": "slidesPerPage"
            },
            {
              "name": "slides-per-move",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Specifies the number of slides the carousel will advance when scrolling, useful when specifying a `slides-per-page`\ngreater than one. It can't be higher than `slides-per-page`.",
              "fieldName": "slidesPerMove"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Specifies the orientation in which the carousel will lay out.",
              "fieldName": "orientation"
            },
            {
              "name": "mouse-dragging",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, it is possible to scroll through the slides by dragging them with the mouse.",
              "fieldName": "mouseDragging"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Carousels display an arbitrary number of content slides along a horizontal or vertical axis.",
          "jsDoc": "/**\n * @summary Carousels display an arbitrary number of content slides along a horizontal or vertical axis.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/carousel\n * @since 1.0\n * @playwright getByTestId('…').getByRole('region')\n * @status ready-for-testing\n *\n * @dependency ed-icon\n * @dependency ed-button\n *\n * @event {{ index: number, slide: EdCarouselItem }} ed-slide-change - Emitted when the active slide changes.\n *\n * @slot - The carousel's main content, one or more `<ed-carousel-item>` elements.\n * @slot next-icon - Optional next icon to use instead of the default. Works best with `<ed-icon>`.\n * @slot previous-icon - Optional previous icon to use instead of the default. Works best with `<ed-icon>`.\n *\n * @csspart base - The carousel's internal wrapper.\n * @csspart scroll-container - The scroll container that wraps the slides.\n * @csspart pagination - The pagination indicators wrapper.\n * @csspart pagination-item - The pagination indicator.\n * @csspart pagination-item-active - Applied when the item is active.\n * @csspart navigation - The navigation wrapper.\n * @csspart navigation-button - The navigation button.\n * @csspart navigation-button-previous - Applied to the previous button.\n * @csspart navigation-button-next - Applied to the next button.\n *\n * @cssproperty [--aspect-ratio=16/9] - The aspect ratio of each slide.\n * @cssproperty --scroll-hint - The amount of padding to apply to the scroll area, allowing adjacent slides to become\n *  partially visible as a scroll hint.\n * @cssproperty [--slide-gap=var(--ed-space-4)] - The space between each slide.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/carousel",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('region')",
          "status": "ready-for-testing",
          "dependencies": [
            "ed-icon",
            "ed-button"
          ],
          "tagName": "ed-carousel",
          "customElement": true,
          "modulePath": "components/carousel/carousel.js",
          "definitionPath": "components/carousel/carousel.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdCarousel",
            "module": "components/carousel/carousel.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-carousel",
          "declaration": {
            "name": "EdCarousel",
            "module": "components/carousel/carousel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/carousel/scroll-controller.js",
      "declarations": [
        {
          "kind": "class",
          "description": "A controller for handling scrolling and mouse dragging.",
          "name": "ScrollController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "T"
              },
              "privacy": "private",
              "default": "host"
            },
            {
              "kind": "field",
              "name": "dragging",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "scrolling",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "mouseDragging",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "handleScroll"
            },
            {
              "kind": "field",
              "name": "handleScrollEnd"
            },
            {
              "kind": "field",
              "name": "handlePointerDown"
            },
            {
              "kind": "field",
              "name": "handlePointerMove"
            },
            {
              "kind": "field",
              "name": "handlePointerUp"
            },
            {
              "kind": "method",
              "name": "handleDragStart"
            },
            {
              "kind": "method",
              "name": "handleDrag",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDragEnd"
            }
          ],
          "jsDoc": "/**\n * A controller for handling scrolling and mouse dragging.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ScrollController",
          "declaration": {
            "name": "ScrollController",
            "module": "components/carousel/scroll-controller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/checkbox-group/checkbox-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCheckboxGroup",
          "cssParts": [
            {
              "description": "The fieldset that wraps the label, group, and hint.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The element that wraps the grouped checkboxes, exposed as a `role=\"group\"`.",
              "name": "form-control-input"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The default slot where `<ed-checkbox>` or `<ed-switch>` elements are placed.",
              "name": ""
            },
            {
              "description": "The checkbox group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the checkbox group. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[formControlStyles, styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label', 'hint')"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox group's hint. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "The orientation in which to show grouped checkboxes.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a required indicator to the group's label. This is a visual cue only — unlike radios, checkboxes are\nindependent form controls, so enforce the requirement with the `required` attribute and/or `setCustomValidity()`\non the individual checkboxes.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes\nthe label before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes\nthe hint before the component hydrates on the client.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "fieldName": "label"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox group's hint. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "The orientation in which to show grouped checkboxes.",
              "fieldName": "orientation"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a required indicator to the group's label. This is a visual cue only — unlike radios, checkboxes are\nindependent form controls, so enforce the requirement with the `required` attribute and/or `setCustomValidity()`\non the individual checkboxes.",
              "fieldName": "required"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes\nthe label before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes\nthe hint before the component hydrates on the client.",
              "fieldName": "withHint"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Checkbox groups wrap a set of related checkboxes or switches so they share a label, hint, and grouping\nsemantics.",
          "jsDoc": "/**\n * @summary Checkbox groups wrap a set of related checkboxes or switches so they share a label, hint, and grouping\n *  semantics.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/checkbox-group\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('group')\n *\n * @dependency ed-checkbox\n *\n * @slot - The default slot where `<ed-checkbox>` or `<ed-switch>` elements are placed.\n * @slot label - The checkbox group's label. Required for proper accessibility. Alternatively, you can use the `label`\n *  attribute.\n * @slot hint - Text that describes how to use the checkbox group. Alternatively, you can use the `hint` attribute.\n *\n * @csspart form-control - The fieldset that wraps the label, group, and hint.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The element that wraps the grouped checkboxes, exposed as a `role=\"group\"`.\n * @csspart hint - The hint's wrapper.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/checkbox-group",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('group')",
          "dependencies": [
            "ed-checkbox"
          ],
          "tagName": "ed-checkbox-group",
          "customElement": true,
          "modulePath": "components/checkbox-group/checkbox-group.js",
          "definitionPath": "components/checkbox-group/checkbox-group.js",
          "cssProperties": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdCheckboxGroup",
            "module": "components/checkbox-group/checkbox-group.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-checkbox-group",
          "declaration": {
            "name": "EdCheckboxGroup",
            "module": "components/checkbox-group/checkbox-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/popup/popup.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdPopup",
          "cssProperties": [
            {
              "description": "The size of the arrow. Note that an arrow won't be shown unless the `arrow` attribute is used.",
              "name": "--arrow-size",
              "default": "6px"
            },
            {
              "description": "The width of any custom border applied to the popup. This is used to reposition the arrow to overlap to the inside edge of the popup border.",
              "name": "--popup-border-width"
            },
            {
              "description": "The color of the arrow.",
              "name": "--arrow-color",
              "default": "black"
            },
            {
              "description": "A read-only custom property that determines the amount of width the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
              "name": "--auto-size-available-width"
            },
            {
              "description": "A read-only custom property that determines the amount of height the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
              "name": "--auto-size-available-height"
            },
            {
              "description": "The show duration to use when applying built-in animation classes.",
              "name": "--show-duration",
              "default": "var(--ed-transition-fast)"
            },
            {
              "description": "The hide duration to use when applying built-in animation classes.",
              "name": "--hide-duration",
              "default": "var(--ed-transition-fast)"
            }
          ],
          "cssParts": [
            {
              "description": "The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and maybe a border or box shadow.",
              "name": "arrow"
            },
            {
              "description": "The popup's container. Useful for setting a background color, box shadow, etc.",
              "name": "popup"
            },
            {
              "description": "The hover bridge element. Only available when the `hover-bridge` option is enabled.",
              "name": "hover-bridge"
            }
          ],
          "slots": [
            {
              "description": "The popup's content.",
              "name": ""
            },
            {
              "description": "The element the popup will be anchored to. If the anchor lives outside the popup, you can use the `anchor` attribute or property instead.",
              "name": "anchor"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "anchorEl",
              "type": {
                "text": "Element | VirtualElement | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "cleanup",
              "type": {
                "text": "ReturnType<typeof autoUpdate> | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "HTMLElement"
              },
              "description": "A reference to the internal popup container. Useful for animating and styling the popup with JavaScript."
            },
            {
              "kind": "field",
              "name": "arrowEl",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "Element | string | VirtualElement"
              },
              "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
              "attribute": "anchor"
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
              "attribute": "placement",
              "reflects": true,
              "parsedType": {
                "text": "'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end'"
              }
            },
            {
              "kind": "field",
              "name": "boundary",
              "type": {
                "text": "'viewport' | 'scroll'"
              },
              "default": "'viewport'",
              "description": "The bounding box to use for flipping, shifting, and auto-sizing.",
              "attribute": "boundary"
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from its anchor.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel along its anchor.",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
              "attribute": "arrow"
            },
            {
              "kind": "field",
              "name": "arrowPlacement",
              "type": {
                "text": "'start' | 'end' | 'center' | 'anchor'"
              },
              "default": "'anchor'",
              "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
              "attribute": "arrow-placement"
            },
            {
              "kind": "field",
              "name": "arrowPadding",
              "type": {
                "text": "number"
              },
              "default": "10",
              "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
              "attribute": "arrow-padding"
            },
            {
              "kind": "field",
              "name": "flip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
              "attribute": "flip"
            },
            {
              "kind": "field",
              "name": "flipFallbackPlacements",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
              "attribute": "flip-fallback-placements"
            },
            {
              "kind": "field",
              "name": "flipFallbackStrategy",
              "type": {
                "text": "'best-fit' | 'initial'"
              },
              "default": "'best-fit'",
              "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
              "attribute": "flip-fallback-strategy"
            },
            {
              "kind": "field",
              "name": "flipBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "attribute": "flipBoundary"
            },
            {
              "kind": "field",
              "name": "flipPadding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
              "attribute": "flip-padding"
            },
            {
              "kind": "field",
              "name": "shift",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Moves the popup along the axis to keep it in view when clipped.",
              "attribute": "shift"
            },
            {
              "kind": "field",
              "name": "shiftBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "attribute": "shiftBoundary"
            },
            {
              "kind": "field",
              "name": "shiftPadding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
              "attribute": "shift-padding"
            },
            {
              "kind": "field",
              "name": "autoSize",
              "type": {
                "text": "'horizontal' | 'vertical' | 'both'"
              },
              "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
              "attribute": "auto-size"
            },
            {
              "kind": "field",
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both'"
              },
              "description": "Syncs the popup's width or height to that of the anchor element.",
              "attribute": "sync"
            },
            {
              "kind": "field",
              "name": "autoSizeBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "attribute": "autoSizeBoundary"
            },
            {
              "kind": "field",
              "name": "autoSizePadding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
              "attribute": "auto-size-padding"
            },
            {
              "kind": "field",
              "name": "hoverBridge",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
              "attribute": "hover-bridge"
            },
            {
              "kind": "method",
              "name": "handleAnchorChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "start",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stop",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              }
            },
            {
              "kind": "method",
              "name": "reposition",
              "description": "Forces the popup to recalculate and reposition itself.",
              "type": {
                "text": "reposition() => void"
              }
            },
            {
              "kind": "field",
              "name": "updateHoverBridge",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive operations in your listener or consider debouncing it.",
              "name": "ed-reposition",
              "reactName": "onEdReposition",
              "eventName": "EdRepositionEvent"
            }
          ],
          "attributes": [
            {
              "name": "anchor",
              "type": {
                "text": "Element | string | VirtualElement"
              },
              "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
              "fieldName": "anchor"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
              "fieldName": "active"
            },
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
              "fieldName": "placement",
              "parsedType": {
                "text": "'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end'"
              }
            },
            {
              "name": "boundary",
              "type": {
                "text": "'viewport' | 'scroll'"
              },
              "default": "'viewport'",
              "description": "The bounding box to use for flipping, shifting, and auto-sizing.",
              "fieldName": "boundary"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from its anchor.",
              "fieldName": "distance"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel along its anchor.",
              "fieldName": "skidding"
            },
            {
              "name": "arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
              "fieldName": "arrow"
            },
            {
              "name": "arrow-placement",
              "type": {
                "text": "'start' | 'end' | 'center' | 'anchor'"
              },
              "default": "'anchor'",
              "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
              "fieldName": "arrowPlacement"
            },
            {
              "name": "arrow-padding",
              "type": {
                "text": "number"
              },
              "default": "10",
              "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
              "fieldName": "arrowPadding"
            },
            {
              "name": "flip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
              "fieldName": "flip"
            },
            {
              "name": "flip-fallback-placements",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
              "fieldName": "flipFallbackPlacements"
            },
            {
              "name": "flip-fallback-strategy",
              "type": {
                "text": "'best-fit' | 'initial'"
              },
              "default": "'best-fit'",
              "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
              "fieldName": "flipFallbackStrategy"
            },
            {
              "name": "flipBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "fieldName": "flipBoundary"
            },
            {
              "name": "flip-padding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
              "fieldName": "flipPadding"
            },
            {
              "name": "shift",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Moves the popup along the axis to keep it in view when clipped.",
              "fieldName": "shift"
            },
            {
              "name": "shiftBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "fieldName": "shiftBoundary"
            },
            {
              "name": "shift-padding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
              "fieldName": "shiftPadding"
            },
            {
              "name": "auto-size",
              "type": {
                "text": "'horizontal' | 'vertical' | 'both'"
              },
              "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
              "fieldName": "autoSize"
            },
            {
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both'"
              },
              "description": "Syncs the popup's width or height to that of the anchor element.",
              "fieldName": "sync"
            },
            {
              "name": "autoSizeBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "fieldName": "autoSizeBoundary"
            },
            {
              "name": "auto-size-padding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
              "fieldName": "autoSizePadding"
            },
            {
              "name": "hover-bridge",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
              "fieldName": "hoverBridge"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Popup is a utility that lets you declaratively anchor \"popup\" containers to another element.",
          "jsDoc": "/**\n * @summary Popup is a utility that lets you declaratively anchor \"popup\" containers to another element.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/popup\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @event ed-reposition - Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive\n *  operations in your listener or consider debouncing it.\n *\n * @slot - The popup's content.\n * @slot anchor - The element the popup will be anchored to. If the anchor lives outside the popup, you can use the\n *  `anchor` attribute or property instead.\n *\n * @csspart arrow - The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are\n *  assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and\n *  maybe a border or box shadow.\n * @csspart popup - The popup's container. Useful for setting a background color, box shadow, etc.\n * @csspart hover-bridge - The hover bridge element. Only available when the `hover-bridge` option is enabled.\n *\n * @cssproperty [--arrow-size=6px] - The size of the arrow. Note that an arrow won't be shown unless the `arrow`\n *  attribute is used.\n * @cssproperty [--popup-border-width] - The width of any custom border applied to the popup. This is used to reposition\n *  the arrow to overlap to the inside edge of the popup border.\n * @cssproperty [--arrow-color=black] - The color of the arrow.\n * @cssproperty [--auto-size-available-width] - A read-only custom property that determines the amount of width the\n *  popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n *  available when using `auto-size`.\n * @cssproperty [--auto-size-available-height] - A read-only custom property that determines the amount of height the\n *  popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n *  available when using `auto-size`.\n * @cssproperty [--show-duration=var(--ed-transition-fast)] - The show duration to use when applying built-in animation classes.\n * @cssproperty [--hide-duration=var(--ed-transition-fast)] - The hide duration to use when applying built-in animation classes.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/popup",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-popup",
          "customElement": true,
          "modulePath": "components/popup/popup.js",
          "definitionPath": "components/popup/popup.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdPopup",
            "module": "components/popup/popup.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-popup",
          "declaration": {
            "name": "EdPopup",
            "module": "components/popup/popup.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/select/select.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSelect",
          "cssProperties": [
            {
              "description": "The duration of the show animation.",
              "name": "--show-duration",
              "default": "var(--ed-transition-fast)"
            },
            {
              "description": "The duration of the hide animation.",
              "name": "--hide-duration",
              "default": "var(--ed-transition-fast)"
            },
            {
              "description": "When using `multiple`, the max size of tags before their content is truncated.",
              "name": "--tag-max-size",
              "default": "10ch"
            }
          ],
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and hint.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The select's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            },
            {
              "description": "The container the wraps the start, end, value, clear icon, and expand button.",
              "name": "combobox"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            },
            {
              "description": "The element that displays the selected option's label, an `<input>` element.",
              "name": "display-input"
            },
            {
              "description": "The listbox container where options are slotted.",
              "name": "listbox"
            },
            {
              "description": "The container that houses option tags when `multiselect` is used.",
              "name": "tags"
            },
            {
              "description": "The individual tags that represent each multiselect option.",
              "name": "tag"
            },
            {
              "description": "The tag's base part.",
              "name": "tag__base"
            },
            {
              "description": "The tag's content part.",
              "name": "tag__content"
            },
            {
              "description": "The tag's remove button.",
              "name": "tag__remove-button"
            },
            {
              "description": "The tag's remove button base part.",
              "name": "tag__remove-button__base"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The container that wraps the expand icon.",
              "name": "expand-icon"
            }
          ],
          "slots": [
            {
              "description": "The listbox options. Must be `<ed-option>` elements. You can use `<ed-divider>` to group items visually.",
              "name": ""
            },
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed at the start of the combobox.",
              "name": "start"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed at the end of the combobox.",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "The icon to show when the control is expanded and collapsed. Rotates on open and close.",
              "name": "expand-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[styles, formControlStyles, densityStyles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "cachedOptions",
              "type": {
                "text": "EdOption[] | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "selectionOrder",
              "type": {
                "text": "Map<string, number>"
              },
              "privacy": "private",
              "default": "new Map()"
            },
            {
              "kind": "field",
              "name": "typeToSelectString",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "typeToSelectTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "slotChangePending",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "EdPopup"
              }
            },
            {
              "kind": "field",
              "name": "combobox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "displayInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "valueInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "listbox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Where to anchor native constraint validation",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "displayLabel",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "currentOption",
              "type": {
                "text": "EdOption"
              }
            },
            {
              "kind": "field",
              "name": "selectedOptions",
              "type": {
                "text": "EdOption[]"
              },
              "default": "[]"
            },
            {
              "kind": "method",
              "name": "getOptionValues",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Set<string | null>"
                }
              },
              "description": "Non-disabled option values currently in the DOM. Computed fresh on every call rather than\ncached, because caching created stale-state bugs when the value was set before options\nexisted in the DOM. The underlying getAllOptions() is already cached, so this is cheap."
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "''",
              "description": "The name of the select, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "null | string | string[]"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "defaultValue"
            },
            {
              "kind": "method",
              "name": "rawValuesEqual",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "a",
                  "type": {
                    "text": "string[] | null | undefined"
                  }
                },
                {
                  "name": "b",
                  "type": {
                    "text": "string[] | null | undefined"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "convertDefaultValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "val",
                  "type": {
                    "text": "typeof this.defaultValue"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string[] | undefined | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The select's value. This will be a string for single select or an array for multi-select.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the select is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "maxOptionsVisible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "attribute": "max-options-visible"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the select control readonly.",
              "attribute": "readonly"
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the select is not empty.",
              "attribute": "with-clear"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style select with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The select's accessible name for when no visible label is set. Mirrored onto the internal\ndisplay input, where the combobox role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech. A visible label wins when both\nare present (aria-labelledby precedes aria-label in accessible-name computation).",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The select's required attribute.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "getTag",
              "type": {
                "text": "(option: EdOption, index: number) => TemplateResult | string | HTMLElement"
              },
              "description": "A function that customizes the tags to be rendered when multiple=true. The first argument is the option, the second\nis the current tag's index. Return a Lit `TemplateResult`, an `HTMLElement`, or a string (strings render as text and\nare auto-escaped — to render rich content, return a `TemplateResult` or build an `HTMLElement` yourself). For React,\nwrap JSX with the `jsxToHtml()` helper. For non-Lit vanilla JS, use the re-exported `html` tag."
            },
            {
              "kind": "method",
              "name": "updateDefaultValue",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentFocusIn",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentMouseDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleLabelClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleComboboxClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleComboboxMouseUp",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleComboboxKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClearClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClear",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClearMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleOptionClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "public",
              "type": {
                "text": "handleDefaultSlotChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "processSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleTagRemove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "EdRemoveEvent"
                  }
                },
                {
                  "name": "directOption",
                  "optional": true,
                  "type": {
                    "text": "EdOption"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getFirstOption",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setCurrentOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "EdOption | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setSelectedOptions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "EdOption | EdOption[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleOptionSelection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "EdOption"
                  }
                },
                {
                  "name": "force",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectionChanged",
              "privacy": "public",
              "type": {
                "text": "selectionChanged() => void"
              }
            },
            {
              "kind": "field",
              "name": "tags",
              "type": {
                "text": "any"
              },
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleValueChange",
              "type": {
                "text": "handleValueChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the listbox.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the listbox.",
              "type": {
                "text": "hide() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the control.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the control.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the control's value changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control's value is cleared.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the select's menu opens.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the select's menu opens and all animations are complete.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the select's menu closes.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the select's menu closes and all animations are complete.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "''",
              "description": "The name of the select, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "value",
              "description": "The select's value. This will be a string for single select or an array for multi-select.",
              "fieldName": "value"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the select is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.",
              "fieldName": "multiple"
            },
            {
              "name": "max-options-visible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "fieldName": "maxOptionsVisible"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the select control readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the select is not empty.",
              "fieldName": "withClear"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
              "fieldName": "open"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style select with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The select's accessible name for when no visible label is set. Mirrored onto the internal\ndisplay input, where the combobox role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech. A visible label wins when both\nare present (aria-labelledby precedes aria-label in accessible-name computation).",
              "fieldName": "ariaLabel"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "fieldName": "withHint"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The select's required attribute.",
              "fieldName": "required"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The select is empty.",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Selects allow you to choose items from a menu of predefined options.",
          "jsDoc": "/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/select\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('combobox')\n *\n * @dependency ed-icon\n * @dependency ed-popup\n * @dependency ed-badge\n * @dependency ed-option\n *\n * @slot - The listbox options. Must be `<ed-option>` elements. You can use `<ed-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot start - An element, such as `<ed-icon>`, placed at the start of the combobox.\n * @slot end - An element, such as `<ed-icon>`, placed at the end of the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *\n * @event change - Emitted when the control's value changes.\n * @event input - Emitted when the control receives input.\n * @event focus - Emitted when the control gains focus.\n * @event blur - Emitted when the control loses focus.\n * @event ed-clear - Emitted when the control's value is cleared.\n * @event ed-show - Emitted when the select's menu opens.\n * @event ed-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event ed-hide - Emitted when the select's menu closes.\n * @event ed-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and hint.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart hint - The hint's wrapper.\n * @csspart combobox - The container the wraps the start, end, value, clear icon, and expand button.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n *\n * @cssproperty [--show-duration=var(--ed-transition-fast)] - The duration of the show animation.\n * @cssproperty [--hide-duration=var(--ed-transition-fast)] - The duration of the hide animation.\n * @cssproperty [--tag-max-size=10ch] - When using `multiple`, the max size of tags before their content is truncated.\n *\n * @cssstate blank - The select is empty.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/select",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('combobox')",
          "dependencies": [
            "ed-icon",
            "ed-popup",
            "ed-badge",
            "ed-option"
          ],
          "tagName": "ed-select",
          "customElement": true,
          "modulePath": "components/select/select.js",
          "definitionPath": "components/select/select.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdSelect",
            "module": "components/select/select.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-select",
          "declaration": {
            "name": "EdSelect",
            "module": "components/select/select.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/option/option.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdOption",
          "cssParts": [
            {
              "description": "The checked icon, a `<ed-icon>` element.",
              "name": "checked-icon"
            },
            {
              "description": "The option's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            }
          ],
          "slots": [
            {
              "description": "The option's label.",
              "name": ""
            },
            {
              "description": "An element, such as `<ed-icon>`, placed before the label.",
              "name": "start"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed after the label.",
              "name": "end"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "cachedDefaultLabel",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "isInitialized",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isDefaultLabelDirty",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "true"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "current",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the option in a disabled state, preventing selection.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "defaultSelected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Selects an option initially.",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "_label",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "label",
              "description": "The option’s plain text label.\nUsually automatically generated, but can be useful to provide manually for cases involving complex content.",
              "type": {
                "text": "string"
              },
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "defaultLabel",
              "type": {
                "text": "string"
              },
              "description": "The default label, generated from the element contents. Will be equal to `label` in most cases.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleHover",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateDefaultLabel",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
              "fieldName": "value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the option in a disabled state, preventing selection.",
              "fieldName": "disabled"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Selects an option initially.",
              "fieldName": "defaultSelected"
            },
            {
              "name": "label",
              "description": "The option’s plain text label.\nUsually automatically generated, but can be useful to provide manually for cases involving complex content.",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The user has keyed into the option, but hasn't selected it yet (shows a highlight)",
              "name": "current"
            },
            {
              "description": "The option is selected and has aria-selected=\"true\"",
              "name": "selected"
            },
            {
              "description": "Applied when the option is disabled",
              "name": "disabled"
            },
            {
              "description": "Like `:hover` but works while dragging in Safari",
              "name": "hover"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Options define the selectable items within a select or combobox component.",
          "jsDoc": "/**\n * @summary Options define the selectable items within a select or combobox component.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/option\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('option', { name: '…' })\n *\n * @dependency ed-icon\n *\n * @slot - The option's label.\n * @slot start - An element, such as `<ed-icon>`, placed before the label.\n * @slot end - An element, such as `<ed-icon>`, placed after the label.\n *\n * @csspart checked-icon - The checked icon, a `<ed-icon>` element.\n * @csspart label - The option's label.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n *\n * @cssstate current - The user has keyed into the option, but hasn't selected it yet (shows a highlight)\n * @cssstate selected - The option is selected and has aria-selected=\"true\"\n * @cssstate disabled - Applied when the option is disabled\n * @cssstate hover - Like `:hover` but works while dragging in Safari\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/option",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('option', { name: '…' })",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-option",
          "customElement": true,
          "modulePath": "components/option/option.js",
          "definitionPath": "components/option/option.js",
          "cssProperties": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdOption",
            "module": "components/option/option.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-option",
          "declaration": {
            "name": "EdOption",
            "module": "components/option/option.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/combobox/combobox.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCombobox",
          "cssProperties": [
            {
              "description": "The duration of the show animation.",
              "name": "--show-duration",
              "default": "var(--ed-transition-fast)"
            },
            {
              "description": "The duration of the hide animation.",
              "name": "--hide-duration",
              "default": "var(--ed-transition-fast)"
            },
            {
              "description": "When using `multiple`, the max size of tags before their content is truncated.",
              "name": "--tag-max-size",
              "default": "10ch"
            }
          ],
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and hint.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The select's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            },
            {
              "description": "The container the wraps the start, end, value, clear icon, and expand button.",
              "name": "combobox"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            },
            {
              "description": "The element that displays the selected option's label, an `<input>` element.",
              "name": "display-input"
            },
            {
              "description": "The listbox container where options are slotted.",
              "name": "listbox"
            },
            {
              "description": "The container that houses option tags when `multiselect` is used.",
              "name": "tags"
            },
            {
              "description": "The individual tags that represent each multiselect option.",
              "name": "tag"
            },
            {
              "description": "The tag's content part.",
              "name": "tag__content"
            },
            {
              "description": "The tag's remove button.",
              "name": "tag__remove-button"
            },
            {
              "description": "The tag's remove button base part.",
              "name": "tag__remove-button__base"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The container that wraps the expand icon.",
              "name": "expand-icon"
            }
          ],
          "slots": [
            {
              "description": "The listbox options. Must be `<ed-option>` elements. You can use `<ed-divider>` to group items visually.",
              "name": ""
            },
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed at the start of the combobox.",
              "name": "start"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed at the end of the combobox.",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "Content shown in the listbox when no option matches the current input. Alternatively, use the no-option-label attribute for plain text.",
              "name": "no-option-label"
            },
            {
              "description": "The icon to show when the control is expanded and collapsed. Rotates on open and close.",
              "name": "expand-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[styles, formControlStyles, densityStyles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "hasInputSinceOpening",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "selectionOrder",
              "type": {
                "text": "Map<string, number>"
              },
              "privacy": "private",
              "default": "new Map()"
            },
            {
              "kind": "field",
              "name": "cachedOptions",
              "type": {
                "text": "EdOption[] | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "slotChangePending",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "optionIdCounter",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "listboxId",
              "privacy": "private",
              "default": "`ed-combobox-listbox`"
            },
            {
              "kind": "method",
              "name": "generateOptionId",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "EdPopup"
              }
            },
            {
              "kind": "field",
              "name": "combobox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "displayInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "valueInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "listbox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "liveRegion",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Where to anchor native constraint validation",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "comboboxLabel",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "currentOption",
              "type": {
                "text": "EdOption | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "selectedOptions",
              "type": {
                "text": "EdOption[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "filteredOptions",
              "type": {
                "text": "EdOption[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "optionValues",
              "type": {
                "text": "Set<string | null> | undefined"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "''",
              "description": "The name of the select, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string[] | undefined | null"
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "rawValuesEqual",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "a",
                  "type": {
                    "text": "string[] | null | undefined"
                  }
                },
                {
                  "name": "b",
                  "type": {
                    "text": "string[] | null | undefined"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The select's value. This will be a string for single select or an array for multi-select.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "null | string | string[]"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "defaultValue"
            },
            {
              "kind": "method",
              "name": "convertDefaultValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "val",
                  "type": {
                    "text": "typeof this.defaultValue"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the select is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "maxOptionsVisible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "attribute": "max-options-visible"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "attribute": "readonly"
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the select is not empty.",
              "attribute": "with-clear"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style select with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The combobox's accessible name for when no visible label is set. Mirrored onto the internal\ndisplay input, where the combobox role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech. A visible label wins when both\nare present (aria-labelledby precedes aria-label in accessible-name computation).",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR purposes when a label is slotted in. Will show the label on first render.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR purposes when hint is slotted in. Will show the hint on first render.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The select's required attribute.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "noOptionLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text shown in the listbox when no option matches the current input. Defaults to a localized label.\nTo render custom markup instead, use the `no-option-label` slot.",
              "attribute": "no-option-label"
            },
            {
              "kind": "field",
              "name": "allowCustomValue",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, allows the user to enter a value that doesn't match any of the options. In single mode the typed\nvalue is committed with Enter or when the field loses focus. When `multiple` is set, Enter turns the typed\ntext into a tag (backed by a generated light-DOM option marked `data-custom-option`). When false, the\ncombobox only accepts values that match an option.",
              "attribute": "allow-custom-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "type": {
                "text": "'both' | 'none'"
              },
              "default": "'both'",
              "description": "The autocomplete behavior of the combobox.\n- `both` (default): typing filters the listbox to options that match the entered characters;\n  the typed string becomes the value unless the user selects an option.\n- `none`: the combobox is editable, but the listbox always shows all options regardless of\n  the characters typed.",
              "attribute": "autocomplete",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "inputValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current text value in the input field.",
              "attribute": "inputValue"
            },
            {
              "kind": "field",
              "name": "filter",
              "type": {
                "text": "((option: EdOption, query: string) => boolean) | null"
              },
              "default": "null",
              "description": "A function that customizes how options are filtered based on the input value. The function receives the option and the current input query string. Return true to include the option in the filtered list, false to exclude. By default, options are filtered by checking if the option's label contains the query (case-insensitive)."
            },
            {
              "kind": "field",
              "name": "getTag",
              "type": {
                "text": "(option: EdOption, index: number) => TemplateResult | string | HTMLElement"
              },
              "description": "A function that customizes the tags to be rendered when multiple=true. The first argument is the option, the second\nis the current tag's index. Return a Lit `TemplateResult`, an `HTMLElement`, or a string (strings render as text and\nare auto-escaped — to render rich content, return a `TemplateResult` or build an `HTMLElement` yourself). For React,\nwrap JSX with the `jsxToHtml()` helper. For non-Lit vanilla JS, use the re-exported `html` tag."
            },
            {
              "kind": "method",
              "name": "updateDefaultValue",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentFocusIn",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInputChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentMouseDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleLabelClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleComboboxClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleComboboxMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ],
              "type": {
                "text": "handleBlur(event: FocusEvent) => void"
              }
            },
            {
              "kind": "method",
              "name": "handleClearClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClear",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClearMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleOptionClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "type": {
                "text": "handleFocus() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "public",
              "type": {
                "text": "handleDefaultSlotChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "processSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleTagRemove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "EdRemoveEvent"
                  }
                },
                {
                  "name": "directOption",
                  "optional": true,
                  "type": {
                    "text": "EdOption"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getVisibleOptions",
              "type": {
                "text": "getVisibleOptions() => void"
              }
            },
            {
              "kind": "method",
              "name": "getFirstVisibleOption",
              "type": {
                "text": "getFirstVisibleOption() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateFilteredOptions",
              "type": {
                "text": "updateFilteredOptions() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCurrentOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "EdOption | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setSelectedOptions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "EdOption | EdOption[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleOptionSelection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "EdOption"
                  }
                },
                {
                  "name": "force",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "commitCustomValue",
              "privacy": "private",
              "description": "Commits the typed text as a custom value: in multiple mode as a tag (backed by a generated\noption), in single mode as the value. Used by the Enter handler."
            },
            {
              "kind": "method",
              "name": "getOrCreateCustomOption",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdOption"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Returns the option matching the given value. For custom values (allow-custom-value) a light-DOM\noption marked `data-custom-option` is generated so tags, Backspace removal, filtering and value\naggregation run through the regular option paths. Generated options are removed on deselection."
            },
            {
              "kind": "method",
              "name": "announceOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "EdOption"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "announceFilterResults",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "selectionChanged",
              "privacy": "public",
              "type": {
                "text": "selectionChanged() => void"
              }
            },
            {
              "kind": "field",
              "name": "tags",
              "type": {
                "text": "any"
              },
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleValueChange",
              "type": {
                "text": "handleValueChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the listbox.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the listbox.",
              "type": {
                "text": "hide() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the control.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the control.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the control's value changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control's value is cleared.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the select's menu opens.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the select's menu opens and all animations are complete.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the select's menu closes.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the select's menu closes and all animations are complete.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "''",
              "description": "The name of the select, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "value",
              "description": "The select's value. This will be a string for single select or an array for multi-select.",
              "fieldName": "value"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the select is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.",
              "fieldName": "multiple"
            },
            {
              "name": "max-options-visible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "fieldName": "maxOptionsVisible"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "fieldName": "readonly"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the select is not empty.",
              "fieldName": "withClear"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
              "fieldName": "open"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style select with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The combobox's accessible name for when no visible label is set. Mirrored onto the internal\ndisplay input, where the combobox role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech. A visible label wins when both\nare present (aria-labelledby precedes aria-label in accessible-name computation).",
              "fieldName": "ariaLabel"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR purposes when a label is slotted in. Will show the label on first render.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR purposes when hint is slotted in. Will show the hint on first render.",
              "fieldName": "withHint"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The select's required attribute.",
              "fieldName": "required"
            },
            {
              "name": "no-option-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text shown in the listbox when no option matches the current input. Defaults to a localized label.\nTo render custom markup instead, use the `no-option-label` slot.",
              "fieldName": "noOptionLabel"
            },
            {
              "name": "allow-custom-value",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, allows the user to enter a value that doesn't match any of the options. In single mode the typed\nvalue is committed with Enter or when the field loses focus. When `multiple` is set, Enter turns the typed\ntext into a tag (backed by a generated light-DOM option marked `data-custom-option`). When false, the\ncombobox only accepts values that match an option.",
              "fieldName": "allowCustomValue"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "'both' | 'none'"
              },
              "default": "'both'",
              "description": "The autocomplete behavior of the combobox.\n- `both` (default): typing filters the listbox to options that match the entered characters;\n  the typed string becomes the value unless the user selects an option.\n- `none`: the combobox is editable, but the listbox always shows all options regardless of\n  the characters typed.",
              "fieldName": "autocomplete"
            },
            {
              "name": "inputValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current text value in the input field.",
              "fieldName": "inputValue"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The select is empty.",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Comboboxes combine a text input with a listbox, allowing users to filter and select from predefined options or enter custom values.",
          "jsDoc": "/**\n * @summary Comboboxes combine a text input with a listbox, allowing users to filter and select from predefined options or enter custom values.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/combobox\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('combobox')\n *\n * @dependency ed-button\n * @dependency ed-icon\n * @dependency ed-option\n * @dependency ed-popup\n * @dependency ed-progress-ring\n * @dependency ed-badge\n *\n * @slot - The listbox options. Must be `<ed-option>` elements. You can use `<ed-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot start - An element, such as `<ed-icon>`, placed at the start of the combobox.\n * @slot end - An element, such as `<ed-icon>`, placed at the end of the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot no-option-label - Content shown in the listbox when no option matches the current input. Alternatively, use the no-option-label attribute for plain text.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *\n * @event input - Emitted when the control receives input.\n * @event change - Emitted when the control's value changes.\n * @event focus - Emitted when the control gains focus.\n * @event blur - Emitted when the control loses focus.\n * @event ed-clear - Emitted when the control's value is cleared.\n * @event ed-show - Emitted when the select's menu opens.\n * @event ed-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event ed-hide - Emitted when the select's menu closes.\n * @event ed-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and hint.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart hint - The hint's wrapper.\n * @csspart combobox - The container the wraps the start, end, value, clear icon, and expand button.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n *\n * @cssproperty [--show-duration=var(--ed-transition-fast)] - The duration of the show animation.\n * @cssproperty [--hide-duration=var(--ed-transition-fast)] - The duration of the hide animation.\n * @cssproperty [--tag-max-size=10ch] - When using `multiple`, the max size of tags before their content is truncated.\n *\n * @cssstate blank - The select is empty.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/combobox",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('combobox')",
          "dependencies": [
            "ed-button",
            "ed-icon",
            "ed-option",
            "ed-popup",
            "ed-progress-ring",
            "ed-badge"
          ],
          "tagName": "ed-combobox",
          "customElement": true,
          "modulePath": "components/combobox/combobox.js",
          "definitionPath": "components/combobox/combobox.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdCombobox",
            "module": "components/combobox/combobox.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-combobox",
          "declaration": {
            "name": "EdCombobox",
            "module": "components/combobox/combobox.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tooltip/tooltip.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTooltip",
          "cssProperties": [
            {
              "description": "The maximum width of the tooltip before its content will wrap.",
              "name": "--max-width"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper, an `<ed-popup>` element.",
              "name": "base"
            },
            {
              "description": "The popup's exported `popup` part. Use this to target the tooltip's popup container.",
              "name": "base__popup"
            },
            {
              "description": "The popup's exported `arrow` part. Use this to target the tooltip's arrow.",
              "name": "base__arrow"
            },
            {
              "description": "The tooltip's body where its content is rendered.",
              "name": "body"
            }
          ],
          "slots": [
            {
              "description": "The tooltip's default slot where any content should live. HTML and a simple link are fine; buttons and form controls belong in ed-popover instead.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hoverTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "EdPopup"
              }
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
              "attribute": "placement",
              "reflects": true,
              "parsedType": {
                "text": "'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tooltip so it won't show when triggered.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from which to offset the tooltip away from its target.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the tooltip along its target.",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "showDelay",
              "type": {
                "text": "number"
              },
              "default": "150",
              "description": "The amount of time to wait before showing the tooltip when the user mouses in.",
              "attribute": "show-delay"
            },
            {
              "kind": "field",
              "name": "hideDelay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of time to wait before hiding the tooltip when the user mouses out.",
              "attribute": "hide-delay"
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "description": "Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.",
              "attribute": "trigger"
            },
            {
              "kind": "field",
              "name": "withoutArrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the arrow from the tooltip.",
              "attribute": "without-arrow",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "null | Element"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "eventController",
              "privacy": "private",
              "default": "new AbortController()"
            },
            {
              "kind": "field",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseOver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseOut",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hasTrigger",
              "privacy": "private",
              "parameters": [
                {
                  "name": "triggerType",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "anchorHasOwnName",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  }
                }
              ],
              "description": "Whether the anchor already exposes its own accessible name, so the tooltip is a description — not the label."
            },
            {
              "kind": "method",
              "name": "addTooltipReference",
              "privacy": "private",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Points the anchor at the tooltip. If the anchor already has its own accessible name, the tooltip\nis a description (`aria-describedby`); otherwise it is promoted to the name (`aria-labelledby`) —\nthe icon-only case where the tooltip text is the only label the control has."
            },
            {
              "kind": "method",
              "name": "removeTooltipReference",
              "privacy": "private",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Removes the tooltip ID from whichever aria relationship attribute carries it."
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleForChange",
              "type": {
                "text": "handleForChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOptionsChange",
              "type": {
                "text": "handleOptionsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the tooltip.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the tooltip",
              "type": {
                "text": "hide() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the tooltip begins to show.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the tooltip has shown and all animations are complete.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the tooltip begins to hide.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the tooltip has hidden and all animations are complete.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
              "fieldName": "placement",
              "parsedType": {
                "text": "'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tooltip so it won't show when triggered.",
              "fieldName": "disabled"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from which to offset the tooltip away from its target.",
              "fieldName": "distance"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods.",
              "fieldName": "open"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the tooltip along its target.",
              "fieldName": "skidding"
            },
            {
              "name": "show-delay",
              "type": {
                "text": "number"
              },
              "default": "150",
              "description": "The amount of time to wait before showing the tooltip when the user mouses in.",
              "fieldName": "showDelay"
            },
            {
              "name": "hide-delay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of time to wait before hiding the tooltip when the user mouses out.",
              "fieldName": "hideDelay"
            },
            {
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "description": "Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.",
              "fieldName": "trigger"
            },
            {
              "name": "without-arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the arrow from the tooltip.",
              "fieldName": "withoutArrow"
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "fieldName": "for"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Tooltips display additional information based on a specific action.",
          "jsDoc": "/**\n * @summary Tooltips display additional information based on a specific action.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tooltip\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('tooltip')\n *\n * @dependency ed-popup\n *\n * @slot - The tooltip's default slot where any content should live. HTML and a simple link are fine; buttons and form controls belong in ed-popover instead.\n *\n * @event ed-show - Emitted when the tooltip begins to show.\n * @event ed-after-show - Emitted after the tooltip has shown and all animations are complete.\n * @event ed-hide - Emitted when the tooltip begins to hide.\n * @event ed-after-hide - Emitted after the tooltip has hidden and all animations are complete.\n *\n * @csspart base - The component's base wrapper, an `<ed-popup>` element.\n * @csspart base__popup - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n * @csspart base__arrow - The popup's exported `arrow` part. Use this to target the tooltip's arrow.\n * @csspart body - The tooltip's body where its content is rendered.\n *\n * @cssproperty --max-width - The maximum width of the tooltip before its content will wrap.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tooltip",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('tooltip')",
          "dependencies": [
            "ed-popup"
          ],
          "tagName": "ed-tooltip",
          "customElement": true,
          "modulePath": "components/tooltip/tooltip.js",
          "definitionPath": "components/tooltip/tooltip.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTooltip",
            "module": "components/tooltip/tooltip.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-tooltip",
          "declaration": {
            "name": "EdTooltip",
            "module": "components/tooltip/tooltip.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/copy-button/copy-button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdCopyButton",
          "cssParts": [
            {
              "description": "The internal `<button>` element.",
              "name": "button"
            },
            {
              "description": "The container that holds the copy icon.",
              "name": "copy-icon"
            },
            {
              "description": "The container that holds the success icon.",
              "name": "success-icon"
            },
            {
              "description": "The container that holds the error icon.",
              "name": "error-icon"
            },
            {
              "description": "The internal `<ed-tooltip>` element.",
              "name": "feedback"
            }
          ],
          "slots": [
            {
              "description": "The trigger element. By default, a copy icon button is rendered so this is optional. If desired, you can slot in a custom element such as `<ed-button>` or `<button>`.",
              "name": ""
            },
            {
              "description": "The icon to show in the default copy state. Works best with `<ed-icon>`.",
              "name": "copy-icon"
            },
            {
              "description": "The icon to show when the content is copied. Works best with `<ed-icon>`.",
              "name": "success-icon"
            },
            {
              "description": "The icon to show when a copy error occurs. Works best with `<ed-icon>`.",
              "name": "error-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[hostStyles, visuallyHidden, styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "copyIcon",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "successIcon",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "errorIcon",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "shadowTooltip",
              "type": {
                "text": "EdTooltip"
              }
            },
            {
              "kind": "field",
              "name": "isCopying",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "status",
              "type": {
                "text": "'rest' | 'success' | 'error'"
              },
              "default": "'rest'"
            },
            {
              "kind": "field",
              "name": "liveAnnouncement",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "customTriggerEl",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "lightTooltip",
              "type": {
                "text": "EdTooltip | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "feedbackTimeout",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "activeTooltip",
              "type": {
                "text": "EdTooltip | null"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "currentLabel",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text value to copy.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "from",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An id that references an element in the same document from which data will be copied. If both this and `value` are\npresent, this value will take precedence. By default, the target element's `textContent` will be copied. To copy an\nattribute, append the attribute name wrapped in square brackets, e.g. `from=\"el[value]\"`. To copy a property,\nappend a dot and the property name, e.g. `from=\"el.value\"`.",
              "attribute": "from"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the copy button.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "copyLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to use as the accessible name and tooltip text in the default copy state.",
              "attribute": "copy-label"
            },
            {
              "kind": "field",
              "name": "successLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip after copying.",
              "attribute": "success-label"
            },
            {
              "kind": "field",
              "name": "errorLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip when a copy error occurs.",
              "attribute": "error-label"
            },
            {
              "kind": "field",
              "name": "feedbackDuration",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "The length of time to show feedback before restoring the default trigger.",
              "attribute": "feedback-duration"
            },
            {
              "kind": "field",
              "name": "tooltipPlacement",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip.",
              "attribute": "tooltip-placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "tooltip",
              "type": {
                "text": "'full' | 'copy' | 'none'"
              },
              "default": "'full'",
              "description": "Controls the built-in tooltip. `full` (default) shows the tooltip on hover and focus and during copy feedback.\n`copy` keeps the tooltip silent on hover/focus and only shows it briefly to confirm a successful or failed copy.\n`none` disables the tooltip entirely. Applies to both the default and custom triggers.",
              "attribute": "tooltip",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleStatusChange",
              "type": {
                "text": "handleStatusChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleLabelChange",
              "type": {
                "text": "handleLabelChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleTooltipOptionsChange",
              "type": {
                "text": "handleTooltipOptionsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleTooltipModeChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "optional": true,
                  "type": {
                    "text": "'full' | 'copy' | 'none'"
                  }
                }
              ],
              "type": {
                "text": "handleTooltipModeChange(oldValue?: 'full' | 'copy' | 'none') => void"
              }
            },
            {
              "kind": "field",
              "name": "handleDefaultSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "releaseAssignedId",
              "privacy": "private",
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "HTMLElement | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "ensureLightTooltip",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeLightTooltip",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncTooltipText",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleCopy",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "showStatus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "status",
                  "type": {
                    "text": "'success' | 'error'"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ value: string }"
              },
              "description": "Emitted when the data has been copied.",
              "name": "ed-copy",
              "reactName": "onEdCopy",
              "eventName": "EdCopyEvent"
            },
            {
              "description": "Emitted when the data could not be copied.",
              "name": "ed-error",
              "reactName": "onEdError",
              "eventName": "EdErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text value to copy.",
              "fieldName": "value"
            },
            {
              "name": "from",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An id that references an element in the same document from which data will be copied. If both this and `value` are\npresent, this value will take precedence. By default, the target element's `textContent` will be copied. To copy an\nattribute, append the attribute name wrapped in square brackets, e.g. `from=\"el[value]\"`. To copy a property,\nappend a dot and the property name, e.g. `from=\"el.value\"`.",
              "fieldName": "from"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the copy button.",
              "fieldName": "disabled"
            },
            {
              "name": "copy-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to use as the accessible name and tooltip text in the default copy state.",
              "fieldName": "copyLabel"
            },
            {
              "name": "success-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip after copying.",
              "fieldName": "successLabel"
            },
            {
              "name": "error-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip when a copy error occurs.",
              "fieldName": "errorLabel"
            },
            {
              "name": "feedback-duration",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "The length of time to show feedback before restoring the default trigger.",
              "fieldName": "feedbackDuration"
            },
            {
              "name": "tooltip-placement",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip.",
              "fieldName": "tooltipPlacement"
            },
            {
              "name": "tooltip",
              "type": {
                "text": "'full' | 'copy' | 'none'"
              },
              "default": "'full'",
              "description": "Controls the built-in tooltip. `full` (default) shows the tooltip on hover and focus and during copy feedback.\n`copy` keeps the tooltip silent on hover/focus and only shows it briefly to confirm a successful or failed copy.\n`none` disables the tooltip entirely. Applies to both the default and custom triggers.",
              "fieldName": "tooltip"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the copy operation succeeds.",
              "name": "success"
            },
            {
              "description": "Applied when the copy operation fails.",
              "name": "error"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Copy buttons copy text to the clipboard when the user activates them. They provide built-in success and\nerror feedback so users know the copy worked.",
          "jsDoc": "/**\n * @summary Copy buttons copy text to the clipboard when the user activates them. They provide built-in success and\n *  error feedback so users know the copy worked.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/copy-button\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('button')\n *\n * @dependency ed-icon\n * @dependency ed-tooltip\n *\n * @event {{ value: string }} ed-copy - Emitted when the data has been copied.\n * @event ed-error - Emitted when the data could not be copied.\n *\n * @slot - The trigger element. By default, a copy icon button is rendered so this is optional. If desired, you can slot\n *  in a custom element such as `<ed-button>` or `<button>`.\n * @slot copy-icon - The icon to show in the default copy state. Works best with `<ed-icon>`.\n * @slot success-icon - The icon to show when the content is copied. Works best with `<ed-icon>`.\n * @slot error-icon - The icon to show when a copy error occurs. Works best with `<ed-icon>`.\n *\n * @cssstate success - Applied when the copy operation succeeds.\n * @cssstate error - Applied when the copy operation fails.\n *\n * @csspart button - The internal `<button>` element.\n * @csspart copy-icon - The container that holds the copy icon.\n * @csspart success-icon - The container that holds the success icon.\n * @csspart error-icon - The container that holds the error icon.\n * @csspart feedback - The internal `<ed-tooltip>` element.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/copy-button",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('button')",
          "dependencies": [
            "ed-icon",
            "ed-tooltip"
          ],
          "tagName": "ed-copy-button",
          "customElement": true,
          "modulePath": "components/copy-button/copy-button.js",
          "definitionPath": "components/copy-button/copy-button.js",
          "cssProperties": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdCopyButton",
            "module": "components/copy-button/copy-button.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-copy-button",
          "declaration": {
            "name": "EdCopyButton",
            "module": "components/copy-button/copy-button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/empty-state/empty-state.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdEmptyState",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the `icon` slot.",
              "name": "icon"
            },
            {
              "description": "The container that wraps the `label` slot.",
              "name": "label"
            },
            {
              "description": "Description of empty state.",
              "name": "description"
            }
          ],
          "slots": [
            {
              "description": "Empty state text.",
              "name": ""
            },
            {
              "description": "An element, such as `<ed-icon>`, placed before the Text. Alternatively, you can use the `icon` attribute.",
              "name": "icon"
            },
            {
              "description": "The EmptyState's label.",
              "name": "label"
            },
            {
              "description": "Optional Button.",
              "name": "button"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'fullscreen' | 'small' | 'medium' | 'large'"
              },
              "default": "'fullscreen'",
              "description": "Defines the size of the empty state. You have to manually set the correct header (`<h1/>`, `<h2/>`, `<h3/>`, `<p/>`) and button styling.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "alignment",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "Defines the alignment of the empty state.",
              "attribute": "alignment",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "'error'",
              "description": "Defines the icon which is used in the empty state. If you need a customized icon, use the `icon` slot instead.",
              "attribute": "icon",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "size",
              "type": {
                "text": "'fullscreen' | 'small' | 'medium' | 'large'"
              },
              "default": "'fullscreen'",
              "description": "Defines the size of the empty state. You have to manually set the correct header (`<h1/>`, `<h2/>`, `<h3/>`, `<p/>`) and button styling.",
              "fieldName": "size"
            },
            {
              "name": "alignment",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "Defines the alignment of the empty state.",
              "fieldName": "alignment"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "'error'",
              "description": "Defines the icon which is used in the empty state. If you need a customized icon, use the `icon` slot instead.",
              "fieldName": "icon"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Empty states communicate that there is no content to display, and what the user can do next.",
          "jsDoc": "/**\n * @summary Empty states communicate that there is no content to display, and what the user can do next.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/empty-state\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-icon\n *\n * @slot - Empty state text.\n * @slot icon - An element, such as `<ed-icon>`, placed before the Text. Alternatively, you can use the `icon` attribute.\n * @slot label - The EmptyState's label.\n * @slot button - Optional Button.\n *\n * @csspart base - The component's base wrapper.\n * @csspart icon - The container that wraps the `icon` slot.\n * @csspart label - The container that wraps the `label` slot.\n * @csspart description - Description of empty state.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/empty-state",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-empty-state",
          "customElement": true,
          "modulePath": "components/empty-state/empty-state.js",
          "definitionPath": "components/empty-state/empty-state.js",
          "cssProperties": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdEmptyState",
            "module": "components/empty-state/empty-state.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-empty-state",
          "declaration": {
            "name": "EdEmptyState",
            "module": "components/empty-state/empty-state.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/number-input/number-input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdNumberInput",
          "cssProperties": [
            {
              "description": "Sets a fixed width for the input field",
              "name": "--width"
            }
          ],
          "cssParts": [
            {
              "description": "The label element.",
              "name": "label"
            },
            {
              "description": "Alias for the label element.",
              "name": "form-control-label"
            },
            {
              "description": "The hint element.",
              "name": "hint"
            },
            {
              "description": "The wrapper containing the input and steppers.",
              "name": "base"
            },
            {
              "description": "The internal `<input>` control.",
              "name": "input"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            },
            {
              "description": "Both stepper buttons (for shared styling).",
              "name": "stepper"
            },
            {
              "description": "The increment (+) button on the end side.",
              "name": "stepper-increment"
            },
            {
              "description": "The decrement (-) button on the start side.",
              "name": "stepper-decrement"
            }
          ],
          "slots": [
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed at the start of the input control.",
              "name": "start"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed at the end of the input control (before steppers).",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default increment icon.",
              "name": "increment-icon"
            },
            {
              "description": "An icon to use in lieu of the default decrement icon.",
              "name": "decrement-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the input, submitted as a name/value pair with form data."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The input's accessible name for when no visible label is set. Mirrored onto the internal\ninput, where the spinbutton role lives — an aria-label left on the host alone would sit on\na role-less element and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number"
              },
              "description": "The input's minimum value.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number"
              },
              "description": "The input's maximum value.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "default": "1",
              "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value.",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "withoutSteppers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the increment/decrement stepper buttons.",
              "attribute": "without-steppers"
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "attribute": "autocomplete"
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "attribute": "enterkeyhint"
            },
            {
              "kind": "field",
              "name": "inputmode",
              "type": {
                "text": "'numeric' | 'decimal'"
              },
              "default": "'numeric'",
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "attribute": "inputmode"
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "isAtMin",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Returns true if the value is at or below the minimum.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "isAtMax",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Returns true if the value is at or above the maximum.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "stepFromStepper",
              "privacy": "private",
              "parameters": [
                {
                  "name": "direction",
                  "type": {
                    "text": "'up' | 'down'"
                  }
                }
              ],
              "description": "Steps the value from a stepper button and emits the beforeinput/input/change sequence."
            },
            {
              "kind": "method",
              "name": "handleStepperPointerUp",
              "privacy": "private",
              "parameters": [
                {
                  "name": "direction",
                  "type": {
                    "text": "'up' | 'down'"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleStepperClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "direction",
                  "type": {
                    "text": "'up' | 'down'"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "description": "button.click() and assistive-tech activation dispatch a click WITHOUT preceding pointer\nevents (event.detail === 0) — those used to be no-ops because the steppers only listened to\npointerdown/up. Real mouse clicks (detail >= 1) already stepped in pointerup and must not\nstep twice."
            },
            {
              "kind": "method",
              "name": "handleStepperPointerDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleStepChange",
              "type": {
                "text": "handleStepChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the input.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the input.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "select",
              "description": "Selects all the text in the input.",
              "type": {
                "text": "select() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepUp",
              "description": "Increments the value by the step amount.",
              "type": {
                "text": "stepUp() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepDown",
              "description": "Decrements the value by the step amount.",
              "type": {
                "text": "stepDown() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted from a stepper button before the value changes. Call `event.preventDefault()` to cancel the change.",
              "name": "beforeinput",
              "reactName": "onBeforeinput",
              "eventName": "BeforeinputEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The input's accessible name for when no visible label is set. Mirrored onto the internal\ninput, where the spinbutton role lives — an aria-label left on the host alone would sit on\na role-less element and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "min",
              "type": {
                "text": "number"
              },
              "description": "The input's minimum value.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "description": "The input's maximum value.",
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "default": "1",
              "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value.",
              "fieldName": "step"
            },
            {
              "name": "without-steppers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the increment/decrement stepper buttons.",
              "fieldName": "withoutSteppers"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "fieldName": "autocomplete"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "fieldName": "enterkeyhint"
            },
            {
              "name": "inputmode",
              "type": {
                "text": "'numeric' | 'decimal'"
              },
              "default": "'numeric'",
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "fieldName": "inputmode"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "fieldName": "withHint"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The input is empty.",
              "name": "blank"
            },
            {
              "description": "The input has focus.",
              "name": "focused"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Number inputs allow users to enter and edit numeric values with optional stepper buttons.",
          "jsDoc": "/**\n * @summary Number inputs allow users to enter and edit numeric values with optional stepper buttons.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/number-input\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('spinbutton')\n *\n * @dependency ed-icon\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot start - An element, such as `<ed-icon>`, placed at the start of the input control.\n * @slot end - An element, such as `<ed-icon>`, placed at the end of the input control (before steppers).\n * @slot increment-icon - An icon to use in lieu of the default increment icon.\n * @slot decrement-icon - An icon to use in lieu of the default decrement icon.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event beforeinput - Emitted from a stepper button before the value changes. Call `event.preventDefault()` to cancel\n *   the change.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart label - The label element.\n * @csspart form-control-label - Alias for the label element.\n * @csspart hint - The hint element.\n * @csspart base - The wrapper containing the input and steppers.\n * @csspart input - The internal `<input>` control.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n * @csspart stepper - Both stepper buttons (for shared styling).\n * @csspart stepper-increment - The increment (+) button on the end side.\n * @csspart stepper-decrement - The decrement (-) button on the start side.\n * @cssstate blank - The input is empty.\n * @cssstate focused - The input has focus.\n *\n * @cssproperty --width - Sets a fixed width for the input field\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/number-input",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('spinbutton')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-number-input",
          "customElement": true,
          "modulePath": "components/number-input/number-input.js",
          "definitionPath": "components/number-input/number-input.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdNumberInput",
            "module": "components/number-input/number-input.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-number-input",
          "declaration": {
            "name": "EdNumberInput",
            "module": "components/number-input/number-input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/pagination/pagination.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdPagination",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The page-size selector section.",
              "name": "page-size-section"
            },
            {
              "description": "The internal ed-select.",
              "name": "page-size-section-select"
            },
            {
              "description": "The page navigation section.",
              "name": "page-nav-section"
            },
            {
              "description": "The \"from X\" text.",
              "name": "total-pages"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "pageInput",
              "type": {
                "text": "EdNumberInput"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "totalItems",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The total number of items being paginated.",
              "attribute": "total-items"
            },
            {
              "kind": "field",
              "name": "page",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The current page (1-indexed).",
              "attribute": "page",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pageSize",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The number of items per page.",
              "attribute": "page-size"
            },
            {
              "kind": "field",
              "name": "pageSizeOptions",
              "type": {
                "text": "number[]"
              },
              "default": "[50, 100, 200, 500]",
              "description": "The available page size options for the dropdown.",
              "attribute": "page-size-options"
            },
            {
              "kind": "field",
              "name": "hidePageSize",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the page-size selector section.",
              "attribute": "hide-page-size"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the entire pagination component.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "totalPages",
              "type": {
                "text": "number"
              },
              "description": "The total number of pages, derived from totalItems and pageSize.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleTotalPagesChange",
              "type": {
                "text": "handleTotalPagesChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "setPageSize",
              "parameters": [
                {
                  "name": "size",
                  "type": {
                    "text": "number | string"
                  }
                }
              ],
              "description": "Sets the page size",
              "type": {
                "text": "setPageSize(size: number | string) => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePageSizeChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setPage",
              "parameters": [
                {
                  "name": "page",
                  "type": {
                    "text": "number | string"
                  }
                }
              ],
              "description": "Sets the current page",
              "type": {
                "text": "setPage(page: number | string) => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePageInputChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ page: number }"
              },
              "description": "Emitted when the current page changes.",
              "name": "ed-page-change",
              "reactName": "onEdPageChange",
              "eventName": "EdPageChangeEvent"
            },
            {
              "type": {
                "text": "{ pageSize: number }"
              },
              "description": "Emitted when the page size changes.",
              "name": "ed-page-size-change",
              "reactName": "onEdPageSizeChange",
              "eventName": "EdPageSizeChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "total-items",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The total number of items being paginated.",
              "fieldName": "totalItems"
            },
            {
              "name": "page",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The current page (1-indexed).",
              "fieldName": "page"
            },
            {
              "name": "page-size",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The number of items per page.",
              "fieldName": "pageSize"
            },
            {
              "name": "page-size-options",
              "type": {
                "text": "number[]"
              },
              "default": "[50, 100, 200, 500]",
              "description": "The available page size options for the dropdown.",
              "fieldName": "pageSizeOptions"
            },
            {
              "name": "hide-page-size",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the page-size selector section.",
              "fieldName": "hidePageSize"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the entire pagination component.",
              "fieldName": "disabled"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Pagination allows users to navigate through pages of content and optionally change the page size.",
          "jsDoc": "/**\n * @summary Pagination allows users to navigate through pages of content and optionally change the page size.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/pagination\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-icon\n * @dependency ed-number-input\n * @dependency ed-option\n * @dependency ed-select\n *\n * @event {{ page: number }} ed-page-change - Emitted when the current page changes.\n * @event {{ pageSize: number }} ed-page-size-change - Emitted when the page size changes.\n *\n * @csspart base - The component's base wrapper.\n * @csspart page-size-section - The page-size selector section.\n * @csspart page-size-section-select - The internal ed-select.\n * @csspart page-nav-section - The page navigation section.\n * @csspart total-pages - The \"from X\" text.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/pagination",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-icon",
            "ed-number-input",
            "ed-option",
            "ed-select"
          ],
          "tagName": "ed-pagination",
          "customElement": true,
          "modulePath": "components/pagination/pagination.js",
          "definitionPath": "components/pagination/pagination.js",
          "cssProperties": [],
          "cssStates": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdPagination",
            "module": "components/pagination/pagination.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-pagination",
          "declaration": {
            "name": "EdPagination",
            "module": "components/pagination/pagination.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/progress-bar/progress-bar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdProgressBar",
          "cssProperties": [
            {
              "description": "The height of the track.",
              "name": "--track-height",
              "default": "calc(2 * var(--ed-border-width-3))"
            },
            {
              "description": "The color of the track.",
              "name": "--track-color",
              "default": "var(--ed-color-neutral-240)"
            },
            {
              "description": "The color of the indicator.",
              "name": "--indicator-color",
              "default": "var(--ed-color-brand-fill-normal)"
            }
          ],
          "cssParts": [
            {
              "description": "The label element above the bar.",
              "name": "form-control-label"
            },
            {
              "description": "The component's base wrapper (track).",
              "name": "base"
            },
            {
              "description": "The progress bar's indicator (fill).",
              "name": "indicator"
            }
          ],
          "slots": [
            {
              "description": "The progress bar's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[formControlStyles, styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, percentage is ignored and the progress bar is drawn in an indeterminate state.",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The progress bar's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The progress bar's accessible name for when no visible label is wanted. Mirrored onto the\ninternal progressbar node, where the role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech (house pattern: ed-checkbox).",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "fieldName": "value"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, percentage is ignored and the progress bar is drawn in an indeterminate state.",
              "fieldName": "indeterminate"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The progress bar's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The progress bar's accessible name for when no visible label is wanted. Mirrored onto the\ninternal progressbar node, where the role lives — an aria-label left on the host alone would\nsit on a role-less element and be ignored by assistive tech (house pattern: ed-checkbox).",
              "fieldName": "ariaLabel"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Progress bars are used to show the status of an ongoing operation.",
          "jsDoc": "/**\n * @summary Progress bars are used to show the status of an ongoing operation.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/progress-bar\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('progressbar')\n *\n * @slot label - The progress bar's label. Alternatively, you can use the `label` attribute.\n *\n * @csspart form-control-label - The label element above the bar.\n * @csspart base - The component's base wrapper (track).\n * @csspart indicator - The progress bar's indicator (fill).\n *\n * @cssproperty [--track-height=calc(2 * var(--ed-border-width-3))] - The height of the track.\n * @cssproperty [--track-color=var(--ed-color-neutral-240)] - The color of the track.\n * @cssproperty [--indicator-color=var(--ed-color-brand-fill-normal)] - The color of the indicator.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/progress-bar",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('progressbar')",
          "tagName": "ed-progress-bar",
          "customElement": true,
          "modulePath": "components/progress-bar/progress-bar.js",
          "definitionPath": "components/progress-bar/progress-bar.js",
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdProgressBar",
            "module": "components/progress-bar/progress-bar.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-progress-bar",
          "declaration": {
            "name": "EdProgressBar",
            "module": "components/progress-bar/progress-bar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/skeleton/skeleton.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSkeleton",
          "cssProperties": [
            {
              "description": "The color of the skeleton.",
              "name": "--color"
            },
            {
              "description": "The sheen color when the skeleton is in its loading state.",
              "name": "--sheen-color"
            }
          ],
          "cssParts": [
            {
              "description": "The skeleton's indicator which is responsible for its color and animation.",
              "name": "indicator"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "effect",
              "type": {
                "text": "'pulse' | 'sheen' | 'none'"
              },
              "default": "'none'",
              "description": "Determines which effect the skeleton will use.",
              "attribute": "effect",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "effect",
              "type": {
                "text": "'pulse' | 'sheen' | 'none'"
              },
              "default": "'none'",
              "description": "Determines which effect the skeleton will use.",
              "fieldName": "effect"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Skeletons are used to provide a visual representation of where content will eventually be drawn.",
          "jsDoc": "/**\n * @summary Skeletons are used to provide a visual representation of where content will eventually be drawn.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/skeleton\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @csspart indicator - The skeleton's indicator which is responsible for its color and animation.\n *\n * @cssproperty --color - The color of the skeleton.\n * @cssproperty --sheen-color - The sheen color when the skeleton is in its loading state.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/skeleton",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-skeleton",
          "customElement": true,
          "modulePath": "components/skeleton/skeleton.js",
          "definitionPath": "components/skeleton/skeleton.js",
          "cssStates": [],
          "events": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdSkeleton",
            "module": "components/skeleton/skeleton.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-skeleton",
          "declaration": {
            "name": "EdSkeleton",
            "module": "components/skeleton/skeleton.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/data-grid/data-grid.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDataGrid",
          "cssProperties": [
            {
              "description": "Overwrites the density attribute for manual row height adjustment.",
              "name": "--row-height",
              "default": "var(--ed-size-8)"
            },
            {
              "description": "Internal — set by the grid to the measured native scrollbar width so the header can leave matching trailing space and stay aligned with the body. Do not set manually.",
              "name": "--scrollbar-width"
            },
            {
              "description": "Length of the shadow that fades in from each pinned-region edge onto the scrolling content when content is hidden behind that region.",
              "name": "--pin-shadow-size",
              "default": "var(--ed-space-1)"
            },
            {
              "description": "Color of the pinned-region scroll shadow.",
              "name": "--pin-shadow-color",
              "default": "var(--ed-color-shadow)"
            }
          ],
          "cssParts": [
            {
              "description": "Wrapper element around the loading visual (built-in or slotted).",
              "name": "loading-overlay"
            },
            {
              "description": "Each skeleton row in `loading-mode=\"skeleton\"`.",
              "name": "loading-row"
            },
            {
              "description": "Each skeleton cell in `loading-mode=\"skeleton\"`.",
              "name": "loading-cell"
            },
            {
              "description": "Visually hidden polite live region announcing loading, sort, selection, and pagination status changes.",
              "name": "status"
            }
          ],
          "slots": [
            {
              "description": "Content to display when the grid has no data rows.",
              "name": "empty"
            },
            {
              "description": "Custom loading overlay content. When assigned, suppresses the default skeleton or progress-bar visual. Framework still owns `aria-busy`, the `inert` lock-out, and the live-region announcement. Note: the slot's projection point is inside an `inert` subtree while loading is true, so focusable controls in the slot are not tab-reachable. Place interactive controls (e.g. a \"Cancel\" button) outside `<ed-data-grid>` instead.",
              "name": "loading"
            },
            {
              "description": "Replaces the default counts area in the footer. Pagination (when `pagination` + `pagination-mode=\"controls\"`) still renders at the inline-end; the totals row (when any leaf column has `footerAggregate` or `renderFooterAggregate`) still renders above. The `hide-entry-count` and `hide-selection-count` attributes are inert while this slot has assigned content.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[visuallyHidden, styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "columns",
              "type": {
                "text": "EdDataGridColumn[]"
              },
              "default": "[]",
              "description": "Column definitions. Supports nested `children` for multi-row headers."
            },
            {
              "kind": "field",
              "name": "data",
              "type": {
                "text": "EdDataGridRow[]"
              },
              "default": "[]",
              "description": "Row data array. Each object should contain keys matching column `key` values."
            },
            {
              "kind": "field",
              "name": "rowKey",
              "type": {
                "text": "string"
              },
              "default": "'id'",
              "description": "Property key used to uniquely identify rows.",
              "attribute": "row-key"
            },
            {
              "kind": "field",
              "name": "sortable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables sortable columns.",
              "attribute": "sortable"
            },
            {
              "kind": "field",
              "name": "sortMode",
              "type": {
                "text": "'single' | 'multi'"
              },
              "default": "'single'",
              "description": "Sort mode. `'single'` allows one sorted column; `'multi'` allows Shift+click multi-sort.",
              "attribute": "sort-mode"
            },
            {
              "kind": "field",
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables row selection.",
              "attribute": "selectable"
            },
            {
              "kind": "field",
              "name": "selectionMode",
              "type": {
                "text": "'single' | 'multi'"
              },
              "default": "'single'",
              "description": "Selection mode. `'single'` allows one selected row; `'multi'` allows range/toggle selection.",
              "attribute": "selection-mode"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls row density (padding and height).",
              "attribute": "density"
            },
            {
              "kind": "field",
              "name": "resizable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes all columns resizable via drag handle.",
              "attribute": "resizable"
            },
            {
              "kind": "field",
              "name": "columnReorderable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables column reordering via drag-and-drop on header cells.",
              "attribute": "column-reorderable"
            },
            {
              "kind": "field",
              "name": "rowReorderable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables row reordering via drag-and-drop handle.",
              "attribute": "row-reorderable"
            },
            {
              "kind": "field",
              "name": "pinControls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Pins the generated leading columns (row-drag handle and multi-select checkbox) to the start.\nAuto-enabled whenever any user column has `pin: 'start'`.",
              "attribute": "pin-controls"
            },
            {
              "kind": "field",
              "name": "groupBy",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Groups flat data by column value(s). Comma-separated for nested grouping.",
              "attribute": "group-by"
            },
            {
              "kind": "field",
              "name": "pagination",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables pagination.",
              "attribute": "pagination"
            },
            {
              "kind": "field",
              "name": "paginationMode",
              "type": {
                "text": "'controls' | 'infinite'"
              },
              "default": "'controls'",
              "description": "Pagination mode. `'controls'` shows page controls; `'infinite'` loads more on scroll.",
              "attribute": "pagination-mode"
            },
            {
              "kind": "field",
              "name": "totalRows",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Total number of rows (for server-side pagination). When set, uses this instead of `.data.length`.",
              "attribute": "total-rows"
            },
            {
              "kind": "field",
              "name": "currentPage",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Current page (1-based).",
              "attribute": "current-page"
            },
            {
              "kind": "field",
              "name": "pageSize",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "Number of rows per page.",
              "attribute": "page-size"
            },
            {
              "kind": "field",
              "name": "pageSizeOptions",
              "type": {
                "text": "number[]"
              },
              "default": "[50, 200, 500, 1000]",
              "description": "Available page size options for the pagination dropdown.",
              "attribute": "page-size-options"
            },
            {
              "kind": "field",
              "name": "hideEntryCount",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the entry count piece in the footer counts area. Inert when the `footer` slot is used.",
              "attribute": "hide-entry-count"
            },
            {
              "kind": "field",
              "name": "hideSelectionCount",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the selection count piece in the footer counts area. The selection count is also\nauto-hidden when no rows are selected, so this attribute matters only when ≥ 1 row is selected.\nInert when the `footer` slot is used.",
              "attribute": "hide-selection-count"
            },
            {
              "kind": "field",
              "name": "virtualScroll",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables virtual scrolling for large datasets.",
              "attribute": "virtual-scroll"
            },
            {
              "kind": "field",
              "name": "rowHeight",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Explicit row height in pixels. If 0, measured from first rendered row.",
              "attribute": "row-height"
            },
            {
              "kind": "field",
              "name": "scrollBuffer",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Number of buffer rows rendered above and below the visible viewport.",
              "attribute": "scroll-buffer"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows a loading indicator over the grid body.",
              "attribute": "loading"
            },
            {
              "kind": "field",
              "name": "loadingMode",
              "type": {
                "text": "'skeleton' | 'progress-bar'"
              },
              "default": "'skeleton'",
              "description": "Loading appearance.\n`'skeleton'` renders placeholder rows replacing the body content (default).\n`'progress-bar'` renders an indeterminate `<ed-progress-bar>` sticky at the top of the body\nwhile existing rows remain visible (but locked-out via `inert`).",
              "attribute": "loading-mode"
            },
            {
              "kind": "field",
              "name": "loadingRows",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Number of skeleton rows in `loading-mode=\"skeleton\"`.\n`0` (default) derives the count from the viewport height; falls back to 5 when no row height is measurable.",
              "attribute": "loading-rows"
            },
            {
              "kind": "field",
              "name": "srAnnouncement",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "description": "Polite live-region text for status announcements (loading, sort, selection, pagination)."
            },
            {
              "kind": "field",
              "name": "grabbedRowKey",
              "type": {
                "text": "unknown"
              },
              "privacy": "private",
              "default": "null",
              "description": "Row key of the row currently lifted for keyboard reordering (grab pattern), or null."
            },
            {
              "kind": "field",
              "name": "grabOriginIndex",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "-1",
              "description": "`this.data` index the grabbed row had when lifted; Escape rolls back to it."
            },
            {
              "kind": "field",
              "name": "hasLoadingSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'loading')"
            },
            {
              "kind": "field",
              "name": "hasFooterSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer')"
            },
            {
              "kind": "field",
              "name": "focusController",
              "privacy": "private",
              "default": "new GridFocusController(this)"
            },
            {
              "kind": "field",
              "name": "keyboardNavController",
              "privacy": "private",
              "default": "new GridKeyboardNavController(this, { focus: this.focusController, onHeaderActivate: (cell, event) => { if (this.loading) return; const columnKey = cell.dataset.columnKey; if (!columnKey) return; const col = this.getLeafColumns().find(c => c.key === columnKey); if (!col) return; if (this.isColumnSortable(col)) { this.sortController.toggleSort(columnKey, event.shiftKey); } }, onBodyActivate: (cell, event) => { if (this.loading) return; const row = cell.closest<HTMLElement>('[role=\"row\"]'); if (!row) return; // Absolute flat-row index, not the window-relative DOM position — the two // diverge under virtual scroll and the selection controller expects absolute. const rowIndex = this.getRowDataIndex(row); if (rowIndex !== -1 && this.selectable) { this.selectionController.toggleRow(rowIndex, event); // Range selection changes many rows at once — announce the total. if (event.shiftKey) this.announce(this.localize.term('numRowsSelected', this.getSelectedCount())); } }, onSelectAll: () => { if (this.loading) return; this.selectAll(); }, // Virtual-scroll navigation: let the keyboard controller reach rows outside the // rendered window. Absolute index space is the flat render list (getRenderRows), // the same one selection uses. getBodyRowIndex: (row: HTMLElement) => this.getRowDataIndex(row), getBodyRowCount: () => this.getRenderRows().length, scrollBodyRowIntoView: (index: number) => this.scrollBodyRowIntoView(index), // One keyboard \"page\" = the rows that fit the viewport (same math as the // skeleton row count). getPageRowCount: () => this.computeViewportLoadingRows(), // Expandable rows carry their toggle id (group rows: raw group key; tree rows: // 'bodyrow-' prefixed); toggleRow resolves both forms. onTreeToggle: (row: HTMLElement) => { if (this.loading) return; this.toggleRow(row.id); } })"
            },
            {
              "kind": "field",
              "name": "sortController",
              "privacy": "private",
              "default": "new GridSortController(this, { onSort: (sorts: SortEntry[], added?: SortEntry) => { const event = new EdSortEvent({ sorts, added }); const notPrevented = this.dispatchEvent(event); if (!notPrevented) return false; if (added && added.ordering !== 'none') { const col = this.getLeafColumns().find(c => c.key === added.column); if (col) { this.announce( this.localize.term('sortedByColumn', col.label, added.ordering === 'asc' ? 'ascending' : 'descending') ); } } else { this.announce(this.localize.term('sortingCleared')); } // Internal state is updated by the controller; just request re-render return undefined; } })"
            },
            {
              "kind": "field",
              "name": "selectionController",
              "privacy": "private",
              "default": "new GridSelectionController(this, { // Absolute index into the full flat render list — resolves regardless of the // virtual-scroll window. Group-header rows carry their synthetic key; they are // filtered out of the range/all-keys helpers below and match no data row. getRowKey: (index: number) => { const fr = this.getRenderRows()[index]; return fr ? fr.row[this.rowKey] : undefined; }, getAllRowKeys: () => this.getRenderRows() .filter(fr => !fr.isGroupRow) .map(fr => fr.row[this.rowKey]), getRowKeysInRange: (start: number, end: number) => this.getRenderRows() .slice(start, end + 1) .filter(fr => !fr.isGroupRow) .map(fr => fr.row[this.rowKey]), onSelectionChange: (selectedKeys: Set<unknown>) => { const selectedData = this.data.filter(row => selectedKeys.has(row[this.rowKey])); this.dispatchEvent( new EdSelectionChangeEvent({ data: selectedData, selectedKeys }) ); } })"
            },
            {
              "kind": "field",
              "name": "resizeController",
              "privacy": "private",
              "default": "new GridResizeController(this, { getColumnKey: (cell: HTMLElement) => { return cell.dataset.columnKey ?? ''; }, onResize: (columnKey: string, width: number) => { this.dispatchEvent(new EdColumnResizeEvent({ column: columnKey, width })); } })"
            },
            {
              "kind": "field",
              "name": "columnWidths",
              "type": {
                "text": "number[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Tracked column widths in pixels. Initialized on first resize from computed widths."
            },
            {
              "kind": "field",
              "name": "vsStart",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "vsEnd",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "renderRowCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "Length of the flat render list, stashed in willUpdate for the scroll-tick hot path."
            },
            {
              "kind": "field",
              "name": "measuredRowHeight",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "viewportHeight",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "vsScrollRaf",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "vsResizeObserver",
              "type": {
                "text": "ResizeObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "infiniteScrollLoading",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "infiniteScrollObserver",
              "type": {
                "text": "IntersectionObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "expandedGroupKeys",
              "privacy": "private",
              "default": "new Set<unknown>()",
              "description": "Tracks which auto-grouped rows are currently expanded (collapsed by default)."
            },
            {
              "kind": "field",
              "name": "expandedKeys",
              "privacy": "private",
              "default": "new Set<unknown>()",
              "description": "Tracks which tree rows are expanded (collapsed by default)."
            },
            {
              "kind": "field",
              "name": "loadingKeys",
              "privacy": "private",
              "default": "new Set<unknown>()",
              "description": "Tracks which lazy rows are currently loading."
            },
            {
              "kind": "field",
              "name": "dragColumnIndex",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "-1"
            },
            {
              "kind": "field",
              "name": "dragRowIndex",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "-1"
            },
            {
              "kind": "field",
              "name": "internalColumnOrder",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "User-driven leaf column order, captured on every drop. Empty until the\nfirst reorder. Applied in getLeafColumns on top of `groupBy`\nfront-ordering; within each pin band (start / unpinned / end) the order\nhere wins over the declared order. Pruned of stale keys when `columns`\nchanges."
            },
            {
              "kind": "field",
              "name": "isScrolling",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "scrollEndTimer",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "method",
              "name": "getRowDataIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "The absolute flat-row index for a rendered body row, read from the\n`data-row-index` stamp. Under virtual scroll this differs from the row's\nposition within `getBodyRows()` (which only covers the rendered window).\nReturns -1 for rows without the stamp (e.g. header rows)."
            },
            {
              "kind": "method",
              "name": "getLeafColumns",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDataGridColumn[]"
                }
              },
              "description": "Flattens the column tree to leaf columns only (columns without children)."
            },
            {
              "kind": "method",
              "name": "getColumnBand",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "'pin-start' | 'unpinned' | 'pin-end'"
                }
              },
              "parameters": [
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn | undefined"
                  }
                }
              ],
              "description": "The \"pin band\" a leaf column belongs to. Reordering is allowed inside a\nband but blocked across bands — otherwise a pin-start column could end up\nto the right of an unpinned one (or worse, in the middle of pin-end), which\nmakes the sticky positioning render nonsense."
            },
            {
              "kind": "method",
              "name": "applyInternalColumnOrder",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDataGridColumn[]"
                }
              },
              "parameters": [
                {
                  "name": "cols",
                  "type": {
                    "text": "EdDataGridColumn[]"
                  }
                }
              ],
              "description": "Reorders the top-level column array by `internalColumnOrder`. Grouped\ncolumns keep their forced front positions. Stale keys (no longer in\n`columns`) are ignored; columns not yet in the order are appended in\ntheir declared position. Skipped entirely for multi-header trees — a\ntop-level header with `children` stays where it was declared, since\nleaf-level reordering across parent-header boundaries would tear the\nspan layout."
            },
            {
              "kind": "field",
              "name": "shouldPinLeading",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Whether the generated leading columns (drag-handle, checkbox) should be sticky-pinned\nto the start. Triggered by `pin-controls` or by any non-hidden user column with `pin: 'start'`.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "computePinStyles",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{\n    styles: Map<number, string>;\n    lastStartPinLeafIdx: number;\n    firstEndPinLeafIdx: number;\n    leadingEdge: 'drag' | 'checkbox' | null;\n  }"
                }
              },
              "description": "Computes pinning offsets for each leaf column and identifies the cells at\nthe inside edge of each pin band — used to paint the divider/shadow affordance.\n\n`leadingEdge` is set when the start-pin band ends on an injected utility\ncell (drag handle or checkbox) rather than on a user-pinned column — i.e.\n`shouldPinLeading` is on and no user column has `pin: 'start'`."
            },
            {
              "kind": "method",
              "name": "parseColumnWidth",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "width",
                  "optional": true,
                  "type": {
                    "text": "string | number"
                  }
                }
              ],
              "description": "Parses a CSS column width value to a pixel number estimate. Returns 0 for auto/unknown."
            },
            {
              "kind": "method",
              "name": "buildGridTemplateColumns",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "Generates the CSS `grid-template-columns` value from leaf column widths."
            },
            {
              "kind": "method",
              "name": "renderGhostCell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "description": "Renders the trailing ghost cell that fills the leftover-space track in each row."
            },
            {
              "kind": "method",
              "name": "parseNumToCss",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | undefined"
                }
              },
              "parameters": [
                {
                  "name": "width",
                  "optional": true,
                  "type": {
                    "text": "string | number"
                  }
                }
              ],
              "description": "Parses column width value to a CSS column width. *"
            },
            {
              "kind": "method",
              "name": "buildHeaderRows",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HeaderCellData[][]"
                }
              },
              "description": "Builds the multi-row header layout from the column tree.\nReturns an array of arrays, where each inner array represents a header row's cells."
            },
            {
              "kind": "method",
              "name": "getMaxDepth",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "columns",
                  "type": {
                    "text": "EdDataGridColumn[]"
                  }
                }
              ],
              "description": "Returns the maximum nesting depth of the column tree."
            },
            {
              "kind": "method",
              "name": "getLeafCount",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                }
              ],
              "description": "Returns the number of leaf columns under a given column."
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "method",
              "name": "renderCellContent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unknown"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "unknown"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                },
                {
                  "name": "row",
                  "type": {
                    "text": "EdDataGridRow"
                  }
                }
              ],
              "description": "Resolves cell content through the rendering pipeline: render() → format() → built-in → String()."
            },
            {
              "kind": "method",
              "name": "renderAggregateCellContent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unknown"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "unknown"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                },
                {
                  "name": "group",
                  "type": {
                    "text": "EdDataGridRow"
                  }
                }
              ],
              "description": "Resolves aggregate-cell content through the rendering pipeline:\n`renderAggregate()` → `format()` → built-in type formatter (preset only) → `String()`.\n\nCustom `aggregate` functions and the `count` preset bypass the built-in\ntype formatter — their return value renders as-is unless `format` is set."
            },
            {
              "kind": "method",
              "name": "renderFooterAggregateCellContent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unknown"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "unknown"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                },
                {
                  "name": "rows",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                }
              ],
              "description": "Resolves footer totals-row cell content through the same pipeline as\n`renderAggregateCellContent`, but using `renderFooterAggregate` + `footerAggregate`.\n`rows` is the entire dataset (sorted), not a group's children."
            },
            {
              "kind": "field",
              "name": "warnedFormatColumns",
              "privacy": "private",
              "default": "new Set<string>()",
              "description": "Columns already warned about a failing built-in formatter (avoid per-cell log spam)."
            },
            {
              "kind": "method",
              "name": "formatValueBuiltin",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult | string | typeof nothing"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "unknown"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                }
              ],
              "description": "Built-in formatter based on column type."
            },
            {
              "kind": "method",
              "name": "isColumnSortable",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                }
              ],
              "description": "Returns whether a column is sortable based on column or grid-level setting."
            },
            {
              "kind": "method",
              "name": "getSortedData",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDataGridRow[]"
                }
              },
              "description": "Returns a sorted copy of data based on the current sort stack."
            },
            {
              "kind": "method",
              "name": "compareValues",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "a",
                  "type": {
                    "text": "unknown"
                  }
                },
                {
                  "name": "b",
                  "type": {
                    "text": "unknown"
                  }
                },
                {
                  "name": "type",
                  "optional": true,
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Compares two values for sorting based on column type."
            },
            {
              "kind": "method",
              "name": "durationToSeconds",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "iso",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Converts an ISO 8601 duration to total seconds for sorting."
            },
            {
              "kind": "method",
              "name": "handleHeaderSortClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HeaderCellData"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "description": "Handles a sort click on a header cell."
            },
            {
              "kind": "method",
              "name": "formatDurationFallback",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "parts",
                  "type": {
                    "text": "Record<string, number>"
                  }
                }
              ],
              "description": "Renders the parsed duration parts using an English-ish short style when\n`Intl.DurationFormat` isn't available (Firefox ESR doesn't ship it yet).\nOnly the non-zero parts are emitted, matching the spirit of `style: 'short'`."
            },
            {
              "kind": "method",
              "name": "parseISODuration",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Record<string, number>"
                }
              },
              "parameters": [
                {
                  "name": "iso",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Parses an ISO 8601 duration string into an Intl.DurationFormat-compatible object."
            },
            {
              "kind": "method",
              "name": "handleRowClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "rowIdx",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "description": "Handles click on a body row to toggle selection."
            },
            {
              "kind": "method",
              "name": "handleSelectAllChange",
              "privacy": "private",
              "description": "Handles the header checkbox change to toggle select all / deselect all."
            },
            {
              "kind": "method",
              "name": "selectAll",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Selects all body rows. Only effective in multi-select mode.",
              "type": {
                "text": "selectAll() => void"
              }
            },
            {
              "kind": "method",
              "name": "deselectAll",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Clears all row selections.",
              "type": {
                "text": "deselectAll() => void"
              }
            },
            {
              "kind": "method",
              "name": "isGroupRowId",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "rowId",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "description": "Checks if a row ID belongs to an auto-generated group row."
            },
            {
              "kind": "method",
              "name": "groupData",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDataGridRow[]"
                }
              },
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                }
              ],
              "description": "Groups flat data by column values into a tree structure."
            },
            {
              "kind": "method",
              "name": "getGroupedKeySet",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Set<string>"
                }
              },
              "description": "Parses `groupBy` into a set of column keys (empty if grouping is off)."
            },
            {
              "kind": "method",
              "name": "getOrderedColumns",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDataGridColumn[]"
                }
              },
              "description": "Returns the top-level column tree reordered so grouped columns come first\n(in `groupBy` order), then the remaining columns in their declared order.\nGrouped columns get the leading leaf positions so the group-row toggle/label\naligns with them and their body cells render blank."
            },
            {
              "kind": "method",
              "name": "groupByKey",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDataGridRow[]"
                }
              },
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                },
                {
                  "name": "groupKeys",
                  "type": {
                    "text": "string[]"
                  }
                },
                {
                  "name": "level",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "flattenTree",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "FlatRow[]"
                }
              },
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                },
                {
                  "name": "depth",
                  "default": "0"
                }
              ],
              "description": "Recursively flattens hierarchical data into a flat list for rendering."
            },
            {
              "kind": "method",
              "name": "aggregateColumn",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unknown"
                }
              },
              "parameters": [
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                },
                {
                  "name": "children",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                }
              ],
              "description": "Computes the aggregated value for a column across child rows."
            },
            {
              "kind": "method",
              "name": "aggregateFooterColumn",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unknown"
                }
              },
              "parameters": [
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                },
                {
                  "name": "rows",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                }
              ],
              "description": "Computes the footer totals-row value for a column across the entire dataset\n(post-sort, ignoring pagination and virtual slicing)."
            },
            {
              "kind": "method",
              "name": "aggregatePreset",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unknown"
                }
              },
              "parameters": [
                {
                  "name": "preset",
                  "type": {
                    "text": "'sum' | 'avg' | 'count' | 'min' | 'max'"
                  }
                },
                {
                  "name": "values",
                  "type": {
                    "text": "unknown[]"
                  }
                },
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                },
                {
                  "name": "leafRows",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "collectLeafRows",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDataGridRow[]"
                }
              },
              "parameters": [
                {
                  "name": "rows",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                }
              ],
              "description": "Collects all leaf (non-group) rows from a tree."
            },
            {
              "kind": "method",
              "name": "secondsToISODuration",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "totalSeconds",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Converts total seconds back to an ISO 8601 duration string."
            },
            {
              "kind": "method",
              "name": "expandRow",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "rowId",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "description": "Expands a tree or group row. For lazy rows, emits load event.",
              "type": {
                "text": "expandRow(rowId: unknown) => void"
              }
            },
            {
              "kind": "method",
              "name": "collapseRow",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "rowId",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "description": "Collapses a tree or group row.",
              "type": {
                "text": "collapseRow(rowId: unknown) => void"
              }
            },
            {
              "kind": "method",
              "name": "toggleRow",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "rowId",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "description": "Toggles a tree or group row's expanded/collapsed state.",
              "type": {
                "text": "toggleRow(rowId: unknown) => void"
              }
            },
            {
              "kind": "method",
              "name": "clearResolvedLazyRows",
              "privacy": "private",
              "description": "Removes loading state from lazy rows that have received their children."
            },
            {
              "kind": "method",
              "name": "findRowById",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDataGridRow | undefined"
                }
              },
              "parameters": [
                {
                  "name": "rowId",
                  "type": {
                    "text": "unknown"
                  }
                },
                {
                  "name": "data",
                  "default": "this.data",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                }
              ],
              "description": "Recursively finds a row by its key in the data tree."
            },
            {
              "kind": "method",
              "name": "isColumnResizable",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                }
              ],
              "description": "Returns whether a column is resizable based on column or grid-level setting."
            },
            {
              "kind": "method",
              "name": "ensureColumnWidths",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number[]"
                }
              },
              "description": "Initializes column widths from computed styles on first resize.\nMust be called before starting a resize gesture."
            },
            {
              "kind": "method",
              "name": "applyColumnWidths",
              "privacy": "private",
              "parameters": [
                {
                  "name": "widths",
                  "type": {
                    "text": "number[]"
                  }
                }
              ],
              "description": "Applies column widths to grid-template-columns on the scroll-area."
            },
            {
              "kind": "method",
              "name": "handleResizeSeparatorKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "columnIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Arrow-key resize on the focused header separator (APG window splitter),\n16px per press, clamped to [MIN_COLUMN_WIDTH, KEYBOARD_RESIZE_MAX]. The\nseparator stays focused, so screen readers announce the aria-valuenow\nchange without a live region."
            },
            {
              "kind": "method",
              "name": "handleResizePointerDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                },
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "columnIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Handles pointerdown on a resize handle to start a resize gesture."
            },
            {
              "kind": "field",
              "name": "handleScrollEvents",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleRowDblclick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                },
                {
                  "name": "row",
                  "type": {
                    "text": "EdDataGridRow"
                  }
                },
                {
                  "name": "dataIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleColumnDragStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "colIdx",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleColumnDragOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "colIdx",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleColumnDrop",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "colIdx",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleColumnDragEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "clearColumnDropIndicators",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleRowDragStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "row",
                  "type": {
                    "text": "EdDataGridRow"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleRowDragOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleRowDrop",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "targetRow",
                  "type": {
                    "text": "EdDataGridRow"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleRowGrab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "EdDataGridRow"
                  }
                }
              ],
              "description": "Space/click on the drag handle: lift the row, or drop it at its current position."
            },
            {
              "kind": "method",
              "name": "grabbedRowIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "description": "Current `this.data` index of the grabbed row; -1 when it left the dataset."
            },
            {
              "kind": "method",
              "name": "dropGrabbedRow",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "moveGrabbedRow",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "direction",
                  "type": {
                    "text": "1 | -1"
                  }
                }
              ],
              "description": "ArrowUp/ArrowDown while lifted: request a one-step move via ed-row-reorder."
            },
            {
              "kind": "method",
              "name": "cancelRowGrab",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Escape while lifted: roll the row back to its lift position and exit the mode."
            },
            {
              "kind": "method",
              "name": "refocusGrabbedHandle",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleGrabKeydown",
              "privacy": "private",
              "description": "Capture-phase keydown: while a row is lifted, arrows move it and Escape\ncancels — consumed here so grid navigation never sees the keys. Space/Enter\nare not handled: they activate the handle button natively (toggleRowGrab)."
            },
            {
              "kind": "field",
              "name": "handleGrabFocusOut",
              "privacy": "private",
              "description": "Focus leaving the lifted row's handle drops the row at its current position\n(mirrors ending a mouse drag). Deferred to the next frame so the re-focus\nafter a move's re-render (which re-parents the button) is not mistaken for\nleaving."
            },
            {
              "kind": "method",
              "name": "handleRowDragEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "clearRowDropIndicators",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "effectiveLoadingRows",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "description": "Resolves the skeleton-row count for `loading-mode=\"skeleton\"`.\nConsumer-set `loading-rows > 0` wins. Otherwise viewport-derived (body height ÷ row height),\nfalling back to a constant of 5 when row height or viewport metrics are unavailable.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "computeViewportLoadingRows",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "announce",
              "privacy": "private",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Announces a message via the polite status region (WCAG 4.1.3 status messages).\nClears the region first so an identical repeated message is re-announced."
            },
            {
              "kind": "method",
              "name": "handleLoadingChange",
              "parameters": [
                {
                  "name": "_oldValue",
                  "type": {
                    "text": "boolean | undefined"
                  }
                },
                {
                  "name": "newValue",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "type": {
                "text": "handleLoadingChange(_oldValue: boolean | undefined, newValue: boolean) => void"
              }
            },
            {
              "kind": "field",
              "name": "effectiveTotalRows",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "totalPages",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "isAllDataLoaded",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "getPaginatedFlatRows",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "FlatRow[]"
                }
              },
              "parameters": [
                {
                  "name": "flatRows",
                  "type": {
                    "text": "FlatRow[]"
                  }
                }
              ],
              "description": "Returns the paginated slice of flat rows for controls pagination."
            },
            {
              "kind": "method",
              "name": "getRenderRows",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "FlatRow[]"
                }
              },
              "description": "The flat row list the grid renders from, post sort / group / flatten / page —\nthe same list `render()` slices for the virtual-scroll window. It is the\nabsolute index space the selection and keyboard controllers address: row\nclick/checkbox/keyboard handlers pass indices into *this* list, so a row\nstays addressable by the same index whether or not it is in the rendered\nwindow. Recomputed on demand (interactions are infrequent) rather than\ncached, so it can never drift from the current data/sort/group state."
            },
            {
              "kind": "method",
              "name": "goToPage",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "page",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Navigates to a specific page.",
              "type": {
                "text": "goToPage(page: number) => void"
              }
            },
            {
              "kind": "method",
              "name": "setPageSize",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "size",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Changes the page size and resets to page 1.",
              "type": {
                "text": "setPageSize(size: number) => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePaginationPageChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handlePaginationPageSizeChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getSelectedCount",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "setupInfiniteScroll",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "teardownInfiniteScroll",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setupVirtualScroll",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "teardownVirtualScroll",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleVirtualScroll",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "computeVisibleRange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getEffectiveRowHeight",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "measureRowHeight",
              "privacy": "private",
              "description": "Measure row height from first rendered body row after paint."
            },
            {
              "kind": "method",
              "name": "scrollToIndex",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Scrolls the grid so that the row at the given data index is visible.",
              "type": {
                "text": "scrollToIndex(index: number) => void"
              }
            },
            {
              "kind": "method",
              "name": "scrollBodyRowIntoView",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement | null>"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Ensures the body row at the given absolute flat index is inside the render\nwindow and returns its element (keyboard virtual navigation). Under virtual\nscroll it moves the scroll position and recomputes the window *synchronously*\n— not through the debounced scroll listener — so the row is guaranteed\nrendered once `updateComplete` settles. Without virtual scroll every row is\nalready in the DOM, so it just resolves the element."
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "method",
              "name": "measureScrollbar",
              "privacy": "private",
              "description": "Measures scrollbar width and detects height-constrained overflow."
            },
            {
              "kind": "method",
              "name": "updatePinShadows",
              "privacy": "private",
              "parameters": [
                {
                  "name": "scrollArea",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Updates the pinned-region overlay shadows: their position (band widths), height\n(the scroll-area's clientHeight), and opacity (scroll-driven, 5% fade like ed-scroller).\nMath.abs(scrollLeft) handles RTL — modern browsers report negative scrollLeft there."
            },
            {
              "kind": "method",
              "name": "getColumnAlign",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | undefined"
                }
              },
              "parameters": [
                {
                  "name": "col",
                  "type": {
                    "text": "EdDataGridColumn"
                  }
                },
                {
                  "name": "isHeader",
                  "default": "false"
                }
              ],
              "description": "Returns the default text-align for a column type."
            },
            {
              "kind": "method",
              "name": "getAriaSortValue",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "'ascending' | 'descending' | 'none' | undefined"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HeaderCellData"
                  }
                }
              ],
              "description": "Returns the aria-sort value for a header cell based on current sort state."
            },
            {
              "kind": "method",
              "name": "renderLoadingOverlay",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "totalCellCount",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "hasFooterAggregates",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "leafColumns",
                  "type": {
                    "text": "EdDataGridColumn[]"
                  }
                }
              ],
              "description": "True when any leaf column has `footerAggregate` or `renderFooterAggregate` set."
            },
            {
              "kind": "method",
              "name": "renderTotalsRow",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "leafColumns",
                  "type": {
                    "text": "EdDataGridColumn[]"
                  }
                },
                {
                  "name": "sortedData",
                  "type": {
                    "text": "EdDataGridRow[]"
                  }
                },
                {
                  "name": "hasCheckboxCol",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "ariaRowIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "dragLeadingPinAttrs",
                  "type": {
                    "text": "{ class: string; style: string } | null"
                  }
                },
                {
                  "name": "checkboxLeadingPinAttrs",
                  "type": {
                    "text": "{ class: string; style: string } | null"
                  }
                },
                {
                  "name": "pinLayout",
                  "type": {
                    "text": "{\n      styles: Map<number, string>;\n      lastStartPinLeafIdx: number;\n      firstEndPinLeafIdx: number;\n      leadingEdge: 'drag' | 'checkbox' | null;\n    }"
                  }
                }
              ],
              "description": "Renders the column-aligned totals row at the top of the footer. Called only when\nat least one leaf column has `footerAggregate` or `renderFooterAggregate` set."
            },
            {
              "kind": "method",
              "name": "renderFooterBar",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult | typeof nothing"
                }
              },
              "parameters": [
                {
                  "name": "totalDataRows",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectedCount",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Renders the footer bar: counts area (or footer slot content) at the inline-start,\npagination at the inline-end. Returns `nothing` when none of those have content,\nso the footer (and its top border) is omitted entirely rather than reserving space."
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ sorts: SortEntry[], added?: SortEntry }"
              },
              "description": "Emitted when a sortable column header is activated.",
              "name": "ed-sort",
              "reactName": "onEdSort",
              "eventName": "EdSortEvent"
            },
            {
              "type": {
                "text": "{ data: Record<string, unknown>[], selectedKeys: Set<unknown> }"
              },
              "description": "Emitted when row selection changes. `data` lists the selected row objects in their original order; `selectedKeys` is the set of selected row-key values.",
              "name": "ed-selection-change",
              "reactName": "onEdSelectionChange",
              "eventName": "EdSelectionChangeEvent"
            },
            {
              "type": {
                "text": "{ column: string, width: number }"
              },
              "description": "Emitted when a column is resized via drag handle.",
              "name": "ed-column-resize",
              "reactName": "onEdColumnResize",
              "eventName": "EdColumnResizeEvent"
            },
            {
              "type": {
                "text": "{ page: number, pageSize: number }"
              },
              "description": "Emitted when the page or page size changes.",
              "name": "ed-pagination-change",
              "reactName": "onEdPaginationChange",
              "eventName": "EdPaginationChangeEvent"
            },
            {
              "type": {
                "text": "{ row: EdDataGridRow, fromIndex: number, toIndex: number }"
              },
              "description": "Emitted when a row is reordered — once per drag-and-drop, or once per one-step move while a row is lifted via its keyboard handle. The grid never reorders `data` itself; apply the move in your handler.",
              "name": "ed-row-reorder",
              "reactName": "onEdRowReorder",
              "eventName": "EdRowReorderEvent"
            },
            {
              "type": {
                "text": "{ column: EdDataGridColumn, fromIndex: number, toIndex: number, columnKeys: string[] }"
              },
              "description": "Emitted after the grid has applied a column drag-drop move. `columnKeys` is the full leaf-column key order after the move so consumers can persist per-user column order. The grid renders the new order internally; consumers don't need to mutate `columns`.",
              "name": "ed-column-reorder",
              "reactName": "onEdColumnReorder",
              "eventName": "EdColumnReorderEvent"
            },
            {
              "type": {
                "text": "{ row: EdDataGridRow, rowId: unknown }"
              },
              "description": "Emitted when a group row is expanded.",
              "name": "ed-row-expand",
              "reactName": "onEdRowExpand",
              "eventName": "EdRowExpandEvent"
            },
            {
              "type": {
                "text": "{ row: EdDataGridRow, rowId: unknown }"
              },
              "description": "Emitted when a group row is collapsed.",
              "name": "ed-row-collapse",
              "reactName": "onEdRowCollapse",
              "eventName": "EdRowCollapseEvent"
            },
            {
              "type": {
                "text": "{ row: HTMLElement, data?: EdDataGridRow, rowIndex: number }"
              },
              "description": "Emitted on row double-click.",
              "name": "ed-row-dblclick",
              "reactName": "onEdRowDblclick",
              "eventName": "EdRowDblclickEvent"
            },
            {
              "type": {
                "text": "{ scrollTop: number, scrollLeft: number }"
              },
              "description": "Emitted when scrolling begins.",
              "name": "ed-scroll-start",
              "reactName": "onEdScrollStart",
              "eventName": "EdScrollStartEvent"
            },
            {
              "type": {
                "text": "{ scrollTop: number, scrollLeft: number }"
              },
              "description": "Emitted when scrolling ends.",
              "name": "ed-scroll-end",
              "reactName": "onEdScrollEnd",
              "eventName": "EdScrollEndEvent"
            },
            {
              "type": {
                "text": "{ offset: number }"
              },
              "description": "Emitted when infinite scroll reaches near the bottom and needs more data.",
              "name": "ed-load-more",
              "reactName": "onEdLoadMore",
              "eventName": "EdLoadMoreEvent"
            },
            {
              "type": {
                "text": "{ row: EdDataGridRow, rowId: unknown }"
              },
              "description": "Emitted when an expanded row marked `lazy: true` needs its children loaded.",
              "name": "ed-lazy-load",
              "reactName": "onEdLazyLoad",
              "eventName": "EdLazyLoadEvent"
            }
          ],
          "attributes": [
            {
              "name": "row-key",
              "type": {
                "text": "string"
              },
              "default": "'id'",
              "description": "Property key used to uniquely identify rows.",
              "fieldName": "rowKey"
            },
            {
              "name": "sortable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables sortable columns.",
              "fieldName": "sortable"
            },
            {
              "name": "sort-mode",
              "type": {
                "text": "'single' | 'multi'"
              },
              "default": "'single'",
              "description": "Sort mode. `'single'` allows one sorted column; `'multi'` allows Shift+click multi-sort.",
              "fieldName": "sortMode"
            },
            {
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables row selection.",
              "fieldName": "selectable"
            },
            {
              "name": "selection-mode",
              "type": {
                "text": "'single' | 'multi'"
              },
              "default": "'single'",
              "description": "Selection mode. `'single'` allows one selected row; `'multi'` allows range/toggle selection.",
              "fieldName": "selectionMode"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls row density (padding and height).",
              "fieldName": "density"
            },
            {
              "name": "resizable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes all columns resizable via drag handle.",
              "fieldName": "resizable"
            },
            {
              "name": "column-reorderable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables column reordering via drag-and-drop on header cells.",
              "fieldName": "columnReorderable"
            },
            {
              "name": "row-reorderable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables row reordering via drag-and-drop handle.",
              "fieldName": "rowReorderable"
            },
            {
              "name": "pin-controls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Pins the generated leading columns (row-drag handle and multi-select checkbox) to the start.\nAuto-enabled whenever any user column has `pin: 'start'`.",
              "fieldName": "pinControls"
            },
            {
              "name": "group-by",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Groups flat data by column value(s). Comma-separated for nested grouping.",
              "fieldName": "groupBy"
            },
            {
              "name": "pagination",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables pagination.",
              "fieldName": "pagination"
            },
            {
              "name": "pagination-mode",
              "type": {
                "text": "'controls' | 'infinite'"
              },
              "default": "'controls'",
              "description": "Pagination mode. `'controls'` shows page controls; `'infinite'` loads more on scroll.",
              "fieldName": "paginationMode"
            },
            {
              "name": "total-rows",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Total number of rows (for server-side pagination). When set, uses this instead of `.data.length`.",
              "fieldName": "totalRows"
            },
            {
              "name": "current-page",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Current page (1-based).",
              "fieldName": "currentPage"
            },
            {
              "name": "page-size",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "Number of rows per page.",
              "fieldName": "pageSize"
            },
            {
              "name": "page-size-options",
              "type": {
                "text": "number[]"
              },
              "default": "[50, 200, 500, 1000]",
              "description": "Available page size options for the pagination dropdown.",
              "fieldName": "pageSizeOptions"
            },
            {
              "name": "hide-entry-count",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the entry count piece in the footer counts area. Inert when the `footer` slot is used.",
              "fieldName": "hideEntryCount"
            },
            {
              "name": "hide-selection-count",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the selection count piece in the footer counts area. The selection count is also\nauto-hidden when no rows are selected, so this attribute matters only when ≥ 1 row is selected.\nInert when the `footer` slot is used.",
              "fieldName": "hideSelectionCount"
            },
            {
              "name": "virtual-scroll",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables virtual scrolling for large datasets.",
              "fieldName": "virtualScroll"
            },
            {
              "name": "row-height",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Explicit row height in pixels. If 0, measured from first rendered row.",
              "fieldName": "rowHeight"
            },
            {
              "name": "scroll-buffer",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Number of buffer rows rendered above and below the visible viewport.",
              "fieldName": "scrollBuffer"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows a loading indicator over the grid body.",
              "fieldName": "loading"
            },
            {
              "name": "loading-mode",
              "type": {
                "text": "'skeleton' | 'progress-bar'"
              },
              "default": "'skeleton'",
              "description": "Loading appearance.\n`'skeleton'` renders placeholder rows replacing the body content (default).\n`'progress-bar'` renders an indeterminate `<ed-progress-bar>` sticky at the top of the body\nwhile existing rows remain visible (but locked-out via `inert`).",
              "fieldName": "loadingMode"
            },
            {
              "name": "loading-rows",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Number of skeleton rows in `loading-mode=\"skeleton\"`.\n`0` (default) derives the count from the viewport height; falls back to 5 when no row height is measurable.",
              "fieldName": "loadingRows"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A data-driven grid for displaying and interacting with large datasets with sorting, selection, virtual scroll, and more.",
          "jsDoc": "/**\n * @summary  A data-driven grid for displaying and interacting with large datasets with sorting, selection, virtual scroll, and more.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/data-grid\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('grid') (or `'treegrid'` when rows are nested/grouped)\n *\n * @dependency ed-icon\n * @dependency ed-checkbox\n * @dependency ed-empty-state\n * @dependency ed-pagination\n * @dependency ed-progress-bar\n * @dependency ed-progress-ring\n * @dependency ed-skeleton\n *\n * @event {{ sorts: SortEntry[], added?: SortEntry }} ed-sort - Emitted when a sortable column header is activated.\n * @event {{ data: Record<string, unknown>[], selectedKeys: Set<unknown> }} ed-selection-change - Emitted when row selection changes. `data` lists the selected row objects in their original order; `selectedKeys` is the set of selected row-key values.\n * @event {{ column: string, width: number }} ed-column-resize - Emitted when a column is resized via drag handle.\n * @event {{ page: number, pageSize: number }} ed-pagination-change - Emitted when the page or page size changes.\n * @event {{ row: EdDataGridRow, fromIndex: number, toIndex: number }} ed-row-reorder - Emitted when a row is reordered — once per drag-and-drop, or once per one-step move while a row is lifted via its keyboard handle. The grid never reorders `data` itself; apply the move in your handler.\n * @event {{ column: EdDataGridColumn, fromIndex: number, toIndex: number, columnKeys: string[] }} ed-column-reorder - Emitted after the grid has applied a column drag-drop move. `columnKeys` is the full leaf-column key order after the move so consumers can persist per-user column order. The grid renders the new order internally; consumers don't need to mutate `columns`.\n * @event {{ row: EdDataGridRow, rowId: unknown }} ed-row-expand - Emitted when a group row is expanded.\n * @event {{ row: EdDataGridRow, rowId: unknown }} ed-row-collapse - Emitted when a group row is collapsed.\n * @event {{ row: HTMLElement, data?: EdDataGridRow, rowIndex: number }} ed-row-dblclick - Emitted on row double-click.\n * @event {{ scrollTop: number, scrollLeft: number }} ed-scroll-start - Emitted when scrolling begins.\n * @event {{ scrollTop: number, scrollLeft: number }} ed-scroll-end - Emitted when scrolling ends.\n * @event {{ offset: number }} ed-load-more - Emitted when infinite scroll reaches near the bottom and needs more data.\n * @event {{ row: EdDataGridRow, rowId: unknown }} ed-lazy-load - Emitted when an expanded row marked `lazy: true` needs its children loaded.\n *\n * @cssproperty [--row-height=var(--ed-size-8)] - Overwrites the density attribute for manual row height adjustment.\n * @cssproperty [--scrollbar-width] - Internal — set by the grid to the measured native scrollbar width so the\n *   header can leave matching trailing space and stay aligned with the body. Do not set manually.\n * @cssproperty [--pin-shadow-size=var(--ed-space-1)] - Length of the shadow that fades in from each pinned-region edge\n *   onto the scrolling content when content is hidden behind that region.\n * @cssproperty [--pin-shadow-color=var(--ed-color-shadow)] - Color of the pinned-region scroll shadow.\n *\n * @slot empty - Content to display when the grid has no data rows.\n * @slot loading - Custom loading overlay content. When assigned, suppresses the default skeleton or\n *   progress-bar visual. Framework still owns `aria-busy`, the `inert` lock-out, and the live-region\n *   announcement. Note: the slot's projection point is inside an `inert` subtree while loading is true,\n *   so focusable controls in the slot are not tab-reachable. Place interactive controls (e.g. a \"Cancel\"\n *   button) outside `<ed-data-grid>` instead.\n * @slot footer - Replaces the default counts area in the footer. Pagination (when `pagination` +\n *   `pagination-mode=\"controls\"`) still renders at the inline-end; the totals row (when any leaf column\n *   has `footerAggregate` or `renderFooterAggregate`) still renders above. The `hide-entry-count` and\n *   `hide-selection-count` attributes are inert while this slot has assigned content.\n *\n * @csspart loading-overlay - Wrapper element around the loading visual (built-in or slotted).\n * @csspart loading-row - Each skeleton row in `loading-mode=\"skeleton\"`.\n * @csspart loading-cell - Each skeleton cell in `loading-mode=\"skeleton\"`.\n * @csspart status - Visually hidden polite live region announcing loading, sort, selection, and pagination status changes.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/data-grid",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('grid') (or `'treegrid'` when rows are nested/grouped)",
          "dependencies": [
            "ed-icon",
            "ed-checkbox",
            "ed-empty-state",
            "ed-pagination",
            "ed-progress-bar",
            "ed-progress-ring",
            "ed-skeleton"
          ],
          "tagName": "ed-data-grid",
          "customElement": true,
          "modulePath": "components/data-grid/data-grid.js",
          "definitionPath": "components/data-grid/data-grid.js",
          "cssStates": []
        },
        {
          "kind": "variable",
          "name": "value",
          "default": "row[key]"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDataGrid",
            "module": "components/data-grid/data-grid.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-data-grid",
          "declaration": {
            "name": "EdDataGrid",
            "module": "components/data-grid/data-grid.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/segments/segment-types.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "internal/segments/segment-controller.js",
      "declarations": [
        {
          "kind": "class",
          "description": "`SegmentController` — a `ReactiveController` that owns the segment-input interaction runtime.\n\nKeyed by index throughout. Type-to-index mapping (e.g. `'day'` → `2` for `MM/DD/YYYY`)\nlives in the consumer via the adapter — the engine never sees type names.",
          "name": "SegmentController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "SegmentControllerHost"
              },
              "privacy": "private",
              "readonly": true,
              "default": "host"
            },
            {
              "kind": "field",
              "name": "adapter",
              "type": {
                "text": "SegmentAdapter"
              },
              "privacy": "private",
              "default": "adapter"
            },
            {
              "kind": "field",
              "name": "_values",
              "type": {
                "text": "Array<number | null>"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Current numeric value for each segment slot, in format order. Null = empty."
            },
            {
              "kind": "field",
              "name": "_activeIndex",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "-1",
              "description": "Index of the currently active (focused) segment, or -1 when unfocused."
            },
            {
              "kind": "field",
              "name": "_typingBuffer",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "description": "Digit buffer for the currently active segment."
            },
            {
              "kind": "method",
              "name": "setAdapter",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "adapter",
                  "type": {
                    "text": "SegmentAdapter"
                  }
                }
              ],
              "description": "Swap in a new adapter (e.g. after format or locale change).\nThe caller is responsible for calling `setValues()` afterwards to sync segment values\nto the new format order."
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "segmentStates",
              "type": {
                "text": "SegmentState[]"
              },
              "description": "Current segment states in format order. Consumers iterate this for rendering.\nEach entry carries the value + metadata from the adapter.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "activeIndex",
              "type": {
                "text": "number"
              },
              "description": "Index of the active segment, or -1 when none is focused.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "values",
              "type": {
                "text": "ReadonlyArray<number | null>"
              },
              "description": "Current integer values in format order (parallel to `segmentMeta()`). Read-only.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "setValues",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  },
                  "description": "— integer values in format order; must have the same length as the adapter's\n`segmentMeta()`. Pass `null` for empty segments."
                },
                {
                  "name": "oldWireString",
                  "type": {
                    "text": "string | null"
                  },
                  "description": "— the wire string *before* this write, for `requestUpdate` signalling."
                }
              ],
              "description": "Set all segment values at once (e.g. from the public `value` setter or form reset).\nDoes NOT emit input/change events — those are the consumer's responsibility."
            },
            {
              "kind": "method",
              "name": "enterSegment",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Mark `index` as the active segment. Clears the typing buffer.\nDoes not move DOM focus — that is the consumer's responsibility."
            },
            {
              "kind": "method",
              "name": "exitSegment",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "description": "Clear the active segment marker (called when focus leaves the component).\nReturns the index that was active before clearing (for consumer change-detection)."
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "return": {
                "type": {
                  "text": "'consumed' | 'navigate-prev' | 'navigate-next' | 'not-consumed'"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Main keydown handler for a segment span.\nReturns the index to focus next (may equal `index` for no navigation, -1 for no change),\nor `null` when the event was not consumed.\n\nNavigation keys (ArrowLeft/Right, Tab) return a target index; the consumer is responsible\nfor actually calling `.focus()` on the DOM element.\n\nNote: `submitOnEnter` must be called by the consumer *before* delegating here — the engine\ndoes not reach outside the segment runtime.\nNote: Alt+ArrowUp/Down is NOT consumed here (reserved for ancestor handlers, e.g. picker\npopup open). The consumer must check for that before calling this method."
            },
            {
              "kind": "method",
              "name": "handleDigit",
              "return": {
                "type": {
                  "text": "'consumed' | 'navigate-next'"
                }
              },
              "parameters": [
                {
                  "name": "digit",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Process a digit character for the given segment index.\nReturns `'navigate-next'` when the engine auto-advances to the next segment, or `'consumed'`.\nCalled by the consumer's hidden-input bridge for touch devices."
            },
            {
              "kind": "method",
              "name": "_syncLength",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "count",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Ensure `_values` has the right length based on the adapter's current segment count."
            },
            {
              "kind": "method",
              "name": "_increment",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "delta",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Increment or decrement segment at `index` by `delta`, wrapping within the valid range."
            },
            {
              "kind": "method",
              "name": "_clear",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Clear the segment at `index`."
            },
            {
              "kind": "method",
              "name": "_flushTypingBuffer",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_handleDigit",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "'consumed' | 'navigate-next'"
                }
              },
              "parameters": [
                {
                  "name": "digit",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleTypeahead",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "'consumed'"
                }
              },
              "parameters": [
                {
                  "name": "char",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Case-insensitive first-letter jump for an enumerated segment.\n\nAmong options whose `label` starts with `char` (case-insensitive), selects the **next**\none after the current value cyclically — so repeated same-key presses rotate through\nall same-initial options (e.g. Mar → May on repeated \"m\" press).\n\nNo match → no-op (still `'consumed'` so the key is not passed to the browser)."
            },
            {
              "kind": "method",
              "name": "_cannotExtendBuffer",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "buffer",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "max",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Returns true when no single digit appended to `buffer` could produce a value ≤ `max`.\nUsed to trigger auto-advance before the buffer reaches max width."
            }
          ],
          "jsDoc": "/**\n * `SegmentController` — a `ReactiveController` that owns the segment-input interaction runtime.\n *\n * Keyed by index throughout. Type-to-index mapping (e.g. `'day'` → `2` for `MM/DD/YYYY`)\n * lives in the consumer via the adapter — the engine never sees type names.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SegmentController",
          "declaration": {
            "name": "SegmentController",
            "module": "internal/segments/segment-controller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/date-input/date-segment-adapter.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "DateSegmentAdapter",
          "members": [
            {
              "kind": "field",
              "name": "_parts",
              "type": {
                "text": "ReadonlyArray<FormatPart<DateSegmentType>>"
              },
              "privacy": "private",
              "readonly": true,
              "default": "parts"
            },
            {
              "kind": "field",
              "name": "_getLabel",
              "type": {
                "text": "(type: DateSegmentType) => string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "getLabel"
            },
            {
              "kind": "field",
              "name": "_getPlaceholder",
              "type": {
                "text": "(type: DateSegmentType) => string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "getPlaceholder"
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "ReadonlyArray<FormatPart<DateSegmentType>>"
              },
              "description": "The ordered format parts (segments + literals) as parsed from the format string.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "segmentTypes",
              "type": {
                "text": "DateSegmentType[]"
              },
              "description": "Return the ordered list of segment types for the current format (segment parts only).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "segmentMeta",
              "return": {
                "type": {
                  "text": "SegmentMeta[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "toWireString",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "fromWireString",
              "return": {
                "type": {
                  "text": "ReadonlyArray<number | null> | null"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "displayValue",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "segmentType",
                  "type": {
                    "text": "DateSegmentType"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number | null"
                  }
                }
              ],
              "description": "Project the ordered segment values back through the format parts, padding appropriately.\nUsed by the consumer's display render (not the wire string)."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DateSegmentAdapter",
          "declaration": {
            "name": "DateSegmentAdapter",
            "module": "components/date-input/date-segment-adapter.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/date-input/date-input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDateInput",
          "cssParts": [
            {
              "description": "The wrapping label element.",
              "name": "form-control-label"
            },
            {
              "description": "The wrapping label element (alias).",
              "name": "label"
            },
            {
              "description": "The text-field flex container.",
              "name": "base"
            },
            {
              "description": "The container that wraps the start slot.",
              "name": "start"
            },
            {
              "description": "The group wrapper holding segment spans and separators.",
              "name": "segments"
            },
            {
              "description": "An individual spinbutton segment span.",
              "name": "segment"
            },
            {
              "description": "A literal separator span.",
              "name": "separator"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The container that wraps the end slot.",
              "name": "end"
            },
            {
              "description": "The hint area.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The input's label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "An element placed at the start of the input control.",
              "name": "start"
            },
            {
              "description": "An element placed at the end of the input control. The date-picker trigger mounts here.",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators for constraint validation. Run inside the base-class `updateValidity()` so\n`customError` from `setCustomValidity()` is correctly layered on top.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Anchor constraint-validation popups to the segments group, not the hidden input.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "_adapter",
              "type": {
                "text": "DateSegmentAdapter | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The segment controller — the shared runtime for keyboard/digit/focus handling.\nConstructed lazily on first adapter access so `this.localize` is ready.\nThe adapter is recreated when the format changes (via `_rebuildAdapter()`)."
            },
            {
              "kind": "field",
              "name": "_engine",
              "type": {
                "text": "SegmentController | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_adapterLang",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The locale the current adapter was built against — used to detect locale changes."
            },
            {
              "kind": "method",
              "name": "_getEngine",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SegmentController"
                }
              },
              "description": "Lazily create and return the engine, building the adapter if needed."
            },
            {
              "kind": "method",
              "name": "_buildAdapter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "DateSegmentAdapter"
                }
              },
              "description": "Build a fresh DateSegmentAdapter for the current format."
            },
            {
              "kind": "method",
              "name": "_rebuildAdapter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Rebuild the adapter (and reinitialize engine values) when the format or locale changes.\nPreserves existing segment values by projecting them through the new format order.\nWhen the engine has not been created yet, only rebuilds the adapter (the engine will\nconsume it lazily on first `_getEngine()` call)."
            },
            {
              "kind": "field",
              "name": "_segmentValues",
              "type": {
                "text": "Record<SegmentType, number | null>"
              },
              "privacy": "private",
              "default": "{ day: null, month: null, year: null }",
              "description": "The three segment values keyed by type — maintained in sync with the engine's values.\nOrder is NOT stored here; it is derived from the adapter at render time."
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The ISO wire value, projected eagerly from `_segmentValues` every time segments are written.\n`onSegmentWrite` explicitly calls `requestUpdate('value', oldValue)` when this field\nchanges, so the base-class `setFormValue` branch (which keys on `'value'`) still fires\nfor segment edits even though the public setter wasn't invoked."
            },
            {
              "kind": "field",
              "name": "_activeSegmentType",
              "type": {
                "text": "SegmentType | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The active segment type, or `null` when the control has no segment focus.\nStored by TYPE (not array index) so it remains stable across format changes.",
              "parsedType": {
                "text": "'day' | 'month' | 'year' | null"
              }
            },
            {
              "kind": "field",
              "name": "_hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True when the control currently has focus (used for focus/blur event emission)."
            },
            {
              "kind": "field",
              "name": "_valueAtFocusIn",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Snapshot of `this.value` taken when the control receives focus from outside.\nUsed to emit `change` only when the committed value actually differs from what\nit was at the start of the interaction — matching native `<input>` semantics."
            },
            {
              "kind": "field",
              "name": "_userFormat",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Consumer-set format string (from the `format` attribute/property). When `null`,\nthe effective format is derived from the current locale."
            },
            {
              "kind": "field",
              "name": "_segmentEls",
              "type": {
                "text": "NodeListOf<HTMLElement>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_hiddenInput",
              "type": {
                "text": "HTMLInputElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_segmentsGroup",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\nsegment `role=\"group\"` node — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "attribute": "with-clear"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pickerOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppresses the read-only appearance while keeping read-only behavior. Pair with `readonly`\nwhen the field is driven entirely by an external picker (e.g. `ed-date-picker` in\n`picker-only` mode): typing stays blocked, but the control renders as a normal, interactive\nfield instead of a greyed-out read-only one — which would otherwise read as non-interactive.",
              "attribute": "picker-only",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "string"
              },
              "description": "Display format string, e.g. `'DD.MM.YYYY'`. Recognized tokens: `DD`, `MM`, `YYYY`.\nDefaults to the locale-derived format when not set or when the value is invalid.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "_min",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The minimum selectable date. Accepts a `Date` or an ISO `YYYY-MM-DD` string.\nDrives the `rangeUnderflow` validity flag."
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "_max",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The maximum selectable date. Accepts a `Date` or an ISO `YYYY-MM-DD` string.\nDrives the `rangeOverflow` validity flag."
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "shouldDisableDate",
              "type": {
                "text": "(date: Date) => boolean | undefined"
              },
              "description": "Predicate to disable individual dates. When set, any date that satisfies the predicate\nis considered invalid and yields a `customError` validation message.\nForwarded from `ed-date-picker`; also usable standalone on the inner input.\n\nProperty-only (no attribute) — functions cannot round-trip through HTML attributes."
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `label` element so the\nserver-rendered markup includes it before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `hint` element so the\nserver-rendered markup includes it before the component hydrates on the client.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current value of the input.\n- Getter: returns ISO `YYYY-MM-DD` string when all three segments form a valid complete date,\n  otherwise `null`. Incomplete or impossible dates always return `null`.\n- Setter: accepts `Date`, ISO `YYYY-MM-DD` string, or `null`. Non-ISO strings are warned\n  and treated as `null`."
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The default value (mapped to the `value` content attribute).\nNormalized to ISO `YYYY-MM-DD` or `null` on ingest so the stored default and every\nreset/seed path is always ISO, regardless of what the author wrote in the attribute."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "valueAsDate",
              "type": {
                "text": "Date | null"
              },
              "description": "A `Date | null` mirror of `.value`. Setting routes through the same normalization as `.value`."
            },
            {
              "kind": "method",
              "name": "onSegmentWrite",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  }
                },
                {
                  "name": "oldWireString",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Called by the engine after any segment mutation.\nSyncs `_segmentValues` (type-keyed) from the engine's index-keyed values and\nprojects the new wire string, signalling Lit with `requestUpdate('value', oldValue)`.",
              "type": {
                "text": "onSegmentWrite(values: ReadonlyArray<number | null>, oldWireString: string | null) => void"
              }
            },
            {
              "kind": "method",
              "name": "onCommitValue",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called by the engine to emit an `input` event after each committed edit.",
              "type": {
                "text": "onCommitValue() => void"
              }
            },
            {
              "kind": "method",
              "name": "_writeSegments",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "Record<SegmentType, number | null>"
                  }
                }
              ],
              "description": "The ONE place that mutates segment values from outside the engine.\nAll consumer-driven writes (digit entry via engine, programmatic value set, paste, reset)\nroute through here. The engine's `onSegmentWrite` callback handles writes originating\ninside the engine.\n\nEagerly projects the wire string into `_value` so `this.value` is always consistent with\nthe segment display."
            },
            {
              "kind": "method",
              "name": "_orderedSegmentTypes",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SegmentType[]"
                }
              },
              "description": "The ordered list of segment types for the current format.\nDerived at read time — no stored state, always correct for SSR."
            },
            {
              "kind": "method",
              "name": "_activeIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "description": "Array index of the active segment type within the current format order, or -1."
            },
            {
              "kind": "method",
              "name": "_placeholder",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_segmentLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "activeSegmentType",
              "type": {
                "text": "EdDateInputSegmentType | null"
              },
              "description": "The segment type currently holding focus, or `null` when the input is unfocused.\nReading does not change focus or scroll.\n\nComposing components (e.g. `<ed-date-picker>`) snapshot this before moving focus to a\npopup, then pass it back via `focus({ segment })` to restore focus on close.",
              "readonly": true,
              "parsedType": {
                "text": "'day' | 'month' | 'year' | null"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions & { segment?: EdDateInputSegmentType }"
                  }
                }
              ],
              "description": "Focus the input. By default, targets the first empty segment, falling back to the first\nsegment.\n\nPass `{ segment }` to target a specific segment by type (e.g. `focus({ segment: 'month' })`).\nUseful for composing components that need to restore focus to a previously-active segment\n— pair with the `activeSegmentType` getter to snapshot before, restore after. If the\nrequested segment isn't present in the current format, falls back to the default\nfirst-empty-or-first behavior.",
              "type": {
                "text": "focus(options?: FocusOptions & { segment?: EdDateInputSegmentType }) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "_focusSegmentByType",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_enterSegment",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ],
              "description": "Shared focus-entry bookkeeping — called on both the desktop path (segment span"
            },
            {
              "kind": "method",
              "name": "_handleSegmentFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentKeydown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentPointerdown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                },
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleHiddenInputInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleHiddenInputBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_commitBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Shared teardown called when focus genuinely leaves the whole component.\nThe public `blur` event comes from `delegatesFocus` (native), like `<ed-input>`; this only\nresets focus bookkeeping and, when the value changed since focus-in, emits `change`."
            },
            {
              "kind": "method",
              "name": "_handlePaste",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "ClipboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_tryParseDisplayFormat",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Date | null"
                }
              },
              "parameters": [
                {
                  "name": "text",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Attempt to parse a string using the current display format."
            },
            {
              "kind": "method",
              "name": "_handleClearClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input and a segment value changes.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints are not satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\nsegment `role=\"group\"` node — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "fieldName": "withClear"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "picker-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppresses the read-only appearance while keeping read-only behavior. Pair with `readonly`\nwhen the field is driven entirely by an external picker (e.g. `ed-date-picker` in\n`picker-only` mode): typing stays blocked, but the control renders as a normal, interactive\nfield instead of a greyed-out read-only one — which would otherwise read as non-interactive.",
              "fieldName": "pickerOnly"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "format",
              "type": {
                "text": "string"
              },
              "description": "Display format string, e.g. `'DD.MM.YYYY'`. Recognized tokens: `DD`, `MM`, `YYYY`.\nDefaults to the locale-derived format when not set or when the value is invalid.",
              "fieldName": "format"
            },
            {
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "fieldName": "max"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `label` element so the\nserver-rendered markup includes it before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `hint` element so the\nserver-rendered markup includes it before the component hydrates on the client.",
              "fieldName": "withHint"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "fieldName": "defaultValue"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The input has no value (all segments empty).",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "A segmented date input primitive with independent day, month, and year fields.",
          "jsDoc": "/**\n * @summary A segmented date input primitive with independent day, month, and year fields.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/date-input\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('group')\n *\n * @dependency ed-icon\n *\n * @slot label - The input's label. Alternatively, use the `label` attribute.\n * @slot start - An element placed at the start of the input control.\n * @slot end - An element placed at the end of the input control. The date-picker trigger mounts here.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot hint - Text that describes how to use the input. Alternatively, use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input and a segment value changes.\n * @event ed-clear - Emitted when the clear button is activated.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints are not satisfied.\n *\n * @csspart form-control-label - The wrapping label element.\n * @csspart label - The wrapping label element (alias).\n * @csspart base - The text-field flex container.\n * @csspart start - The container that wraps the start slot.\n * @csspart segments - The group wrapper holding segment spans and separators.\n * @csspart segment - An individual spinbutton segment span.\n * @csspart separator - A literal separator span.\n * @csspart clear-button - The clear button.\n * @csspart end - The container that wraps the end slot.\n * @csspart hint - The hint area.\n *\n * @cssstate blank - The input has no value (all segments empty).\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/date-input",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('group')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-date-input",
          "customElement": true,
          "modulePath": "components/date-input/date-input.js",
          "definitionPath": "components/date-input/date-input.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDateInput",
            "module": "components/date-input/date-input.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-date-input",
          "declaration": {
            "name": "EdDateInput",
            "module": "components/date-input/date-input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/date-input/format.js",
      "declarations": [
        {
          "kind": "function",
          "name": "parseFormat",
          "return": {
            "type": {
              "text": "FormatPart[] | null"
            }
          },
          "parameters": [
            {
              "name": "format",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Parse a format string into ordered parts.\n\nReturns `null` when the format is invalid:\n- a required token (day, month, year) is missing or appears more than once, or\n- a stray uppercase `D` / `M` / `Y` does not form a recognized token (rather than silently\n  degrading to literal characters).\n\nCallers fall back to deriveLocaleFormat on `null`."
        },
        {
          "kind": "function",
          "name": "deriveLocaleFormat",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "locale",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Derive the default format string for a locale, e.g. `\"DD.MM.YYYY\"` (de), `\"MM/DD/YYYY\"` (en-US),\n`\"YYYY/MM/DD\"` (ja). Built from `Intl.DateTimeFormat(...).formatToParts` so segment order and\nseparators follow the locale's conventions."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "parseFormat",
          "declaration": {
            "name": "parseFormat",
            "module": "components/date-input/format.js"
          }
        },
        {
          "kind": "js",
          "name": "deriveLocaleFormat",
          "declaration": {
            "name": "deriveLocaleFormat",
            "module": "components/date-input/format.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/date-picker/date-picker.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDatePicker",
          "cssParts": [
            {
              "description": "The host's outer wrapper.",
              "name": "base"
            },
            {
              "description": "The inner date input.",
              "name": "input"
            },
            {
              "description": "The clear button inside the input.",
              "name": "clear-button"
            },
            {
              "description": "The calendar trigger button mounted in the input's end slot.",
              "name": "trigger"
            },
            {
              "description": "The icon inside the trigger button.",
              "name": "trigger-icon"
            },
            {
              "description": "The popup container that positions the calendar.",
              "name": "popup"
            },
            {
              "description": "The inner calendar.",
              "name": "calendar"
            },
            {
              "description": "Wrapper for the OK and Cancel buttons in the popup footer (only when confirm is set).",
              "name": "footer-controls"
            },
            {
              "description": "The Cancel button in the popup footer.",
              "name": "footer-cancel"
            },
            {
              "description": "The OK button in the popup footer.",
              "name": "footer-ok"
            }
          ],
          "slots": [
            {
              "description": "The control's label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Helper text below the input. Alternatively, use the `hint` attribute.",
              "name": "hint"
            },
            {
              "description": "Content placed at the start of the input field.",
              "name": "start"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "_dateInput",
              "type": {
                "text": "EdDateInput"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_weekLabelInput",
              "type": {
                "text": "EdWeekLabelInput"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_calendar",
              "type": {
                "text": "EdCalendar"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_trigger",
              "type": {
                "text": "HTMLButtonElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_innerInput",
              "type": {
                "text": "PickerInnerInput | undefined"
              },
              "privacy": "protected",
              "description": "Satisfy `EdPickerBase._innerInput`. Routes to the correct inner element by type.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputKind",
              "type": {
                "text": "'segments' | 'label'"
              },
              "privacy": "protected",
              "description": "Returns `'label'` in week mode (no segments); `'segments'` otherwise.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_triggerEl",
              "type": {
                "text": "HTMLButtonElement | undefined"
              },
              "privacy": "protected",
              "description": "Satisfy `EdPickerBase._triggerEl`.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. Use the `label` slot for richer content.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's placeholder. Forwarded to the inner input.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Display format token string. Forwarded to the inner input. Empty string lets the inner\ninput derive its default from the page locale.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size. Forwarded to the inner input.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges. Forwarded to the inner input.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "description": "Marks the field as required.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets focus on the input when the page loads.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "PopupPlacement"
              },
              "default": "'bottom-end'",
              "description": "The popup's preferred placement. Defaults to `bottom-end` so the calendar aligns with the\ntrigger icon on the trailing edge of the input — the mouse stays put after clicking it.",
              "attribute": "placement",
              "reflects": true,
              "parsedType": {
                "text": "'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom' | 'right-start' | 'right-end' | 'left-start' | 'left-end'"
              }
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "EdCalendarType | 'week'"
              },
              "default": "'date'",
              "description": "The picker's selection granularity. Forwarded to the inner calendar.\n\n- `'date'` (default) — single-day selection; segmented date-input.\n- `'month'` / `'quarter'` / `'halfyear'` / `'year'` — period selection on the calendar grid.\n- `'week'` — whole ISO-week selection; mounts a read-only display-label input instead of\n  the segmented input. The picker internally forwards `type=\"date\"` + `selection-mode=\"week\"`\n  to the calendar (week selection is grid-level machinery, not a separate grid granularity).\n  The wire value is an ISO week string (`2026-W22`); `valueAsDate` returns the week's Monday.",
              "attribute": "type",
              "reflects": true,
              "parsedType": {
                "text": "'date' | 'month' | 'year' | 'quarter' | 'halfyear' | 'week'"
              }
            },
            {
              "kind": "field",
              "name": "firstDayOfWeek",
              "type": {
                "text": "number | 'locale'"
              },
              "default": "'locale'",
              "description": "The first day of the week. Accepts `0`–`6` (Sunday=0) or `'locale'`. Forwarded to the\ninner calendar. Ignored for `type=\"week\"`: ISO weeks start on Monday, so the week\npicker always renders a Monday-start grid regardless of this value or the locale.",
              "attribute": "first-day-of-week"
            },
            {
              "kind": "field",
              "name": "showWeekNumbers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the calendar shows a week-number column. Forwarded to the inner calendar.",
              "attribute": "show-week-numbers",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "shouldDisableDate",
              "type": {
                "text": "(date: Date) => boolean | undefined"
              },
              "description": "Predicate to disable individual dates in the calendar AND on typed-commit. Property-only."
            },
            {
              "kind": "field",
              "name": "_min",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable date. Accepts a `Date` or ISO `YYYY-MM-DD` string. Forwarded to\nboth the inner calendar and the inner date input (so segment-level validation matches).",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "_max",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable date. Accepts a `Date` or ISO `YYYY-MM-DD` string. Forwarded to\nboth the inner calendar and the inner date input.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "_defaultMonth",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "defaultMonth",
              "type": {
                "text": "Date | null"
              },
              "description": "The month + year to display when the picker opens with no `value` set. Forwarded to the\ncalendar. Accepts a `Date` or ISO `YYYY-MM-DD` string.",
              "attribute": "default-month"
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Internal committed value.\n- Date mode: ISO `YYYY-MM-DD` or `null`.\n- Week mode: ISO `YYYY-Www` (e.g. `2026-W22`) or `null`."
            },
            {
              "kind": "field",
              "name": "_pendingValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Set when the picker is open with `confirm=true` and a day was clicked but not yet OK'd."
            },
            {
              "kind": "field",
              "name": "_openSegmentSnapshot",
              "type": {
                "text": "EdDateInputSegmentType | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Segment snapshot at open time (used to restore focus when origin was the input).",
              "parsedType": {
                "text": "'day' | 'month' | 'year' | null"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current value of the picker.\n- In date mode: getter returns ISO `YYYY-MM-DD`; setter accepts `Date`, ISO string, or `null`.\n- In week mode: getter returns ISO `YYYY-Www` (e.g. `2026-W22`); setter accepts an ISO week\n  string, a `Date` (projected to its ISO week), or `null`.\n\nProgrammatic writes push to the inner input. Inner-driven changes (from `_onInnerValueChange`)\nupdate `_value` directly without re-pushing — preventing the feedback loop that would wipe\npartially-typed segments back to null (hard-won fix from commit 68a1d73f)."
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value (mapped to the `value` content attribute).",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "valueAsDate",
              "type": {
                "text": "Date | null"
              },
              "description": "Parsed `Date | null` view of the current value.\n- Date mode: the selected local calendar day.\n- Week mode: the Monday of the selected ISO week (consistent with `<input type=\"week\">`).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_commitFromSurface",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Implement the surface-change callback. Called by the calendar's `ed-change` handler.\nSubclass decides when to close (date-picker without confirm closes immediately; with\nconfirm, only on OK).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_onInnerValueChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Mirror inner input value without re-pushing (value-feedback-loop guard).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_focusInitialSurfaceEl",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Focus the calendar after open.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_onAfterClose",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Clear pending value and segment snapshot on close.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_restoreFocusToInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Restore focus to the segment that was active when Alt+ArrowDown opened the picker.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleInputKeydown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleCalendarChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_commitPending",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Commit the buffered pending value (confirm mode). Called by the base `_handleOk`.\nUses `_commitWire` with close=true so the popup dismisses after committing.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_canCommit",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "OK is enabled only when a date is selected (pending click or pre-existing value).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commit",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Push a value through the inner input. The inner input emits `input` / `change` which our\nbridges re-fire from the host — that's where `_value` ultimately updates and form state\nis reflected.\n\nThin wrapper over `_commitWire` without auto-close; callers are responsible for calling\n`hide()` when appropriate."
            },
            {
              "kind": "method",
              "name": "_normalizeWeekWire",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "Date | string | null"
                  }
                },
                {
                  "name": "propName",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Normalize a value input to an ISO-week wire string (`YYYY-Www`) or `null`.\nAccepts:\n- `null` → `null`\n- `Date` → projected via `toIsoWeekString`\n- `string` → validated ISO-week format; warns and returns `null` on mismatch"
            },
            {
              "kind": "method",
              "name": "_pushWeekDisplayValue",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Compose the display label for the week label input and push it.\nFormat: `CW 22 (25.05. – 31.05.2026)` (locale-adaptive).\n\nUses `localize.term('weekLabel')` for the CW/KW prefix and `Intl.DateTimeFormat`\nfor the Mon–Sun range in the current locale's short date format."
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isMirroring",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set to `true` for the synchronous duration of `super.updateValidity()` so that\n`_handleInputInvalid` can tell mirror-induced `ed-invalid` events apart from real user\ninvalids. `MirrorValidator` calls `inner.checkValidity()`, which dispatches a composed\n`EdInvalidEvent` — without this guard that would flip `hasInteracted` on the untouched\npicker, showing the error UI on page load.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "_wireInnerInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Point `input` at the current inner element so `MirrorValidator` (which reads `element.input`)\nand the `setValidity` anchor resolve to it. The base declares `input` as a property, so this\nis a plain assignment rather than a getter override (overriding a property with an accessor is\na TS error). Called from `willUpdate` and `firstUpdated` before `super` runs `updateValidity()`.\n\nThe inner is an `EdFormAssociatedElement`, not a literal `HTMLInputElement`, but satisfies the\nstructural contract (`value` / `validity` / `validationMessage` / `checkValidity`), hence the\ncast. `_innerInput` is `undefined` before the first render / during SSR — `MirrorValidator`\ndegrades gracefully to valid when `input` is absent.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "The inner input owns all visible chrome AND its own `aria-invalid` (state-forwarding\ncontract, see this class's header). The picker host must not double-manage `aria-invalid`,\nso it exposes no `validationTarget`. The validity engine still anchors `setValidity` on\n`this.input` (the inner) via the `this.validationTarget || this.input` fallback in\n`updateValidity()` (~line 452 of `ed-form-associated-element.ts`) — popup anchoring stays\ncorrect.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "description": "Tracks whether the consumer slotted rich `hint` content into the picker.\n\nThe inner input renders the active hint-area message (hint text, consumer `error`, or the\nvalidation message) as the FALLBACK content of its own `hint` slot. Forwarding an assigned\n`<slot slot=\"hint\">` into the inner unconditionally would suppress that fallback (a slotted\nnode beats fallback), so the inner would show the error STATE but never the message TEXT.\nPickers therefore forward the `hint` slot only when the consumer actually provides slotted\ncontent — see `_renderHintSlot()`. Plain `hint`-attribute text still reaches the inner via the\nforwarded `.hint` property and renders through the inner's own message path.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "_renderHintSlot",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult | typeof nothing"
                }
              },
              "description": "Forward the consumer's `hint` slot into the inner input — but only when the consumer actually\nslotted content, so an empty forwarded slot never masks the inner's own message fallback.\nBind it inside the inner input's template where the `slot=\"hint\"` child would go.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleOk",
              "privacy": "protected",
              "description": "OK button handler. Delegates to `_commitPending()` which is responsible for\nclosing the popup after committing.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleCancel",
              "privacy": "protected",
              "description": "Cancel button handler. Closes the popup. Subclasses clear pending state in\n`_onAfterClose()` — this handler intentionally does NOT clear it here.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_renderFooterControls",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "{ slotted = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ slotted?: boolean }"
                  }
                },
                {
                  "description": "When `true` (the default), the wrapper `<div>` carries\n`slot=\"footer-controls\"` so it is projected into a child surface's named slot (the\npattern used by `ed-date-picker`, `ed-time-picker`, and `ed-date-range-picker`).\nPass `{ slotted: false }` when the footer is a **sibling** of the surfaces — as in\n`ed-datetime-picker`, where the dialog is `[calendar+list row] + [footer]` and the\nfooter must not be slotted into either surface.\n\nOnly call this when the footer should be rendered; the returned template has no\ngate of its own.",
                  "name": "options.slotted"
                }
              ],
              "description": "Render the OK/Cancel footer fragment.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commitWire",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null"
                  }
                },
                {
                  "name": "{ close = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ close?: boolean }"
                  }
                }
              ],
              "description": "Shared commit tail for single-value pickers using confirm mode.\n\nPushes `wire` to the inner input, sets `valueHasChanged = true`, then in a\nmicrotask calls `_syncFromInner()` and dispatches `change`. When `close` is true\n(the default) it also calls `hide()`.\n\nThis is intentionally limited to the confirm-path commit tail. The broader\n`_commitFromSurface` rework (§13 decision 4 of the family plan) is a separate session.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "attribute": "readonly",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "pickerOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "attribute": "picker-only",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "attribute": "open",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the popup shows a Cancel / OK footer. A selection sets a pending value\nthat only commits to the inner input when OK is pressed. Cancel and Escape revert.\n\nNot all picker surfaces support confirm. If `confirm` is set on a picker where\n`_confirmSupported` is false, the footer is not rendered and a dev-time warning is emitted.",
              "attribute": "confirm",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_openOrigin",
              "type": {
                "text": "'trigger' | 'input' | 'programmatic' | null"
              },
              "privacy": "protected",
              "default": "null",
              "description": "Origin of the most-recent open, used for focus restoration on close.\n`null` when closed.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmSupported",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "true",
              "description": "Whether this picker supports the `confirm` footer feature.\nSet to `false` in subclasses where confirm is not yet implemented (e.g. time-picker).\nWhen `confirm` is set but `_confirmSupported` is false, a one-time dev warning is emitted\nand the footer is not rendered.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the confirm feature is both requested and supported by this picker.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmWarnedOnce",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Flag to ensure the unsupported-confirm warning is only emitted once.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputReadonly",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the inner input should be made read-only.\nTrue when either `readonly` OR `picker-only` is set.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_triggerDisabled",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the popup trigger button should be disabled.\nTrue when `disabled` OR `readonly` (but NOT when only `picker-only`).",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Opens the popup. No-op if `disabled` or `readonly`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "show() => Promise<void>"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Closes the popup.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "hide() => Promise<void>"
              }
            },
            {
              "kind": "method",
              "name": "_waitForOpenSettle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Resolve once the open-state transition settles — as soon as EITHER `ed-after-show` or\n`ed-after-hide` fires from this element.\n\nBoth `show()` and `hide()` await this. A cancelled `ed-show` / `ed-hide` (via\n`preventDefault()`) flips `open` straight back, which dispatches the OPPOSITE after-event\nrather than the one a single-event wait expected — so awaiting only `ed-after-show` (or only\n`ed-after-hide`) would hang forever and leak its listener. Listening for both and removing\nboth on the first settle guarantees the promise always resolves and no listener leaks,\nregardless of which direction the transition ends up resolving.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_handleOpenChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_restoreFocusOnClose",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_addOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_removeOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleDocumentMouseDown",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleDocumentKeyDown",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleTriggerClick",
              "privacy": "protected",
              "description": "Click handler for the popup trigger button.\nSubclass render should bind: `@click=${this._handleTriggerClick}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputInput",
              "privacy": "protected",
              "description": "`input` bridge: stops inner-input's event from escaping, syncs internal state, re-fires\nfrom host. Subclass render should bind: `@input=${this._handleInputInput}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputChange",
              "privacy": "protected",
              "description": "`change` bridge: stops inner-input's event, syncs, re-fires from host.\nSubclass render should bind: `@change=${this._handleInputChange}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputInvalid",
              "privacy": "protected",
              "description": "`ed-invalid` bridge: stops propagation, marks interaction, syncs.\nSubclass render should bind: `@ed-invalid=${this._handleInputInvalid}`.\n\nGuard: `MirrorValidator` calls `inner.checkValidity()` inside our own `updateValidity()`,\nwhich re-dispatches a composed `EdInvalidEvent` (composed: true, so it bubbles up through\nthe picker's shadow root). That is a programmatic probe — flipping `hasInteracted` here\nwould show the error UI on an untouched required picker on page load. `_isMirroring` is\ntrue for exactly that window; when set we stop propagation but skip the interaction mark.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputClear",
              "privacy": "protected",
              "description": "`ed-clear` bridge: the inner input's clear button was activated. Stop the inner's event and\nre-emit from the picker host so `event.target` is the picker (parity with the input/change\nbridges). The value sync rides on the `input` / `change` events the inner also dispatches on\nclear, which flow through `_handleInputInput` / `_handleInputChange`.\nSubclass render should bind: `@ed-clear=${this._handleInputClear}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_syncFromInner",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Mirror the inner input's `value` into this picker's `_pickerValue`.\nSubclasses own `_pickerValue` storage — this calls the abstract `_onInnerValueChange()` hook\nso `EdPickerBase` doesn't need to know the concrete type or backing field.\n\nValue-feedback-loop guard: the inner input value is pushed only to `_pickerValue`, NOT back\nto the inner input itself — preventing the \"wipe partial segments\" footgun from #35.\n\nValidity is now driven reactively by `static validators` on every `updateValidity()` cycle\n(triggered by `willUpdate` → `requestUpdate('value')` in subclasses). No manual\n`_refreshValidity()` call is needed here.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "field",
              "name": "_isRange",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "readonly": true,
              "default": "false",
              "description": "Whether this picker operates in range mode (two values → two FormData pairs).\n`false` for all single-value pickers; `true` for range pickers (subclass sets it).\n\nWhen `true`, `setFormValue` writes two entries keyed `name-start` / `name-end`.\nSingle-value pickers never set this; the branch is a seam for Phase C (#39).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_setFormValue",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null | FormData"
                  }
                }
              ],
              "description": "Write FormData. For single-value pickers this delegates to the standard `setValue()`;\nfor range pickers it writes two entries (`name-start` / `name-end`).\n\nCall this instead of `setValue()` in subclasses that participate in form submission.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<EdFormAssociatedElement['setValue']>"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Block the base-class `setValue(string, string)` path that would submit the interval wire\nstring (e.g. `2024-01-01/2024-12-31`) directly under `name` for range pickers.\n\nThe base class `willUpdate` calls `setValue(this.value, this.value)` whenever `value`\nchanges; for range pickers `this.value` is the solidus interval string which must NEVER\nreach FormData — only the range-form-value pairs (`name-start` / `name-end`) written via\n`_setFormValue` are correct. Swallow the string branch; FormData calls pass through.\n\nSingle-value pickers are unaffected (`_isRange` is false → the guard is a no-op for them).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<EdFormAssociatedElement['setValue']>) => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "Event"
              },
              "reactName": "onInput",
              "eventName": "InputEvent",
              "description": "Bubbled from the inner date input when its value changes.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "reactName": "onChange",
              "eventName": "ChangeEvent",
              "description": "Bubbled from the inner date input on commit, or fired by the picker when a calendar selection commits.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the calendar popup is about to open. Cancelable.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the popup has fully opened.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the calendar popup is about to close. Cancelable.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the popup has fully closed.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            },
            {
              "description": "Emitted when the control has been checked for validity and constraints are not satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. Use the `label` slot for richer content.",
              "fieldName": "label"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's placeholder. Forwarded to the inner input.",
              "fieldName": "placeholder"
            },
            {
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Display format token string. Forwarded to the inner input. Empty string lets the inner\ninput derive its default from the page locale.",
              "fieldName": "format"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size. Forwarded to the inner input.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges. Forwarded to the inner input.",
              "fieldName": "pill"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the field as required.",
              "fieldName": "required"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets focus on the input when the page loads.",
              "fieldName": "autofocus"
            },
            {
              "name": "placement",
              "type": {
                "text": "PopupPlacement"
              },
              "default": "'bottom-end'",
              "description": "The popup's preferred placement. Defaults to `bottom-end` so the calendar aligns with the\ntrigger icon on the trailing edge of the input — the mouse stays put after clicking it.",
              "fieldName": "placement",
              "parsedType": {
                "text": "'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom' | 'right-start' | 'right-end' | 'left-start' | 'left-end'"
              }
            },
            {
              "name": "type",
              "type": {
                "text": "EdCalendarType | 'week'"
              },
              "default": "'date'",
              "description": "The picker's selection granularity. Forwarded to the inner calendar.\n\n- `'date'` (default) — single-day selection; segmented date-input.\n- `'month'` / `'quarter'` / `'halfyear'` / `'year'` — period selection on the calendar grid.\n- `'week'` — whole ISO-week selection; mounts a read-only display-label input instead of\n  the segmented input. The picker internally forwards `type=\"date\"` + `selection-mode=\"week\"`\n  to the calendar (week selection is grid-level machinery, not a separate grid granularity).\n  The wire value is an ISO week string (`2026-W22`); `valueAsDate` returns the week's Monday.",
              "fieldName": "type",
              "parsedType": {
                "text": "'date' | 'month' | 'year' | 'quarter' | 'halfyear' | 'week'"
              }
            },
            {
              "name": "first-day-of-week",
              "type": {
                "text": "number | 'locale'"
              },
              "default": "'locale'",
              "description": "The first day of the week. Accepts `0`–`6` (Sunday=0) or `'locale'`. Forwarded to the\ninner calendar. Ignored for `type=\"week\"`: ISO weeks start on Monday, so the week\npicker always renders a Monday-start grid regardless of this value or the locale.",
              "fieldName": "firstDayOfWeek"
            },
            {
              "name": "show-week-numbers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the calendar shows a week-number column. Forwarded to the inner calendar.",
              "fieldName": "showWeekNumbers"
            },
            {
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable date. Accepts a `Date` or ISO `YYYY-MM-DD` string. Forwarded to\nboth the inner calendar and the inner date input (so segment-level validation matches).",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable date. Accepts a `Date` or ISO `YYYY-MM-DD` string. Forwarded to\nboth the inner calendar and the inner date input.",
              "fieldName": "max"
            },
            {
              "name": "default-month",
              "type": {
                "text": "Date | null"
              },
              "description": "The month + year to display when the picker opens with no `value` set. Forwarded to the\ncalendar. Accepts a `Date` or ISO `YYYY-MM-DD` string.",
              "fieldName": "defaultMonth"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value (mapped to the `value` content attribute).",
              "fieldName": "defaultValue"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "fieldName": "ariaLabel",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "fieldName": "readonly",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "picker-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "fieldName": "pickerOnly",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "fieldName": "open",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the popup shows a Cancel / OK footer. A selection sets a pending value\nthat only commits to the inner input when OK is pressed. Cancel and Escape revert.\n\nNot all picker surfaces support confirm. If `confirm` is set on a picker where\n`_confirmSupported` is false, the footer is not rendered and a dev-time warning is emitted.",
              "fieldName": "confirm",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdPickerBase",
            "module": "/src/internal/ed-picker-base.js"
          },
          "summary": "A popup form control for picking a single date. Composes a segmented date input with a calendar dropdown.",
          "jsDoc": "/**\n * @summary A popup form control for picking a single date. Composes a segmented date input with a calendar dropdown.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/date-picker\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-date-input\n * @dependency ed-popup\n * @dependency ed-calendar\n * @dependency ed-icon\n * @dependency ed-button\n *\n * @slot label - The control's label. Alternatively, use the `label` attribute.\n * @slot hint - Helper text below the input. Alternatively, use the `hint` attribute.\n * @slot start - Content placed at the start of the input field.\n *\n * @event input - Bubbled from the inner date input when its value changes.\n * @event change - Bubbled from the inner date input on commit, or fired by the picker when a calendar selection commits.\n * @event ed-clear - Emitted when the clear button is activated.\n * @event ed-show - Emitted when the calendar popup is about to open. Cancelable.\n * @event ed-after-show - Emitted after the popup has fully opened.\n * @event ed-hide - Emitted when the calendar popup is about to close. Cancelable.\n * @event ed-after-hide - Emitted after the popup has fully closed.\n * @event ed-invalid - Emitted when the control has been checked for validity and constraints are not satisfied.\n *\n * @csspart base - The host's outer wrapper.\n * @csspart input - The inner date input.\n * @csspart clear-button - The clear button inside the input.\n * @csspart trigger - The calendar trigger button mounted in the input's end slot.\n * @csspart trigger-icon - The icon inside the trigger button.\n * @csspart popup - The popup container that positions the calendar.\n * @csspart calendar - The inner calendar.\n * @csspart footer-controls - Wrapper for the OK and Cancel buttons in the popup footer (only when confirm is set).\n * @csspart footer-cancel - The Cancel button in the popup footer.\n * @csspart footer-ok - The OK button in the popup footer.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/date-picker",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-date-input",
            "ed-popup",
            "ed-calendar",
            "ed-icon",
            "ed-button"
          ],
          "tagName": "ed-date-picker",
          "customElement": true,
          "modulePath": "components/date-picker/date-picker.js",
          "definitionPath": "components/date-picker/date-picker.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDatePicker",
            "module": "components/date-picker/date-picker.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-date-picker",
          "declaration": {
            "name": "EdDatePicker",
            "module": "components/date-picker/date-picker.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/date-range-input/date-range-segment-adapter.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "DateRangeSegmentAdapter",
          "members": [
            {
              "kind": "field",
              "name": "_inner",
              "type": {
                "text": "DateSegmentAdapter"
              },
              "privacy": "private",
              "readonly": true,
              "default": "inner"
            },
            {
              "kind": "field",
              "name": "startIndices",
              "type": {
                "text": "readonly number[]"
              },
              "readonly": true,
              "description": "Flat-array indices belonging to the start half (e.g. [0, 1, 2] for a 3-segment date).\nPopulated during construction; stable for the lifetime of this adapter instance.",
              "default": "startIdx"
            },
            {
              "kind": "field",
              "name": "endIndices",
              "type": {
                "text": "readonly number[]"
              },
              "readonly": true,
              "description": "Flat-array indices belonging to the end half (e.g. [3, 4, 5] for a 3-segment date).\nPopulated during construction; stable for the lifetime of this adapter instance.",
              "default": "endIdx"
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "ReadonlyArray<RangeFormatPart>"
              },
              "readonly": true,
              "description": "All format parts (both halves + the en-dash literal separator between them).\nIncludes the repeated segment parts and the literal separator.",
              "default": "rangeParts"
            },
            {
              "kind": "field",
              "name": "_getLabelStart",
              "type": {
                "text": "(type: DateSegmentType) => string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "getLabelStart"
            },
            {
              "kind": "field",
              "name": "_getLabelEnd",
              "type": {
                "text": "(type: DateSegmentType) => string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "getLabelEnd"
            },
            {
              "kind": "method",
              "name": "halfOf",
              "return": {
                "type": {
                  "text": "HalfKey"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Returns which half the given flat index belongs to.\nUseful for aria-label composition without importing the index arrays."
            },
            {
              "kind": "method",
              "name": "segmentMeta",
              "return": {
                "type": {
                  "text": "SegmentMeta[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "toWireString",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  }
                }
              ],
              "description": "Projects the flat six-value array to an interval string.\nReturns `null` unless both halves are individually complete and valid."
            },
            {
              "kind": "method",
              "name": "fromWireString",
              "return": {
                "type": {
                  "text": "ReadonlyArray<number | null> | null"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Parses an ISO-8601 interval string \"YYYY-MM-DD/YYYY-MM-DD\" back to flat values.\nReturns `null` for anything that is not the interval form.\nSingle-half parsing is the consumer's responsibility (module-scoped parseDayWire)."
            },
            {
              "kind": "field",
              "name": "halfSegmentTypes",
              "type": {
                "text": "DateSegmentType[]"
              },
              "description": "Return the segment types for one half (in format order).\nMirrors DateSegmentAdapter.segmentTypes.",
              "readonly": true
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DateRangeSegmentAdapter",
          "declaration": {
            "name": "DateRangeSegmentAdapter",
            "module": "components/date-range-input/date-range-segment-adapter.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/date-range-input/date-range-input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDateRangeInput",
          "cssParts": [
            {
              "description": "The wrapping label element.",
              "name": "form-control-label"
            },
            {
              "description": "The wrapping label element (alias).",
              "name": "label"
            },
            {
              "description": "The text-field flex container.",
              "name": "base"
            },
            {
              "description": "The container that wraps the start slot.",
              "name": "start"
            },
            {
              "description": "The group wrapper holding segment spans and separators.",
              "name": "segments"
            },
            {
              "description": "An individual spinbutton segment span.",
              "name": "segment"
            },
            {
              "description": "A literal separator span.",
              "name": "separator"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The container that wraps the end slot.",
              "name": "end"
            },
            {
              "description": "The hint area.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The range input's group label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, use the `hint` attribute.",
              "name": "hint"
            },
            {
              "description": "Per-half label for the start date. Alternatively, use the `label-start` attribute.",
              "name": "label-start"
            },
            {
              "description": "Per-half label for the end date. Alternatively, use the `label-end` attribute.",
              "name": "label-end"
            },
            {
              "description": "Per-half hint for the start date. Alternatively, use the `hint-start` attribute.",
              "name": "hint-start"
            },
            {
              "description": "Per-half hint for the end date. Alternatively, use the `hint-end` attribute.",
              "name": "hint-end"
            },
            {
              "description": "An element placed at the start of the input control.",
              "name": "start"
            },
            {
              "description": "An element placed at the end of the input control. The date-range-picker trigger mounts here.",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators for constraint validation.\n\nValidity is whole-control (one ValidityState) per spec \"Locked decisions\":\n- `valueMissing` when BOTH halves empty + required.\n- `badInput` when either half is partial (some segments filled but not a complete valid date).\n- `customError` when end < start (range inverted).\n- `rangeUnderflow` / `rangeOverflow` checked per-half against min/max.\nPer-half context appears in the message text only — not in separate validity slots.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Anchor constraint-validation popups to the last-edited half: the first segment span of\nthat half (the segments render flat — there is no per-half wrapper element). Falls back\nto the whole segments group before first render.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "_adapter",
              "type": {
                "text": "DateRangeSegmentAdapter | null"
              },
              "default": "null",
              "description": "The DateRangeSegmentAdapter for the current format.\nBuilt lazily (first `_getEngine()` call), rebuilt on format/locale change."
            },
            {
              "kind": "field",
              "name": "_engine",
              "type": {
                "text": "SegmentController | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_adapterLang",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The locale the current adapter was built against — used to detect locale changes."
            },
            {
              "kind": "method",
              "name": "_getEngine",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SegmentController"
                }
              }
            },
            {
              "kind": "method",
              "name": "_buildAdapter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "DateRangeSegmentAdapter"
                }
              },
              "description": "Build a fresh DateRangeSegmentAdapter for the current format."
            },
            {
              "kind": "method",
              "name": "_rebuildAdapter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Rebuild the adapter and reinitialize engine values on format / locale change.\nPreserves existing segment values by projecting them through the new format order.\nMirrors time-input's _rebuildAdapter: re-parses the raw wire when not yet user-edited\n(to honor the full precision of the original wire), falls back to per-type snapshot."
            },
            {
              "kind": "field",
              "name": "_startValues",
              "type": {
                "text": "Record<DateSegmentType, number | null>"
              },
              "privacy": "private",
              "default": "{ day: null, month: null, year: null }",
              "description": "Per-type values for the start half — maintained in sync with the engine's flat array.\nOrder is NOT stored here; derived from the adapter at render time."
            },
            {
              "kind": "field",
              "name": "_endValues",
              "type": {
                "text": "Record<DateSegmentType, number | null>"
              },
              "privacy": "private",
              "default": "{ day: null, month: null, year: null }",
              "description": "Per-type values for the end half — maintained in sync with the engine's flat array."
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The interval wire string, projected eagerly from both halves every time segments are written.\n`onSegmentWrite` calls `requestUpdate('value', oldWire)` when this changes, triggering the\n`willUpdate` branch that writes FormData."
            },
            {
              "kind": "field",
              "name": "_lastSetWire",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The raw wire string from the last programmatic `value` set — kept verbatim so a later\nformat change can re-parse it at full precision (mirrors time-input's _lastSetWire pattern)."
            },
            {
              "kind": "field",
              "name": "_editedSinceSet",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True once the user edited segments after the last programmatic `value` set.\nUsed by `_rebuildAdapter` to decide whether to re-parse the raw wire string."
            },
            {
              "kind": "field",
              "name": "_activeIndex",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "-1",
              "description": "The flat engine index of the currently active segment, or -1."
            },
            {
              "kind": "field",
              "name": "_lastEditedHalf",
              "type": {
                "text": "'start' | 'end'"
              },
              "privacy": "private",
              "default": "'start'",
              "description": "Which half was last edited — used to anchor validationTarget."
            },
            {
              "kind": "field",
              "name": "_hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True when the control currently has focus."
            },
            {
              "kind": "field",
              "name": "_valueAtFocusIn",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Snapshot of `this.value` taken when the control receives focus from outside.\nUsed to emit `change` only when the committed value actually differs from focus-in."
            },
            {
              "kind": "field",
              "name": "_userFormat",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Consumer-set format string. `null` = use locale default."
            },
            {
              "kind": "field",
              "name": "_segmentEls",
              "type": {
                "text": "NodeListOf<HTMLElement>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_hiddenInput",
              "type": {
                "text": "HTMLInputElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_segmentsGroup",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The range input's group label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\nsegment `role=\"group\"` node — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "labelStart",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half label for the start date. If you need to display HTML, use the `label-start` slot instead.",
              "attribute": "label-start"
            },
            {
              "kind": "field",
              "name": "labelEnd",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half label for the end date. If you need to display HTML, use the `label-end` slot instead.",
              "attribute": "label-end"
            },
            {
              "kind": "field",
              "name": "hintStart",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half hint for the start date. Alternatively, use the `hint-start` slot.",
              "attribute": "hint-start"
            },
            {
              "kind": "field",
              "name": "hintEnd",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half hint for the end date. Alternatively, use the `hint-end` slot.",
              "attribute": "hint-end"
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "attribute": "with-clear"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pickerOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppresses the read-only appearance while keeping read-only behavior. Pair with `readonly`\nwhen the field is driven entirely by an external picker (`ed-date-range-picker` in\n`picker-only` mode).",
              "attribute": "picker-only",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `label` element so the\nserver-rendered markup includes it before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `hint` element.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "string"
              },
              "description": "Display format string, e.g. `'DD.MM.YYYY'`. Recognized tokens: `DD`, `MM`, `YYYY`.\nDefaults to the locale-derived format when not set or when the value is invalid.\nContract identical to date-input's: empty/null/undefined falls back to locale default silently.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "_min",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable date (applied to both halves). Accepts a `Date` or ISO `YYYY-MM-DD`.\nDrives `rangeUnderflow` validity.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "_max",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable date (applied to both halves). Accepts a `Date` or ISO `YYYY-MM-DD`.\nDrives `rangeOverflow` validity.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "shouldDisableDate",
              "type": {
                "text": "(date: Date) => boolean | undefined"
              },
              "description": "Predicate to disable individual dates. When set, any date in either half that satisfies\nthe predicate is considered invalid and yields a `customError` validation message.\nForwarded from `ed-date-range-picker`; also usable standalone on the inner input.\n\nProperty-only (no attribute) — functions cannot round-trip through HTML attributes."
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current interval value.\n- Getter: returns `\"YYYY-MM-DD/YYYY-MM-DD\"` only when BOTH halves form complete valid dates.\n  Returns `null` otherwise. This is the JS-property wire ONLY — it NEVER reaches FormData.\n- Setter: accepts an interval string `\"YYYY-MM-DD/YYYY-MM-DD\"` or `null`.\n  Non-interval strings are warned and treated as `null`."
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The default value (mapped to the `value` content attribute).\nNormalized to the interval form or `null` on ingest."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "valueStart",
              "type": {
                "text": "string | null"
              },
              "description": "The start date of the range as an ISO `YYYY-MM-DD` string, or `null`.\nSetting writes only the start half's segments; the end half is untouched.\nA control with only `valueStart` set has `value === null` and is `badInput`."
            },
            {
              "kind": "field",
              "name": "valueEnd",
              "type": {
                "text": "string | null"
              },
              "description": "The end date of the range as an ISO `YYYY-MM-DD` string, or `null`.\nSetting writes only the end half's segments; the start half is untouched."
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<EdFormAssociatedElement['setValue']>"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Block the base-class scalar `setValue(string, string)` path that would submit the\ninterval wire string under `name`. Only FormData (or null) is allowed through.\n\nThe base class `willUpdate` calls `setValue(this.value, this.value)` whenever the\n`value` changed-property fires. For the range input `this.value` is the solidus\ninterval string which must NEVER reach FormData.\n\nStrings are silently dropped; FormData and null pass through unmolested.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<EdFormAssociatedElement['setValue']>) => void"
              }
            },
            {
              "kind": "method",
              "name": "_writeRangeFormData",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Write the range to FormData via `buildRangeFormData`.\nCalled from `onSegmentWrite` (segment edits) and `willUpdate` (programmatic sets).\nTwo keys: `name-start` / `name-end` in ISO `YYYY-MM-DD` each; `null` when incomplete."
            },
            {
              "kind": "method",
              "name": "onSegmentWrite",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  }
                },
                {
                  "name": "oldWireString",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Called by the engine after any segment mutation.\nSyncs `_startValues` / `_endValues` from the flat values array, projects the new\ninterval wire, and signals Lit with `requestUpdate('value', oldWire)`.",
              "type": {
                "text": "onSegmentWrite(values: ReadonlyArray<number | null>, oldWireString: string | null) => void"
              }
            },
            {
              "kind": "method",
              "name": "onCommitValue",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called by the engine to emit an `input` event after each committed edit.",
              "type": {
                "text": "onCommitValue() => void"
              }
            },
            {
              "kind": "method",
              "name": "_writeAllSegments",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "start",
                  "type": {
                    "text": "Record<DateSegmentType, number | null>"
                  }
                },
                {
                  "name": "end",
                  "type": {
                    "text": "Record<DateSegmentType, number | null>"
                  }
                }
              ],
              "description": "Write ALL six segments at once (both halves) from outside the engine.\nProduces the correct flat-value array for the current adapter."
            },
            {
              "kind": "method",
              "name": "_writeStartSegments",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "Record<DateSegmentType, number | null>"
                  }
                }
              ],
              "description": "Write only the start half segments; leave the end half untouched."
            },
            {
              "kind": "method",
              "name": "_writeEndSegments",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "Record<DateSegmentType, number | null>"
                  }
                }
              ],
              "description": "Write only the end half segments; leave the start half untouched."
            },
            {
              "kind": "method",
              "name": "_writeFromFlatValues",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "flat",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  }
                }
              ],
              "description": "Write flat values from `fromWireString` parse result — correct index order guaranteed."
            },
            {
              "kind": "method",
              "name": "_halfWire",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "half",
                  "type": {
                    "text": "'start' | 'end'"
                  }
                }
              ],
              "description": "Compose the ISO wire string for one half from its per-type snapshot. Returns `null` when incomplete."
            },
            {
              "kind": "method",
              "name": "_allIndices",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number[]"
                }
              },
              "description": "All six flat segment indices in order (start-half first, then end-half).\nDerived from the adapter so it is always correct for the current format."
            },
            {
              "kind": "method",
              "name": "_placeholder",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "DateSegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_segmentLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "DateSegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_halfSegmentLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "DateSegmentType"
                  }
                },
                {
                  "name": "half",
                  "type": {
                    "text": "'start' | 'end'"
                  }
                }
              ],
              "description": "Per-half aria-label composition: \"Check-in, Day\" (label-start prefix, then segment type)."
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions & { index?: number }"
                  }
                }
              ],
              "description": "Focus the input. Targets the first empty segment in the start half, then the first segment overall.\nPass `{ index }` to target a specific flat segment index.",
              "type": {
                "text": "focus(options?: FocusOptions & { index?: number }) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "_focusSegmentByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_enterSegment",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentKeydown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentPointerdown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleHiddenInputInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleHiddenInputBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_commitBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_handleClearClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "_handlePaste",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "ClipboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input and a segment value changes.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints are not satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The range input's group label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\nsegment `role=\"group\"` node — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "label-start",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half label for the start date. If you need to display HTML, use the `label-start` slot instead.",
              "fieldName": "labelStart"
            },
            {
              "name": "label-end",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half label for the end date. If you need to display HTML, use the `label-end` slot instead.",
              "fieldName": "labelEnd"
            },
            {
              "name": "hint-start",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half hint for the start date. Alternatively, use the `hint-start` slot.",
              "fieldName": "hintStart"
            },
            {
              "name": "hint-end",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half hint for the end date. Alternatively, use the `hint-end` slot.",
              "fieldName": "hintEnd"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "fieldName": "withClear"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "picker-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppresses the read-only appearance while keeping read-only behavior. Pair with `readonly`\nwhen the field is driven entirely by an external picker (`ed-date-range-picker` in\n`picker-only` mode).",
              "fieldName": "pickerOnly"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `label` element so the\nserver-rendered markup includes it before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `hint` element.",
              "fieldName": "withHint"
            },
            {
              "name": "format",
              "type": {
                "text": "string"
              },
              "description": "Display format string, e.g. `'DD.MM.YYYY'`. Recognized tokens: `DD`, `MM`, `YYYY`.\nDefaults to the locale-derived format when not set or when the value is invalid.\nContract identical to date-input's: empty/null/undefined falls back to locale default silently.",
              "fieldName": "format"
            },
            {
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable date (applied to both halves). Accepts a `Date` or ISO `YYYY-MM-DD`.\nDrives `rangeUnderflow` validity.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable date (applied to both halves). Accepts a `Date` or ISO `YYYY-MM-DD`.\nDrives `rangeOverflow` validity.",
              "fieldName": "max"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "fieldName": "defaultValue"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The input has no value (all segments empty in both halves).",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "A segmented date-range input with independent start and end date fields.",
          "jsDoc": "/**\n * @summary A segmented date-range input with independent start and end date fields.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/date-range-input\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('group')\n *\n * @dependency ed-icon\n *\n * @slot label - The range input's group label. Alternatively, use the `label` attribute.\n * @slot hint - Text that describes how to use the input. Alternatively, use the `hint` attribute.\n * @slot label-start - Per-half label for the start date. Alternatively, use the `label-start` attribute.\n * @slot label-end - Per-half label for the end date. Alternatively, use the `label-end` attribute.\n * @slot hint-start - Per-half hint for the start date. Alternatively, use the `hint-start` attribute.\n * @slot hint-end - Per-half hint for the end date. Alternatively, use the `hint-end` attribute.\n * @slot start - An element placed at the start of the input control.\n * @slot end - An element placed at the end of the input control. The date-range-picker trigger mounts here.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input and a segment value changes.\n * @event ed-clear - Emitted when the clear button is activated.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints are not satisfied.\n *\n * @csspart form-control-label - The wrapping label element.\n * @csspart label - The wrapping label element (alias).\n * @csspart base - The text-field flex container.\n * @csspart start - The container that wraps the start slot.\n * @csspart segments - The group wrapper holding segment spans and separators.\n * @csspart segment - An individual spinbutton segment span.\n * @csspart separator - A literal separator span.\n * @csspart clear-button - The clear button.\n * @csspart end - The container that wraps the end slot.\n * @csspart hint - The hint area.\n *\n * @cssstate blank - The input has no value (all segments empty in both halves).\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/date-range-input",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('group')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-date-range-input",
          "customElement": true,
          "modulePath": "components/date-range-input/date-range-input.js",
          "definitionPath": "components/date-range-input/date-range-input.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDateRangeInput",
            "module": "components/date-range-input/date-range-input.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-date-range-input",
          "declaration": {
            "name": "EdDateRangeInput",
            "module": "components/date-range-input/date-range-input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/date-range-picker/date-range-picker.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDateRangePicker",
          "cssParts": [
            {
              "description": "The host's outer wrapper.",
              "name": "base"
            },
            {
              "description": "The inner date-range input.",
              "name": "input"
            },
            {
              "description": "The clear button inside the input.",
              "name": "clear-button"
            },
            {
              "description": "The calendar trigger button mounted in the input's end slot.",
              "name": "trigger"
            },
            {
              "description": "The icon inside the trigger button.",
              "name": "trigger-icon"
            },
            {
              "description": "The popup container that positions the calendar.",
              "name": "popup"
            },
            {
              "description": "The inner calendar.",
              "name": "calendar"
            },
            {
              "description": "Wrapper for the OK and Cancel buttons in the popup footer (only when confirm is set).",
              "name": "footer-controls"
            },
            {
              "description": "The Cancel button in the popup footer.",
              "name": "footer-cancel"
            },
            {
              "description": "The OK button in the popup footer.",
              "name": "footer-ok"
            }
          ],
          "slots": [
            {
              "description": "The control's group label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Helper text below the input. Alternatively, use the `hint` attribute.",
              "name": "hint"
            },
            {
              "description": "Per-half label for the start date. Alternatively, use the `label-start` attribute.",
              "name": "label-start"
            },
            {
              "description": "Per-half label for the end date. Alternatively, use the `label-end` attribute.",
              "name": "label-end"
            },
            {
              "description": "Per-half hint for the start date. Alternatively, use the `hint-start` attribute.",
              "name": "hint-start"
            },
            {
              "description": "Per-half hint for the end date. Alternatively, use the `hint-end` attribute.",
              "name": "hint-end"
            },
            {
              "description": "Content placed at the start of the input field.",
              "name": "start"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "_isRange",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "readonly": true,
              "default": "true",
              "description": "This picker operates in range mode — two FormData pairs: name-start / name-end.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_rangeInput",
              "type": {
                "text": "EdDateRangeInput"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_calendar",
              "type": {
                "text": "EdCalendar"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_trigger",
              "type": {
                "text": "HTMLButtonElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_innerInput",
              "type": {
                "text": "PickerInnerInput | undefined"
              },
              "privacy": "protected",
              "description": "Satisfy `EdPickerBase._innerInput`.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_triggerEl",
              "type": {
                "text": "HTMLButtonElement | undefined"
              },
              "privacy": "protected",
              "description": "Satisfy `EdPickerBase._triggerEl`.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's group label. Use the `label` slot for richer content.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelStart",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half label for the start date. Use the `label-start` slot for richer content.",
              "attribute": "label-start"
            },
            {
              "kind": "field",
              "name": "labelEnd",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half label for the end date. Use the `label-end` slot for richer content.",
              "attribute": "label-end"
            },
            {
              "kind": "field",
              "name": "hintStart",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half hint for the start date. Alternatively, use the `hint-start` slot.",
              "attribute": "hint-start"
            },
            {
              "kind": "field",
              "name": "hintEnd",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half hint for the end date. Alternatively, use the `hint-end` slot.",
              "attribute": "hint-end"
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Display format token string. Forwarded to the inner input. Empty string lets the inner\ninput derive its default from the page locale.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "description": "Marks the field as required.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets focus on the input when the page loads.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "PopupPlacement"
              },
              "default": "'bottom-end'",
              "description": "The popup's preferred placement. Defaults to `bottom-end` so the calendar aligns with the\ntrigger icon on the trailing edge of the input — the mouse stays put after clicking it.",
              "attribute": "placement",
              "reflects": true,
              "parsedType": {
                "text": "'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom' | 'right-start' | 'right-end' | 'left-start' | 'left-end'"
              }
            },
            {
              "kind": "field",
              "name": "firstDayOfWeek",
              "type": {
                "text": "number | 'locale'"
              },
              "default": "'locale'",
              "description": "The first day of the week. Accepts `0`–`6` (Sunday=0) or `'locale'`. Forwarded to the\ninner calendar.",
              "attribute": "first-day-of-week"
            },
            {
              "kind": "field",
              "name": "showWeekNumbers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the calendar shows a week-number column. Forwarded to the inner calendar.",
              "attribute": "show-week-numbers",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_panels",
              "type": {
                "text": "1 | 2"
              },
              "privacy": "private",
              "default": "2"
            },
            {
              "kind": "field",
              "name": "panels",
              "type": {
                "text": "number"
              },
              "description": "Number of month panels shown in the calendar dropdown: `1` or `2` (default `2`).\n`panels=\"1\"` shows a single month with the month/year drill-down — suited to narrow or\nembedded layouts; `panels=\"2\"` shows two linked months. Forwarded to the inner calendar.\nInvalid values fall back to `2`.",
              "attribute": "panels",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size. Forwarded to the inner range input.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges. Forwarded to the inner range input.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "shouldDisableDate",
              "type": {
                "text": "(date: Date) => boolean | undefined"
              },
              "description": "Predicate to disable individual dates in the calendar. Property-only."
            },
            {
              "kind": "field",
              "name": "_min",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable date. Accepts a `Date` or ISO `YYYY-MM-DD` string. Forwarded to\nboth the inner calendar and the inner date-range input.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "_max",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable date. Accepts a `Date` or ISO `YYYY-MM-DD` string. Forwarded to\nboth the inner calendar and the inner date-range input.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current interval value.\n- Getter: returns `\"YYYY-MM-DD/YYYY-MM-DD\"` only when BOTH halves form complete valid dates.\n  Returns `null` otherwise. This is the JS-property wire ONLY — it NEVER reaches FormData.\n- Setter: accepts an interval string `\"YYYY-MM-DD/YYYY-MM-DD\"` or `null`."
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Committed value (interval wire or null)."
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value (mapped to the `value` content attribute).",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "valueStart",
              "type": {
                "text": "string | null"
              },
              "description": "The start date of the range as an ISO `YYYY-MM-DD` string, or `null`.\nRead-only view; use `value` to set the full range.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "valueEnd",
              "type": {
                "text": "string | null"
              },
              "description": "The end date of the range as an ISO `YYYY-MM-DD` string, or `null`.\nRead-only view; use `value` to set the full range.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_suppressSync",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "When true, `_onInnerValueChange` is a no-op. Set around display-only segment writes\n(calendar `complete: false`) so the partial anchor write never triggers form submission."
            },
            {
              "kind": "field",
              "name": "_pendingValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Buffered completed-range wire (`\"YYYY-MM-DD/YYYY-MM-DD\"`) when `confirm=true` and a\nfull range has been selected in the calendar but not yet committed via OK.\n`null` when there is no pending selection."
            },
            {
              "kind": "method",
              "name": "_canCommit",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "OK is enabled only when a COMPLETE range is available to commit — both endpoints of\nthe pending selection (or the committed value when no new gesture is in progress).\nA lone start click leaves the gesture incomplete, so OK stays disabled.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commitPending",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Commit the buffered pending selection. Called by `_handleOk` when the user presses OK.\n\nSubclasses must implement this: write the pending value through their own commit tail\n(writing the inner input, setting `valueHasChanged`, syncing, dispatching `change`,\nand closing the popup). Subclasses that gate confirm via `_confirmSupported = false`\nstill need a (no-op) implementation to satisfy the abstract contract.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_onInnerValueChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "_next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Mirror inner input value changes (from typed input) into picker state.\nGuarded by `_suppressSync` so display-only writes don't trigger form submission.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_focusInitialSurfaceEl",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Focus the calendar after open.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_onAfterClose",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Restore the inner input display to the committed range after mid-gesture close.\nBecause `_rangeStart`/`_rangeEnd` are only mutated on commit, they already represent\nthe snapshot — just re-push them into the display.\n\nAlso clears any buffered pending value so that Escape / Cancel / outside-click revert\ncorrectly: the next open reseeds from `_value` (the last committed range).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_restoreFocusToInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Restore focus to the range input after close.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleCalendarChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleInputClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleInputKeydown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "_seedCalendar",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Seed the calendar with the live typed value when the popup opens.\nReads from the inner input's live wire values (the authoritative source for typed partials),\nnot from the mirrored `_rangeStart`/`_rangeEnd` (which only update on full-range commits).\n\n- Both halves present → full committed range seed.\n- Start only → partial seed: places anchor + gesture active (step 3 of calendar value setter).\n- Neither → null (calendar shows no selection).\n- End only (no start) → null (start-only seeding is the supported path; end-only deferred).\n\nCalled from `updated()` when `open` transitions to `true`."
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isMirroring",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set to `true` for the synchronous duration of `super.updateValidity()` so that\n`_handleInputInvalid` can tell mirror-induced `ed-invalid` events apart from real user\ninvalids. `MirrorValidator` calls `inner.checkValidity()`, which dispatches a composed\n`EdInvalidEvent` — without this guard that would flip `hasInteracted` on the untouched\npicker, showing the error UI on page load.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "_wireInnerInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Point `input` at the current inner element so `MirrorValidator` (which reads `element.input`)\nand the `setValidity` anchor resolve to it. The base declares `input` as a property, so this\nis a plain assignment rather than a getter override (overriding a property with an accessor is\na TS error). Called from `willUpdate` and `firstUpdated` before `super` runs `updateValidity()`.\n\nThe inner is an `EdFormAssociatedElement`, not a literal `HTMLInputElement`, but satisfies the\nstructural contract (`value` / `validity` / `validationMessage` / `checkValidity`), hence the\ncast. `_innerInput` is `undefined` before the first render / during SSR — `MirrorValidator`\ndegrades gracefully to valid when `input` is absent.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "The inner input owns all visible chrome AND its own `aria-invalid` (state-forwarding\ncontract, see this class's header). The picker host must not double-manage `aria-invalid`,\nso it exposes no `validationTarget`. The validity engine still anchors `setValidity` on\n`this.input` (the inner) via the `this.validationTarget || this.input` fallback in\n`updateValidity()` (~line 452 of `ed-form-associated-element.ts`) — popup anchoring stays\ncorrect.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "description": "Tracks whether the consumer slotted rich `hint` content into the picker.\n\nThe inner input renders the active hint-area message (hint text, consumer `error`, or the\nvalidation message) as the FALLBACK content of its own `hint` slot. Forwarding an assigned\n`<slot slot=\"hint\">` into the inner unconditionally would suppress that fallback (a slotted\nnode beats fallback), so the inner would show the error STATE but never the message TEXT.\nPickers therefore forward the `hint` slot only when the consumer actually provides slotted\ncontent — see `_renderHintSlot()`. Plain `hint`-attribute text still reaches the inner via the\nforwarded `.hint` property and renders through the inner's own message path.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "_renderHintSlot",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult | typeof nothing"
                }
              },
              "description": "Forward the consumer's `hint` slot into the inner input — but only when the consumer actually\nslotted content, so an empty forwarded slot never masks the inner's own message fallback.\nBind it inside the inner input's template where the `slot=\"hint\"` child would go.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commitFromSurface",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "_next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Called by the subclass's surface change handler (e.g. calendar `ed-change`) when the\nuser selects a new value. The base class does NOT auto-close — subclasses decide when to\ncall `hide()` after committing.\n\nThis hook is **optional** — the default is a no-op. Single-string surface pickers\n(`ed-date-picker`, `ed-time-picker`) override it to commit and optionally close. Pickers\nthat merge multiple independent surface halves (e.g. `ed-datetime-picker`, which tracks\n`_pendingDate` and `_pendingTime` separately) skip this hook entirely and route directly\nthrough `_commitWire`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleOk",
              "privacy": "protected",
              "description": "OK button handler. Delegates to `_commitPending()` which is responsible for\nclosing the popup after committing.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleCancel",
              "privacy": "protected",
              "description": "Cancel button handler. Closes the popup. Subclasses clear pending state in\n`_onAfterClose()` — this handler intentionally does NOT clear it here.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_renderFooterControls",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "{ slotted = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ slotted?: boolean }"
                  }
                },
                {
                  "description": "When `true` (the default), the wrapper `<div>` carries\n`slot=\"footer-controls\"` so it is projected into a child surface's named slot (the\npattern used by `ed-date-picker`, `ed-time-picker`, and `ed-date-range-picker`).\nPass `{ slotted: false }` when the footer is a **sibling** of the surfaces — as in\n`ed-datetime-picker`, where the dialog is `[calendar+list row] + [footer]` and the\nfooter must not be slotted into either surface.\n\nOnly call this when the footer should be rendered; the returned template has no\ngate of its own.",
                  "name": "options.slotted"
                }
              ],
              "description": "Render the OK/Cancel footer fragment.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commitWire",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null"
                  }
                },
                {
                  "name": "{ close = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ close?: boolean }"
                  }
                }
              ],
              "description": "Shared commit tail for single-value pickers using confirm mode.\n\nPushes `wire` to the inner input, sets `valueHasChanged = true`, then in a\nmicrotask calls `_syncFromInner()` and dispatches `change`. When `close` is true\n(the default) it also calls `hide()`.\n\nThis is intentionally limited to the confirm-path commit tail. The broader\n`_commitFromSurface` rework (§13 decision 4 of the family plan) is a separate session.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "attribute": "readonly",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "pickerOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "attribute": "picker-only",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "attribute": "open",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the popup shows a Cancel / OK footer. A selection sets a pending value\nthat only commits to the inner input when OK is pressed. Cancel and Escape revert.\n\nNot all picker surfaces support confirm. If `confirm` is set on a picker where\n`_confirmSupported` is false, the footer is not rendered and a dev-time warning is emitted.",
              "attribute": "confirm",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_openOrigin",
              "type": {
                "text": "'trigger' | 'input' | 'programmatic' | null"
              },
              "privacy": "protected",
              "default": "null",
              "description": "Origin of the most-recent open, used for focus restoration on close.\n`null` when closed.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmSupported",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "true",
              "description": "Whether this picker supports the `confirm` footer feature.\nSet to `false` in subclasses where confirm is not yet implemented (e.g. time-picker).\nWhen `confirm` is set but `_confirmSupported` is false, a one-time dev warning is emitted\nand the footer is not rendered.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the confirm feature is both requested and supported by this picker.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmWarnedOnce",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Flag to ensure the unsupported-confirm warning is only emitted once.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputReadonly",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the inner input should be made read-only.\nTrue when either `readonly` OR `picker-only` is set.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_triggerDisabled",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the popup trigger button should be disabled.\nTrue when `disabled` OR `readonly` (but NOT when only `picker-only`).",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Opens the popup. No-op if `disabled` or `readonly`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "show() => Promise<void>"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Closes the popup.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "hide() => Promise<void>"
              }
            },
            {
              "kind": "method",
              "name": "_waitForOpenSettle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Resolve once the open-state transition settles — as soon as EITHER `ed-after-show` or\n`ed-after-hide` fires from this element.\n\nBoth `show()` and `hide()` await this. A cancelled `ed-show` / `ed-hide` (via\n`preventDefault()`) flips `open` straight back, which dispatches the OPPOSITE after-event\nrather than the one a single-event wait expected — so awaiting only `ed-after-show` (or only\n`ed-after-hide`) would hang forever and leak its listener. Listening for both and removing\nboth on the first settle guarantees the promise always resolves and no listener leaks,\nregardless of which direction the transition ends up resolving.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_handleOpenChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_restoreFocusOnClose",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_addOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_removeOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleDocumentMouseDown",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleDocumentKeyDown",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleTriggerClick",
              "privacy": "protected",
              "description": "Click handler for the popup trigger button.\nSubclass render should bind: `@click=${this._handleTriggerClick}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputInput",
              "privacy": "protected",
              "description": "`input` bridge: stops inner-input's event from escaping, syncs internal state, re-fires\nfrom host. Subclass render should bind: `@input=${this._handleInputInput}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputChange",
              "privacy": "protected",
              "description": "`change` bridge: stops inner-input's event, syncs, re-fires from host.\nSubclass render should bind: `@change=${this._handleInputChange}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputInvalid",
              "privacy": "protected",
              "description": "`ed-invalid` bridge: stops propagation, marks interaction, syncs.\nSubclass render should bind: `@ed-invalid=${this._handleInputInvalid}`.\n\nGuard: `MirrorValidator` calls `inner.checkValidity()` inside our own `updateValidity()`,\nwhich re-dispatches a composed `EdInvalidEvent` (composed: true, so it bubbles up through\nthe picker's shadow root). That is a programmatic probe — flipping `hasInteracted` here\nwould show the error UI on an untouched required picker on page load. `_isMirroring` is\ntrue for exactly that window; when set we stop propagation but skip the interaction mark.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputClear",
              "privacy": "protected",
              "description": "`ed-clear` bridge: the inner input's clear button was activated. Stop the inner's event and\nre-emit from the picker host so `event.target` is the picker (parity with the input/change\nbridges). The value sync rides on the `input` / `change` events the inner also dispatches on\nclear, which flow through `_handleInputInput` / `_handleInputChange`.\nSubclass render should bind: `@ed-clear=${this._handleInputClear}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_syncFromInner",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Mirror the inner input's `value` into this picker's `_pickerValue`.\nSubclasses own `_pickerValue` storage — this calls the abstract `_onInnerValueChange()` hook\nso `EdPickerBase` doesn't need to know the concrete type or backing field.\n\nValue-feedback-loop guard: the inner input value is pushed only to `_pickerValue`, NOT back\nto the inner input itself — preventing the \"wipe partial segments\" footgun from #35.\n\nValidity is now driven reactively by `static validators` on every `updateValidity()` cycle\n(triggered by `willUpdate` → `requestUpdate('value')` in subclasses). No manual\n`_refreshValidity()` call is needed here.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputKind",
              "type": {
                "text": "'segments' | 'label'"
              },
              "privacy": "protected",
              "description": "Describes the inner input type this picker mounts.\n- `'segments'` (default) — the standard segmented date/time input (`<ed-date-input>`,\n  `<ed-time-input>`, etc.). Segment-specific APIs (`activeSegmentType`, per-segment\n  `focus({segment})`) are available.\n- `'label'` — a read-only display-label element (`<ed-week-label-input>`). Segment\n  APIs are absent; callers must guard against them before use.\n\nSubclasses override when the input kind varies by configuration (e.g. `EdDatePicker`\nreturns `'label'` when `type === 'week'`).",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "_setFormValue",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null | FormData"
                  }
                }
              ],
              "description": "Write FormData. For single-value pickers this delegates to the standard `setValue()`;\nfor range pickers it writes two entries (`name-start` / `name-end`).\n\nCall this instead of `setValue()` in subclasses that participate in form submission.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<EdFormAssociatedElement['setValue']>"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Block the base-class `setValue(string, string)` path that would submit the interval wire\nstring (e.g. `2024-01-01/2024-12-31`) directly under `name` for range pickers.\n\nThe base class `willUpdate` calls `setValue(this.value, this.value)` whenever `value`\nchanges; for range pickers `this.value` is the solidus interval string which must NEVER\nreach FormData — only the range-form-value pairs (`name-start` / `name-end`) written via\n`_setFormValue` are correct. Swallow the string branch; FormData calls pass through.\n\nSingle-value pickers are unaffected (`_isRange` is false → the guard is a no-op for them).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<EdFormAssociatedElement['setValue']>) => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "Event"
              },
              "reactName": "onInput",
              "eventName": "InputEvent",
              "description": "Bubbled from the inner date-range input when its value changes.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "reactName": "onChange",
              "eventName": "ChangeEvent",
              "description": "Bubbled from the inner date-range input on commit, or fired by the picker when a calendar selection commits.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the calendar popup is about to open. Cancelable.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the popup has fully opened.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the calendar popup is about to close. Cancelable.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the popup has fully closed.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            },
            {
              "description": "Emitted when the control has been checked for validity and constraints are not satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's group label. Use the `label` slot for richer content.",
              "fieldName": "label"
            },
            {
              "name": "label-start",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half label for the start date. Use the `label-start` slot for richer content.",
              "fieldName": "labelStart"
            },
            {
              "name": "label-end",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half label for the end date. Use the `label-end` slot for richer content.",
              "fieldName": "labelEnd"
            },
            {
              "name": "hint-start",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half hint for the start date. Alternatively, use the `hint-start` slot.",
              "fieldName": "hintStart"
            },
            {
              "name": "hint-end",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Per-half hint for the end date. Alternatively, use the `hint-end` slot.",
              "fieldName": "hintEnd"
            },
            {
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Display format token string. Forwarded to the inner input. Empty string lets the inner\ninput derive its default from the page locale.",
              "fieldName": "format"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the field as required.",
              "fieldName": "required"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets focus on the input when the page loads.",
              "fieldName": "autofocus"
            },
            {
              "name": "placement",
              "type": {
                "text": "PopupPlacement"
              },
              "default": "'bottom-end'",
              "description": "The popup's preferred placement. Defaults to `bottom-end` so the calendar aligns with the\ntrigger icon on the trailing edge of the input — the mouse stays put after clicking it.",
              "fieldName": "placement",
              "parsedType": {
                "text": "'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom' | 'right-start' | 'right-end' | 'left-start' | 'left-end'"
              }
            },
            {
              "name": "first-day-of-week",
              "type": {
                "text": "number | 'locale'"
              },
              "default": "'locale'",
              "description": "The first day of the week. Accepts `0`–`6` (Sunday=0) or `'locale'`. Forwarded to the\ninner calendar.",
              "fieldName": "firstDayOfWeek"
            },
            {
              "name": "show-week-numbers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the calendar shows a week-number column. Forwarded to the inner calendar.",
              "fieldName": "showWeekNumbers"
            },
            {
              "name": "panels",
              "type": {
                "text": "number"
              },
              "description": "Number of month panels shown in the calendar dropdown: `1` or `2` (default `2`).\n`panels=\"1\"` shows a single month with the month/year drill-down — suited to narrow or\nembedded layouts; `panels=\"2\"` shows two linked months. Forwarded to the inner calendar.\nInvalid values fall back to `2`.",
              "fieldName": "panels"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size. Forwarded to the inner range input.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges. Forwarded to the inner range input.",
              "fieldName": "pill"
            },
            {
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable date. Accepts a `Date` or ISO `YYYY-MM-DD` string. Forwarded to\nboth the inner calendar and the inner date-range input.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable date. Accepts a `Date` or ISO `YYYY-MM-DD` string. Forwarded to\nboth the inner calendar and the inner date-range input.",
              "fieldName": "max"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value (mapped to the `value` content attribute).",
              "fieldName": "defaultValue"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "fieldName": "ariaLabel",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "fieldName": "readonly",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "picker-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "fieldName": "pickerOnly",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "fieldName": "open",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the popup shows a Cancel / OK footer. A selection sets a pending value\nthat only commits to the inner input when OK is pressed. Cancel and Escape revert.\n\nNot all picker surfaces support confirm. If `confirm` is set on a picker where\n`_confirmSupported` is false, the footer is not rendered and a dev-time warning is emitted.",
              "fieldName": "confirm",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdPickerBase",
            "module": "/src/internal/ed-picker-base.js"
          },
          "summary": "A popup form control for picking a date range. Composes a segmented date-range input\nwith a calendar dropdown that shows one or two months.",
          "jsDoc": "/**\n * @summary A popup form control for picking a date range. Composes a segmented date-range input\n *   with a calendar dropdown that shows one or two months.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/date-range-picker\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-date-range-input\n * @dependency ed-popup\n * @dependency ed-calendar\n * @dependency ed-icon\n * @dependency ed-button\n *\n * @slot label - The control's group label. Alternatively, use the `label` attribute.\n * @slot hint - Helper text below the input. Alternatively, use the `hint` attribute.\n * @slot label-start - Per-half label for the start date. Alternatively, use the `label-start` attribute.\n * @slot label-end - Per-half label for the end date. Alternatively, use the `label-end` attribute.\n * @slot hint-start - Per-half hint for the start date. Alternatively, use the `hint-start` attribute.\n * @slot hint-end - Per-half hint for the end date. Alternatively, use the `hint-end` attribute.\n * @slot start - Content placed at the start of the input field.\n *\n * @event input - Bubbled from the inner date-range input when its value changes.\n * @event change - Bubbled from the inner date-range input on commit, or fired by the picker when a calendar selection commits.\n * @event ed-clear - Emitted when the clear button is activated.\n * @event ed-show - Emitted when the calendar popup is about to open. Cancelable.\n * @event ed-after-show - Emitted after the popup has fully opened.\n * @event ed-hide - Emitted when the calendar popup is about to close. Cancelable.\n * @event ed-after-hide - Emitted after the popup has fully closed.\n * @event ed-invalid - Emitted when the control has been checked for validity and constraints are not satisfied.\n *\n * @csspart base - The host's outer wrapper.\n * @csspart input - The inner date-range input.\n * @csspart clear-button - The clear button inside the input.\n * @csspart trigger - The calendar trigger button mounted in the input's end slot.\n * @csspart trigger-icon - The icon inside the trigger button.\n * @csspart popup - The popup container that positions the calendar.\n * @csspart calendar - The inner calendar.\n * @csspart footer-controls - Wrapper for the OK and Cancel buttons in the popup footer (only when confirm is set).\n * @csspart footer-cancel - The Cancel button in the popup footer.\n * @csspart footer-ok - The OK button in the popup footer.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/date-range-picker",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-date-range-input",
            "ed-popup",
            "ed-calendar",
            "ed-icon",
            "ed-button"
          ],
          "tagName": "ed-date-range-picker",
          "customElement": true,
          "modulePath": "components/date-range-picker/date-range-picker.js",
          "definitionPath": "components/date-range-picker/date-range-picker.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDateRangePicker",
            "module": "components/date-range-picker/date-range-picker.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-date-range-picker",
          "declaration": {
            "name": "EdDateRangePicker",
            "module": "components/date-range-picker/date-range-picker.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/time-input/time-segment-adapter.js",
      "declarations": [
        {
          "kind": "function",
          "name": "foldTo24h",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "hour12",
              "type": {
                "text": "number"
              },
              "description": "Hour in 1–12 range."
            },
            {
              "name": "period",
              "type": {
                "text": "0 | 1"
              },
              "description": "0 = AM, 1 = PM."
            }
          ],
          "description": "Convert a 12-hour clock value to a 24-hour clock value.\nClassic noon/midnight rules:\n- 12 AM → 00 (midnight)\n- 1–11 AM → 1–11\n- 12 PM → 12 (noon)\n- 1–11 PM → 13–23"
        },
        {
          "kind": "function",
          "name": "unfoldFrom24h",
          "return": {
            "type": {
              "text": "{ hour12: number; period: 0 | 1 }"
            }
          },
          "parameters": [
            {
              "name": "hour24",
              "type": {
                "text": "number"
              },
              "description": "Hour in 0–23 range."
            }
          ],
          "description": "Convert a 24-hour clock value to a 12-hour clock value + period.\nReturns `{ hour12: 1–12, period: 0|1 }` where `period` is 0 (AM) or 1 (PM)."
        },
        {
          "kind": "function",
          "name": "dayPeriodLabels",
          "return": {
            "type": {
              "text": "{ am: string; pm: string }"
            }
          },
          "parameters": [
            {
              "name": "locale",
              "type": {
                "text": "string"
              },
              "description": "BCP 47 locale string (e.g. `\"en\"`, `\"en-US\"`, `\"ar\"`)."
            }
          ],
          "description": "Derive locale-correct AM and PM labels from `Intl.DateTimeFormat`.\nResults are memoized by locale string. The reference hours (09:00 and 13:00) are\nfixed — `new Date()` of \"now\" is never called here."
        },
        {
          "kind": "class",
          "description": "",
          "name": "TimeSegmentAdapter",
          "members": [
            {
              "kind": "field",
              "name": "_parts",
              "type": {
                "text": "ReadonlyArray<FormatPart<TimeSegmentType>>"
              },
              "privacy": "private",
              "readonly": true,
              "default": "parts"
            },
            {
              "kind": "field",
              "name": "_lang",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "lang"
            },
            {
              "kind": "field",
              "name": "_getLabel",
              "type": {
                "text": "(type: TimeSegmentType) => string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "getLabel"
            },
            {
              "kind": "field",
              "name": "_getPlaceholder",
              "type": {
                "text": "(type: TimeSegmentType) => string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "getPlaceholder"
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "ReadonlyArray<FormatPart<TimeSegmentType>>"
              },
              "description": "The ordered format parts (segments + literals) as parsed from the format string.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "segmentTypes",
              "type": {
                "text": "TimeSegmentType[]"
              },
              "description": "Return the ordered list of segment types for the current format (segment parts only).",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "hasSeconds",
              "type": {
                "text": "boolean"
              },
              "description": "True when the format includes a seconds segment.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_is12h",
              "type": {
                "text": "boolean"
              },
              "description": "True when the format uses a 12-hour hour token (`h` or `hh`).\nDetermined from the hour segment part's `token` field — no new FormatPart field needed.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "segmentMeta",
              "return": {
                "type": {
                  "text": "SegmentMeta[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "toWireString",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "fromWireString",
              "return": {
                "type": {
                  "text": "ReadonlyArray<number | null> | null"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "displayValue",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "_type",
                  "type": {
                    "text": "TimeSegmentType"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number | null"
                  }
                }
              ],
              "description": "Return the display string for a numeric segment value, zero-padded to 2 digits.\nUsed by the consumer's render for numeric segments only.\nEnumerated segments (dayPeriod) render their label directly from segmentMeta options."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "foldTo24h",
          "declaration": {
            "name": "foldTo24h",
            "module": "components/time-input/time-segment-adapter.js"
          }
        },
        {
          "kind": "js",
          "name": "unfoldFrom24h",
          "declaration": {
            "name": "unfoldFrom24h",
            "module": "components/time-input/time-segment-adapter.js"
          }
        },
        {
          "kind": "js",
          "name": "dayPeriodLabels",
          "declaration": {
            "name": "dayPeriodLabels",
            "module": "components/time-input/time-segment-adapter.js"
          }
        },
        {
          "kind": "js",
          "name": "TimeSegmentAdapter",
          "declaration": {
            "name": "TimeSegmentAdapter",
            "module": "components/time-input/time-segment-adapter.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/datetime-input/datetime-segment-adapter.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "DateTimeSegmentAdapter",
          "members": [
            {
              "kind": "field",
              "name": "_parts",
              "type": {
                "text": "ReadonlyArray<FormatPart<DateTimeSegmentType>>"
              },
              "privacy": "private",
              "readonly": true,
              "default": "parts"
            },
            {
              "kind": "field",
              "name": "_lang",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "lang"
            },
            {
              "kind": "field",
              "name": "_getLabel",
              "type": {
                "text": "(type: DateTimeSegmentType) => string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "getLabel"
            },
            {
              "kind": "field",
              "name": "_getPlaceholder",
              "type": {
                "text": "(type: DateTimeSegmentType) => string"
              },
              "privacy": "private",
              "readonly": true,
              "default": "getPlaceholder"
            },
            {
              "kind": "field",
              "name": "parts",
              "type": {
                "text": "ReadonlyArray<FormatPart<DateTimeSegmentType>>"
              },
              "description": "The ordered format parts (segments + literals) as parsed from the format string.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "segmentTypes",
              "type": {
                "text": "DateTimeSegmentType[]"
              },
              "description": "Return the ordered list of segment types for the current format (segment parts only).",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "hasSeconds",
              "type": {
                "text": "boolean"
              },
              "description": "True when the format includes a seconds segment.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_is12h",
              "type": {
                "text": "boolean"
              },
              "description": "True when the format uses a 12-hour hour token (`h` or `hh`).\nDetermined from the hour segment part's `token` field; also true when a\n`dayPeriod` segment is present (coherence enforced by `parseFormat`).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "segmentMeta",
              "return": {
                "type": {
                  "text": "SegmentMeta[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "toWireString",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "fromWireString",
              "return": {
                "type": {
                  "text": "ReadonlyArray<number | null> | null"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "displayValue",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "DateTimeSegmentType"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number | null"
                  }
                }
              ],
              "description": "Return the display string for a segment value.\n- `year`: zero-padded to 4 digits.\n- Other numeric types: zero-padded to 2 digits.\n- Enumerated (dayPeriod): the consumer renders the option label from `segmentMeta()`."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DateTimeSegmentAdapter",
          "declaration": {
            "name": "DateTimeSegmentAdapter",
            "module": "components/datetime-input/datetime-segment-adapter.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/datetime-input/datetime-input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDatetimeInput",
          "cssParts": [
            {
              "description": "The wrapping label element.",
              "name": "form-control-label"
            },
            {
              "description": "The wrapping label element (alias).",
              "name": "label"
            },
            {
              "description": "The text-field flex container.",
              "name": "base"
            },
            {
              "description": "The container that wraps the start slot.",
              "name": "start"
            },
            {
              "description": "The group wrapper holding segment spans and separators.",
              "name": "segments"
            },
            {
              "description": "An individual spinbutton segment span.",
              "name": "segment"
            },
            {
              "description": "A literal separator span.",
              "name": "separator"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The container that wraps the end slot.",
              "name": "end"
            },
            {
              "description": "The hint area.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The input's label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "An element placed at the start of the input control.",
              "name": "start"
            },
            {
              "description": "An element placed at the end of the input control. The datetime-picker trigger mounts here.",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators for constraint validation. Run inside the base-class `updateValidity()` so\n`customError` from `setCustomValidity()` is correctly layered on top.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Anchor constraint-validation popups to the segments group, not the hidden input.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "_adapter",
              "type": {
                "text": "DateTimeSegmentAdapter | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The segment controller — the shared runtime for keyboard/digit/focus handling.\nConstructed lazily on first adapter access so `this.localize` is ready.\nThe adapter is recreated when the format changes (via `_rebuildAdapter()`)."
            },
            {
              "kind": "field",
              "name": "_engine",
              "type": {
                "text": "SegmentController | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_adapterLang",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The locale the current adapter was built against — used to detect locale changes."
            },
            {
              "kind": "method",
              "name": "_getEngine",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SegmentController"
                }
              },
              "description": "Lazily create and return the engine, building the adapter if needed."
            },
            {
              "kind": "method",
              "name": "_buildAdapter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "DateTimeSegmentAdapter"
                }
              },
              "description": "Build a fresh DateTimeSegmentAdapter for the current format."
            },
            {
              "kind": "method",
              "name": "_rebuildAdapter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Rebuild the adapter (and reinitialize engine values) when the format or locale changes.\nPreserves existing segment values by projecting them through the new format order."
            },
            {
              "kind": "field",
              "name": "_segmentValues",
              "type": {
                "text": "Record<SegmentType, number | null>"
              },
              "privacy": "private",
              "default": "{ day: null, month: null, year: null, hour: null, minute: null, second: null, dayPeriod: null }",
              "description": "The segment values keyed by type — maintained in sync with the engine's values.\nOrder is NOT stored here; it is derived from the adapter at render time.\n\nAll seven keys are always present for simplicity; types not present in the format\n(e.g. `second` in a `HH:mm` format) are ignored."
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The wire value projected eagerly from `_segmentValues` every time segments are written.\n`onSegmentWrite` calls `requestUpdate('value', oldValue)` when this changes, so the\nbase-class `setFormValue` branch fires for segment edits without going through the setter."
            },
            {
              "kind": "field",
              "name": "_activeSegmentType",
              "type": {
                "text": "SegmentType | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The active segment type, or `null` when no segment has focus.\nStored by type (not index) so it remains stable across format changes.",
              "parsedType": {
                "text": "'day' | 'month' | 'year' | 'hour' | 'minute' | 'second' | 'dayPeriod' | null"
              }
            },
            {
              "kind": "field",
              "name": "_lastSetWire",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The raw wire string from the last programmatic `value` set, kept verbatim so a later\nformat change can re-parse it at full precision (e.g. `value` set before `format`).\nCleared on null/invalid sets; superseded once the user edits segments."
            },
            {
              "kind": "field",
              "name": "_editedSinceSet",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True once the user edited segments after the last programmatic `value` set."
            },
            {
              "kind": "field",
              "name": "_hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True when the control currently has focus."
            },
            {
              "kind": "field",
              "name": "_valueAtFocusIn",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Snapshot of `this.value` taken when the control receives focus from outside.\nUsed to emit `change` only when the value actually differs from what it was at focus-in."
            },
            {
              "kind": "field",
              "name": "_userFormat",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Consumer-set format string. `null` means \"use locale default\"."
            },
            {
              "kind": "field",
              "name": "_minStr",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Normalized min bound string, or `null` when not set."
            },
            {
              "kind": "field",
              "name": "_maxStr",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Normalized max bound string, or `null` when not set."
            },
            {
              "kind": "field",
              "name": "_segmentEls",
              "type": {
                "text": "NodeListOf<HTMLElement>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_hiddenInput",
              "type": {
                "text": "HTMLInputElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_segmentsGroup",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\nsegment `role=\"group\"` node — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "attribute": "with-clear"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pickerOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppresses the read-only appearance while keeping read-only behavior. Pair with `readonly`\nwhen the field is driven entirely by an external picker (e.g. `ed-datetime-picker` in\n`picker-only` mode): typing stays blocked, but the control renders as a normal, interactive\nfield instead of a greyed-out read-only one.",
              "attribute": "picker-only",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "string"
              },
              "description": "Display format string. Recognized date tokens: `DD` (day), `MM` (month), `YYYY` (year).\nRecognized time tokens:\n- 24-hour: `HH` / `H` (hour), `mm` / `m` (minute), `ss` / `s` (second).\n- 12-hour: `hh` / `h` (hour) — must be paired with `a` or `A` (day period / AM/PM).\n- `a` / `A` — day period segment (AM/PM); requires `hh` or `h`.\n\nThe date half and time half must be present in the string, separated by `T` or a space.\nEither order (date-first or time-first) is accepted.\n\nDefaults to the locale's natural date+time format when not set\n(e.g. de → `\"DD.MM.YYYY HH:mm\"`, en-US → `\"MM/DD/YYYY hh:mm a\"`).\nInvalid formats emit a `logger.warn` and fall back to the locale default.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "string | null"
              },
              "description": "The minimum selectable datetime. Accepts a `Date`, or a `YYYY-MM-DDTHH:mm` /\n`YYYY-MM-DDTHH:mm:ss` string. Drives the `rangeUnderflow` validity flag. Comparison\ntruncates both sides to the format's precision — zero-padded fixed-width datetime strings\ncompare correctly as plain strings. The getter returns the normalized wire string.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "string | null"
              },
              "description": "The maximum selectable datetime. Accepts a `Date`, or a `YYYY-MM-DDTHH:mm` /\n`YYYY-MM-DDTHH:mm:ss` string. Drives the `rangeOverflow` validity flag.",
              "attribute": "max"
            },
            {
              "kind": "method",
              "name": "_normalizeDateTimeString",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "Date | string | null | undefined"
                  }
                },
                {
                  "name": "attr",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Normalize a datetime input to the canonical wire string. Accepts a `Date` (projected at\nseconds precision) or a `YYYY-MM-DDTHH:mm` / `YYYY-MM-DDTHH:mm:ss` string (with `T` or\nspace separator). Returns `null` and warns if a string is not a valid datetime."
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `label` element.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `hint` element.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current value of the input.\n- Getter: returns `YYYY-MM-DDTHH:mm` or `YYYY-MM-DDTHH:mm:ss` when all present\n  segments are filled, otherwise `null`. Incomplete values always return `null`.\n- Setter: accepts a `YYYY-MM-DDTHH:mm` or `YYYY-MM-DDTHH:mm:ss` string, or `null`.\n  Non-valid strings are warned and treated as `null`."
            },
            {
              "kind": "field",
              "name": "valueAsDate",
              "type": {
                "text": "Date | null"
              },
              "description": "The current value as a `Date` object (local time), or `null` when the value is empty\nor incomplete. The datetime family is the only segmented-input surface that can honestly\nrepresent a `Date` (unlike `ed-time-input`, which has no date half).\n\nSetter: accepts a `Date` and projects it to a seconds-precision wire string. The `value`\nsetter keeps the raw wire and re-projects it against the active format, so seconds survive\na seconds-bearing format and are dropped (by design) only when the format is minute-precision.\nPass `null` to clear."
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The default value (mapped to the `value` content attribute).\nNormalized to `YYYY-MM-DDTHH:mm` / `YYYY-MM-DDTHH:mm:ss` or `null` on ingest."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "attribute": "value"
            },
            {
              "kind": "method",
              "name": "onSegmentWrite",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  }
                },
                {
                  "name": "oldWireString",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Called by the engine after any segment mutation.\nSyncs `_segmentValues` (type-keyed) from the engine's index-keyed values and\nprojects the new wire string.",
              "type": {
                "text": "onSegmentWrite(values: ReadonlyArray<number | null>, oldWireString: string | null) => void"
              }
            },
            {
              "kind": "method",
              "name": "onCommitValue",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called by the engine to emit an `input` event after each committed edit.",
              "type": {
                "text": "onCommitValue() => void"
              }
            },
            {
              "kind": "method",
              "name": "_writeSegments",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "Record<SegmentType, number | null>"
                  }
                }
              ],
              "description": "The ONE place that mutates segment values from outside the engine."
            },
            {
              "kind": "method",
              "name": "_orderedSegmentTypes",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SegmentType[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "_activeIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "_placeholder",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_segmentLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "activeSegmentType",
              "type": {
                "text": "EdDatetimeInputSegmentType | null"
              },
              "description": "The segment type currently holding focus, or `null` when the input is unfocused.\nComposing components (e.g. `<ed-datetime-picker>`) snapshot this before moving focus\nto a popup, then pass it back via `focus({ segment })` to restore focus on close.",
              "readonly": true,
              "parsedType": {
                "text": "'day' | 'month' | 'year' | 'hour' | 'minute' | 'second' | 'dayPeriod' | null"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions & { segment?: EdDatetimeInputSegmentType }"
                  }
                }
              ],
              "description": "Focus the input. By default, targets the first empty segment, falling back to the first.\nPass `{ segment }` to target a specific segment by type.",
              "type": {
                "text": "focus(options?: FocusOptions & { segment?: EdDatetimeInputSegmentType }) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "_focusSegmentByType",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_enterSegment",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentKeydown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentPointerdown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                },
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleHiddenInputInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleHiddenInputBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_commitBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_handleClearClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input and a segment value changes.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints are not satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\nsegment `role=\"group\"` node — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "fieldName": "withClear"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "picker-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppresses the read-only appearance while keeping read-only behavior. Pair with `readonly`\nwhen the field is driven entirely by an external picker (e.g. `ed-datetime-picker` in\n`picker-only` mode): typing stays blocked, but the control renders as a normal, interactive\nfield instead of a greyed-out read-only one.",
              "fieldName": "pickerOnly"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "format",
              "type": {
                "text": "string"
              },
              "description": "Display format string. Recognized date tokens: `DD` (day), `MM` (month), `YYYY` (year).\nRecognized time tokens:\n- 24-hour: `HH` / `H` (hour), `mm` / `m` (minute), `ss` / `s` (second).\n- 12-hour: `hh` / `h` (hour) — must be paired with `a` or `A` (day period / AM/PM).\n- `a` / `A` — day period segment (AM/PM); requires `hh` or `h`.\n\nThe date half and time half must be present in the string, separated by `T` or a space.\nEither order (date-first or time-first) is accepted.\n\nDefaults to the locale's natural date+time format when not set\n(e.g. de → `\"DD.MM.YYYY HH:mm\"`, en-US → `\"MM/DD/YYYY hh:mm a\"`).\nInvalid formats emit a `logger.warn` and fall back to the locale default.",
              "fieldName": "format"
            },
            {
              "name": "min",
              "type": {
                "text": "string | null"
              },
              "description": "The minimum selectable datetime. Accepts a `Date`, or a `YYYY-MM-DDTHH:mm` /\n`YYYY-MM-DDTHH:mm:ss` string. Drives the `rangeUnderflow` validity flag. Comparison\ntruncates both sides to the format's precision — zero-padded fixed-width datetime strings\ncompare correctly as plain strings. The getter returns the normalized wire string.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "string | null"
              },
              "description": "The maximum selectable datetime. Accepts a `Date`, or a `YYYY-MM-DDTHH:mm` /\n`YYYY-MM-DDTHH:mm:ss` string. Drives the `rangeOverflow` validity flag.",
              "fieldName": "max"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `label` element.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `hint` element.",
              "fieldName": "withHint"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "fieldName": "defaultValue"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The input has no value (all segments empty).",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "A segmented date-and-time input with independent date segments (day, month, year)\nand time segments (hour, minute, and optional second) in a single field.",
          "jsDoc": "/**\n * @summary A segmented date-and-time input with independent date segments (day, month, year)\n *   and time segments (hour, minute, and optional second) in a single field.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/datetime-input\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('group')\n *\n * @dependency ed-icon\n *\n * @slot label - The input's label. Alternatively, use the `label` attribute.\n * @slot start - An element placed at the start of the input control.\n * @slot end - An element placed at the end of the input control. The datetime-picker trigger mounts here.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot hint - Text that describes how to use the input. Alternatively, use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input and a segment value changes.\n * @event ed-clear - Emitted when the clear button is activated.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints are not satisfied.\n *\n * @csspart form-control-label - The wrapping label element.\n * @csspart label - The wrapping label element (alias).\n * @csspart base - The text-field flex container.\n * @csspart start - The container that wraps the start slot.\n * @csspart segments - The group wrapper holding segment spans and separators.\n * @csspart segment - An individual spinbutton segment span.\n * @csspart separator - A literal separator span.\n * @csspart clear-button - The clear button.\n * @csspart end - The container that wraps the end slot.\n * @csspart hint - The hint area.\n *\n * @cssstate blank - The input has no value (all segments empty).\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/datetime-input",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('group')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-datetime-input",
          "customElement": true,
          "modulePath": "components/datetime-input/datetime-input.js",
          "definitionPath": "components/datetime-input/datetime-input.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDatetimeInput",
            "module": "components/datetime-input/datetime-input.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-datetime-input",
          "declaration": {
            "name": "EdDatetimeInput",
            "module": "components/datetime-input/datetime-input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/time-list/time-list.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTimeList",
          "cssParts": [
            {
              "description": "Any column container (the scrollable listbox).",
              "name": "column"
            },
            {
              "description": "The hour column.",
              "name": "column-hour"
            },
            {
              "description": "The minute column.",
              "name": "column-minute"
            },
            {
              "description": "The second column (only when with-seconds is set).",
              "name": "column-second"
            },
            {
              "description": "The AM/PM column (only when hour-12 is set).",
              "name": "column-day-period"
            },
            {
              "description": "A single time option row.",
              "name": "option"
            },
            {
              "description": "The currently selected option row (additionally on the selected item).",
              "name": "option-selected"
            },
            {
              "description": "The divider between the time columns and the footer. Only visible when the footer is.",
              "name": "footer-divider"
            },
            {
              "description": "The footer wrapper below the columns. Only visible when the footer-controls slot has content.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "Action controls rendered in a row below the time columns. Intended for `<ed-time-picker>`'s Cancel/OK buttons when `confirm` is set; nothing rendered by default.",
              "name": "footer-controls"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "_listboxEls",
              "type": {
                "text": "NodeListOf<HTMLElement>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current value as an `HH:mm` or `HH:mm:ss` string. Setting this seeds each column's\ncommitted value. Off-step seeds are committed without a visible `aria-selected` item;\nan explicit user pick replaces the seeded value.\n\nReturns `null` when any rendered column lacks a committed value.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number"
              },
              "description": "Minute step (default 5). Values that do not evenly divide 60 warn and fall back to 5.",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "stepSeconds",
              "type": {
                "text": "number"
              },
              "description": "Second step (default 5). Only relevant when `with-seconds` is set.",
              "attribute": "step-seconds"
            },
            {
              "kind": "field",
              "name": "withSeconds",
              "type": {
                "text": "boolean"
              },
              "description": "When true, a third seconds column is rendered.",
              "attribute": "with-seconds",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hour12",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the hour column renders 1–12 and a trailing AM/PM column is appended.\nMirrors `Intl.DateTimeFormat`'s `hour12` option. The wire value (`value` property) is\nalways 24-hour (`HH:mm[:ss]`); the 12-hour display and the fold are purely internal.",
              "attribute": "hour-12",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "embedded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the time-list fills its container's block-size and scrolls internally\ninstead of sizing to its full content height. Intended for composition inside a picker\ndialog (e.g. `ed-datetime-picker`) where a sibling element defines the row height and\nthe time-list must not inflate it.\n\nStandalone `ed-time-list` and `ed-time-picker` are completely unaffected when this\nattribute is absent.",
              "attribute": "embedded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_step",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "5"
            },
            {
              "kind": "field",
              "name": "_stepSeconds",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "5"
            },
            {
              "kind": "field",
              "name": "_withSeconds",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_hour12",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_columns",
              "type": {
                "text": "ColumnState[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Per-column state objects. Rebuilt when step / withSeconds change.\nEach column tracks: options list, active (focused) index, committed value,\nand typeahead buffer.\n\nInitialized in the constructor (not connectedCallback) so static server-side\nrendering produces column markup without needing a live DOM — SSR skips\nconnectedCallback but always runs the constructor."
            },
            {
              "kind": "field",
              "name": "_hasFooterControlsSlot",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether the `footer-controls` slot has assigned content. Drives footer visibility."
            },
            {
              "kind": "field",
              "name": "_pendingWire",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The last wire string passed to the `value` setter. Re-applied after a `_rebuildColumns`\ncall triggered by attribute ordering (e.g. `with-seconds` arriving after `value`)."
            },
            {
              "kind": "method",
              "name": "_rebuildColumns",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Build the column array from the current step / withSeconds / hour12 settings."
            },
            {
              "kind": "method",
              "name": "_buildOptions",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number[]"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "ColumnType"
                  }
                }
              ],
              "description": "Generate the options array for a column type."
            },
            {
              "kind": "method",
              "name": "_findNearestOptionIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "number[]"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Find the index of the option closest to `value` in `options`."
            },
            {
              "kind": "method",
              "name": "_seedFromWire",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Parse a wire string and seed committed values into each column.\nOff-step seeds: the column's committed value is set but no visible option\nis highlighted (activeIndex points to the nearest step item for scroll purposes).\n\nWhen `hour12` is set, the 24h hour from the wire is unfolded into a 1–12 hour\nand a period (0=AM, 1=PM) that seed their respective columns."
            },
            {
              "kind": "method",
              "name": "_deriveWire",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "description": "Derive the wire string from current committed values. Returns null when any column is uncommitted.\n\nWire is always 24-hour (`HH:mm[:ss]`). In 12h mode the dayPeriod column is folded into the\nhour via `foldTo24h` — dayPeriod is never written to the wire itself."
            },
            {
              "kind": "method",
              "name": "_scrollColumnsToSelected",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Scroll each listbox container to bring the active option into view."
            },
            {
              "kind": "method",
              "name": "_scrollOptionIntoView",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "lb",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Scroll the option at `index` in the listbox `lb` into view (centred).\nCalled after keyboard navigation."
            },
            {
              "kind": "method",
              "name": "focusHour",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Focus the hour column's active option.\nCalled by `<ed-time-picker>` after open to satisfy the spec initial-focus requirement.",
              "type": {
                "text": "focusHour() => void"
              }
            },
            {
              "kind": "method",
              "name": "_columnLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "ColumnType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleFooterControlsSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_emitChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_commitOption",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "colIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Commit a selection in a column by option value. Updates state and emits ed-change.\nAlso resets the typeahead buffer so a stale timer cannot move focus post-commit."
            },
            {
              "kind": "method",
              "name": "_handleColumnKeydown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "colIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "WAI-ARIA listbox keyboard pattern for time columns.\n\nDivergences from calendar.ts:1244 (intentional, per spec §1):\n- Typeahead: digit buffer with 500 ms timeout (calendar has none).\n- PageUp / PageDown: move by 5 items (calendar moves by 10).\n- Tab focus moves between columns (multi-column traversal).\n- Enter/Space commit the focused option."
            },
            {
              "kind": "method",
              "name": "_moveActive",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "colIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "newIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Handle roving tabindex movement within a column (no commit — just focus).\nThe active option moves; selection is only committed on Enter/Space or click.\nClears the typeahead buffer (spec §1: buffer resets on navigation)."
            },
            {
              "kind": "method",
              "name": "_handleTypeahead",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "colIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "digit",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Digit buffer with 500 ms timeout. \"1\" then \"3\" within the window → select 13;\na lone \"1\" after timeout → select 01. Resets on commit / navigation."
            },
            {
              "kind": "method",
              "name": "_applyTypeaheadBuffer",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "colIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "buffer",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_flushTypeahead",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "colIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleOptionClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "colIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_displayOption",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "col",
                  "type": {
                    "text": "ColumnState"
                  }
                },
                {
                  "name": "opt",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Format a single option value for display in a given column.\n- dayPeriod: returns the locale's AM or PM label (0 = AM, 1 = PM).\n- hour in 12h mode: returns `String(opt)` unpadded (`1`–`12`).\n- minute / second / 24h hour: returns the value zero-padded to 2 digits."
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ value: string | null, complete: boolean }"
              },
              "description": "Emitted when a column selection changes. Detail: `{ value: string | null, complete: boolean }`. `complete` is `true` when all rendered columns have a committed value and `value` is the full wire string; `false` while any column is uncommitted (`value: null`).",
              "name": "ed-change",
              "reactName": "onEdChange",
              "eventName": "EdChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current value as an `HH:mm` or `HH:mm:ss` string. Setting this seeds each column's\ncommitted value. Off-step seeds are committed without a visible `aria-selected` item;\nan explicit user pick replaces the seeded value.\n\nReturns `null` when any rendered column lacks a committed value.",
              "fieldName": "value"
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "description": "Minute step (default 5). Values that do not evenly divide 60 warn and fall back to 5.",
              "fieldName": "step"
            },
            {
              "name": "step-seconds",
              "type": {
                "text": "number"
              },
              "description": "Second step (default 5). Only relevant when `with-seconds` is set.",
              "fieldName": "stepSeconds"
            },
            {
              "name": "with-seconds",
              "type": {
                "text": "boolean"
              },
              "description": "When true, a third seconds column is rendered.",
              "fieldName": "withSeconds"
            },
            {
              "name": "hour-12",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the hour column renders 1–12 and a trailing AM/PM column is appended.\nMirrors `Intl.DateTimeFormat`'s `hour12` option. The wire value (`value` property) is\nalways 24-hour (`HH:mm[:ss]`); the 12-hour display and the fold are purely internal.",
              "fieldName": "hour12"
            },
            {
              "name": "embedded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the time-list fills its container's block-size and scrolls internally\ninstead of sizing to its full content height. Intended for composition inside a picker\ndialog (e.g. `ed-datetime-picker`) where a sibling element defines the row height and\nthe time-list must not inflate it.\n\nStandalone `ed-time-list` and `ed-time-picker` are completely unaffected when this\nattribute is absent.",
              "fieldName": "embedded"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A scrollable time-selection list with hour, minute, and optional second columns.",
          "jsDoc": "/**\n * @summary A scrollable time-selection list with hour, minute, and optional second columns.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/time-list\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('listbox')\n *\n * @dependency ed-divider\n *\n * @event {{ value: string | null, complete: boolean }} ed-change - Emitted when a column selection changes. Detail: `{ value: string | null,\n *   complete: boolean }`. `complete` is `true` when all rendered columns have a committed value\n *   and `value` is the full wire string; `false` while any column is uncommitted (`value: null`).\n *\n * @slot footer-controls - Action controls rendered in a row below the time columns. Intended for\n *   `<ed-time-picker>`'s Cancel/OK buttons when `confirm` is set; nothing rendered by default.\n *\n * @csspart column - Any column container (the scrollable listbox).\n * @csspart column-hour - The hour column.\n * @csspart column-minute - The minute column.\n * @csspart column-second - The second column (only when with-seconds is set).\n * @csspart column-day-period - The AM/PM column (only when hour-12 is set).\n * @csspart option - A single time option row.\n * @csspart option-selected - The currently selected option row (additionally on the selected item).\n * @csspart footer-divider - The divider between the time columns and the footer. Only visible when the footer is.\n * @csspart footer - The footer wrapper below the columns. Only visible when the footer-controls slot has content.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/time-list",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('listbox')",
          "dependencies": [
            "ed-divider"
          ],
          "tagName": "ed-time-list",
          "customElement": true,
          "modulePath": "components/time-list/time-list.js",
          "definitionPath": "components/time-list/time-list.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTimeList",
            "module": "components/time-list/time-list.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-time-list",
          "declaration": {
            "name": "EdTimeList",
            "module": "components/time-list/time-list.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/datetime-picker/datetime-picker.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDatetimePicker",
          "cssParts": [
            {
              "description": "The host's outer wrapper.",
              "name": "base"
            },
            {
              "description": "The inner datetime input.",
              "name": "input"
            },
            {
              "description": "The clear button inside the input.",
              "name": "clear-button"
            },
            {
              "description": "The calendar+clock trigger button mounted in the input's end slot.",
              "name": "trigger"
            },
            {
              "description": "The icon inside the trigger button.",
              "name": "trigger-icon"
            },
            {
              "description": "The popup container that positions the dialog.",
              "name": "popup"
            },
            {
              "description": "The flex row holding the calendar and time-list side by side.",
              "name": "surfaces"
            },
            {
              "description": "The inner calendar surface.",
              "name": "calendar"
            },
            {
              "description": "The inner time-list surface.",
              "name": "time-list"
            },
            {
              "description": "Wrapper for the OK and Cancel buttons in the popup footer.",
              "name": "footer-controls"
            },
            {
              "description": "The Cancel button in the popup footer.",
              "name": "footer-cancel"
            },
            {
              "description": "The OK button in the popup footer.",
              "name": "footer-ok"
            },
            {
              "description": "The vertical divider between the calendar and the time-list.",
              "name": "divider-vertical"
            },
            {
              "description": "The horizontal divider between the surfaces row and the footer.",
              "name": "divider-horizontal"
            }
          ],
          "slots": [
            {
              "description": "The control's label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Helper text below the input. Alternatively, use the `hint` attribute.",
              "name": "hint"
            },
            {
              "description": "Content placed at the start of the input field.",
              "name": "start"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "_datetimeInput",
              "type": {
                "text": "EdDatetimeInput"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_calendar",
              "type": {
                "text": "EdCalendar"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_trigger",
              "type": {
                "text": "HTMLButtonElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_innerInput",
              "type": {
                "text": "PickerInnerInput | undefined"
              },
              "privacy": "protected",
              "description": "Satisfy `EdPickerBase._innerInput`.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_triggerEl",
              "type": {
                "text": "HTMLButtonElement | undefined"
              },
              "privacy": "protected",
              "description": "Satisfy `EdPickerBase._triggerEl`.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. Use the `label` slot for richer content.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's placeholder. Forwarded to the inner input.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Display format token string for the datetime (`\"DD.MM.YYYY HH:mm\"`, etc.).\nForwarded to the inner input; empty string lets the inner input derive its\nlocale default. Also drives `with-seconds` and `hour-12` on the time-list.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges. Forwarded to the inner input.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "description": "Marks the field as required.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets focus on the input when the page loads.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "PopupPlacement"
              },
              "default": "'bottom-end'",
              "description": "The popup's preferred placement. Defaults to `bottom-end` so the dialog aligns with\nthe trigger icon on the trailing edge of the input.",
              "attribute": "placement",
              "reflects": true,
              "parsedType": {
                "text": "'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom' | 'right-start' | 'right-end' | 'left-start' | 'left-end'"
              }
            },
            {
              "kind": "field",
              "name": "firstDayOfWeek",
              "type": {
                "text": "number | 'locale'"
              },
              "default": "'locale'",
              "description": "The first day of the week. Accepts `0`–`6` (Sunday=0) or `'locale'`. Forwarded to\nthe inner calendar.",
              "attribute": "first-day-of-week"
            },
            {
              "kind": "field",
              "name": "showWeekNumbers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the calendar shows a week-number column. Forwarded to the inner calendar.",
              "attribute": "show-week-numbers",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "shouldDisableDate",
              "type": {
                "text": "(date: Date) => boolean | undefined"
              },
              "description": "Predicate to disable individual dates in the calendar. Property-only."
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Minute step forwarded to `<ed-time-list>`. Default 5. Values that do not divide 60\nwarn and fall back to 5 (enforced in the list itself).",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "stepSeconds",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Second step forwarded to `<ed-time-list>`. Default 5. Only relevant when the format\nincludes a seconds token.",
              "attribute": "step-seconds"
            },
            {
              "kind": "field",
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "**Ignored on `<ed-datetime-picker>`.** There is no single gesture that completes a\ndate + time (a calendar click has no time half; a time pick has no date half), so the\nOK / Cancel footer is always rendered and a selection only commits on **OK**, regardless\nof this attribute. Setting `confirm` here has no effect — it is overridden solely to\ndocument that it is a no-op on this picker.",
              "attribute": "confirm",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_min",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable datetime. Accepts a `Date` or `YYYY-MM-DDTHH:mm` string.\nForwarded date-floored to the calendar (day precision) and as a full datetime string\nto the inner input (which owns precise datetime range validation).\nThe time-list receives no min/max constraint.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "_max",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable datetime. Accepts a `Date` or `YYYY-MM-DDTHH:mm` string.\nForwarded date-floored to the calendar and as a full datetime string to the inner input.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "_defaultMonth",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "defaultMonth",
              "type": {
                "text": "Date | null"
              },
              "description": "The month + year to display when the picker opens with no `value` set. Forwarded to\nthe calendar. Accepts a `Date` or ISO `YYYY-MM-DD` string (day precision).",
              "attribute": "default-month"
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Internal committed value (`YYYY-MM-DDTHH:mm` / `YYYY-MM-DDTHH:mm:ss` or `null`).\nThis is the datetime wire — never a plain date string."
            },
            {
              "kind": "field",
              "name": "_pendingDate",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Pending date half while the popup is open. Set from calendar picks.\n`null` = no date chosen this session."
            },
            {
              "kind": "field",
              "name": "_pendingTime",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Pending time half while the popup is open (e.g. `'14:30'` or `'14:30:00'`).\nSet from time-list picks. `null` = no time chosen this session."
            },
            {
              "kind": "field",
              "name": "_openSegmentSnapshot",
              "type": {
                "text": "EdDatetimeInputSegmentType | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Segment snapshot at open time (used to restore focus when origin was the input).",
              "parsedType": {
                "text": "'day' | 'month' | 'year' | 'hour' | 'minute' | 'second' | 'dayPeriod' | null"
              }
            },
            {
              "kind": "field",
              "name": "_lastSetWire",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The raw, seconds-precision wire of the last programmatic `value` / `defaultValue` set (or the\nlatest inner-driven value), kept verbatim so a format change can re-project `_value` at the\nright precision — a value set before a seconds-bearing format is known is not lost to minutes."
            },
            {
              "kind": "field",
              "name": "_editedSinceSet",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True once the value was driven by the inner input or a confirm commit since the last set."
            },
            {
              "kind": "method",
              "name": "_projectWire",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "d",
                  "type": {
                    "text": "Date"
                  }
                }
              ],
              "description": "Project a datetime to the wire at the active format's precision (seconds only when shown)."
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current value of the picker.\n- Getter: returns the committed wire (`YYYY-MM-DDTHH:mm`, or `…:ss` when the format shows\n  seconds) when a complete datetime is set, otherwise `null`.\n- Setter: accepts a `Date`, a `YYYY-MM-DDTHH:mm` / `YYYY-MM-DDTHH:mm:ss` string, or `null`.\n  Non-valid strings warn and become `null`. The full-precision wire is preserved and pushed\n  to the inner input, so seconds survive a seconds-bearing format regardless of attribute order.\n\nProgrammatic writes push to the inner input. Inner-driven changes (from\n`_onInnerValueChange`) update `_value` directly without re-pushing — preventing the\nfeedback loop that would wipe partially-typed segments back to null."
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value (mapped to the `value` content attribute). Kept at full (seconds) precision.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "valueAsDate",
              "type": {
                "text": "Date | null"
              },
              "description": "The current value as a `Date` object (local time), or `null` when empty/incomplete.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_withSecondsFromFormat",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Whether the effective datetime format includes a seconds token.\nDrives `with-seconds` on the time-list.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_hour12FromFormat",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Whether the effective datetime format uses a 12-hour cycle.\nDrives `hour-12` on the time-list so the list renders AM/PM columns.\nThe time-list wire is always 24h regardless.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_onInnerValueChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Mirror inner input value without re-pushing (value-feedback-loop guard).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_focusInitialSurfaceEl",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Focus the calendar after open — date is the primary axis.\nMatches `ed-date-picker` behavior.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_onAfterClose",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Clear pending state and segment snapshot on close.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_restoreFocusToInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Restore focus to the segment that was active when Alt+ArrowDown opened the picker.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_canCommit",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "OK is enabled only when both a date AND a time are selected.\nThe user must have picked at least one value from each surface this session;\na pre-existing committed value that covers both halves also enables OK.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commitPending",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Merge pending date + time into a wire string and commit. Called by `_handleOk`.\n\nMerge strategy:\n1. Use `_pendingDate` if set; otherwise parse the date half from `_value`.\n2. Use `_pendingTime` if set; otherwise parse the time half from `_value`.\nThis allows the user to change only one half and still commit a valid datetime.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_seedSurfaces",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Seed both surfaces from `_value` when the popup opens.\nCalled from `updated()` after `open` flips to true so the surfaces are in the DOM."
            },
            {
              "kind": "field",
              "name": "_handleInputClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleInputKeydown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleCalendarChange",
              "privacy": "private",
              "description": "Calendar `ed-change` handler. Buffers the date half into `_pendingDate`.\nOnly complete selections (`detail.complete === true`) are acted on.\nThe calendar's event is stopped here — datetime re-emits its own `change` on OK."
            },
            {
              "kind": "field",
              "name": "_handleTimeListChange",
              "privacy": "private",
              "description": "Time-list `ed-change` handler. Buffers the time half into `_pendingTime`.\nOnly complete selections (`detail.complete === true`) are acted on."
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "field",
              "name": "_calendarMin",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "description": "Date-floored min for the calendar (day precision only — the calendar floors to day).\nConstructed by normalizing the min datetime to its date portion.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_calendarMax",
              "type": {
                "text": "Date | null"
              },
              "privacy": "private",
              "description": "Date-floored max for the calendar.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_minStr",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "description": "Datetime string min for the inner input (which owns precise range validation). Projected at\nthe format's precision so a seconds-bearing format compares min at second precision too —\na minute-precision min under a seconds format would otherwise skip range validation entirely.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_maxStr",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "description": "Datetime string max for the inner input. Projected at the format's precision (see `_minStr`).",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isMirroring",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set to `true` for the synchronous duration of `super.updateValidity()` so that\n`_handleInputInvalid` can tell mirror-induced `ed-invalid` events apart from real user\ninvalids. `MirrorValidator` calls `inner.checkValidity()`, which dispatches a composed\n`EdInvalidEvent` — without this guard that would flip `hasInteracted` on the untouched\npicker, showing the error UI on page load.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "_wireInnerInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Point `input` at the current inner element so `MirrorValidator` (which reads `element.input`)\nand the `setValidity` anchor resolve to it. The base declares `input` as a property, so this\nis a plain assignment rather than a getter override (overriding a property with an accessor is\na TS error). Called from `willUpdate` and `firstUpdated` before `super` runs `updateValidity()`.\n\nThe inner is an `EdFormAssociatedElement`, not a literal `HTMLInputElement`, but satisfies the\nstructural contract (`value` / `validity` / `validationMessage` / `checkValidity`), hence the\ncast. `_innerInput` is `undefined` before the first render / during SSR — `MirrorValidator`\ndegrades gracefully to valid when `input` is absent.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "The inner input owns all visible chrome AND its own `aria-invalid` (state-forwarding\ncontract, see this class's header). The picker host must not double-manage `aria-invalid`,\nso it exposes no `validationTarget`. The validity engine still anchors `setValidity` on\n`this.input` (the inner) via the `this.validationTarget || this.input` fallback in\n`updateValidity()` (~line 452 of `ed-form-associated-element.ts`) — popup anchoring stays\ncorrect.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "description": "Tracks whether the consumer slotted rich `hint` content into the picker.\n\nThe inner input renders the active hint-area message (hint text, consumer `error`, or the\nvalidation message) as the FALLBACK content of its own `hint` slot. Forwarding an assigned\n`<slot slot=\"hint\">` into the inner unconditionally would suppress that fallback (a slotted\nnode beats fallback), so the inner would show the error STATE but never the message TEXT.\nPickers therefore forward the `hint` slot only when the consumer actually provides slotted\ncontent — see `_renderHintSlot()`. Plain `hint`-attribute text still reaches the inner via the\nforwarded `.hint` property and renders through the inner's own message path.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "_renderHintSlot",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult | typeof nothing"
                }
              },
              "description": "Forward the consumer's `hint` slot into the inner input — but only when the consumer actually\nslotted content, so an empty forwarded slot never masks the inner's own message fallback.\nBind it inside the inner input's template where the `slot=\"hint\"` child would go.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commitFromSurface",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "_next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Called by the subclass's surface change handler (e.g. calendar `ed-change`) when the\nuser selects a new value. The base class does NOT auto-close — subclasses decide when to\ncall `hide()` after committing.\n\nThis hook is **optional** — the default is a no-op. Single-string surface pickers\n(`ed-date-picker`, `ed-time-picker`) override it to commit and optionally close. Pickers\nthat merge multiple independent surface halves (e.g. `ed-datetime-picker`, which tracks\n`_pendingDate` and `_pendingTime` separately) skip this hook entirely and route directly\nthrough `_commitWire`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleOk",
              "privacy": "protected",
              "description": "OK button handler. Delegates to `_commitPending()` which is responsible for\nclosing the popup after committing.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleCancel",
              "privacy": "protected",
              "description": "Cancel button handler. Closes the popup. Subclasses clear pending state in\n`_onAfterClose()` — this handler intentionally does NOT clear it here.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_renderFooterControls",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "{ slotted = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ slotted?: boolean }"
                  }
                },
                {
                  "description": "When `true` (the default), the wrapper `<div>` carries\n`slot=\"footer-controls\"` so it is projected into a child surface's named slot (the\npattern used by `ed-date-picker`, `ed-time-picker`, and `ed-date-range-picker`).\nPass `{ slotted: false }` when the footer is a **sibling** of the surfaces — as in\n`ed-datetime-picker`, where the dialog is `[calendar+list row] + [footer]` and the\nfooter must not be slotted into either surface.\n\nOnly call this when the footer should be rendered; the returned template has no\ngate of its own.",
                  "name": "options.slotted"
                }
              ],
              "description": "Render the OK/Cancel footer fragment.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commitWire",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null"
                  }
                },
                {
                  "name": "{ close = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ close?: boolean }"
                  }
                }
              ],
              "description": "Shared commit tail for single-value pickers using confirm mode.\n\nPushes `wire` to the inner input, sets `valueHasChanged = true`, then in a\nmicrotask calls `_syncFromInner()` and dispatches `change`. When `close` is true\n(the default) it also calls `hide()`.\n\nThis is intentionally limited to the confirm-path commit tail. The broader\n`_commitFromSurface` rework (§13 decision 4 of the family plan) is a separate session.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "attribute": "readonly",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "pickerOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "attribute": "picker-only",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "attribute": "open",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_openOrigin",
              "type": {
                "text": "'trigger' | 'input' | 'programmatic' | null"
              },
              "privacy": "protected",
              "default": "null",
              "description": "Origin of the most-recent open, used for focus restoration on close.\n`null` when closed.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmSupported",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "true",
              "description": "Whether this picker supports the `confirm` footer feature.\nSet to `false` in subclasses where confirm is not yet implemented (e.g. time-picker).\nWhen `confirm` is set but `_confirmSupported` is false, a one-time dev warning is emitted\nand the footer is not rendered.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the confirm feature is both requested and supported by this picker.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmWarnedOnce",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Flag to ensure the unsupported-confirm warning is only emitted once.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputReadonly",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the inner input should be made read-only.\nTrue when either `readonly` OR `picker-only` is set.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_triggerDisabled",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the popup trigger button should be disabled.\nTrue when `disabled` OR `readonly` (but NOT when only `picker-only`).",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Opens the popup. No-op if `disabled` or `readonly`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "show() => Promise<void>"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Closes the popup.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "hide() => Promise<void>"
              }
            },
            {
              "kind": "method",
              "name": "_waitForOpenSettle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Resolve once the open-state transition settles — as soon as EITHER `ed-after-show` or\n`ed-after-hide` fires from this element.\n\nBoth `show()` and `hide()` await this. A cancelled `ed-show` / `ed-hide` (via\n`preventDefault()`) flips `open` straight back, which dispatches the OPPOSITE after-event\nrather than the one a single-event wait expected — so awaiting only `ed-after-show` (or only\n`ed-after-hide`) would hang forever and leak its listener. Listening for both and removing\nboth on the first settle guarantees the promise always resolves and no listener leaks,\nregardless of which direction the transition ends up resolving.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_handleOpenChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_restoreFocusOnClose",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_addOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_removeOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleDocumentMouseDown",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleDocumentKeyDown",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleTriggerClick",
              "privacy": "protected",
              "description": "Click handler for the popup trigger button.\nSubclass render should bind: `@click=${this._handleTriggerClick}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputInput",
              "privacy": "protected",
              "description": "`input` bridge: stops inner-input's event from escaping, syncs internal state, re-fires\nfrom host. Subclass render should bind: `@input=${this._handleInputInput}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputChange",
              "privacy": "protected",
              "description": "`change` bridge: stops inner-input's event, syncs, re-fires from host.\nSubclass render should bind: `@change=${this._handleInputChange}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputInvalid",
              "privacy": "protected",
              "description": "`ed-invalid` bridge: stops propagation, marks interaction, syncs.\nSubclass render should bind: `@ed-invalid=${this._handleInputInvalid}`.\n\nGuard: `MirrorValidator` calls `inner.checkValidity()` inside our own `updateValidity()`,\nwhich re-dispatches a composed `EdInvalidEvent` (composed: true, so it bubbles up through\nthe picker's shadow root). That is a programmatic probe — flipping `hasInteracted` here\nwould show the error UI on an untouched required picker on page load. `_isMirroring` is\ntrue for exactly that window; when set we stop propagation but skip the interaction mark.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputClear",
              "privacy": "protected",
              "description": "`ed-clear` bridge: the inner input's clear button was activated. Stop the inner's event and\nre-emit from the picker host so `event.target` is the picker (parity with the input/change\nbridges). The value sync rides on the `input` / `change` events the inner also dispatches on\nclear, which flow through `_handleInputInput` / `_handleInputChange`.\nSubclass render should bind: `@ed-clear=${this._handleInputClear}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_syncFromInner",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Mirror the inner input's `value` into this picker's `_pickerValue`.\nSubclasses own `_pickerValue` storage — this calls the abstract `_onInnerValueChange()` hook\nso `EdPickerBase` doesn't need to know the concrete type or backing field.\n\nValue-feedback-loop guard: the inner input value is pushed only to `_pickerValue`, NOT back\nto the inner input itself — preventing the \"wipe partial segments\" footgun from #35.\n\nValidity is now driven reactively by `static validators` on every `updateValidity()` cycle\n(triggered by `willUpdate` → `requestUpdate('value')` in subclasses). No manual\n`_refreshValidity()` call is needed here.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputKind",
              "type": {
                "text": "'segments' | 'label'"
              },
              "privacy": "protected",
              "description": "Describes the inner input type this picker mounts.\n- `'segments'` (default) — the standard segmented date/time input (`<ed-date-input>`,\n  `<ed-time-input>`, etc.). Segment-specific APIs (`activeSegmentType`, per-segment\n  `focus({segment})`) are available.\n- `'label'` — a read-only display-label element (`<ed-week-label-input>`). Segment\n  APIs are absent; callers must guard against them before use.\n\nSubclasses override when the input kind varies by configuration (e.g. `EdDatePicker`\nreturns `'label'` when `type === 'week'`).",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "field",
              "name": "_isRange",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "readonly": true,
              "default": "false",
              "description": "Whether this picker operates in range mode (two values → two FormData pairs).\n`false` for all single-value pickers; `true` for range pickers (subclass sets it).\n\nWhen `true`, `setFormValue` writes two entries keyed `name-start` / `name-end`.\nSingle-value pickers never set this; the branch is a seam for Phase C (#39).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_setFormValue",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null | FormData"
                  }
                }
              ],
              "description": "Write FormData. For single-value pickers this delegates to the standard `setValue()`;\nfor range pickers it writes two entries (`name-start` / `name-end`).\n\nCall this instead of `setValue()` in subclasses that participate in form submission.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<EdFormAssociatedElement['setValue']>"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Block the base-class `setValue(string, string)` path that would submit the interval wire\nstring (e.g. `2024-01-01/2024-12-31`) directly under `name` for range pickers.\n\nThe base class `willUpdate` calls `setValue(this.value, this.value)` whenever `value`\nchanges; for range pickers `this.value` is the solidus interval string which must NEVER\nreach FormData — only the range-form-value pairs (`name-start` / `name-end`) written via\n`_setFormValue` are correct. Swallow the string branch; FormData calls pass through.\n\nSingle-value pickers are unaffected (`_isRange` is false → the guard is a no-op for them).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<EdFormAssociatedElement['setValue']>) => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "Event"
              },
              "reactName": "onInput",
              "eventName": "InputEvent",
              "description": "Bubbled from the inner datetime input when its value changes.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "reactName": "onChange",
              "eventName": "ChangeEvent",
              "description": "Bubbled from the inner datetime input on commit, or fired by the picker when a calendar + time-list selection is confirmed via OK.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the picker popup is about to open. Cancelable.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the popup has fully opened.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the picker popup is about to close. Cancelable.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the popup has fully closed.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            },
            {
              "description": "Emitted when the control has been checked for validity and constraints are not satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. Use the `label` slot for richer content.",
              "fieldName": "label"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's placeholder. Forwarded to the inner input.",
              "fieldName": "placeholder"
            },
            {
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Display format token string for the datetime (`\"DD.MM.YYYY HH:mm\"`, etc.).\nForwarded to the inner input; empty string lets the inner input derive its\nlocale default. Also drives `with-seconds` and `hour-12` on the time-list.",
              "fieldName": "format"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges. Forwarded to the inner input.",
              "fieldName": "pill"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the field as required.",
              "fieldName": "required"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets focus on the input when the page loads.",
              "fieldName": "autofocus"
            },
            {
              "name": "placement",
              "type": {
                "text": "PopupPlacement"
              },
              "default": "'bottom-end'",
              "description": "The popup's preferred placement. Defaults to `bottom-end` so the dialog aligns with\nthe trigger icon on the trailing edge of the input.",
              "fieldName": "placement",
              "parsedType": {
                "text": "'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom' | 'right-start' | 'right-end' | 'left-start' | 'left-end'"
              }
            },
            {
              "name": "first-day-of-week",
              "type": {
                "text": "number | 'locale'"
              },
              "default": "'locale'",
              "description": "The first day of the week. Accepts `0`–`6` (Sunday=0) or `'locale'`. Forwarded to\nthe inner calendar.",
              "fieldName": "firstDayOfWeek"
            },
            {
              "name": "show-week-numbers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the calendar shows a week-number column. Forwarded to the inner calendar.",
              "fieldName": "showWeekNumbers"
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Minute step forwarded to `<ed-time-list>`. Default 5. Values that do not divide 60\nwarn and fall back to 5 (enforced in the list itself).",
              "fieldName": "step"
            },
            {
              "name": "step-seconds",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Second step forwarded to `<ed-time-list>`. Default 5. Only relevant when the format\nincludes a seconds token.",
              "fieldName": "stepSeconds"
            },
            {
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "**Ignored on `<ed-datetime-picker>`.** There is no single gesture that completes a\ndate + time (a calendar click has no time half; a time pick has no date half), so the\nOK / Cancel footer is always rendered and a selection only commits on **OK**, regardless\nof this attribute. Setting `confirm` here has no effect — it is overridden solely to\ndocument that it is a no-op on this picker.",
              "fieldName": "confirm",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "min",
              "type": {
                "text": "Date | null"
              },
              "description": "The minimum selectable datetime. Accepts a `Date` or `YYYY-MM-DDTHH:mm` string.\nForwarded date-floored to the calendar (day precision) and as a full datetime string\nto the inner input (which owns precise datetime range validation).\nThe time-list receives no min/max constraint.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "Date | null"
              },
              "description": "The maximum selectable datetime. Accepts a `Date` or `YYYY-MM-DDTHH:mm` string.\nForwarded date-floored to the calendar and as a full datetime string to the inner input.",
              "fieldName": "max"
            },
            {
              "name": "default-month",
              "type": {
                "text": "Date | null"
              },
              "description": "The month + year to display when the picker opens with no `value` set. Forwarded to\nthe calendar. Accepts a `Date` or ISO `YYYY-MM-DD` string (day precision).",
              "fieldName": "defaultMonth"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value (mapped to the `value` content attribute). Kept at full (seconds) precision.",
              "fieldName": "defaultValue"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "fieldName": "ariaLabel",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "fieldName": "readonly",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "picker-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "fieldName": "pickerOnly",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "fieldName": "open",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdPickerBase",
            "module": "/src/internal/ed-picker-base.js"
          },
          "summary": "A popup form control for picking a combined date and time. Composes a segmented\ndatetime input with a calendar and a time-list side-by-side in a single dialog.",
          "jsDoc": "/**\n * @summary A popup form control for picking a combined date and time. Composes a segmented\n *   datetime input with a calendar and a time-list side-by-side in a single dialog.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/datetime-picker\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-datetime-input\n * @dependency ed-calendar\n * @dependency ed-time-list\n * @dependency ed-popup\n * @dependency ed-icon\n * @dependency ed-button\n * @dependency ed-divider\n *\n * @slot label - The control's label. Alternatively, use the `label` attribute.\n * @slot hint - Helper text below the input. Alternatively, use the `hint` attribute.\n * @slot start - Content placed at the start of the input field.\n *\n * @event input - Bubbled from the inner datetime input when its value changes.\n * @event change - Bubbled from the inner datetime input on commit, or fired by the picker when a\n *   calendar + time-list selection is confirmed via OK.\n * @event ed-clear - Emitted when the clear button is activated.\n * @event ed-show - Emitted when the picker popup is about to open. Cancelable.\n * @event ed-after-show - Emitted after the popup has fully opened.\n * @event ed-hide - Emitted when the picker popup is about to close. Cancelable.\n * @event ed-after-hide - Emitted after the popup has fully closed.\n * @event ed-invalid - Emitted when the control has been checked for validity and constraints\n *   are not satisfied.\n *\n * @csspart base - The host's outer wrapper.\n * @csspart input - The inner datetime input.\n * @csspart clear-button - The clear button inside the input.\n * @csspart trigger - The calendar+clock trigger button mounted in the input's end slot.\n * @csspart trigger-icon - The icon inside the trigger button.\n * @csspart popup - The popup container that positions the dialog.\n * @csspart surfaces - The flex row holding the calendar and time-list side by side.\n * @csspart calendar - The inner calendar surface.\n * @csspart time-list - The inner time-list surface.\n * @csspart footer-controls - Wrapper for the OK and Cancel buttons in the popup footer.\n * @csspart footer-cancel - The Cancel button in the popup footer.\n * @csspart footer-ok - The OK button in the popup footer.\n * @csspart divider-vertical - The vertical divider between the calendar and the time-list.\n * @csspart divider-horizontal - The horizontal divider between the surfaces row and the footer.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/datetime-picker",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-datetime-input",
            "ed-calendar",
            "ed-time-list",
            "ed-popup",
            "ed-icon",
            "ed-button",
            "ed-divider"
          ],
          "tagName": "ed-datetime-picker",
          "customElement": true,
          "modulePath": "components/datetime-picker/datetime-picker.js",
          "definitionPath": "components/datetime-picker/datetime-picker.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDatetimePicker",
            "module": "components/datetime-picker/datetime-picker.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-datetime-picker",
          "declaration": {
            "name": "EdDatetimePicker",
            "module": "components/datetime-picker/datetime-picker.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/details/details.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDetails",
          "cssProperties": [
            {
              "description": "The amount of space around and between the details' content. Expects a single value.",
              "name": "--spacing"
            },
            {
              "description": "The show duration to use when applying built-in animation classes.",
              "name": "--show-duration",
              "default": "var(--ed-transition-normal)"
            },
            {
              "description": "The hide duration to use when applying built-in animation classes.",
              "name": "--hide-duration",
              "default": "var(--ed-transition-normal)"
            }
          ],
          "cssParts": [
            {
              "description": "The inner `<details>` element used to render the component. Styles you apply to the component are automatically applied to this part, so you usually don't need to deal with it unless you need to set the `display` property.",
              "name": "base"
            },
            {
              "description": "The header that wraps both the summary and the expand/collapse icon.",
              "name": "header"
            },
            {
              "description": "The container that wraps the summary.",
              "name": "summary"
            },
            {
              "description": "The container that wraps the expand/collapse icons.",
              "name": "icon"
            },
            {
              "description": "The details content.",
              "name": "content"
            }
          ],
          "slots": [
            {
              "description": "The details' main content.",
              "name": ""
            },
            {
              "description": "The details' summary. Alternatively, you can use the `summary` attribute.",
              "name": "summary"
            },
            {
              "description": "Optional expand icon to use instead of the default. Works best with `<ed-icon>`.",
              "name": "expand-icon"
            },
            {
              "description": "Optional collapse icon to use instead of the default. Works best with `<ed-icon>`.",
              "name": "collapse-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "detailsObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "details",
              "type": {
                "text": "HTMLDetailsElement"
              }
            },
            {
              "kind": "field",
              "name": "header",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "expandIconSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "animationGeneration",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "isAnimating",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the details' open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "summary",
              "type": {
                "text": "string"
              },
              "description": "The summary to show in the header. If you need to display HTML, use the `summary` slot instead.",
              "attribute": "summary"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Groups related details elements. When one opens, others with the same name will close.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the details so it can't be toggled.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'filled' | 'plain'"
              },
              "default": "'plain'",
              "description": "The element's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "iconPlacement",
              "type": {
                "text": "'start' | 'end'"
              },
              "default": "'start'",
              "description": "The location of the expand/collapse icon.",
              "attribute": "icon-placement",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleSummaryClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSummaryKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "closeOthersWithSameName",
              "privacy": "private",
              "description": "Closes other <ed-details> elements in the same document when they have the same name."
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the details.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the details",
              "type": {
                "text": "hide() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the details opens.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the details opens and all animations are complete.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the details closes.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the details closes and all animations are complete.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the details' open state.",
              "fieldName": "open"
            },
            {
              "name": "summary",
              "type": {
                "text": "string"
              },
              "description": "The summary to show in the header. If you need to display HTML, use the `summary` slot instead.",
              "fieldName": "summary"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Groups related details elements. When one opens, others with the same name will close.",
              "fieldName": "name"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the details so it can't be toggled.",
              "fieldName": "disabled"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'filled' | 'plain'"
              },
              "default": "'plain'",
              "description": "The element's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "icon-placement",
              "type": {
                "text": "'start' | 'end'"
              },
              "default": "'start'",
              "description": "The location of the expand/collapse icon.",
              "fieldName": "iconPlacement"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the details is animating expand/collapse.",
              "name": "animating"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Details show a brief summary and expand to show additional content.",
          "jsDoc": "/**\n * @summary Details show a brief summary and expand to show additional content.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/details\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('button') — the internal `<summary>` carries the implicit button role and the aria-expanded state\n *\n * @dependency ed-icon\n *\n * @slot - The details' main content.\n * @slot summary - The details' summary. Alternatively, you can use the `summary` attribute.\n * @slot expand-icon - Optional expand icon to use instead of the default. Works best with `<ed-icon>`.\n * @slot collapse-icon - Optional collapse icon to use instead of the default. Works best with `<ed-icon>`.\n *\n * @event ed-show - Emitted when the details opens.\n * @event ed-after-show - Emitted after the details opens and all animations are complete.\n * @event ed-hide - Emitted when the details closes.\n * @event ed-after-hide - Emitted after the details closes and all animations are complete.\n *\n * @csspart base - The inner `<details>` element used to render the component. Styles you apply to the component are automatically applied to this part, so you usually don't need to deal with it unless you need to set the `display` property.\n * @csspart header - The header that wraps both the summary and the expand/collapse icon.\n * @csspart summary - The container that wraps the summary.\n * @csspart icon - The container that wraps the expand/collapse icons.\n * @csspart content - The details content.\n *\n * @cssproperty --spacing - The amount of space around and between the details' content. Expects a single value.\n * @cssproperty [--show-duration=var(--ed-transition-normal)] - The show duration to use when applying built-in animation classes.\n * @cssproperty [--hide-duration=var(--ed-transition-normal)] - The hide duration to use when applying built-in animation classes.\n *\n * @cssstate animating - Applied when the details is animating expand/collapse.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/details",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('button') — the internal `<summary>` carries the implicit button role and the aria-expanded state",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-details",
          "customElement": true,
          "modulePath": "components/details/details.js",
          "definitionPath": "components/details/details.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDetails",
            "module": "components/details/details.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-details",
          "declaration": {
            "name": "EdDetails",
            "module": "components/details/details.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/page-thumbnail/page-thumbnail.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdPageThumbnail",
          "cssProperties": [
            {
              "description": "The width of the preview card. Height follows the A4 aspect ratio.",
              "name": "--ed-page-thumbnail-width",
              "default": "4.125rem"
            }
          ],
          "cssParts": [
            {
              "description": "The A4 preview box that holds the image or the empty placeholder.",
              "name": "card"
            },
            {
              "description": "The preview `<img>` element.",
              "name": "image"
            },
            {
              "description": "The `page_crossed` icon shown when there is no preview.",
              "name": "empty-icon"
            },
            {
              "description": "The caption below the preview.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "The caption shown below the preview. Alternatively, use the `label` attribute.",
              "name": ""
            },
            {
              "description": "Content layered over the preview, e.g. a page-number badge, a selection checkbox, or action buttons.",
              "name": "overlay"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The preview image URL. When absent (or it fails to load), the empty placeholder is shown.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The caption shown below the preview (e.g. a page number). Also used as the image's alt text and accessible name.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "rotation",
              "type": {
                "text": "0 | 90 | 180 | 270"
              },
              "default": "0",
              "description": "Clockwise rotation of the preview image, in degrees. `90` and `270` transpose the card to\nlandscape and fill it with the rotated page (so the selection ring and focus outline hug the\npage, not a letterboxed portrait card); `0` (default) and `180` keep the edge-to-edge preview.",
              "attribute": "rotation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the thumbnail is selected. The parent owns the selection set; this only reflects the state.",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the thumbnail: it is not focusable and does not emit activation events.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "tabIndex",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The host's tab order. Defaults to focusable (`0`); a roving-focus parent (e.g. a document-viewer\nrail) sets it per item. Wrapped in `@property` so it reflects (incl. SSR) and framework wrappers\npass it through — same pattern as `ed-tab`.",
              "attribute": "tabIndex",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasError",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isEmpty",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "handleKeyDown",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "handleImageError",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the thumbnail is activated by pointer or keyboard (Enter/Space). Use it to drive selection.",
              "name": "click",
              "reactName": "onClick",
              "eventName": "ClickEvent"
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The preview image URL. When absent (or it fails to load), the empty placeholder is shown.",
              "fieldName": "src"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The caption shown below the preview (e.g. a page number). Also used as the image's alt text and accessible name.",
              "fieldName": "label"
            },
            {
              "name": "rotation",
              "type": {
                "text": "0 | 90 | 180 | 270"
              },
              "default": "0",
              "description": "Clockwise rotation of the preview image, in degrees. `90` and `270` transpose the card to\nlandscape and fill it with the rotated page (so the selection ring and focus outline hug the\npage, not a letterboxed portrait card); `0` (default) and `180` keep the edge-to-edge preview.",
              "fieldName": "rotation"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the thumbnail is selected. The parent owns the selection set; this only reflects the state.",
              "fieldName": "selected"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the thumbnail: it is not focusable and does not emit activation events.",
              "fieldName": "disabled"
            },
            {
              "name": "tabIndex",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The host's tab order. Defaults to focusable (`0`); a roving-focus parent (e.g. a document-viewer\nrail) sets it per item. Wrapped in `@property` so it reflects (incl. SSR) and framework wrappers\npass it through — same pattern as `ed-tab`.",
              "fieldName": "tabIndex"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when there is no preview image (no `src`, or the image failed to load).",
              "name": "empty"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A selectable thumbnail of a document page — an A4 preview image with a caption.",
          "jsDoc": "/**\n * @summary A selectable thumbnail of a document page — an A4 preview image with a caption.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/page-thumbnail\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('button')\n *\n * @dependency ed-icon\n *\n * @slot - The caption shown below the preview. Alternatively, use the `label` attribute.\n * @slot overlay - Content layered over the preview, e.g. a page-number badge, a selection checkbox, or action buttons.\n *\n * @event click - Emitted when the thumbnail is activated by pointer or keyboard (Enter/Space). Use it to drive selection.\n *\n * @csspart card - The A4 preview box that holds the image or the empty placeholder.\n * @csspart image - The preview `<img>` element.\n * @csspart empty-icon - The `page_crossed` icon shown when there is no preview.\n * @csspart label - The caption below the preview.\n *\n * @cssstate empty - Applied when there is no preview image (no `src`, or the image failed to load).\n *\n * @cssproperty [--ed-page-thumbnail-width=4.125rem] - The width of the preview card. Height follows the A4 aspect ratio.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/page-thumbnail",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('button')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-page-thumbnail",
          "customElement": true,
          "modulePath": "components/page-thumbnail/page-thumbnail.js",
          "definitionPath": "components/page-thumbnail/page-thumbnail.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdPageThumbnail",
            "module": "components/page-thumbnail/page-thumbnail.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-page-thumbnail",
          "declaration": {
            "name": "EdPageThumbnail",
            "module": "components/page-thumbnail/page-thumbnail.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/validators/slider-validator.js",
      "declarations": [
        {
          "kind": "function",
          "name": "SliderValidator",
          "return": {
            "type": {
              "text": "Validator<EdSlider>"
            }
          },
          "description": "Comprehensive validator for sliders that handles required, range, and step validation"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SliderValidator",
          "declaration": {
            "name": "SliderValidator",
            "module": "internal/validators/slider-validator.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/slider/slider.js",
      "declarations": [
        {
          "kind": "class",
          "description": "<ed-slider>",
          "name": "EdSlider",
          "cssProperties": [
            {
              "description": "The height or width of the slider's track.",
              "name": "--track-size",
              "default": "0.5em"
            },
            {
              "description": "The size of each individual marker.",
              "name": "--marker-size",
              "default": "0.1875em"
            },
            {
              "description": "The size of the thumb.",
              "name": "--thumb-size",
              "default": "1.24em"
            }
          ],
          "cssParts": [
            {
              "description": "The element that contains the slider's label.",
              "name": "label"
            },
            {
              "description": "The element that contains the slider's description.",
              "name": "hint"
            },
            {
              "description": "The focusable element with `role=\"slider\"`. Contains the track and reference slot.",
              "name": "slider"
            },
            {
              "description": "The slider's track.",
              "name": "track"
            },
            {
              "description": "The colored indicator that shows from the start of the slider to the current value.",
              "name": "indicator"
            },
            {
              "description": "The container that holds all the markers when `with-markers` is used.",
              "name": "markers"
            },
            {
              "description": "The individual markers that are shown when `with-markers` is used.",
              "name": "marker"
            },
            {
              "description": "The container that holds references that get slotted in.",
              "name": "references"
            },
            {
              "description": "The slider's thumb.",
              "name": "thumb"
            },
            {
              "description": "The min value thumb in a range slider.",
              "name": "thumb-min"
            },
            {
              "description": "The max value thumb in a range slider.",
              "name": "thumb-max"
            },
            {
              "description": "The tooltip, a `<ed-tooltip>` element.",
              "name": "tooltip"
            },
            {
              "description": "The tooltip's `tooltip` part.",
              "name": "tooltip__tooltip"
            },
            {
              "description": "The tooltip's `content` part.",
              "name": "tooltip__content"
            },
            {
              "description": "The tooltip's `arrow` part.",
              "name": "tooltip__arrow"
            }
          ],
          "slots": [
            {
              "description": "The slider label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute. instead.",
              "name": "hint"
            },
            {
              "description": "One or more reference labels to show visually below the slider.",
              "name": "reference"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "observeSlots",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true"
            },
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "draggableTrack",
              "type": {
                "text": "DraggableElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "draggableThumbMin",
              "type": {
                "text": "DraggableElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "draggableThumbMax",
              "type": {
                "text": "DraggableElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "trackBoundingClientRect",
              "type": {
                "text": "DOMRect"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "valueWhenDraggingStarted",
              "type": {
                "text": "number | undefined | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "activeThumb",
              "type": {
                "text": "'min' | 'max' | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "lastTrackPosition",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "focusableAnchor",
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override validation target to point to the focusable element",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "slider",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "thumb",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "thumbMin",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "thumbMax",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "track",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "tooltip",
              "type": {
                "text": "EdTooltip"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The slider's label. If you need to provide HTML in the label, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The slider's accessible name for when no visible label is set. Mirrored onto the internal\n`role=\"slider\"` node (and folded into the range-thumb names) — an aria-label left on the\nhost alone would sit on a role-less element and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the slider. This will be submitted with the form as a name/value pair.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "minValue",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value of a range selection. Used only when range attribute is set.",
              "attribute": "min-value"
            },
            {
              "kind": "field",
              "name": "maxValue",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The maximum value of a range selection. Used only when range attribute is set.",
              "attribute": "max-value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "number"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "The current value of the slider, submitted as a name/value pair with form data."
            },
            {
              "kind": "field",
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Converts the slider to a range slider with two thumbs.",
              "attribute": "range",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "isRange",
              "type": {
                "text": "boolean"
              },
              "description": "Get if this is a range slider",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the slider.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the slider a read-only field.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The orientation of the slider.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "indicatorOffset",
              "type": {
                "text": "number"
              },
              "description": "The starting value from which to draw the slider's fill, which is based on its current value.",
              "attribute": "indicator-offset"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value allowed.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "The maximum value allowed.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The granularity the value must adhere to when incrementing and decrementing.",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Tells the browser to focus the slider when the page loads or a dialog is shown.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "tooltipDistance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance of the tooltip from the slider's thumb.",
              "attribute": "tooltip-distance"
            },
            {
              "kind": "field",
              "name": "tooltipPlacement",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left'"
              },
              "default": "'top'",
              "description": "The placement of the tooltip in reference to the slider's thumb.",
              "attribute": "tooltip-placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withMarkers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws markers at each step along the slider.",
              "attribute": "with-markers"
            },
            {
              "kind": "field",
              "name": "withTooltip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a tooltip above the thumb when the control has focus or is dragged.",
              "attribute": "with-tooltip"
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup\nincludes the label before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup\nincludes the hint before the component hydrates on the client.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "valueFormatter",
              "type": {
                "text": "(value: number) => string"
              },
              "description": "A custom formatting function to apply to the value. This will be shown in the tooltip and announced by screen\nreaders. Must be set with JavaScript. Property only."
            },
            {
              "kind": "method",
              "name": "clampAndRoundToStep",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Clamps a number to min/max while ensuring it's a valid step interval."
            },
            {
              "kind": "method",
              "name": "getPercentageFromValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Given a value, returns its percentage within a range of min/max."
            },
            {
              "kind": "method",
              "name": "getValueFromCoordinates",
              "privacy": "private",
              "parameters": [
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Converts coordinates to slider value"
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleLabelPointerDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setValueFromCoordinates",
              "privacy": "private",
              "parameters": [
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setThumbValueFromCoordinates",
              "privacy": "private",
              "parameters": [
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "thumb",
                  "type": {
                    "text": "'min' | 'max'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "showTooltip",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hideTooltip",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "showRangeTooltips",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hideRangeTooltips",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateFormValue",
              "privacy": "private",
              "description": "Updates the form value submission for range sliders"
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "description": "Sets focus to the slider.",
              "type": {
                "text": "focus() => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "privacy": "public",
              "description": "Removes focus from the slider.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepDown",
              "privacy": "public",
              "description": "Decreases the slider's value by `step`. This is a programmatic change, so `input` and `change` events will not be\nemitted when this is called.",
              "type": {
                "text": "stepDown() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepUp",
              "privacy": "public",
              "description": "Increases the slider's value by `step`. This is a programmatic change, so `input` and `change` events will not be\nemitted when this is called.",
              "type": {
                "text": "stepUp() => void"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "name": "blur",
              "type": {
                "text": "FocusEvent"
              },
              "description": "Emitted when the control loses focus.",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "name": "focus",
              "type": {
                "text": "FocusEvent"
              },
              "description": "Emitted when the control gains focus.",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The slider's label. If you need to provide HTML in the label, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The slider's accessible name for when no visible label is set. Mirrored onto the internal\n`role=\"slider\"` node (and folded into the range-thumb names) — an aria-label left on the\nhost alone would sit on a role-less element and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the slider. This will be submitted with the form as a name/value pair.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "min-value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value of a range selection. Used only when range attribute is set.",
              "fieldName": "minValue"
            },
            {
              "name": "max-value",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The maximum value of a range selection. Used only when range attribute is set.",
              "fieldName": "maxValue"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Converts the slider to a range slider with two thumbs.",
              "fieldName": "range"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the slider.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the slider a read-only field.",
              "fieldName": "readonly"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The orientation of the slider.",
              "fieldName": "orientation"
            },
            {
              "name": "indicator-offset",
              "type": {
                "text": "number"
              },
              "description": "The starting value from which to draw the slider's fill, which is based on its current value.",
              "fieldName": "indicatorOffset"
            },
            {
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value allowed.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "The maximum value allowed.",
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The granularity the value must adhere to when incrementing and decrementing.",
              "fieldName": "step"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Tells the browser to focus the slider when the page loads or a dialog is shown.",
              "fieldName": "autofocus"
            },
            {
              "name": "tooltip-distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance of the tooltip from the slider's thumb.",
              "fieldName": "tooltipDistance"
            },
            {
              "name": "tooltip-placement",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left'"
              },
              "default": "'top'",
              "description": "The placement of the tooltip in reference to the slider's thumb.",
              "fieldName": "tooltipPlacement"
            },
            {
              "name": "with-markers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws markers at each step along the slider.",
              "fieldName": "withMarkers"
            },
            {
              "name": "with-tooltip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a tooltip above the thumb when the control has focus or is dragged.",
              "fieldName": "withTooltip"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup\nincludes the label before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup\nincludes the hint before the component hydrates on the client.",
              "fieldName": "withHint"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the slider is disabled.",
              "name": "disabled"
            },
            {
              "description": "Applied when the slider is being dragged.",
              "name": "dragging"
            },
            {
              "description": "Applied when the slider has focus.",
              "name": "focused"
            },
            {
              "description": "Applied when the slider is valid and the user has sufficiently interacted with it.",
              "name": "user-valid"
            },
            {
              "description": "Applied when the slider is invalid and the user has sufficiently interacted with it.",
              "name": "user-invalid"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Ranges allow the user to select a single value within a given range using a slider.",
          "jsDoc": "/**\n * <ed-slider>\n *\n * @summary Ranges allow the user to select a single value within a given range using a slider.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/range\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('slider')\n *\n * @dependency ed-tooltip\n *\n * @slot label - The slider label. Alternatively, you can use the `label` attribute.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *  instead.\n * @slot reference - One or more reference labels to show visually below the slider.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart label - The element that contains the slider's label.\n * @csspart hint - The element that contains the slider's description.\n * @csspart slider - The focusable element with `role=\"slider\"`. Contains the track and reference slot.\n * @csspart track - The slider's track.\n * @csspart indicator - The colored indicator that shows from the start of the slider to the current value.\n * @csspart markers - The container that holds all the markers when `with-markers` is used.\n * @csspart marker - The individual markers that are shown when `with-markers` is used.\n * @csspart references - The container that holds references that get slotted in.\n * @csspart thumb - The slider's thumb.\n * @csspart thumb-min - The min value thumb in a range slider.\n * @csspart thumb-max - The max value thumb in a range slider.\n * @csspart tooltip - The tooltip, a `<ed-tooltip>` element.\n * @csspart tooltip__tooltip - The tooltip's `tooltip` part.\n * @csspart tooltip__content - The tooltip's `content` part.\n * @csspart tooltip__arrow - The tooltip's `arrow` part.\n *\n * @cssstate disabled - Applied when the slider is disabled.\n * @cssstate dragging - Applied when the slider is being dragged.\n * @cssstate focused - Applied when the slider has focus.\n * @cssstate user-valid - Applied when the slider is valid and the user has sufficiently interacted with it.\n * @cssstate user-invalid - Applied when the slider is invalid and the user has sufficiently interacted with it.\n *\n * @cssproperty [--track-size=0.5em] - The height or width of the slider's track.\n * @cssproperty [--marker-size=0.1875em] - The size of each individual marker.\n * @cssproperty [--thumb-size=1.24em] - The size of the thumb.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/range",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('slider')",
          "dependencies": [
            "ed-tooltip"
          ],
          "tagName": "ed-slider",
          "customElement": true,
          "modulePath": "components/slider/slider.js",
          "definitionPath": "components/slider/slider.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdSlider",
            "module": "components/slider/slider.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-slider",
          "declaration": {
            "name": "EdSlider",
            "module": "components/slider/slider.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/document-viewer/document-viewer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDocumentViewer",
          "cssProperties": [
            {
              "description": "The width of the thumbnail rail.",
              "name": "--ed-document-viewer-rail-width",
              "default": "6rem"
            }
          ],
          "cssParts": [
            {
              "description": "The top toolbar.",
              "name": "toolbar"
            },
            {
              "description": "The page navigation group.",
              "name": "pagination"
            },
            {
              "description": "Each toolbar icon button.",
              "name": "button"
            },
            {
              "description": "The container for the `actions` slot.",
              "name": "actions"
            },
            {
              "description": "The thumbnail rail (a listbox).",
              "name": "rail"
            },
            {
              "description": "Each page thumbnail (an `ed-page-thumbnail`).",
              "name": "thumbnail"
            },
            {
              "description": "The page render area.",
              "name": "canvas"
            },
            {
              "description": "A rendered page `<img>` (or the per-page error placeholder).",
              "name": "page"
            },
            {
              "description": "The load-error container.",
              "name": "error"
            }
          ],
          "slots": [
            {
              "description": "Extra buttons at the end of the toolbar (e.g. download, print).",
              "name": "actions"
            },
            {
              "description": "Overrides the localized message shown when the current page cannot be loaded.",
              "name": "error"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "pages",
              "type": {
                "text": "DocumentViewerPage[]"
              },
              "default": "[]",
              "description": "The pages to display. Each page provides a full-resolution `src` and, optionally, a `thumbnail`,\n`label`, and `rotation` (0/90/180/270, applied to both the canvas and the rail thumbnail)."
            },
            {
              "kind": "field",
              "name": "page",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The current page, 1-based.",
              "attribute": "page",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "view",
              "type": {
                "text": "DocumentViewerView"
              },
              "default": "'single'",
              "description": "How the canvas lays out pages.",
              "attribute": "view",
              "reflects": true,
              "parsedType": {
                "text": "'single' | 'continuous'"
              }
            },
            {
              "kind": "field",
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The zoom factor relative to the fit-to-viewport size: `1` (100%) fits the whole page in the\ncanvas (as large as possible), and larger values zoom into it. Rescales as the canvas resizes.",
              "attribute": "zoom",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fit",
              "type": {
                "text": "DocumentViewerFit"
              },
              "default": "null",
              "description": "The fit preset, or `null` while the user is in manual zoom.",
              "attribute": "fit",
              "reflects": true,
              "parsedType": {
                "text": "null | 'width' | 'height'"
              }
            },
            {
              "kind": "field",
              "name": "erroredPages",
              "privacy": "private",
              "default": "new Set<number>()"
            },
            {
              "kind": "field",
              "name": "naturalSizes",
              "type": {
                "text": "Record<number, { width: number; height: number }>"
              },
              "privacy": "private",
              "default": "{}",
              "description": "Natural pixel size per page index — scanned documents routinely mix page dimensions, so a\nsingle shared size would let every loaded page overwrite the scale baseline of the others."
            },
            {
              "kind": "field",
              "name": "rotationOverrides",
              "type": {
                "text": "Record<number, DocumentViewerRotation>"
              },
              "privacy": "private",
              "default": "{}",
              "description": "Viewer-internal rotation per page index, set by the rotate buttons. The viewer applies it itself\nand never mutates the consumer's pages[].rotation; each change is reported via `ed-rotate` so a\nconsumer can persist it. Reset when `pages` changes."
            },
            {
              "kind": "field",
              "name": "canvas",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "canvasWidth",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "canvasHeight",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "focusActiveThumbnail",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "scrollingToPage",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "pageChangeFromScroll",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "scrollRaf",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new ResizeObserver(() => { this.canvasWidth = this.canvas?.clientWidth ?? 0; this.canvasHeight = this.canvas?.clientHeight ?? 0; if (this.fit) this.applyFit(this.fit); // Zoom is relative to the contain scale, which depends on the canvas size — re-render to rescale. this.requestUpdate(); })"
            },
            {
              "kind": "field",
              "name": "total",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "hasPages",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "currentPage",
              "type": {
                "text": "DocumentViewerPage | undefined"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "effectiveRotation",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "DocumentViewerRotation"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "The rotation actually shown for a page: a viewer-internal override (the rotate buttons) wins over\nthe page's own rotation. Overrides never mutate pages[].rotation."
            },
            {
              "kind": "method",
              "name": "rotateCurrentPage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "direction",
                  "type": {
                    "text": "1 | -1"
                  }
                }
              ],
              "description": "Rotates the current page 90 degrees within the viewer (pages[].rotation is left untouched) and\nreports the new rotation via `ed-rotate` so a consumer can persist it."
            },
            {
              "kind": "method",
              "name": "visualSize",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ width: number; height: number }"
                }
              },
              "parameters": [
                {
                  "name": "rotation",
                  "type": {
                    "text": "DocumentViewerRotation"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "A page's on-screen size for a given rotation (a 90/270 page presents its height as width)."
            },
            {
              "kind": "field",
              "name": "fitReference",
              "type": {
                "text": "{ width: number; height: number }"
              },
              "privacy": "private",
              "description": "The page footprint that zoom = 1 (100%) fits. Single mode fits the current page; continuous mode\nfits the largest footprint across all pages, so every page shares one render scale — fit and zoom\nstay consistent regardless of rotation mix, and scrolling (which moves the current page) never\nresizes pages.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "containScaleFor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "size",
                  "type": {
                    "text": "{ width: number; height: number }"
                  }
                }
              ],
              "description": "Scale at which a footprint just fits the canvas."
            },
            {
              "kind": "field",
              "name": "renderScale",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "description": "The linear scale applied to every page; relative to fitReference, so 100% always fits it.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "applyFit",
              "privacy": "private",
              "parameters": [
                {
                  "name": "mode",
                  "type": {
                    "text": "DocumentViewerFit"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "scrollCanvasToPage",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "goToPage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setZoom",
              "privacy": "private",
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setFit",
              "privacy": "private",
              "parameters": [
                {
                  "name": "mode",
                  "type": {
                    "text": "Exclude<DocumentViewerFit, null>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setView",
              "privacy": "private",
              "parameters": [
                {
                  "name": "view",
                  "type": {
                    "text": "DocumentViewerView"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleCanvasScroll",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "syncPageFromScroll",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleSliderInput",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handlePageError",
              "privacy": "private",
              "parameters": [
                {
                  "name": "number",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handlePageLoad",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "handleRailKeyDown",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "renderToolbarButton",
              "privacy": "private",
              "parameters": [
                {
                  "name": "icon",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "label",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "disabled",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "onClick",
                  "type": {
                    "text": "() => void"
                  }
                },
                {
                  "name": "active",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderError",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderPage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "page",
                  "type": {
                    "text": "DocumentViewerPage"
                  }
                },
                {
                  "name": "number",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "scale",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderCanvas",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ page: number }"
              },
              "description": "Emitted when the current page changes.",
              "name": "ed-page-change",
              "reactName": "onEdPageChange",
              "eventName": "EdPageChangeEvent"
            },
            {
              "type": {
                "text": "{ zoom: number }"
              },
              "description": "Emitted when the zoom factor changes.",
              "name": "ed-zoom-change",
              "reactName": "onEdZoomChange",
              "eventName": "EdZoomChangeEvent"
            },
            {
              "type": {
                "text": "{ view: 'single' | 'continuous' }"
              },
              "description": "Emitted when the view mode changes.",
              "name": "ed-view-change",
              "reactName": "onEdViewChange",
              "eventName": "EdViewChangeEvent"
            },
            {
              "type": {
                "text": "{ page: number, rotation: DocumentViewerRotation }"
              },
              "description": "Emitted when the user rotates the current page with the toolbar buttons. The viewer applies the rotation itself; a consumer may listen to persist it back into `pages`.",
              "name": "ed-rotate",
              "parsedType": {
                "text": "{ page: number, rotation: 0 | 90 | 180 | 270 }"
              },
              "reactName": "onEdRotate",
              "eventName": "EdRotateEvent"
            }
          ],
          "attributes": [
            {
              "name": "page",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The current page, 1-based.",
              "fieldName": "page"
            },
            {
              "name": "view",
              "type": {
                "text": "DocumentViewerView"
              },
              "default": "'single'",
              "description": "How the canvas lays out pages.",
              "fieldName": "view",
              "parsedType": {
                "text": "'single' | 'continuous'"
              }
            },
            {
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The zoom factor relative to the fit-to-viewport size: `1` (100%) fits the whole page in the\ncanvas (as large as possible), and larger values zoom into it. Rescales as the canvas resizes.",
              "fieldName": "zoom"
            },
            {
              "name": "fit",
              "type": {
                "text": "DocumentViewerFit"
              },
              "default": "null",
              "description": "The fit preset, or `null` while the user is in manual zoom.",
              "fieldName": "fit",
              "parsedType": {
                "text": "null | 'width' | 'height'"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A document viewer — a dark toolbar (pagination, view-mode, zoom), a thumbnail rail, and a page canvas. The consumer supplies rendered page images.",
          "jsDoc": "/**\n * @summary A document viewer — a dark toolbar (pagination, view-mode, zoom), a thumbnail rail, and a page canvas. The consumer supplies rendered page images.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/document-viewer\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('listbox')\n *\n * @dependency ed-icon\n * @dependency ed-page-thumbnail\n * @dependency ed-slider\n * @dependency ed-tooltip\n *\n * @slot actions - Extra buttons at the end of the toolbar (e.g. download, print).\n * @slot error - Overrides the localized message shown when the current page cannot be loaded.\n *\n * @event {{ page: number }} ed-page-change - Emitted when the current page changes.\n * @event {{ zoom: number }} ed-zoom-change - Emitted when the zoom factor changes.\n * @event {{ view: 'single' | 'continuous' }} ed-view-change - Emitted when the view mode changes.\n * @event {{ page: number, rotation: DocumentViewerRotation }} ed-rotate - Emitted when the user rotates the current page with the toolbar buttons. The\n *        viewer applies the rotation itself; a consumer may listen to persist it back into `pages`.\n *\n * @csspart toolbar - The top toolbar.\n * @csspart pagination - The page navigation group.\n * @csspart button - Each toolbar icon button.\n * @csspart actions - The container for the `actions` slot.\n * @csspart rail - The thumbnail rail (a listbox).\n * @csspart thumbnail - Each page thumbnail (an `ed-page-thumbnail`).\n * @csspart canvas - The page render area.\n * @csspart page - A rendered page `<img>` (or the per-page error placeholder).\n * @csspart error - The load-error container.\n *\n * @cssproperty [--ed-document-viewer-rail-width=6rem] - The width of the thumbnail rail.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/document-viewer",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('listbox')",
          "dependencies": [
            "ed-icon",
            "ed-page-thumbnail",
            "ed-slider",
            "ed-tooltip"
          ],
          "tagName": "ed-document-viewer",
          "customElement": true,
          "modulePath": "components/document-viewer/document-viewer.js",
          "definitionPath": "components/document-viewer/document-viewer.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDocumentViewer",
            "module": "components/document-viewer/document-viewer.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-document-viewer",
          "declaration": {
            "name": "EdDocumentViewer",
            "module": "components/document-viewer/document-viewer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dropdown-item/dropdown-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDropdownItem",
          "cssParts": [
            {
              "description": "The checkbox indicator (an `<ed-checkbox>` element) when the item is a checkbox.",
              "name": "checkbox"
            },
            {
              "description": "The container for the icon slot.",
              "name": "icon"
            },
            {
              "description": "The container for the label slot.",
              "name": "label"
            },
            {
              "description": "The container for the details slot.",
              "name": "details"
            },
            {
              "description": "The submenu indicator icon (a `<ed-icon>` element).",
              "name": "submenu-icon"
            },
            {
              "description": "The submenu container.",
              "name": "submenu"
            }
          ],
          "slots": [
            {
              "description": "The dropdown item's label.",
              "name": ""
            },
            {
              "description": "An optional icon to display before the label.",
              "name": "icon"
            },
            {
              "description": "Additional content or details to display after the label.",
              "name": "details"
            },
            {
              "description": "Submenu items, typically `<ed-dropdown-item>` elements, to create a nested menu.",
              "name": "submenu"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'icon', 'details', 'submenu')"
            },
            {
              "kind": "field",
              "name": "labelElement",
              "type": {
                "text": "HTMLSpanElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "submenuElement",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "An optional value for the menu item. This is useful for determining which item was selected when listening to the\ndropdown's `ed-select` event.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'normal' | 'checkbox'"
              },
              "default": "'normal'",
              "description": "Set to `checkbox` to make the item a checkbox.",
              "attribute": "type",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set to true to check the dropdown item. Only valid when `type` is `checkbox`.",
              "attribute": "checked"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the dropdown item.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "submenuOpen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the submenu is currently open.",
              "attribute": "submenuOpen",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateHasSubmenuState",
              "privacy": "private",
              "description": "Update the has-submenu custom state"
            },
            {
              "kind": "method",
              "name": "openSubmenu",
              "description": "Opens the submenu.",
              "type": {
                "text": "openSubmenu() => void"
              }
            },
            {
              "kind": "method",
              "name": "notifyParentOfOpening",
              "privacy": "private",
              "description": "Notifies the parent dropdown that this item is opening its submenu"
            },
            {
              "kind": "method",
              "name": "closeSubmenu",
              "description": "Closes the submenu.",
              "type": {
                "text": "closeSubmenu() => void"
              }
            },
            {
              "kind": "method",
              "name": "getSubmenuItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDropdownItem[]"
                }
              },
              "description": "Gets all dropdown items in the submenu."
            },
            {
              "kind": "field",
              "name": "handleHostClick",
              "privacy": "private",
              "description": "Prevents click events from firing on the host when the item is disabled (e.g. programmatic .click() calls)."
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private",
              "description": "Prevents click events from firing when the item is disabled."
            },
            {
              "kind": "field",
              "name": "handleLabelSlotChange",
              "privacy": "private",
              "description": "Syncs the label text to the data-label attribute for the bold-width reservation trick."
            },
            {
              "kind": "field",
              "name": "handleMouseEnter",
              "privacy": "private",
              "description": "Handles mouse enter to open the submenu"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the dropdown item loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the dropdown item gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "An optional value for the menu item. This is useful for determining which item was selected when listening to the\ndropdown's `ed-select` event.",
              "fieldName": "value"
            },
            {
              "name": "type",
              "type": {
                "text": "'normal' | 'checkbox'"
              },
              "default": "'normal'",
              "description": "Set to `checkbox` to make the item a checkbox.",
              "fieldName": "type"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set to true to check the dropdown item. Only valid when `type` is `checkbox`.",
              "fieldName": "checked"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the dropdown item.",
              "fieldName": "disabled"
            },
            {
              "name": "submenuOpen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the submenu is currently open.",
              "fieldName": "submenuOpen"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Represents an individual item within a dropdown menu, supporting standard items, checkboxes, and submenus.",
          "jsDoc": "/**\n * @summary Represents an individual item within a dropdown menu, supporting standard items, checkboxes, and submenus.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/dropdown-item\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('menuitem', { name: '…' })\n *\n * @dependency ed-checkbox\n * @dependency ed-icon\n *\n * @event blur - Emitted when the dropdown item loses focus.\n * @event focus - Emitted when the dropdown item gains focus.\n *\n * @slot - The dropdown item's label.\n * @slot icon - An optional icon to display before the label.\n * @slot details - Additional content or details to display after the label.\n * @slot submenu - Submenu items, typically `<ed-dropdown-item>` elements, to create a nested menu.\n *\n * @csspart checkbox - The checkbox indicator (an `<ed-checkbox>` element) when the item is a checkbox.\n * @csspart icon - The container for the icon slot.\n * @csspart label - The container for the label slot.\n * @csspart details - The container for the details slot.\n * @csspart submenu-icon - The submenu indicator icon (a `<ed-icon>` element).\n * @csspart submenu - The submenu container.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/dropdown-item",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('menuitem', { name: '…' })",
          "dependencies": [
            "ed-checkbox",
            "ed-icon"
          ],
          "tagName": "ed-dropdown-item",
          "customElement": true,
          "modulePath": "components/dropdown-item/dropdown-item.js",
          "definitionPath": "components/dropdown-item/dropdown-item.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDropdownItem",
            "module": "components/dropdown-item/dropdown-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-dropdown-item",
          "declaration": {
            "name": "EdDropdownItem",
            "module": "components/dropdown-item/dropdown-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dropdown/dropdown.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdDropdown",
          "cssProperties": [
            {
              "description": "The duration of the show animation.",
              "name": "--show-duration"
            },
            {
              "description": "The duration of the hide animation.",
              "name": "--hide-duration"
            }
          ],
          "cssParts": [
            {
              "description": "The component's host element.",
              "name": "base"
            },
            {
              "description": "The dropdown menu container.",
              "name": "menu"
            }
          ],
          "slots": [
            {
              "description": "The dropdown's items, typically `<ed-dropdown-item>` elements.",
              "name": ""
            },
            {
              "description": "The element that triggers the dropdown, such as a `<ed-button>` or `<button>`.",
              "name": "trigger"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submenuCleanups",
              "type": {
                "text": "Map<EdDropdownItem, ReturnType<typeof autoUpdate>>"
              },
              "privacy": "private",
              "default": "new Map()"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "userTypedQuery",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "userTypedTimeout",
              "type": {
                "text": "ReturnType<typeof setTimeout>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "openSubmenuStack",
              "type": {
                "text": "EdDropdownItem[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "menu",
              "type": {
                "text": "HTMLDivElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "EdPopup"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Opens or closes the dropdown.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'bottom-start'",
              "description": "The placement of the dropdown menu in reference to the trigger. The menu will shift to a more optimal location if\nthe preferred placement doesn't have enough room.",
              "attribute": "placement",
              "reflects": true,
              "parsedType": {
                "text": "'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end'"
              }
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance of the dropdown menu from its trigger.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The offset of the dropdown menu along its trigger.",
              "attribute": "skidding"
            },
            {
              "kind": "method",
              "name": "getItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDropdownItem[]"
                }
              },
              "parameters": [
                {
                  "name": "includeDisabled",
                  "default": "false"
                }
              ],
              "description": "Gets all dropdown items slotted in the menu."
            },
            {
              "kind": "method",
              "name": "getSubmenuItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDropdownItem[]"
                }
              },
              "parameters": [
                {
                  "name": "parentItem",
                  "type": {
                    "text": "EdDropdownItem"
                  }
                },
                {
                  "name": "includeDisabled",
                  "default": "false"
                }
              ],
              "description": "Gets all dropdown items in a specific submenu."
            },
            {
              "kind": "method",
              "name": "addToSubmenuStack",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "EdDropdownItem"
                  }
                }
              ],
              "description": "Handles the submenu navigation stack"
            },
            {
              "kind": "method",
              "name": "removeFromSubmenuStack",
              "privacy": "private",
              "description": "Removes the last item from the submenu stack"
            },
            {
              "kind": "method",
              "name": "getCurrentSubmenuItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdDropdownItem | undefined"
                }
              },
              "description": "Gets the current active submenu item"
            },
            {
              "kind": "method",
              "name": "closeAllSubmenus",
              "privacy": "private",
              "description": "Closes all submenus in the dropdown."
            },
            {
              "kind": "method",
              "name": "closeSiblingSubmenus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "EdDropdownItem"
                  }
                }
              ],
              "description": "Closes sibling submenus at the same level as the specified item."
            },
            {
              "kind": "method",
              "name": "getTrigger",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLButtonElement | EdButton | null"
                }
              },
              "description": "Get the slotted trigger button, a <ed-button> or <button> element"
            },
            {
              "kind": "method",
              "name": "showMenu",
              "privacy": "private",
              "description": "Shows the dropdown menu. This should only be called from within updated()."
            },
            {
              "kind": "method",
              "name": "hideMenu",
              "privacy": "private",
              "description": "Hides the dropdown menu. This should only be called from within updated()."
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private",
              "description": "Handles key down events when the menu is open"
            },
            {
              "kind": "field",
              "name": "handleDocumentPointerDown",
              "privacy": "private",
              "description": "Handles pointer down events when the dropdown is open."
            },
            {
              "kind": "method",
              "name": "handleMenuClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "description": "Handles clicks on the menu."
            },
            {
              "kind": "method",
              "name": "handleMenuSlotChange",
              "privacy": "private",
              "description": "Prepares dropdown items when they get added or removed"
            },
            {
              "kind": "method",
              "name": "handleTriggerClick",
              "privacy": "private",
              "description": "Toggles the dropdown menu"
            },
            {
              "kind": "field",
              "name": "handleTriggerKeyDown",
              "privacy": "private",
              "description": "Opens the menu from the closed trigger via keyboard (WAI-ARIA menu-button pattern). While the menu\nis open, key handling belongs to handleDocumentKeyDown. Enter/Space already open it through the\nnative button click, so only the arrow keys need handling here."
            },
            {
              "kind": "method",
              "name": "handleSubmenuOpening",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "CustomEvent"
                  }
                }
              ],
              "description": "Handles submenu opening events"
            },
            {
              "kind": "method",
              "name": "setupSubmenuPosition",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "EdDropdownItem"
                  }
                }
              ],
              "description": "Sets up submenu positioning with autoUpdate"
            },
            {
              "kind": "method",
              "name": "cleanupSubmenuPosition",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "EdDropdownItem"
                  }
                }
              ],
              "description": "Cleans up submenu positioning"
            },
            {
              "kind": "method",
              "name": "positionSubmenu",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "EdDropdownItem"
                  }
                }
              ],
              "description": "Positions a submenu relative to its parent item"
            },
            {
              "kind": "method",
              "name": "updateSafeTriangleCoordinates",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "EdDropdownItem"
                  }
                }
              ],
              "description": "Updates the safe triangle coordinates for a submenu"
            },
            {
              "kind": "field",
              "name": "handleGlobalMouseMove",
              "privacy": "private",
              "description": "Handle global mouse movement for safe triangle logic"
            },
            {
              "kind": "method",
              "name": "makeSelection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "EdDropdownItem"
                  }
                }
              ],
              "description": "Makes a selection, emits the ed-select event, and closes the dropdown."
            },
            {
              "kind": "method",
              "name": "syncAriaAttributes",
              "privacy": "private",
              "description": "Syncs aria attributes on the slotted trigger element and the menu based on the dropdown's current state"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the dropdown is about to show.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the dropdown has been shown.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the dropdown is about to hide.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the dropdown has been hidden.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            },
            {
              "type": {
                "text": "{ item: Element }"
              },
              "description": "Emitted when an item in the dropdown is selected.",
              "name": "ed-select",
              "reactName": "onEdSelect",
              "eventName": "EdSelectEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Opens or closes the dropdown.",
              "fieldName": "open"
            },
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'bottom-start'",
              "description": "The placement of the dropdown menu in reference to the trigger. The menu will shift to a more optimal location if\nthe preferred placement doesn't have enough room.",
              "fieldName": "placement",
              "parsedType": {
                "text": "'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'right' | 'right-start' | 'right-end' | 'left' | 'left-start' | 'left-end'"
              }
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance of the dropdown menu from its trigger.",
              "fieldName": "distance"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The offset of the dropdown menu along its trigger.",
              "fieldName": "skidding"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Dropdowns display a list of options that can be triggered by a button or other element. They support\nkeyboard navigation, submenus, and various customization options.",
          "jsDoc": "/**\n * @summary Dropdowns display a list of options that can be triggered by a button or other element. They support\n *  keyboard navigation, submenus, and various customization options.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/dropdown\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('menu')\n *\n * @dependency ed-dropdown-item\n * @dependency ed-popup\n *\n * @event ed-show - Emitted when the dropdown is about to show.\n * @event ed-after-show - Emitted after the dropdown has been shown.\n * @event ed-hide - Emitted when the dropdown is about to hide.\n * @event ed-after-hide - Emitted after the dropdown has been hidden.\n * @event {{ item: Element }} ed-select - Emitted when an item in the dropdown is selected.\n *\n * @slot - The dropdown's items, typically `<ed-dropdown-item>` elements.\n * @slot trigger - The element that triggers the dropdown, such as a `<ed-button>` or `<button>`.\n *\n * @csspart base - The component's host element.\n * @csspart menu - The dropdown menu container.\n *\n * @cssproperty --show-duration - The duration of the show animation.\n * @cssproperty --hide-duration - The duration of the hide animation.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/dropdown",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('menu')",
          "dependencies": [
            "ed-dropdown-item",
            "ed-popup"
          ],
          "tagName": "ed-dropdown",
          "customElement": true,
          "modulePath": "components/dropdown/dropdown.js",
          "definitionPath": "components/dropdown/dropdown.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdDropdown",
            "module": "components/dropdown/dropdown.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-dropdown",
          "declaration": {
            "name": "EdDropdown",
            "module": "components/dropdown/dropdown.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/file-input/file-input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdFileInput",
          "cssParts": [
            {
              "description": "The label.",
              "name": "label"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            },
            {
              "description": "The component wrapper.",
              "name": "base"
            },
            {
              "description": "The drag & drop area.",
              "name": "dropzone"
            },
            {
              "description": "The file list.",
              "name": "list"
            },
            {
              "description": "A single file row.",
              "name": "file"
            },
            {
              "description": "A file row's name.",
              "name": "file-name"
            },
            {
              "description": "A file row's size.",
              "name": "file-size"
            },
            {
              "description": "A file row's action buttons.",
              "name": "file-actions"
            },
            {
              "description": "A rejected row's reason text.",
              "name": "file-reason"
            }
          ],
          "slots": [
            {
              "description": "The file input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the file input. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['change']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow selecting/dropping more than one file. Mirrors the native input's `multiple`.",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "accept",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Comma-separated list of accepted types (extensions and/or MIME types), like the native `accept`.",
              "attribute": "accept"
            },
            {
              "kind": "field",
              "name": "maxFiles",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "Maximum number of files (multiple mode only).",
              "attribute": "max-files"
            },
            {
              "kind": "field",
              "name": "maxFileSize",
              "default": "2048",
              "description": "Maximum size per file in MB (capped at 2048).",
              "attribute": "max-file-size",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "maxTotalFileSize",
              "default": "2048",
              "description": "Maximum total size of all selected files in MB (capped at 2048).",
              "attribute": "max-total-file-size",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The file input's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\n`role=\"group\"` wrapper — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech. (The trigger button keeps its own action name;\nsee backlog #51 for folding the consumer label into it.)",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the file input a required field: at least one file must be selected.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup\nincludes the label before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "File[]"
              },
              "default": "[]",
              "description": "The selected files, submitted as one `FormData` entry per file under `name`. An empty array means no\nselection. Setting this directly also repopulates the visible chip list (see `handleValueChange`), but does\nnot run `accept`/size validation — it is meant for restoring an already-known-good selection, not for\nfeeding it untrusted input.\n\nThe native \"restore form state\" flow (`formStateRestoreCallback`, browser back/forward cache or crash\nrecovery) cannot repopulate this: browsers never rehydrate `File` objects for `<input type=\"file\">` for\nsecurity reasons, and the same restriction applies here."
            },
            {
              "kind": "field",
              "name": "files",
              "type": {
                "text": "File[]"
              },
              "description": "The selected files. Convenience alias for `value`, matching `ed-upload`'s `files` getter.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "picker",
              "privacy": "private",
              "readonly": true,
              "default": "new FilePickerController(this, { multiple: () => this.multiple, accept: () => this.accept, maxFiles: () => this.maxFiles, maxFileSizeMb: () => this.maxPerFileMb, maxTotalFileSizeMb: () => this.maxTotalMb, disabled: () => this.disabled, onChange: () => this.handleSelectionChange(), onReject: (file, reason) => this.handleReject(file, reason) })"
            },
            {
              "kind": "field",
              "name": "maxPerFileMb",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "maxTotalMb",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "isResetting",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set for the duration of `formResetCallback` so `handleSelectionChange` (invoked synchronously\nby `picker.clear()`) knows the value it is about to mirror is a reset, not a user selection,\nand skips the public event."
            },
            {
              "kind": "method",
              "name": "triggerFileSelect",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSelectionChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleValueChange",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Mirrors an externally assigned `value` (e.g. `el.value = […]`) into the picker's visible chip\nlist. Guarded against the picker→value round trip: `handleSelectionChange` above derives\n`value` from `picker.files` on every real selection change, so by the time this watcher runs,\nan internally-driven `value` already equals `picker.files` — `sameFiles` catches that and\nskips, which is what breaks the value → picker.setFiles → (would-be) onChange → value loop.\n`picker.setFiles` never fires `onChange` anyway (see its own doc comment), so even without this\nguard there is no infinite loop — but without it every real selection would immediately (and\npointlessly) re-run through `setFiles` a second time.",
              "type": {
                "text": "handleValueChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleReject",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "File"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "RejectReason"
                  }
                }
              ],
              "description": "Surfaces a rejection reported by the picker. Content rejections (wrong type, too large, total exceeded)\nalready got a persistent row from the picker. List-state rejections (duplicate, too many) have no specific\nfile to show a row for, so they get a danger toast instead — which stays until dismissed and stacks, instead\nof overwriting an inline message."
            },
            {
              "kind": "method",
              "name": "rejectMessage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "File"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "RejectReason"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "formatSize",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "bytes",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderDropZone",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderFileRow",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "{ file: File; name: string; size: number; reason?: RejectReason }"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderList",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ files: File[] }"
              },
              "description": "Emitted whenever the selection changes (a file is added or removed).",
              "name": "ed-file-input-change",
              "reactName": "onEdFileInputChange",
              "eventName": "EdFileInputChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow selecting/dropping more than one file. Mirrors the native input's `multiple`.",
              "fieldName": "multiple"
            },
            {
              "name": "accept",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Comma-separated list of accepted types (extensions and/or MIME types), like the native `accept`.",
              "fieldName": "accept"
            },
            {
              "name": "max-files",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "Maximum number of files (multiple mode only).",
              "fieldName": "maxFiles"
            },
            {
              "name": "max-file-size",
              "default": "MAX_SIZE_MB",
              "description": "Maximum size per file in MB (capped at 2048).",
              "fieldName": "maxFileSize"
            },
            {
              "name": "max-total-file-size",
              "default": "MAX_SIZE_MB",
              "description": "Maximum total size of all selected files in MB (capped at 2048).",
              "fieldName": "maxTotalFileSize"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The file input's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\n`role=\"group\"` wrapper — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech. (The trigger button keeps its own action name;\nsee backlog #51 for folding the consumer label into it.)",
              "fieldName": "ariaLabel"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the file input a required field: at least one file must be selected.",
              "fieldName": "required"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup\nincludes the label before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "File inputs let users pick one or more files from their device to submit with a form — no upload.",
          "jsDoc": "/**\n * @summary File inputs let users pick one or more files from their device to submit with a form — no upload.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/file-input\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('button')\n *\n * @dependency ed-button\n * @dependency ed-icon\n *\n * @slot label - The file input's label. Alternatively, you can use the `label` attribute.\n * @slot hint - Text that describes how to use the file input. Alternatively, you can use the `hint` attribute.\n *\n * @event {{ files: File[] }} ed-file-input-change - Emitted whenever the selection changes (a file is added or removed).\n *\n * @csspart label - The label.\n * @csspart hint - The hint's wrapper.\n * @csspart base - The component wrapper.\n * @csspart dropzone - The drag & drop area.\n * @csspart list - The file list.\n * @csspart file - A single file row.\n * @csspart file-name - A file row's name.\n * @csspart file-size - A file row's size.\n * @csspart file-actions - A file row's action buttons.\n * @csspart file-reason - A rejected row's reason text.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/file-input",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('button')",
          "dependencies": [
            "ed-button",
            "ed-icon"
          ],
          "tagName": "ed-file-input",
          "customElement": true,
          "modulePath": "components/file-input/file-input.js",
          "definitionPath": "components/file-input/file-input.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdFileInput",
            "module": "components/file-input/file-input.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-file-input",
          "declaration": {
            "name": "EdFileInput",
            "module": "components/file-input/file-input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/format-bytes/format-bytes.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdFormatBytes",
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number to format in bytes.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "unit",
              "type": {
                "text": "'byte' | 'bit'"
              },
              "default": "'byte'",
              "description": "The type of unit to display.",
              "attribute": "unit"
            },
            {
              "kind": "field",
              "name": "display",
              "type": {
                "text": "'long' | 'short' | 'narrow'"
              },
              "default": "'short'",
              "description": "Determines how to display the result, e.g. \"100 bytes\", \"100 b\", or \"100b\".",
              "attribute": "display"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number to format in bytes.",
              "fieldName": "value"
            },
            {
              "name": "unit",
              "type": {
                "text": "'byte' | 'bit'"
              },
              "default": "'byte'",
              "description": "The type of unit to display.",
              "fieldName": "unit"
            },
            {
              "name": "display",
              "type": {
                "text": "'long' | 'short' | 'narrow'"
              },
              "default": "'short'",
              "description": "Determines how to display the result, e.g. \"100 bytes\", \"100 b\", or \"100b\".",
              "fieldName": "display"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Formats a number as a human readable bytes value.",
          "jsDoc": "/**\n * @summary Formats a number as a human readable bytes value.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/format-bytes\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/format-bytes",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-format-bytes",
          "customElement": true,
          "modulePath": "components/format-bytes/format-bytes.js",
          "definitionPath": "components/format-bytes/format-bytes.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": [],
          "events": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdFormatBytes",
            "module": "components/format-bytes/format-bytes.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-format-bytes",
          "declaration": {
            "name": "EdFormatBytes",
            "module": "components/format-bytes/format-bytes.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/format-date/format-date.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdFormatDate",
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "date",
              "type": {
                "text": "Date | string"
              },
              "default": "new Date()",
              "description": "The date/time to format. If not set, the current date and time will be used. When passing a string, it's strongly\nrecommended to use the ISO 8601 format to ensure timezones are handled correctly. To convert a date to this format\nin JavaScript, use [`date.toISOString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString).",
              "attribute": "date"
            },
            {
              "kind": "field",
              "name": "weekday",
              "type": {
                "text": "'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the weekday.",
              "attribute": "weekday"
            },
            {
              "kind": "field",
              "name": "era",
              "type": {
                "text": "'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the era.",
              "attribute": "era"
            },
            {
              "kind": "field",
              "name": "year",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the year.",
              "attribute": "year"
            },
            {
              "kind": "field",
              "name": "month",
              "type": {
                "text": "'numeric' | '2-digit' | 'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the month.",
              "attribute": "month"
            },
            {
              "kind": "field",
              "name": "day",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the day.",
              "attribute": "day"
            },
            {
              "kind": "field",
              "name": "hour",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the hour.",
              "attribute": "hour"
            },
            {
              "kind": "field",
              "name": "minute",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the minute.",
              "attribute": "minute"
            },
            {
              "kind": "field",
              "name": "second",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the second.",
              "attribute": "second"
            },
            {
              "kind": "field",
              "name": "timeZoneName",
              "type": {
                "text": "'short' | 'long'"
              },
              "description": "The format for displaying the time.",
              "attribute": "time-zone-name"
            },
            {
              "kind": "field",
              "name": "timeZone",
              "type": {
                "text": "string"
              },
              "description": "The time zone to express the time in.",
              "attribute": "time-zone"
            },
            {
              "kind": "field",
              "name": "hourFormat",
              "type": {
                "text": "'auto' | '12' | '24'"
              },
              "default": "'auto'",
              "description": "The format for displaying the hour.",
              "attribute": "hour-format"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "date",
              "type": {
                "text": "Date | string"
              },
              "default": "new Date()",
              "description": "The date/time to format. If not set, the current date and time will be used. When passing a string, it's strongly\nrecommended to use the ISO 8601 format to ensure timezones are handled correctly. To convert a date to this format\nin JavaScript, use [`date.toISOString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString).",
              "fieldName": "date"
            },
            {
              "name": "weekday",
              "type": {
                "text": "'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the weekday.",
              "fieldName": "weekday"
            },
            {
              "name": "era",
              "type": {
                "text": "'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the era.",
              "fieldName": "era"
            },
            {
              "name": "year",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the year.",
              "fieldName": "year"
            },
            {
              "name": "month",
              "type": {
                "text": "'numeric' | '2-digit' | 'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the month.",
              "fieldName": "month"
            },
            {
              "name": "day",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the day.",
              "fieldName": "day"
            },
            {
              "name": "hour",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the hour.",
              "fieldName": "hour"
            },
            {
              "name": "minute",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the minute.",
              "fieldName": "minute"
            },
            {
              "name": "second",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the second.",
              "fieldName": "second"
            },
            {
              "name": "time-zone-name",
              "type": {
                "text": "'short' | 'long'"
              },
              "description": "The format for displaying the time.",
              "fieldName": "timeZoneName"
            },
            {
              "name": "time-zone",
              "type": {
                "text": "string"
              },
              "description": "The time zone to express the time in.",
              "fieldName": "timeZone"
            },
            {
              "name": "hour-format",
              "type": {
                "text": "'auto' | '12' | '24'"
              },
              "default": "'auto'",
              "description": "The format for displaying the hour.",
              "fieldName": "hourFormat"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Formats a date/time using the specified locale and options.",
          "jsDoc": "/**\n * @summary Formats a date/time using the specified locale and options.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/format-date\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/format-date",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-format-date",
          "customElement": true,
          "modulePath": "components/format-date/format-date.js",
          "definitionPath": "components/format-date/format-date.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": [],
          "events": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdFormatDate",
            "module": "components/format-date/format-date.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-format-date",
          "declaration": {
            "name": "EdFormatDate",
            "module": "components/format-date/format-date.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/format-number/format-number.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdFormatNumber",
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number to format.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'currency' | 'decimal' | 'percent'"
              },
              "default": "'decimal'",
              "description": "The formatting style to use.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "withoutGrouping",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Turns off grouping separators.",
              "attribute": "without-grouping"
            },
            {
              "kind": "field",
              "name": "currency",
              "type": {
                "text": "string"
              },
              "default": "'USD'",
              "description": "The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code to use when formatting.",
              "attribute": "currency"
            },
            {
              "kind": "field",
              "name": "currencyDisplay",
              "type": {
                "text": "'symbol' | 'narrowSymbol' | 'code' | 'name'"
              },
              "default": "'symbol'",
              "description": "How to display the currency.",
              "attribute": "currency-display"
            },
            {
              "kind": "field",
              "name": "minimumIntegerDigits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of integer digits to use. Possible values are 1-21.",
              "attribute": "minimum-integer-digits"
            },
            {
              "kind": "field",
              "name": "minimumFractionDigits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of fraction digits to use. Possible values are 0-100.",
              "attribute": "minimum-fraction-digits"
            },
            {
              "kind": "field",
              "name": "maximumFractionDigits",
              "type": {
                "text": "number"
              },
              "description": "The maximum number of fraction digits to use. Possible values are 0-100.",
              "attribute": "maximum-fraction-digits"
            },
            {
              "kind": "field",
              "name": "minimumSignificantDigits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of significant digits to use. Possible values are 1-21.",
              "attribute": "minimum-significant-digits"
            },
            {
              "kind": "field",
              "name": "maximumSignificantDigits",
              "type": {
                "text": "number"
              },
              "description": "The maximum number of significant digits to use. Possible values are 1-21.",
              "attribute": "maximum-significant-digits"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number to format.",
              "fieldName": "value"
            },
            {
              "name": "type",
              "type": {
                "text": "'currency' | 'decimal' | 'percent'"
              },
              "default": "'decimal'",
              "description": "The formatting style to use.",
              "fieldName": "type"
            },
            {
              "name": "without-grouping",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Turns off grouping separators.",
              "fieldName": "withoutGrouping"
            },
            {
              "name": "currency",
              "type": {
                "text": "string"
              },
              "default": "'USD'",
              "description": "The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code to use when formatting.",
              "fieldName": "currency"
            },
            {
              "name": "currency-display",
              "type": {
                "text": "'symbol' | 'narrowSymbol' | 'code' | 'name'"
              },
              "default": "'symbol'",
              "description": "How to display the currency.",
              "fieldName": "currencyDisplay"
            },
            {
              "name": "minimum-integer-digits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of integer digits to use. Possible values are 1-21.",
              "fieldName": "minimumIntegerDigits"
            },
            {
              "name": "minimum-fraction-digits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of fraction digits to use. Possible values are 0-100.",
              "fieldName": "minimumFractionDigits"
            },
            {
              "name": "maximum-fraction-digits",
              "type": {
                "text": "number"
              },
              "description": "The maximum number of fraction digits to use. Possible values are 0-100.",
              "fieldName": "maximumFractionDigits"
            },
            {
              "name": "minimum-significant-digits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of significant digits to use. Possible values are 1-21.",
              "fieldName": "minimumSignificantDigits"
            },
            {
              "name": "maximum-significant-digits",
              "type": {
                "text": "number"
              },
              "description": "The maximum number of significant digits to use. Possible values are 1-21.",
              "fieldName": "maximumSignificantDigits"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Formats a number using the specified locale and options.",
          "jsDoc": "/**\n * @summary Formats a number using the specified locale and options.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/format-number\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/format-number",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-format-number",
          "customElement": true,
          "modulePath": "components/format-number/format-number.js",
          "definitionPath": "components/format-number/format-number.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": [],
          "events": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdFormatNumber",
            "module": "components/format-number/format-number.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-format-number",
          "declaration": {
            "name": "EdFormatNumber",
            "module": "components/format-number/format-number.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/header/header.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdHeader",
          "cssParts": [
            {
              "description": "The wrapper around the default slot.",
              "name": "content"
            },
            {
              "description": "The wrapper around the `logo` slot.",
              "name": "logo"
            }
          ],
          "slots": [
            {
              "description": "The header's content (navigation, search, actions, etc.). Visually leading; use `margin-inline-start: auto` on a child to push it (and everything after it) to the right of the content row.",
              "name": ""
            },
            {
              "description": "The branding logo. Rendered first in the DOM (so assistive technologies reach the home link before the navigation) but visually trailing. Images and inline SVGs are sized to fit the header height automatically.",
              "name": "logo"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Headers provide a consistent app bar with a logo area and a content area for navigation, search, or actions.",
          "jsDoc": "/**\n * @summary Headers provide a consistent app bar with a logo area and a content area for navigation, search, or actions.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/header\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('banner')\n *\n * @slot - The header's content (navigation, search, actions, etc.). Visually leading; use `margin-inline-start: auto` on a child to push it (and everything after it) to the right of the content row.\n * @slot logo - The branding logo. Rendered first in the DOM (so assistive technologies reach the home link before the navigation) but visually trailing. Images and inline SVGs are sized to fit the header height automatically.\n *\n * @csspart content - The wrapper around the default slot.\n * @csspart logo - The wrapper around the `logo` slot.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/header",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('banner')",
          "tagName": "ed-header",
          "customElement": true,
          "attributes": [
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "modulePath": "components/header/header.js",
          "definitionPath": "components/header/header.js",
          "cssProperties": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdHeader",
            "module": "components/header/header.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-header",
          "declaration": {
            "name": "EdHeader",
            "module": "components/header/header.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/input/input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdInput",
          "cssParts": [
            {
              "description": "The label",
              "name": "label"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            },
            {
              "description": "The wrapper being rendered as an input",
              "name": "base"
            },
            {
              "description": "The internal `<input>` control.",
              "name": "input"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The password toggle button.",
              "name": "password-toggle-button"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            }
          ],
          "slots": [
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed at the start of the input control.",
              "name": "start"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed at the end of the input control.",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "An icon to use in lieu of the default show password icon.",
              "name": "show-password-icon"
            },
            {
              "description": "An icon to use in lieu of the default hide password icon.",
              "name": "hide-password-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'date' | 'datetime-local' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url'"
              },
              "default": "'text'",
              "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
              "attribute": "type",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the input, submitted as a name/value pair with form data."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The input's accessible name for when no visible label is set (e.g. an icon-only search\nfield). Mirrored onto the internal input, where the textbox role lives — an aria-label\nleft on the host alone would sit on a role-less element and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "attribute": "with-clear"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "passwordToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
              "attribute": "password-toggle"
            },
            {
              "kind": "field",
              "name": "passwordVisible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
              "attribute": "password-visible"
            },
            {
              "kind": "field",
              "name": "withoutSpinButtons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the browser's built-in increment/decrement spin buttons for number inputs.",
              "attribute": "without-spin-buttons",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "pattern",
              "type": {
                "text": "string"
              },
              "description": "A regular expression pattern to validate input against.",
              "attribute": "pattern"
            },
            {
              "kind": "field",
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "attribute": "minlength"
            },
            {
              "kind": "field",
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "attribute": "maxlength"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number | string"
              },
              "description": "The input's minimum value. Only applies to date and number input types.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number | string"
              },
              "description": "The input's maximum value. Only applies to date and number input types.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "attribute": "autocapitalize"
            },
            {
              "kind": "field",
              "name": "autocorrect",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off. When set as an attribute, use `\"off\"` or `\"on\"`.\nWhen set as a property, use `true` or `false`.",
              "attribute": "autocorrect"
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "attribute": "autocomplete"
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "attribute": "enterkeyhint"
            },
            {
              "kind": "field",
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the input.",
              "attribute": "spellcheck"
            },
            {
              "kind": "field",
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "attribute": "inputmode"
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "attribute": "with-hint"
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClearClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handlePasswordToggle",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleStepChange",
              "type": {
                "text": "handleStepChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the input.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the input.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "select",
              "description": "Selects all the text in the input.",
              "type": {
                "text": "select() => void"
              }
            },
            {
              "kind": "method",
              "name": "setSelectionRange",
              "parameters": [
                {
                  "name": "selectionStart",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionEnd",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionDirection",
                  "default": "'none'",
                  "type": {
                    "text": "'forward' | 'backward' | 'none'"
                  }
                }
              ],
              "description": "Sets the start and end positions of the text selection (0-based).",
              "type": {
                "text": "setSelectionRange(selectionStart: number, selectionEnd: number, selectionDirection: 'forward' | 'backward' | 'none' = 'none') => void"
              }
            },
            {
              "kind": "method",
              "name": "setRangeText",
              "parameters": [
                {
                  "name": "replacement",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "start",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "end",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectMode",
                  "default": "'preserve'",
                  "type": {
                    "text": "'select' | 'start' | 'end' | 'preserve'"
                  }
                }
              ],
              "description": "Replaces a range of text with a new string.",
              "type": {
                "text": "setRangeText(replacement: string, start?: number, end?: number, selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve') => void"
              }
            },
            {
              "kind": "method",
              "name": "showPicker",
              "description": "Displays the browser picker for an input element (only works if the browser supports it for the input type).",
              "type": {
                "text": "showPicker() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepUp",
              "description": "Increments the value of a numeric input type by the value of the step attribute.",
              "type": {
                "text": "stepUp() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepDown",
              "description": "Decrements the value of a numeric input type by the value of the step attribute.",
              "type": {
                "text": "stepDown() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "type",
              "type": {
                "text": "'date' | 'datetime-local' | 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url'"
              },
              "default": "'text'",
              "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
              "fieldName": "type"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The input's accessible name for when no visible label is set (e.g. an icon-only search\nfield). Mirrored onto the internal input, where the textbox role lives — an aria-label\nleft on the host alone would sit on a role-less element and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "fieldName": "withClear"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "password-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
              "fieldName": "passwordToggle"
            },
            {
              "name": "password-visible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
              "fieldName": "passwordVisible"
            },
            {
              "name": "without-spin-buttons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the browser's built-in increment/decrement spin buttons for number inputs.",
              "fieldName": "withoutSpinButtons"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "pattern",
              "type": {
                "text": "string"
              },
              "description": "A regular expression pattern to validate input against.",
              "fieldName": "pattern"
            },
            {
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "fieldName": "minlength"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "fieldName": "maxlength"
            },
            {
              "name": "min",
              "type": {
                "text": "number | string"
              },
              "description": "The input's minimum value. Only applies to date and number input types.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number | string"
              },
              "description": "The input's maximum value. Only applies to date and number input types.",
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
              "fieldName": "step"
            },
            {
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "fieldName": "autocapitalize"
            },
            {
              "name": "autocorrect",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off. When set as an attribute, use `\"off\"` or `\"on\"`.\nWhen set as a property, use `true` or `false`.",
              "fieldName": "autocorrect"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "fieldName": "autocomplete"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "fieldName": "enterkeyhint"
            },
            {
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the input.",
              "fieldName": "spellcheck"
            },
            {
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "fieldName": "inputmode"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "fieldName": "withHint"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The input is empty.",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Inputs collect data from the user.",
          "jsDoc": "/**\n * @summary Inputs collect data from the user.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/input\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('textbox')\n *\n * @dependency ed-icon\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot start - An element, such as `<ed-icon>`, placed at the start of the input control.\n * @slot end - An element, such as `<ed-icon>`, placed at the end of the input control.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot show-password-icon - An icon to use in lieu of the default show password icon.\n * @slot hide-password-icon - An icon to use in lieu of the default hide password icon.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input.\n * @event ed-clear - Emitted when the clear button is activated.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart label - The label\n * @csspart hint - The hint's wrapper.\n * @csspart base - The wrapper being rendered as an input\n * @csspart input - The internal `<input>` control.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart clear-button - The clear button.\n * @csspart password-toggle-button - The password toggle button.\n * @csspart end - The container that wraps the `end` slot.\n *\n * @cssstate blank - The input is empty.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/input",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('textbox')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-input",
          "customElement": true,
          "modulePath": "components/input/input.js",
          "definitionPath": "components/input/input.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdInput",
            "module": "components/input/input.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-input",
          "declaration": {
            "name": "EdInput",
            "module": "components/input/input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/intersection-observer/intersection-observer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdIntersectionObserver",
          "slots": [
            {
              "description": "Elements to track. Only immediate children of the host are monitored.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "intersectionObserver",
              "type": {
                "text": "IntersectionObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "observedElements",
              "privacy": "private",
              "default": "new Map<Element, boolean>()"
            },
            {
              "kind": "field",
              "name": "root",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Element ID to define the viewport boundaries for tracked targets.",
              "attribute": "root"
            },
            {
              "kind": "field",
              "name": "rootElement",
              "type": {
                "text": "Element | null | undefined"
              },
              "description": "Explicit root element, taking precedence over `root`. Use this when the root lives in another shadow DOM the selector can't reach."
            },
            {
              "kind": "field",
              "name": "rootMargin",
              "type": {
                "text": "string"
              },
              "default": "'0px'",
              "description": "Offset space around the root boundary. Accepts values like CSS margin syntax.",
              "attribute": "root-margin"
            },
            {
              "kind": "field",
              "name": "threshold",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "description": "One or more space-separated values representing visibility percentages that trigger the observer callback.",
              "attribute": "threshold"
            },
            {
              "kind": "field",
              "name": "intersectClass",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "CSS class applied to elements during intersection. Automatically removed when elements leave\nthe viewport, enabling pure CSS styling based on visibility state.",
              "attribute": "intersect-class"
            },
            {
              "kind": "field",
              "name": "once",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If enabled, observation ceases after initial intersection.",
              "attribute": "once",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Deactivates the intersection observer functionality.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "parseThreshold",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number[]"
                }
              },
              "description": "Converts threshold property string into numeric array."
            },
            {
              "kind": "method",
              "name": "resolveRoot",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Element | null"
                }
              },
              "description": "Locates and returns the root element using the specified ID."
            },
            {
              "kind": "method",
              "name": "startObserver",
              "privacy": "private",
              "description": "Initializes or reinitializes the intersection observer instance."
            },
            {
              "kind": "method",
              "name": "stopObserver",
              "privacy": "private",
              "description": "Halts the intersection observer and cleans up."
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOptionsChange",
              "type": {
                "text": "handleOptionsChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ entry: IntersectionObserverEntry }"
              },
              "description": "Fired when a tracked element begins or ceases intersecting.",
              "name": "ed-intersect",
              "reactName": "onEdIntersect",
              "eventName": "EdIntersectEvent"
            }
          ],
          "attributes": [
            {
              "name": "root",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Element ID to define the viewport boundaries for tracked targets.",
              "fieldName": "root"
            },
            {
              "name": "root-margin",
              "type": {
                "text": "string"
              },
              "default": "'0px'",
              "description": "Offset space around the root boundary. Accepts values like CSS margin syntax.",
              "fieldName": "rootMargin"
            },
            {
              "name": "threshold",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "description": "One or more space-separated values representing visibility percentages that trigger the observer callback.",
              "fieldName": "threshold"
            },
            {
              "name": "intersect-class",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "CSS class applied to elements during intersection. Automatically removed when elements leave\nthe viewport, enabling pure CSS styling based on visibility state.",
              "fieldName": "intersectClass"
            },
            {
              "name": "once",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If enabled, observation ceases after initial intersection.",
              "fieldName": "once"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Deactivates the intersection observer functionality.",
              "fieldName": "disabled"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Tracks immediate child elements and fires events as they move in and out of view.",
          "jsDoc": "/**\n * @summary Tracks immediate child elements and fires events as they move in and out of view.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/intersection-observer\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @slot - Elements to track. Only immediate children of the host are monitored.\n *\n * @event {{ entry: IntersectionObserverEntry }} ed-intersect - Fired when a tracked element begins or ceases intersecting.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/intersection-observer",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-intersection-observer",
          "customElement": true,
          "modulePath": "components/intersection-observer/intersection-observer.js",
          "definitionPath": "components/intersection-observer/intersection-observer.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdIntersectionObserver",
            "module": "components/intersection-observer/intersection-observer.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-intersection-observer",
          "declaration": {
            "name": "EdIntersectionObserver",
            "module": "components/intersection-observer/intersection-observer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/markdown/markdown.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdMarkdown",
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getMarked",
              "static": true,
              "return": {
                "type": {
                  "text": "Marked"
                }
              },
              "description": "Returns the shared Marked instance used by all `<ed-markdown>` components.",
              "type": {
                "text": "getMarked() => Marked"
              }
            },
            {
              "kind": "method",
              "name": "updateAll",
              "static": true,
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Re-renders all connected `<ed-markdown>` instances. Call this after changing the Marked configuration.",
              "type": {
                "text": "updateAll() => void"
              }
            },
            {
              "kind": "field",
              "name": "renderGeneration",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "suppressSlotChange",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "tabSize",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The tab stop width used when converting leading tabs to spaces during whitespace normalization.",
              "attribute": "tab-size"
            },
            {
              "kind": "field",
              "name": "marked",
              "type": {
                "text": "Marked"
              },
              "description": "A reference to the shared Marked instance for convenience. Equivalent to `EdMarkdown.getMarked()`.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "dedent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "text",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Normalizes whitespace in the given text by converting leading tabs to spaces, trimming leading/trailing blank\nlines, and removing the common indentation prefix from all lines."
            },
            {
              "kind": "method",
              "name": "getSourceScript",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLScriptElement | null"
                }
              },
              "description": "Finds the `<script type=\"text/markdown\">` source element inside this component."
            },
            {
              "kind": "method",
              "name": "renderMarkdown",
              "privacy": "public",
              "description": "Reads the script content, normalizes whitespace, parses markdown, and injects the result.",
              "type": {
                "text": "renderMarkdown() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "tab-size",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The tab stop width used when converting leading tabs to spaces during whitespace normalization.",
              "fieldName": "tabSize"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Renders markdown content in plain ol' HTML.",
          "jsDoc": "/**\n * @summary Renders markdown content in plain ol' HTML.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/markdown/\n * @status experimental\n * @since 1.0\n * @playwright getByTestId('…')\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/markdown/",
          "status": "experimental",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-markdown",
          "customElement": true,
          "modulePath": "components/markdown/markdown.js",
          "definitionPath": "components/markdown/markdown.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": [],
          "events": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdMarkdown",
            "module": "components/markdown/markdown.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-markdown",
          "declaration": {
            "name": "EdMarkdown",
            "module": "components/markdown/markdown.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/mutation-observer/mutation-observer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdMutationObserver",
          "slots": [
            {
              "description": "The content to watch for mutations.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "attr",
              "type": {
                "text": "string"
              },
              "description": "Watches for changes to attributes. To watch only specific attributes, separate them by a space, e.g.\n`attr=\"class id title\"`. To watch all attributes, use `*`.",
              "attribute": "attr",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "attrOldValue",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the attribute's previous value should be recorded when monitoring changes.",
              "attribute": "attr-old-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "charData",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Watches for changes to the character data contained within the node.",
              "attribute": "char-data",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "charDataOldValue",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the previous value of the node's text should be recorded.",
              "attribute": "char-data-old-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "childList",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Watches for the addition or removal of new child nodes.",
              "attribute": "child-list",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "handleMutation",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "startObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stopObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "type": {
                "text": "handleChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ mutationList: MutationRecord[] }"
              },
              "description": "Emitted when a mutation is observed. The event detail contains a `mutationList` array of [`MutationRecord`](https://developer.mozilla.org/en-US/docs/Web/API/MutationRecord) objects.",
              "name": "ed-mutation",
              "reactName": "onEdMutation",
              "eventName": "EdMutationEvent"
            }
          ],
          "attributes": [
            {
              "name": "attr",
              "type": {
                "text": "string"
              },
              "description": "Watches for changes to attributes. To watch only specific attributes, separate them by a space, e.g.\n`attr=\"class id title\"`. To watch all attributes, use `*`.",
              "fieldName": "attr"
            },
            {
              "name": "attr-old-value",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the attribute's previous value should be recorded when monitoring changes.",
              "fieldName": "attrOldValue"
            },
            {
              "name": "char-data",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Watches for changes to the character data contained within the node.",
              "fieldName": "charData"
            },
            {
              "name": "char-data-old-value",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the previous value of the node's text should be recorded.",
              "fieldName": "charDataOldValue"
            },
            {
              "name": "child-list",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Watches for the addition or removal of new child nodes.",
              "fieldName": "childList"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "fieldName": "disabled"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "The Mutation Observer component offers a thin, declarative interface to the [`MutationObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).",
          "jsDoc": "/**\n * @summary The Mutation Observer component offers a thin, declarative interface to the [`MutationObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/mutation-observer\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @event {{ mutationList: MutationRecord[] }} ed-mutation - Emitted when a mutation is observed. The event detail contains a `mutationList` array of [`MutationRecord`](https://developer.mozilla.org/en-US/docs/Web/API/MutationRecord) objects.\n *\n * @slot - The content to watch for mutations.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/mutation-observer",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-mutation-observer",
          "customElement": true,
          "modulePath": "components/mutation-observer/mutation-observer.js",
          "definitionPath": "components/mutation-observer/mutation-observer.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdMutationObserver",
            "module": "components/mutation-observer/mutation-observer.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-mutation-observer",
          "declaration": {
            "name": "EdMutationObserver",
            "module": "components/mutation-observer/mutation-observer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/switch/switch.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSwitch",
          "cssProperties": [
            {
              "description": "The width of the switch.",
              "name": "--width"
            },
            {
              "description": "The height of the switch.",
              "name": "--height"
            },
            {
              "description": "The size of the thumb.",
              "name": "--thumb-size"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The control that houses the switch's thumb.",
              "name": "control"
            },
            {
              "description": "The switch's thumb.",
              "name": "thumb"
            },
            {
              "description": "The switch's label.",
              "name": "label"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The switch's label.",
              "name": ""
            },
            {
              "description": "Text that describes how to use the switch. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "oldChecked",
              "type": {
                "text": "boolean"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The switch's accessible name for when no visible label is slotted. Mirrored onto the internal\ninput, where the switch role lives — an aria-label left on the host alone would sit on a\nrole-less element and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the switch, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The value of the switch, submitted as a name/value pair with form data.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the switch.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the switch readonly.",
              "attribute": "readonly"
            },
            {
              "kind": "field",
              "name": "_checked",
              "type": {
                "text": "boolean | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "checked",
              "description": "Draws the switch in a checked state."
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "type": {
                "text": "boolean"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the switch a required field.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseDragStart",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseDrag",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseDragEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleValueOrCheckedChange",
              "type": {
                "text": "handleValueOrCheckedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleStateChange",
              "type": {
                "text": "handleStateChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the switch.",
              "type": {
                "text": "click() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the switch.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the switch.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "stateValue",
                  "optional": true,
                  "type": {
                    "text": "string | File | FormData | null | undefined"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(value: string | File | FormData | null, stateValue?: string | File | FormData | null | undefined) => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the control's checked state changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The switch's accessible name for when no visible label is slotted. Mirrored onto the internal\ninput, where the switch role lives — an aria-label left on the host alone would sit on a\nrole-less element and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the switch, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The value of the switch, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the switch.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the switch readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultChecked"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the switch a required field.",
              "fieldName": "required"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "fieldName": "withHint"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the switch is checked.",
              "name": "checked"
            },
            {
              "description": "Applied when the switch is disabled.",
              "name": "disabled"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Switches allow the user to toggle an option on or off.",
          "jsDoc": "/**\n * @summary Switches allow the user to toggle an option on or off.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/switch\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('switch')\n *\n * @dependency ed-icon\n *\n * @slot - The switch's label.\n * @slot hint - Text that describes how to use the switch. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when the control's checked state changes.\n * @event input - Emitted when the control receives input.\n * @event focus - Emitted when the control gains focus.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The control that houses the switch's thumb.\n * @csspart thumb - The switch's thumb.\n * @csspart label - The switch's label.\n * @csspart hint - The hint's wrapper.\n *\n * @cssproperty --width - The width of the switch.\n * @cssproperty --height - The height of the switch.\n * @cssproperty --thumb-size - The size of the thumb.\n *\n * @cssstate checked - Applied when the switch is checked.\n * @cssstate disabled - Applied when the switch is disabled.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/switch",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('switch')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-switch",
          "customElement": true,
          "modulePath": "components/switch/switch.js",
          "definitionPath": "components/switch/switch.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdSwitch",
            "module": "components/switch/switch.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-switch",
          "declaration": {
            "name": "EdSwitch",
            "module": "components/switch/switch.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/page-editor/page-editor.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdPageEditor",
          "cssProperties": [
            {
              "description": "The page card width; derived from `zoom`.",
              "name": "--ed-page-editor-page-width"
            }
          ],
          "cssParts": [
            {
              "description": "The top bar (file name, zoom, hide-deleted toggle).",
              "name": "toolbar"
            },
            {
              "description": "The action bar (select all, bulk actions, AI suggestions).",
              "name": "subbar"
            },
            {
              "description": "The scrollable area that lays out the page cards.",
              "name": "canvas"
            },
            {
              "description": "Each page card.",
              "name": "page"
            },
            {
              "description": "The split marker shown between two pages.",
              "name": "cut-marker"
            }
          ],
          "slots": [
            {
              "description": "Optional content shown at the start of the toolbar (defaults to the first file's name).",
              "name": "header"
            },
            {
              "description": "Optional extra controls shown at the end of the toolbar.",
              "name": "actions"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "files",
              "type": {
                "text": "PageEditorFile[]"
              },
              "default": "[]",
              "description": "The files to edit. Provide as a property, not an attribute."
            },
            {
              "kind": "field",
              "name": "aiSuggestions",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Opt-in: show the AI-suggestion controls and provenance chips. Off by default — set it only when\nthe document type carries AI suggestions (always on in ed-scan, usually off in DMS).",
              "attribute": "ai-suggestions",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "suggestionsPending",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set while AI suggestions are still being computed (e.g. a slow analysis running after the pages\nare already shown). The AI section shows a loading hint instead of the toggles. Clear it once the\nsuggestions are delivered via `provideSuggestions()`. Only meaningful with `ai-suggestions`.",
              "attribute": "suggestions-pending",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hideDeleted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide pages marked for deletion instead of dimming them in place.",
              "attribute": "hide-deleted",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Thumbnail zoom factor (1 = the default page size).",
              "attribute": "zoom",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Render the whole editor read-only.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "workingFiles",
              "type": {
                "text": "WorkingFile[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Working copy of `files`; the public property is cloned in so consumer data is never mutated."
            },
            {
              "kind": "field",
              "name": "selectedKeys",
              "privacy": "private",
              "default": "new Set<string>()",
              "description": "Selected page keys (`fileId#pageIndex`). Selection is transient and not part of the output."
            },
            {
              "kind": "field",
              "name": "erroredSrcs",
              "privacy": "private",
              "default": "new Set<string>()",
              "description": "Page image sources that failed to load; they fall back to the empty placeholder."
            },
            {
              "kind": "field",
              "name": "loadedSrcs",
              "privacy": "private",
              "default": "new Set<string>()",
              "description": "Page image sources that have finished loading; until then a skeleton shows."
            },
            {
              "kind": "field",
              "name": "aiSplitOn",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "true",
              "description": "Whether each AI suggestion type is currently applied (the three KI toggles)."
            },
            {
              "kind": "field",
              "name": "aiRotateOn",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "true"
            },
            {
              "kind": "field",
              "name": "aiDeleteOn",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "true"
            },
            {
              "kind": "field",
              "name": "lightbox",
              "type": {
                "text": "{ fileId: string; page: number } | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The open zoom lightbox: which file's pages to show and the focused (1-based) page; null = closed."
            },
            {
              "kind": "field",
              "name": "canvasEl",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "sortable",
              "privacy": "private",
              "default": "new SortableController(this, { container: () => this.canvasEl ?? null, getItems: () => (this.canvasEl ? [...this.canvasEl.querySelectorAll<HTMLElement>('.page-unit')] : []), itemFor: target => target.closest<HTMLElement>('.page-unit'), // Keep reorder within a single file — documents are split by cut markers, not across files. groupOf: item => item.querySelector<HTMLElement>('[part~=\"page\"]')?.dataset.fileId, axis: 'horizontal', overlay: () => this.shadowRoot ?? document.body, // Size the clone to its content (the card), not the dragged element's box. cloneSize: 'auto', onReorder: drop => this.reorderPages(drop), onDragStart: () => (this.dragActive = true), onDragEnd: () => { this.dragActive = false; this.requestUpdate(); } })",
              "description": "Drag-to-reorder engine. The host owns the model; the controller only reports the committed move."
            },
            {
              "kind": "field",
              "name": "dragActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True while a reorder drag is in flight — renders are suppressed so they can't fight the drag DOM."
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "previewObserver",
              "type": {
                "text": "IntersectionObserver | undefined"
              },
              "privacy": "private",
              "description": "Lazily requests previews for pages without a `src` as they near the viewport."
            },
            {
              "kind": "field",
              "name": "observedCells",
              "privacy": "private",
              "default": "new Set<Element>()"
            },
            {
              "kind": "field",
              "name": "requestedPreviews",
              "privacy": "private",
              "default": "new Set<WorkingPage>()",
              "description": "Pages a preview has already been requested for (keyed by page), to emit only once."
            },
            {
              "kind": "field",
              "name": "previewControllers",
              "privacy": "private",
              "default": "new Map<WorkingPage, AbortController>()",
              "description": "Abort controllers for in-flight preview requests, keyed by page; aborted when a page leaves."
            },
            {
              "kind": "field",
              "name": "requestedHighRes",
              "privacy": "private",
              "default": "new Set<WorkingPage>()",
              "description": "Pages a high-resolution (lightbox) preview has been requested for, to request each only once."
            },
            {
              "kind": "field",
              "name": "highResController",
              "type": {
                "text": "AbortController | undefined"
              },
              "privacy": "private",
              "description": "Abort controller for the in-flight lightbox preview; aborted when the lightbox moves on or closes."
            },
            {
              "kind": "field",
              "name": "reordered",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set once a drag reorders pages — order changes aren't caught by the field-by-field dirty check."
            },
            {
              "kind": "method",
              "name": "observePages",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Observes each page card so a preview is requested as it nears the viewport (lazy loading)."
            },
            {
              "kind": "method",
              "name": "cellPage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ fileId: string; page: WorkingPage } | null"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "requestPreview",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "cancelPreview",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "A page left the viewport before loading → abort its request so the now-visible pages load first."
            },
            {
              "kind": "method",
              "name": "abortPreviews",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "providePagePreview",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "page",
                  "type": {
                    "text": "PageEditorPage"
                  }
                },
                {
                  "name": "src",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "variant",
                  "default": "'thumbnail'",
                  "type": {
                    "text": "'thumbnail' | 'preview'"
                  }
                }
              ],
              "description": "Injects a fetched preview for a page (in response to `ed-request-preview`). Pass the `page` and the\n`variant` from the event — identifying by reference (not an index) survives a reorder that happened\nwhile the preview was loading. `'thumbnail'` (default) sets the grid image; `'preview'` sets the\nhigher-resolution source the zoom lightbox uses. Set in place, so in-progress edits are preserved.",
              "type": {
                "text": "providePagePreview(page: PageEditorPage, src: string, variant: 'thumbnail' | 'preview' = 'thumbnail') => void"
              }
            },
            {
              "kind": "method",
              "name": "provideSuggestions",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "suggestions",
                  "type": {
                    "text": "{ id: string; suggestion: PageEditorSuggestion }[]"
                  }
                }
              ],
              "description": "Injects AI suggestions that arrived after the pages were set — e.g. a slow analysis completing\nwhile the editor is already interactive. Each entry targets a page by its `id`; the suggestion is\nmerged onto that page and the enabled toggles are re-applied. Pages the user has already rotated,\ndeleted or split keep their edit (provenance is preserved). Unknown ids are ignored, and it is a\nno-op when nothing matched. Pair with the `suggestions-pending` attribute to show a loading hint.",
              "type": {
                "text": "provideSuggestions(suggestions: { id: string; suggestion: PageEditorSuggestion }[]) => void"
              }
            },
            {
              "kind": "method",
              "name": "updateLineFades",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Fades the grouping band where a document continues across a line wrap. A unit fades on the left\nwhen it's the first of a visual line but not a document start, and on the right when it's the\nlast of a line but not a document end — mirroring the canonical firstOfLine/lastOfLine gradients."
            },
            {
              "kind": "method",
              "name": "getResult",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "PageEditorFile[]"
                }
              },
              "description": "The current edited state — the same `files` shape carried by `ed-edit`, including edits applied\nfrom AI suggestions on load. Read it at save time so you capture the result even when the user\naccepted the suggestions without making a manual edit (which wouldn't have fired `ed-edit`).",
              "type": {
                "text": "getResult() => PageEditorFile[]"
              }
            },
            {
              "kind": "method",
              "name": "isDirty",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Returns true once any editable field differs from the input (used as the `ed-edit` dirty flag).",
              "type": {
                "text": "isDirty() => boolean"
              }
            },
            {
              "kind": "method",
              "name": "pageKey",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "isLocked",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "nextRotation",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PageEditorRotation"
                }
              },
              "parameters": [
                {
                  "name": "rotation",
                  "optional": true,
                  "type": {
                    "text": "PageEditorRotation"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "selectablePageCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "description": "Total number of selectable (non-locked) pages.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "forEachSelected",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "fn",
                  "type": {
                    "text": "(file: WorkingFile, page: WorkingPage, index: number) => void"
                  }
                }
              ],
              "description": "Runs a callback over every currently-selected, editable page."
            },
            {
              "kind": "method",
              "name": "splitInGap",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "fromIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "toIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Whether any page in the gap `(fromIndex, toIndex]` starts a document (a boundary lives there)."
            },
            {
              "kind": "method",
              "name": "aiSplitInGap",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "fromIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "toIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Whether the gap holds an applied AI split (drives the purple marker)."
            },
            {
              "kind": "method",
              "name": "userSplitInGap",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "fromIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "toIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Whether the gap holds an applied user split — a user split wins over an AI split in the gap."
            },
            {
              "kind": "method",
              "name": "aiSplitCount",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "description": "Visible AI split markers. An AI-suggested split counts unless a user split shares its gap (e.g.\nhide-deleted collapsed both and the user split wins) — so the split toggle's count and disabled\nstate stay in sync with what's actually shown as AI."
            },
            {
              "kind": "method",
              "name": "handlePagePointerDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "PointerEvent"
                  }
                },
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                }
              ],
              "description": "Arms a drag from the page body, but not from its controls (selection checkbox, hover buttons)."
            },
            {
              "kind": "method",
              "name": "openLightbox",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Opens the zoom lightbox on a page (allowed for locked files too — it's view-only)."
            },
            {
              "kind": "method",
              "name": "closeLightbox",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Closes the lightbox and aborts any in-flight high-resolution request."
            },
            {
              "kind": "method",
              "name": "requestLightboxPreview",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Requests the higher-resolution `preview` for the page currently shown in the lightbox (once per\npage). The lightbox falls back to the grid `src` until it arrives, so it sharpens in place."
            },
            {
              "kind": "method",
              "name": "adoptLightboxRotation",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "EdRotateEvent"
                  }
                }
              ],
              "description": "Adopts a rotation performed in the zoom-lightbox viewer as a real user edit on the page, so it\npersists — a plain viewer rotation is transient and lost on navigation. No-op for locked files."
            },
            {
              "kind": "method",
              "name": "toggleSelect",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleSelectAll",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "rotatePage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "page",
                  "type": {
                    "text": "WorkingPage"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleDelete",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "page",
                  "type": {
                    "text": "WorkingPage"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleSplit",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "fromIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "toIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Toggles the document boundary in the gap between two visible pages. Splitting marks the gap's\ntrailing page; merging clears every boundary in the gap (so a split hidden by hide-deleted, AI\nor user, is removed too). Reading and writing over the whole gap is what keeps hidden pages\ncorrect (no double markers; AI splits restore when the deleted page is shown again)."
            },
            {
              "kind": "method",
              "name": "visibleEntries",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ file: WorkingFile; page: WorkingPage }[]"
                }
              },
              "description": "The pages currently shown, in render order (skips deleted pages while hide-deleted is on)."
            },
            {
              "kind": "method",
              "name": "reorderPages",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "drop",
                  "type": {
                    "text": "SortableDrop"
                  }
                }
              ],
              "description": "Moves a page to a new slot in response to a drag. The `drop` indices address the visible page\nlist (what the sortable controller sees). Document boundaries follow the canonical FileEditor\nrules: a dragged page that *started* a document leaves its boundary behind (its old successor\ninherits it), and dropping a page immediately *before* a document start transfers that boundary\nonto the dropped page. The first page of a file always starts a document."
            },
            {
              "kind": "method",
              "name": "higherProvenance",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EditSource | undefined"
                }
              },
              "parameters": [
                {
                  "name": "a",
                  "optional": true,
                  "type": {
                    "text": "EditSource"
                  }
                },
                {
                  "name": "b",
                  "optional": true,
                  "type": {
                    "text": "EditSource"
                  }
                }
              ],
              "description": "The higher-priority provenance of two merged boundaries: undefined (system) < ai < user."
            },
            {
              "kind": "method",
              "name": "rotateSelected",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "deleteSelected",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "splitSelected",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "setZoom",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleHideDeleted",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "applyAiSuggestions",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "(Re-)applies the AI suggestions to pages the user has not overridden, honoring the KI toggles."
            },
            {
              "kind": "method",
              "name": "aiCount",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "kind",
                  "type": {
                    "text": "'rotation' | 'deleted'"
                  }
                }
              ],
              "description": "Number of AI rotate/delete suggestions the user has not overridden (drives the toggle counts).\nSplits are counted by aiSplitCount() instead — it is gap-based and hide-deleted-aware."
            },
            {
              "kind": "method",
              "name": "toggleAiSplit",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "toggleAiRotate",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "toggleAiDelete",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "commit",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Re-render after mutating the working model, then emit the edit."
            },
            {
              "kind": "method",
              "name": "isValid",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "At least one non-deleted page must remain in every non-locked, non-empty file."
            },
            {
              "kind": "method",
              "name": "renderLightbox",
              "privacy": "private",
              "description": "The zoom lightbox: a fullscreen dialog embedding ed-document-viewer on the clicked file's pages."
            },
            {
              "kind": "method",
              "name": "renderToolbar",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderSubbar",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderAiSection",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderAiToggles",
              "privacy": "private",
              "parameters": [
                {
                  "name": "splitCount",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "rotateCount",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "deleteCount",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderFile",
              "privacy": "private",
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderPageCard",
              "privacy": "private",
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "page",
                  "type": {
                    "text": "WorkingPage"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "docStart",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "docEnd",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderImage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "page",
                  "type": {
                    "text": "WorkingPage"
                  }
                },
                {
                  "name": "label",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "The page preview. Three states: no `src` yet → skeleton (the consumer fetches it lazily on\n`ed-request-preview`); load error → placeholder; otherwise the image, with a skeleton behind it\nuntil `@load` (and `loading=\"lazy\"` so the browser defers off-screen images it already has URLs for)."
            },
            {
              "kind": "method",
              "name": "renderCutMarker",
              "privacy": "private",
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "WorkingFile"
                  }
                },
                {
                  "name": "fromIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "toIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "The split marker in the gap between two visible pages (`fromIndex`, the next visible `toIndex`)."
            },
            {
              "kind": "method",
              "name": "renderChip",
              "privacy": "private",
              "parameters": [
                {
                  "name": "page",
                  "type": {
                    "text": "WorkingPage"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ files: PageEditorFile[], dirty: boolean, valid: boolean }"
              },
              "description": "Emitted on every edit. `detail` is `{ files, dirty, valid }`.",
              "name": "ed-edit",
              "reactName": "onEdEdit",
              "eventName": "EdEditEvent"
            },
            {
              "type": {
                "text": "{ fileId: string, page: PageEditorPage, variant: 'thumbnail' | 'preview', signal: AbortSignal }"
              },
              "description": "Emitted when a page image is needed: a `'thumbnail'` when a page without a `src` nears the grid viewport, or a `'preview'` (higher-resolution) when a page is opened in the zoom lightbox. Fetch the matching source and call `providePagePreview(page, src, variant)`. `detail` is `{ fileId, page, variant, signal }`; `signal` aborts when the request is superseded.",
              "name": "ed-request-preview",
              "reactName": "onEdRequestPreview",
              "eventName": "EdRequestPreviewEvent"
            }
          ],
          "attributes": [
            {
              "name": "ai-suggestions",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Opt-in: show the AI-suggestion controls and provenance chips. Off by default — set it only when\nthe document type carries AI suggestions (always on in ed-scan, usually off in DMS).",
              "fieldName": "aiSuggestions"
            },
            {
              "name": "suggestions-pending",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set while AI suggestions are still being computed (e.g. a slow analysis running after the pages\nare already shown). The AI section shows a loading hint instead of the toggles. Clear it once the\nsuggestions are delivered via `provideSuggestions()`. Only meaningful with `ai-suggestions`.",
              "fieldName": "suggestionsPending"
            },
            {
              "name": "hide-deleted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hide pages marked for deletion instead of dimming them in place.",
              "fieldName": "hideDeleted"
            },
            {
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Thumbnail zoom factor (1 = the default page size).",
              "fieldName": "zoom"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Render the whole editor read-only.",
              "fieldName": "disabled"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when there are no files to edit.",
              "name": "empty"
            },
            {
              "description": "Applied when the editor is read-only.",
              "name": "disabled"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Edits the pages of one or more scanned files — rotate, delete, split, reorder — with\noptional AI suggestions. The generic page editor behind DMS scan workflows; place it in a dialog.",
          "jsDoc": "/**\n * @summary Edits the pages of one or more scanned files — rotate, delete, split, reorder — with\n * optional AI suggestions. The generic page editor behind DMS scan workflows; place it in a dialog.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/page-editor\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('group')\n *\n * @dependency ed-badge\n * @dependency ed-button\n * @dependency ed-checkbox\n * @dependency ed-dialog\n * @dependency ed-document-viewer\n * @dependency ed-icon\n * @dependency ed-progress-ring\n * @dependency ed-skeleton\n * @dependency ed-slider\n * @dependency ed-switch\n *\n * @slot header - Optional content shown at the start of the toolbar (defaults to the first file's name).\n * @slot actions - Optional extra controls shown at the end of the toolbar.\n *\n * @event {{ files: PageEditorFile[], dirty: boolean, valid: boolean }} ed-edit - Emitted on every edit. `detail` is `{ files, dirty, valid }`.\n * @event {{ fileId: string, page: PageEditorPage, variant: 'thumbnail' | 'preview', signal: AbortSignal }} ed-request-preview - Emitted when a page image is needed: a `'thumbnail'` when a page without\n *        a `src` nears the grid viewport, or a `'preview'` (higher-resolution) when a page is opened in\n *        the zoom lightbox. Fetch the matching source and call `providePagePreview(page, src, variant)`.\n *        `detail` is `{ fileId, page, variant, signal }`; `signal` aborts when the request is superseded.\n *\n * @csspart toolbar - The top bar (file name, zoom, hide-deleted toggle).\n * @csspart subbar - The action bar (select all, bulk actions, AI suggestions).\n * @csspart canvas - The scrollable area that lays out the page cards.\n * @csspart page - Each page card.\n * @csspart cut-marker - The split marker shown between two pages.\n *\n * @cssstate empty - Applied when there are no files to edit.\n * @cssstate disabled - Applied when the editor is read-only.\n *\n * @cssproperty [--ed-page-editor-page-width] - The page card width; derived from `zoom`.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/page-editor",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('group')",
          "dependencies": [
            "ed-badge",
            "ed-button",
            "ed-checkbox",
            "ed-dialog",
            "ed-document-viewer",
            "ed-icon",
            "ed-progress-ring",
            "ed-skeleton",
            "ed-slider",
            "ed-switch"
          ],
          "tagName": "ed-page-editor",
          "customElement": true,
          "modulePath": "components/page-editor/page-editor.js",
          "definitionPath": "components/page-editor/page-editor.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdPageEditor",
            "module": "components/page-editor/page-editor.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-page-editor",
          "declaration": {
            "name": "EdPageEditor",
            "module": "components/page-editor/page-editor.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/popover/popover.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdPopover",
          "cssProperties": [
            {
              "description": "The size of the tiny arrow that points to the popover (set to zero to remove).",
              "name": "--arrow-size",
              "default": "0.375rem"
            },
            {
              "description": "The maximum width of the popover's body content.",
              "name": "--max-width",
              "default": "var(--ed-popover-max-width)"
            },
            {
              "description": "The speed of the show animation.",
              "name": "--show-duration",
              "default": "var(--ed-transition-fast)"
            },
            {
              "description": "The speed of the hide animation.",
              "name": "--hide-duration",
              "default": "var(--ed-transition-fast)"
            }
          ],
          "cssParts": [
            {
              "description": "The native dialog element that contains the popover content.",
              "name": "dialog"
            },
            {
              "description": "The popover's body where its content is rendered.",
              "name": "body"
            },
            {
              "description": "The internal `<ed-popup>` element that positions the popover.",
              "name": "popup"
            },
            {
              "description": "The popup's exported `popup` part. Use this to target the popover's popup container.",
              "name": "popup__popup"
            },
            {
              "description": "The popup's exported `arrow` part. Use this to target the popover's arrow.",
              "name": "popup__arrow"
            }
          ],
          "slots": [
            {
              "description": "The popover's content. Interactive elements such as buttons and links are supported.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "HTMLDialogElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "EdPopup"
              }
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "null | Element"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popover. Note that the actual placement may vary as needed to keep the popover\ninside of the viewport.",
              "attribute": "placement",
              "parsedType": {
                "text": "'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows or hides the popover.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from which to offset the popover away from its target.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the popover along its target.",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The ID of the popover's anchor element. This must be an interactive/focusable element such as a button.",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "withoutArrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the arrow from the popover.",
              "attribute": "without-arrow",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The popover's accessible name. Mirrored onto the internal dialog node, where the dialog role\nlives — an aria-label left on the host alone would sit on a role-less element and be ignored\nby assistive tech (house pattern: ed-checkbox).",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "eventController",
              "privacy": "private",
              "default": "new AbortController()"
            },
            {
              "kind": "field",
              "name": "handleAnchorClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleBodyClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleForChange",
              "type": {
                "text": "handleForChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "syncAnchorAria",
              "privacy": "private",
              "parameters": [
                {
                  "name": "anchor",
                  "default": "this.anchor",
                  "type": {
                    "text": "Element | null"
                  }
                }
              ],
              "description": "Exposes the popover's open state on the anchor's semantic button via aria-expanded (+ aria-haspopup\nand aria-controls), on the same node getByRole('button') reaches. When the anchor is an <ed-button>,\nthat node is its internal <button part=\"base\">; otherwise it is the anchor itself. Mirrors ed-dropdown."
            },
            {
              "kind": "method",
              "name": "clearAnchorAria",
              "privacy": "private",
              "parameters": [
                {
                  "name": "anchor",
                  "type": {
                    "text": "Element | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleOptionsChange",
              "type": {
                "text": "handleOptionsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the popover.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the popover.",
              "type": {
                "text": "hide() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the popover begins to show. Canceling this event will stop the popover from showing.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the popover has shown and all animations are complete.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the popover begins to hide. Canceling this event will stop the popover from hiding.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the popover has hidden and all animations are complete.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popover. Note that the actual placement may vary as needed to keep the popover\ninside of the viewport.",
              "fieldName": "placement",
              "parsedType": {
                "text": "'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              }
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows or hides the popover.",
              "fieldName": "open"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from which to offset the popover away from its target.",
              "fieldName": "distance"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the popover along its target.",
              "fieldName": "skidding"
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The ID of the popover's anchor element. This must be an interactive/focusable element such as a button.",
              "fieldName": "for"
            },
            {
              "name": "without-arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the arrow from the popover.",
              "fieldName": "withoutArrow"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The popover's accessible name. Mirrored onto the internal dialog node, where the dialog role\nlives — an aria-label left on the host alone would sit on a role-less element and be ignored\nby assistive tech (house pattern: ed-checkbox).",
              "fieldName": "ariaLabel"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the popover is open.",
              "name": "open"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Popovers display contextual content and interactive elements in a floating panel.",
          "jsDoc": "/**\n * @summary Popovers display contextual content and interactive elements in a floating panel.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/popover\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('dialog')\n *\n * @dependency ed-popup\n *\n * @slot - The popover's content. Interactive elements such as buttons and links are supported.\n *\n * @event ed-show - Emitted when the popover begins to show. Canceling this event will stop the popover from showing.\n * @event ed-after-show - Emitted after the popover has shown and all animations are complete.\n * @event ed-hide - Emitted when the popover begins to hide. Canceling this event will stop the popover from hiding.\n * @event ed-after-hide - Emitted after the popover has hidden and all animations are complete.\n *\n * @csspart dialog - The native dialog element that contains the popover content.\n * @csspart body - The popover's body where its content is rendered.\n * @csspart popup - The internal `<ed-popup>` element that positions the popover.\n * @csspart popup__popup - The popup's exported `popup` part. Use this to target the popover's popup container.\n * @csspart popup__arrow - The popup's exported `arrow` part. Use this to target the popover's arrow.\n *\n * @cssproperty [--arrow-size=0.375rem] - The size of the tiny arrow that points to the popover (set to zero to remove).\n * @cssproperty [--max-width=var(--ed-popover-max-width)] - The maximum width of the popover's body content.\n * @cssproperty [--show-duration=var(--ed-transition-fast)] - The speed of the show animation.\n * @cssproperty [--hide-duration=var(--ed-transition-fast)] - The speed of the hide animation.\n *\n * @cssstate open - Applied when the popover is open.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/popover",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('dialog')",
          "dependencies": [
            "ed-popup"
          ],
          "tagName": "ed-popover",
          "customElement": true,
          "modulePath": "components/popover/popover.js",
          "definitionPath": "components/popover/popover.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdPopover",
            "module": "components/popover/popover.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-popover",
          "declaration": {
            "name": "EdPopover",
            "module": "components/popover/popover.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/radio/radio.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRadio",
          "cssProperties": [
            {
              "description": "The color of the checked icon.",
              "name": "--checked-icon-color"
            },
            {
              "description": "The size of the checked icon relative to the radio.",
              "name": "--checked-icon-scale"
            }
          ],
          "cssParts": [
            {
              "description": "The circular container that wraps the radio's checked state.",
              "name": "control"
            },
            {
              "description": "The checked icon.",
              "name": "checked-icon"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the radio's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            }
          ],
          "slots": [
            {
              "description": "The radio's label.",
              "name": ""
            },
            {
              "description": "An element, such as `<ed-icon>`, placed before the label. Only rendered when `appearance` is `button`.",
              "name": "start"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed after the label. Only rendered when `appearance` is `button`.",
              "name": "end"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['click', 'keydown', 'blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'separated'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'start', 'end')"
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The radio's value. When selected, the radio group will receive this value.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'default' | 'button'"
              },
              "default": "'default'",
              "description": "The radio's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "setInitialAttributes",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The radio's value. When selected, the radio group will receive this value.",
              "fieldName": "value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "appearance",
              "type": {
                "text": "'default' | 'button'"
              },
              "default": "'default'",
              "description": "The radio's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the control is checked.",
              "name": "checked"
            },
            {
              "description": "Applied when the control is disabled.",
              "name": "disabled"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Radios allow the user to select a single option from a group.",
          "jsDoc": "/**\n * @summary Radios allow the user to select a single option from a group.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/radio\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('radio', { name: '…' })\n *\n * @dependency ed-icon\n *\n * @slot - The radio's label.\n * @slot start - An element, such as `<ed-icon>`, placed before the label. Only rendered when `appearance` is `button`.\n * @slot end - An element, such as `<ed-icon>`, placed after the label. Only rendered when `appearance` is `button`.\n *\n * @event blur - Emitted when the control loses focus.\n * @event focus - Emitted when the control gains focus.\n *\n * @csspart control - The circular container that wraps the radio's checked state.\n * @csspart checked-icon - The checked icon.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart label - The container that wraps the radio's label.\n * @csspart end - The container that wraps the `end` slot.\n *\n * @cssproperty --checked-icon-color - The color of the checked icon.\n * @cssproperty --checked-icon-scale - The size of the checked icon relative to the radio.\n *\n * @cssstate checked - Applied when the control is checked.\n * @cssstate disabled - Applied when the control is disabled.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/radio",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('radio', { name: '…' })",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-radio",
          "customElement": true,
          "modulePath": "components/radio/radio.js",
          "definitionPath": "components/radio/radio.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdRadio",
            "module": "components/radio/radio.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-radio",
          "declaration": {
            "name": "EdRadio",
            "module": "components/radio/radio.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/radio-group/radio-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRadioGroup",
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and hint.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The input's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The wrapper than surrounds radio items, styled as a flex container by default.",
              "name": "radios"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The default slot where `<ed-radio>` elements are placed.",
              "name": ""
            },
            {
              "description": "The radio group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the radio group. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the radio group, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio group and all child radios.",
              "attribute": "disabled",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "The orientation in which to show radio items.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the radio group and all child radios readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the radio group, submitted as a name/value pair with form data."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Ensures a child radio is checked before allowing the containing form to submit.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'default' | 'button'"
              },
              "default": "'default'",
              "description": "Changes the visual appearance to segmented controls.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "updateAppearance",
              "type": {
                "text": "updateAppearance() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "We use the first available radio as the validationTarget similar to native HTML that shows the validation popup on\nthe first radio element.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<EdFormAssociatedElement['formResetCallback']>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback(args: Parameters<EdFormAssociatedElement['formResetCallback']>) => void"
              }
            },
            {
              "kind": "field",
              "name": "handleRadioClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getAllRadios",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleLabelClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncRadioElements",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the radio group.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the radio group receives user input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the radio group's selected value changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "fieldName": "label"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the radio group, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio group and all child radios.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "The orientation in which to show radio items.",
              "fieldName": "orientation"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the radio group and all child radios readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Ensures a child radio is checked before allowing the containing form to submit.",
              "fieldName": "required"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "fieldName": "withHint"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'default' | 'button'"
              },
              "default": "'default'",
              "description": "Changes the visual appearance to segmented controls.",
              "fieldName": "appearance"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the radio group carries the warning hint state.",
              "name": "warning"
            },
            {
              "description": "Applied when the radio group carries the AI hint state.",
              "name": "ai"
            },
            {
              "description": "Applied when the radio group carries the error hint state.",
              "name": "error"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Radio groups are used to group multiple [radios](/a/eurodata-ui/docs/components/radio) so they function as a single form control.",
          "jsDoc": "/**\n * @summary Radio groups are used to group multiple [radios](/a/eurodata-ui/docs/components/radio) so they function as a single form control.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/radio-group\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('radio', { name: '…' })\n *\n * @dependency ed-radio\n *\n * @slot - The default slot where `<ed-radio>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n *  attribute.\n * @slot hint - Text that describes how to use the radio group. Alternatively, you can use the `hint` attribute.\n *\n * @event change - Emitted when the radio group's selected value changes.\n * @event input - Emitted when the radio group receives user input.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and hint.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart radios - The wrapper than surrounds radio items, styled as a flex container by default.\n * @csspart hint - The hint's wrapper.\n *\n * @cssstate warning - Applied when the radio group carries the warning hint state.\n * @cssstate ai - Applied when the radio group carries the AI hint state.\n * @cssstate error - Applied when the radio group carries the error hint state.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/radio-group",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('radio', { name: '…' })",
          "dependencies": [
            "ed-radio"
          ],
          "tagName": "ed-radio-group",
          "customElement": true,
          "modulePath": "components/radio-group/radio-group.js",
          "definitionPath": "components/radio-group/radio-group.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdRadioGroup",
            "module": "components/radio-group/radio-group.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-radio-group",
          "declaration": {
            "name": "EdRadioGroup",
            "module": "components/radio-group/radio-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/side-menu-title/side-menu-title.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSideMenuTitle",
          "cssProperties": [
            {
              "description": "Background color of the title row.",
              "name": "--background",
              "default": "var(--ed-color-surface-raised)"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "Container for the start slot.",
              "name": "start"
            },
            {
              "description": "The label container.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "The default slot for the title text.",
              "name": ""
            },
            {
              "description": "Leading content, e.g. an icon.",
              "name": "start"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "slim",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set by the parent `<ed-side-menu>` when its variant is `slim`. Do not\nwrite directly. When set, the title renders as `display: none`.",
              "attribute": "slim",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "slim",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set by the parent `<ed-side-menu>` when its variant is `slim`. Do not\nwrite directly. When set, the title renders as `display: none`.",
              "fieldName": "slim"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A non-interactive group heading inside [ed-side-menu](/a/eurodata-ui/docs/components/side-menu). Hidden when the parent side-menu uses `variant=\"slim\"`.",
          "jsDoc": "/**\n * @summary A non-interactive group heading inside [ed-side-menu](/a/eurodata-ui/docs/components/side-menu). Hidden when the parent side-menu uses `variant=\"slim\"`.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/side-menu-title\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('heading', { name: '…' })\n *\n * @slot - The default slot for the title text.\n * @slot start - Leading content, e.g. an icon.\n *\n * @csspart base - The component's base wrapper.\n * @csspart start - Container for the start slot.\n * @csspart label - The label container.\n *\n * @cssproperty [--background=var(--ed-color-surface-raised)] - Background color of the title row.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/side-menu-title",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('heading', { name: '…' })",
          "tagName": "ed-side-menu-title",
          "customElement": true,
          "modulePath": "components/side-menu-title/side-menu-title.js",
          "definitionPath": "components/side-menu-title/side-menu-title.js",
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdSideMenuTitle",
            "module": "components/side-menu-title/side-menu-title.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-side-menu-title",
          "declaration": {
            "name": "EdSideMenuTitle",
            "module": "components/side-menu-title/side-menu-title.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/side-menu/side-menu.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSideMenu",
          "cssProperties": [
            {
              "description": "Side-menu background color.",
              "name": "--background",
              "default": "var(--ed-color-surface-raised)"
            },
            {
              "description": "Padding around the search input.",
              "name": "--filter-spacing",
              "default": "var(--ed-space-3)"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "Container for the super-tab bar.",
              "name": "super-tabs"
            },
            {
              "description": "An individual super-tab button.",
              "name": "super-tab"
            },
            {
              "description": "Container for the search input.",
              "name": "filter"
            },
            {
              "description": "The search input element.",
              "name": "filter-input"
            },
            {
              "description": "Scrollable container around the navigation items.",
              "name": "tree-wrapper"
            }
          ],
          "slots": [
            {
              "description": "The default slot for `ed-side-menu-item` elements.",
              "name": ""
            },
            {
              "description": "Tab definitions for the super-tab bar. Use plain elements with a `value` attribute, an icon element as first element child, and the label as text, e.g. `<span slot=\"super-tab\" value=\"reports\"><ed-icon name=\"bar_chart\"></ed-icon>Reports</span>`.",
              "name": "super-tab"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'super-tab')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "filter",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows a search input that filters items by label and description text.",
              "attribute": "filter"
            },
            {
              "kind": "field",
              "name": "filterPlaceholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text for the search input. Defaults to a localized \"Search\".",
              "attribute": "filter-placeholder"
            },
            {
              "kind": "field",
              "name": "hideIndentGuides",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the indent guide lines between nested items. Reflected so the styling hook matches whether set via attribute or property.",
              "attribute": "hide-indent-guides",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "current",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The `value` of the currently active item (values fall back to the item's `href`). Matched\nexactly — no URL normalization. Updated automatically when the user activates an item;\nset it (or call `setCurrent()`) to follow external navigation, e.g. after a route change.",
              "attribute": "current"
            },
            {
              "kind": "field",
              "name": "activeTab",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The currently active super-tab value. Defaults to the first tab.",
              "attribute": "active-tab"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'spacious' | 'default' | 'compact'"
              },
              "default": "'default'",
              "description": "Density of nav items.\n- `spacious` — relaxed rows (~52px), 24px start/end icons.\n- `default` — condensed rows (~40px), 16px start/end icons.\n- `compact` — minimal rows (`--ed-form-control-height`, ~32px), 16px start/end icons.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'default' | 'slim'"
              },
              "default": "'default'",
              "description": "Layout variant. `slim` renders an 80px-wide rail where each item stacks\nits icon above a centered label. In slim, the filter input, super-tab\nbar, description slots, end-slot badges, and nested children are\nsuppressed. The variant is orthogonal to `density` — when slim is\nactive, density is still propagated to items but slim CSS overrides\ndensity-specific row metrics.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "filterQuery",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "expandedSnapshot",
              "type": {
                "text": "WeakSet<EdSideMenuItem> | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "A snapshot of expanded items before filtering, used to restore state when the filter is cleared."
            },
            {
              "kind": "method",
              "name": "getAllItemsDeep",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdSideMenuItem[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "getItemLabelText",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "Element"
                  }
                }
              ],
              "description": "Extracts the label text from an item's direct text nodes, ignoring slotted children."
            },
            {
              "kind": "method",
              "name": "handleCurrentChange",
              "type": {
                "text": "handleCurrentChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDensityChange",
              "type": {
                "text": "handleDensityChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleVariantChange",
              "type": {
                "text": "handleVariantChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "propagateDensity",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "propagateVariant",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setCurrent",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Update `current` and synchronously reflect the active-state on items. Prefer this over\nassigning `current` directly when the highlight must move in the same frame as a route\nchange — direct assignment defers through Lit's async update cycle and will flash for one\npaint. Typical consumer: a Turbo/SPA `visit` hook. Programmatic writes never emit events.",
              "type": {
                "text": "setCurrent(value: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "applyCurrent",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFilterInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "debouncedApplyFilter",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "applyFilter",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "highlightInItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "EdSideMenuItem"
                  }
                },
                {
                  "name": "query",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Wraps matching text in <mark> elements within an item's label and description."
            },
            {
              "kind": "method",
              "name": "wrapTextMatch",
              "privacy": "private",
              "parameters": [
                {
                  "name": "textNode",
                  "type": {
                    "text": "Text"
                  }
                },
                {
                  "name": "query",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Splits a text node and wraps the first match in a <mark> element."
            },
            {
              "kind": "method",
              "name": "clearHighlights",
              "privacy": "private",
              "description": "Removes all <mark> elements added by the filter and restores original text."
            },
            {
              "kind": "method",
              "name": "snapshotExpandedState",
              "privacy": "private",
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "EdSideMenuItem[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "restoreExpandedState",
              "privacy": "private",
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "EdSideMenuItem[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getSuperTabs",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ icon: Element | null; label: string; value: string }[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSuperTabClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSuperTabKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "tabs",
                  "type": {
                    "text": "{ value: string }[]"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ query: string }"
              },
              "description": "Emitted when the search filter value changes.",
              "name": "ed-filter",
              "reactName": "onEdFilter",
              "eventName": "EdFilterEvent"
            },
            {
              "type": {
                "text": "{ tab: string }"
              },
              "description": "Emitted when the active super-tab changes. Detail contains `{ tab: string }`.",
              "name": "ed-super-tab-change",
              "reactName": "onEdSuperTabChange",
              "eventName": "EdSuperTabChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "filter",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows a search input that filters items by label and description text.",
              "fieldName": "filter"
            },
            {
              "name": "filter-placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text for the search input. Defaults to a localized \"Search\".",
              "fieldName": "filterPlaceholder"
            },
            {
              "name": "hide-indent-guides",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the indent guide lines between nested items. Reflected so the styling hook matches whether set via attribute or property.",
              "fieldName": "hideIndentGuides"
            },
            {
              "name": "current",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The `value` of the currently active item (values fall back to the item's `href`). Matched\nexactly — no URL normalization. Updated automatically when the user activates an item;\nset it (or call `setCurrent()`) to follow external navigation, e.g. after a route change.",
              "fieldName": "current"
            },
            {
              "name": "active-tab",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The currently active super-tab value. Defaults to the first tab.",
              "fieldName": "activeTab"
            },
            {
              "name": "density",
              "type": {
                "text": "'spacious' | 'default' | 'compact'"
              },
              "default": "'default'",
              "description": "Density of nav items.\n- `spacious` — relaxed rows (~52px), 24px start/end icons.\n- `default` — condensed rows (~40px), 16px start/end icons.\n- `compact` — minimal rows (`--ed-form-control-height`, ~32px), 16px start/end icons.",
              "fieldName": "density"
            },
            {
              "name": "variant",
              "type": {
                "text": "'default' | 'slim'"
              },
              "default": "'default'",
              "description": "Layout variant. `slim` renders an 80px-wide rail where each item stacks\nits icon above a centered label. In slim, the filter input, super-tab\nbar, description slots, end-slot badges, and nested children are\nsuppressed. The variant is orthogonal to `density` — when slim is\nactive, density is still propagated to items but slim CSS overrides\ndensity-specific row metrics.",
              "fieldName": "variant"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A preconfigured navigation sidebar that renders [ed-side-menu-item](/a/eurodata-ui/docs/components/side-menu-item) links as a WAI-ARIA Disclosure Navigation menu, with optional search filtering and super-tabs.",
          "jsDoc": "/**\n * @summary A preconfigured navigation sidebar that renders [ed-side-menu-item](/a/eurodata-ui/docs/components/side-menu-item) links as a WAI-ARIA Disclosure Navigation menu, with optional search filtering and super-tabs.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/side-menu\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('navigation')\n *\n * @dependency ed-input\n * @dependency ed-side-menu-item\n * @dependency ed-side-menu-title\n *\n * @event {{ query: string }} ed-filter - Emitted when the search filter value changes.\n * @event {{ tab: string }} ed-super-tab-change - Emitted when the active super-tab changes. Detail contains `{ tab: string }`.\n *\n * @slot - The default slot for `ed-side-menu-item` elements.\n * @slot super-tab - Tab definitions for the super-tab bar. Use plain elements with a `value` attribute, an icon element as first element child, and the label as text, e.g. `<span slot=\"super-tab\" value=\"reports\"><ed-icon name=\"bar_chart\"></ed-icon>Reports</span>`.\n *\n * @csspart base - The component's base wrapper.\n * @csspart super-tabs - Container for the super-tab bar.\n * @csspart super-tab - An individual super-tab button.\n * @csspart filter - Container for the search input.\n * @csspart filter-input - The search input element.\n * @csspart tree-wrapper - Scrollable container around the navigation items.\n *\n * @cssproperty [--background=var(--ed-color-surface-raised)] - Side-menu background color.\n * @cssproperty [--filter-spacing=var(--ed-space-3)] - Padding around the search input.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/side-menu",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('navigation')",
          "dependencies": [
            "ed-input",
            "ed-side-menu-item",
            "ed-side-menu-title"
          ],
          "tagName": "ed-side-menu",
          "customElement": true,
          "modulePath": "components/side-menu/side-menu.js",
          "definitionPath": "components/side-menu/side-menu.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdSideMenu",
            "module": "components/side-menu/side-menu.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-side-menu",
          "declaration": {
            "name": "EdSideMenu",
            "module": "components/side-menu/side-menu.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/rail-menu/rail-menu.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRailMenu",
          "cssProperties": [
            {
              "description": "Width of the rail column (mirrors the slim side-menu width).",
              "name": "--rail-width",
              "default": "6rem"
            },
            {
              "description": "Width of the open panel on expanded/medium views.",
              "name": "--panel-width",
              "default": "15rem"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The rail column wrapping the rail slot.",
              "name": "rail"
            },
            {
              "description": "The wrapper around the rail-header slot.",
              "name": "rail-header"
            },
            {
              "description": "The wrapper around the rail-footer slot.",
              "name": "rail-footer"
            },
            {
              "description": "The container around the panel slot.",
              "name": "panel"
            },
            {
              "description": "The compact drilldown's back-to-level-1 button. Visible only on compact.",
              "name": "back-button"
            }
          ],
          "slots": [
            {
              "description": "Exactly one `ed-side-menu variant=\"slim\"` whose items may carry `panel=\"…\"` references.",
              "name": "rail"
            },
            {
              "description": "Optional content pinned above the rail slot, inside the rail column.",
              "name": "rail-header"
            },
            {
              "description": "Optional content pinned below the rail column on expanded/medium, and below the panel on compact.",
              "name": "rail-footer"
            },
            {
              "description": "The panels: one element per section, each identified by a `name` attribute. Any element works; `ed-side-menu` panels additionally receive the wrapper's `current`.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "compactQuery",
              "type": {
                "text": "MediaQueryList | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "mediumQuery",
              "type": {
                "text": "MediaQueryList | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "overlayRegistered",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hoverCloseTimer",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "hoverOpenTimer",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "pendingHoverPanel",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The panel name the pending hover-open timer will preview when it fires, or `null` when no\nopen is armed. Lets a re-entered same-target `pointerover` leave the running timer alone\ninstead of restarting the dwell clock."
            },
            {
              "kind": "field",
              "name": "previewingSection",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True while the medium overlay is showing a hover-previewed section rather than the committed\none. A preview is presentational only (no active-section commit, no navigation, no event); the\ncommitted state is restored via resolveAndApply() when the overlay closes."
            },
            {
              "kind": "field",
              "name": "panelElement",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "backButtonElement",
              "type": {
                "text": "HTMLButtonElement"
              }
            },
            {
              "kind": "field",
              "name": "current",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The identity (item `value`, falling back to `href`) of the current page. Drives the active section and is forwarded to `ed-side-menu` panels.",
              "attribute": "current"
            },
            {
              "kind": "field",
              "name": "panelOpen",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Whether the panel is open. Reflects silently — setting the property emits no events;\nuse `showPanel()`/`hidePanel()`/`togglePanel()` to get `ed-show`/`ed-hide`.\nIgnored on the compact view.",
              "attribute": "panel-open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "compactBreakpoint",
              "type": {
                "text": "string"
              },
              "default": "'768px'",
              "description": "Below this viewport width the compact (drilldown) view renders. Keep in sync with `ed-app`'s `mobile-breakpoint`.",
              "attribute": "compact-breakpoint"
            },
            {
              "kind": "field",
              "name": "mediumBreakpoint",
              "type": {
                "text": "string"
              },
              "default": "'1600px'",
              "description": "Between the compact and this viewport width, the rail persists and the panel overlays.",
              "attribute": "medium-breakpoint"
            },
            {
              "kind": "field",
              "name": "view",
              "type": {
                "text": "RailMenuView"
              },
              "default": "'expanded'",
              "description": "The current responsive stage. Computed from the viewport; reflected for styling.",
              "attribute": "view",
              "reflects": true,
              "parsedType": {
                "text": "'expanded' | 'medium' | 'compact'"
              }
            },
            {
              "kind": "field",
              "name": "handleViewportChange",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "setupMediaQueries",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "teardownMediaQueries",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleBreakpointChange",
              "type": {
                "text": "handleBreakpointChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "overlayActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "syncDismissibleRegistration",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeydown",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "handleDocumentPointerDown",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "handlePointerEnter",
              "privacy": "private",
              "readonly": true,
              "description": "Mouse leaving the host (rail + panel — the host geometrically contains both, and these\nevents don't bubble, so a plain host listener fires exactly on the host's own boundary)\nstarts the hover-out grace timer. Touch pointers never open a hover-driven close — touch\nkeeps the tap/Escape/navigate dismissals only."
            },
            {
              "kind": "field",
              "name": "handleRailPointerOver",
              "privacy": "private",
              "readonly": true,
              "description": "Hovering a panel-carrying rail item previews that section's panel after a short dwell\n(`HOVER_OPEN_DELAY_MS`) — m3 behavior on both expanded and medium, no click required. The delay\nis hover-intent: a diagonal rail→panel sweep that grazes another rail item leaves the pointer\non it for only a moment, and moving off (into the panel, `findRailItem` → `null`) cancels the\npending switch before it fires — so the panel isn't switched out from under the pointer. This\nis a *preview*: it swaps the shown panel but never commits the active section, navigates, or\nemits `ed-section-change` (only a click does that, via `handleRailClick()` — otherwise merely\nsweeping the mouse across the rail would navigate). On medium it also opens the overlay; on\nexpanded the panel is already persistent, so the content just swaps in place. The hovered item\nkeeps only its native `:hover` feedback; the committed \"active\" highlight is untouched and is\nrestored, along with the shown panel, by `resolveAndApply()` when the pointer leaves rail+panel\n(see `handlePointerLeave()`). Mouse only; touch/keyboard open a section via a real tap/Enter (a\nclick). A pure-nav rail item (no `panel`) has nothing to preview and leaves the current view\nas-is. Compact drills on click, never on hover."
            },
            {
              "kind": "method",
              "name": "previewSection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "panelName",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Applies a hover preview once its dwell timer fires. Re-checks the guards `handleRailPointerOver`\nalready passed — the dwell means state may have shifted since (a view change, a click commit, a\nroute resolution) — so a stale timer that slipped past its cancel points is still a safe no-op."
            },
            {
              "kind": "field",
              "name": "handlePointerLeave",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "cancelHoverCloseTimer",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "cancelHoverOpenTimer",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleNavigate",
              "privacy": "private",
              "readonly": true,
              "description": "`handleRailClick()` is the *only* rail-item activation path now, on every view: v3's XOR\ncontract means a conforming panel-carrying item never has `href`, so `ed-side-menu-item`\nnever dispatches `ed-navigate` for it in the first place — there is no compact \"ed-navigate\nfast path\" left to intercept here (a contract-violating item's `href` is already blocked at\nthe click itself, unconditionally, by `handleRailClick()`; letting it *also* reach here would\njust re-run `activateSection()` a second time for the same click). This listener now only\nhandles the medium overlay's \"dismiss on navigation from inside the panel\" rule."
            },
            {
              "kind": "method",
              "name": "findRailItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdSideMenuItem | null"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ],
              "description": "Finds the rail `ed-side-menu-item` (if any) an event's path passed through — used by the click\nactivation listener. A mouse click and an Enter/Space keypress resolve to the same thing here:\n`ed-side-menu-item` itself turns an href-less leaf into a focusable role=\"button\" row (see\nside-menu-item.ts) whose Enter/Space replay a `click` on that row, so both surface as a plain,\ncomposed `click` reaching this listener. `composedPath()` crosses the item's shadow root, so\nthis also catches clicks on the item's internal `part=\"item\"` row."
            },
            {
              "kind": "field",
              "name": "handleRailClick",
              "privacy": "private",
              "readonly": true,
              "description": "Rail items with a `panel` activate that section immediately, on every view — a fast, synchronous\nalternative to waiting for the app's router to round-trip through `setCurrent()`. Panel-only\nitems (no `href`) never emit `ed-navigate`, so this listener is their only activation path — for\nboth a real mouse click and an Enter/Space keypress, since `ed-side-menu-item` itself replays\nthose as a `click` on a panel-only (href-less leaf) item's row (see side-menu-item.ts).\n\nv3 contract: `href` XOR `panel` (see the class-level `panel` doc). `panel` always wins, so a\npanel-carrying item's `href` — present only when a consumer mistakenly sets both, see\n`syncRailItemContracts()` — must never be followed: `preventDefault()` unconditionally, before\neven looking at modifier keys, so neither the current tab nor a modifier-opened new tab\nnavigates. Modified clicks still skip activation (nothing to activate for a background/new-tab\nclick either way).\n\nA pure-nav item (`href`, no `panel`) is left entirely to native navigation — this listener never\ncalls `preventDefault()` for it — but an unmodified click still collapses the panel area\noptimistically (`activateSection('', item)`) instead of leaving a previous section's panel open\nuntil the route settles (the reported \"clicking Home leaves the panel open\" bug).\n\n`disabled` items still receive the click (the CSS only dims them, it doesn't set\n`pointer-events: none`) and `ed-side-menu-item`'s own `handleRowClick` only guards *its own*\ndefault action, not propagation — so this listener must bail out itself, or a disabled item\nwould still activate a section or optimistically collapse the panel."
            },
            {
              "kind": "method",
              "name": "activateSection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "panelName",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "railItem",
                  "type": {
                    "text": "EdSideMenuItem | null"
                  }
                }
              ],
              "description": "The \"make this the active section\" step for `handleRailClick()` — the only caller: shows the\nnamed panel (or none, when `panelName` is `''` — the pure-nav \"optimistic collapse\" case),\nhighlights `railItem` in the rail, and emits `ed-section-change` only when the section\nactually changes (never during initialization, and never twice for the same target — a no-op\nre-run, e.g. a second click on the active item, changes nothing and stays silent). The single\nplace outside `resolveAndApply()` allowed to write `_activeSection`. Only ever reached from a\nuser interaction (click, or Enter/Space replayed as a click) — route-driven changes go through\n`resolveAndApply()` instead and never call this method, which is exactly why the auto-select\nbelow is safe to run unconditionally here (see behavior amendment 1: \"section openers never\nnavigate — auto-select does\")."
            },
            {
              "kind": "method",
              "name": "autoSelectPanelOverview",
              "privacy": "private",
              "parameters": [
                {
                  "name": "panelName",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "m3's \"apparent navigation\" on section switch (behavior amendment 1): auto-activates the named\npanel's first existing `ed-side-menu-item` with an identity — `value` or `href` (a property\nread, not an attribute check — consistent with `resolveActive()`'s own identity lookups, so a\nproperty-only value/href also counts) that isn't `disabled`. A real click on its shadow row\nfires `ed-navigate` exactly as a manual click would, so a router's `preventDefault()` keeps\nworking as usual. The wrapper never invents an item — a panel with no eligible item is skipped\nsilently, no error. The medium overlay must stay open for this programmatic navigation (only a\n*user* click inside the panel dismisses it, see `handleNavigate()`) — `suppressNavigateDismissal`\ntells `handleNavigate()` to ignore this specific, synchronous `ed-navigate` dispatch; the\n`finally` guarantees the flag resets even if `row.click()` itself throws, so it can never leak\n`true` and mask a later, genuine in-panel navigation's dismissal."
            },
            {
              "kind": "method",
              "name": "drillIn",
              "privacy": "private",
              "parameters": [
                {
                  "name": "railItem",
                  "type": {
                    "text": "EdSideMenuItem | null"
                  }
                }
              ],
              "description": "Drills into level 2 (the active section's panel) on compact: remembers `railItem` as the\ncounterpart the back button restores focus to, sets the `drilldown` custom state, and moves\nfocus onto the back button so keyboard/AT users land inside the panel that just slid in."
            },
            {
              "kind": "method",
              "name": "handleBackButtonClick",
              "privacy": "private",
              "description": "Back button (level 2 → level 1): clears the drilldown state and returns focus to the rail\nitem that drilled in — its inner shadow row, which is focusable for every rail item shape now\n(an `<a>` for href items, a `role=\"button\"` `<div>` for disclosure-row parents and href-less\nleaf items alike — see side-menu-item.ts) — falling back to `focusRail()` when nothing was\nrecorded (e.g. compact started already drilled in via an active section, with no user-driven\ndrill to remember) or the item is gone."
            },
            {
              "kind": "method",
              "name": "showPanel",
              "description": "Opens the panel and emits ed-show / ed-after-show. No-op when already open.",
              "type": {
                "text": "showPanel() => void"
              }
            },
            {
              "kind": "method",
              "name": "hidePanel",
              "description": "Closes the panel and emits ed-hide / ed-after-hide. No-op when already closed.\nIntentionally does NOT clear a pending hover timer — the timer's overlayActive recheck\nmakes it a safe no-op; reopening cancels it via updated().",
              "type": {
                "text": "hidePanel() => void"
              }
            },
            {
              "kind": "method",
              "name": "togglePanel",
              "type": {
                "text": "togglePanel() => void"
              }
            },
            {
              "kind": "method",
              "name": "afterPanelSettles",
              "privacy": "private",
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "() => void"
                  }
                }
              ],
              "description": "Runs `callback` when the panel's width transition ends — or after a\nfallback timeout, so reduced-motion or display:none panels still settle."
            },
            {
              "kind": "method",
              "name": "handleViewChange",
              "type": {
                "text": "handleViewChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "syncDrilldownForSection",
              "privacy": "private",
              "description": "Compact's level-2 default: drilled in whenever a section is active (e.g. a deep-linked\nroute or a route-driven section change), level 1 otherwise; leaving compact always clears\nit. Runs on every `view` change (here and at firstUpdated) and, gated on an actual section\nchange, from `resolveAndApply()` — never from an incidental re-resolution with the *same*\nsection (e.g. a rail slotchange that also calls applyViewDefaults()), so a manual \"back\"\nsurvives, e.g., a consumer mutating rail items while the drawer stays open on compact.\nRoute-driven callers never move focus — that stays exclusive to `drillIn()`, which\nclick-driven `activateSection()` calls instead."
            },
            {
              "kind": "method",
              "name": "applyViewDefaults",
              "privacy": "private",
              "description": "Stage defaults are applied silently — automatic transitions never emit events."
            },
            {
              "kind": "method",
              "name": "syncCompactChevrons",
              "privacy": "private",
              "description": "m3 parity (behavior amendment 5): on compact level 1, a panel-carrying rail item shows a\ntrailing chevron indicating it drills into a section — CSS alone can't reach into the item's\nshadow `end` slot from here, so the wrapper light-DOM-injects an `ed-icon` into it instead.\nRuns from `applyViewDefaults()` (view changes, rail `slotchange`, and `firstUpdated`), the same\nsingle place that already flips the rail between `slim` and `default` — a coherent one-stop\nsync for \"what compact looks like\" on the rail.\n\nIdempotent and non-destructive: a `[data-rail-menu-chevron]` marks the wrapper's own injection\nso re-running this (e.g. a rail slotchange while already compact) never duplicates it, and\nleaving compact removes exactly that marked element — never anything else. An item that already\ncarries consumer-authored `slot=\"end\"` content (a badge, say) is left alone entirely; the\nwrapper never overwrites or duplicates author content."
            },
            {
              "kind": "method",
              "name": "applyLandmarkLabels",
              "privacy": "private",
              "description": "Default landmark labels for slotted menus — a consumer-provided `aria-label` always wins."
            },
            {
              "kind": "field",
              "name": "_activeSection",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_initialized",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_drilledRailItem",
              "type": {
                "text": "EdSideMenuItem | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The rail item last drilled in from (compact) — the back button's focus-restore target."
            },
            {
              "kind": "field",
              "name": "suppressNavigateDismissal",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set around `autoSelectPanelOverview()`'s synthetic anchor click — tells `handleNavigate()`'s\nmedium-overlay dismissal branch to ignore that specific, synchronous `ed-navigate` dispatch."
            },
            {
              "kind": "field",
              "name": "activeSection",
              "type": {
                "text": "string"
              },
              "description": "The `name` of the currently shown panel ('' while the active rail item has no panel).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "getRailMenu",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdSideMenu | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "getRailItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdSideMenuItem[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "getActiveRailItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdSideMenuItem | null"
                }
              }
            },
            {
              "kind": "field",
              "name": "contractWarnedItems",
              "privacy": "private",
              "readonly": true,
              "default": "new WeakSet<EdSideMenuItem>()"
            },
            {
              "kind": "method",
              "name": "syncRailItemContracts",
              "privacy": "private",
              "description": "Enforces the rail's `href`/`panel` XOR contract on every slotted item — either violation warns\nonce per item (WeakSet-deduped) so the mistake surfaces during development:\n- Neither attribute: the item is inert (no navigation, no section).\n- Both attributes: `panel` always wins everywhere (`handleRailClick()`), so the `href` is dead\n  weight — warn so the consumer notices instead of silently losing the link.\n\n`panel` without `href` needs no accommodation here anymore: such an item is an href-less leaf,\nwhich `ed-side-menu-item` itself renders as a focusable `role=\"button\"` row (see\nside-menu-item.ts) — the wrapper no longer injects `tabindex`/`role`."
            },
            {
              "kind": "method",
              "name": "focusRail",
              "privacy": "private",
              "description": "Moves focus out of the closing overlay: the active rail item's focusable row when it has one,\notherwise the first rail item with an `href`. ed-side-menu-item neither overrides focus() nor\ndelegates it, so a bare item.focus() would fall through to <body> — the actual target is the\nshadow-DOM element carrying part=\"item\". That renders as an `<a>` when the item has an `href`,\nand as a focusable `role=\"button\"` `<div>` for an href-less leaf (e.g. a panel-only rail item —\nsee side-menu-item.ts) — but section resolution can leave no active item at all (resolveActive()'s\nfallback case), so probe each candidate and confirm focus actually landed rather than trusting a\nsingle .focus()."
            },
            {
              "kind": "method",
              "name": "tryFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "HTMLElement | null | undefined"
                  }
                }
              ],
              "description": "Focuses `el` and reports whether focus actually landed there — shared by `focusRail()` and\nthe back button handler, both of which probe candidate elements that may not be focusable\n(see focusRail's doc comment for why a bare `.focus()` isn't trustworthy here)."
            },
            {
              "kind": "method",
              "name": "getPanels",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCurrent",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Update `current` and synchronously re-resolve the active section (SPA route hooks).",
              "type": {
                "text": "setCurrent(value: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "handleCurrentChange",
              "type": {
                "text": "handleCurrentChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "resolveActive",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ section: string; railItem: EdSideMenuItem | null }"
                }
              }
            },
            {
              "kind": "method",
              "name": "resolveAndApply",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleRailSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the panel opens via user/API action (never from initialization or automatic stage changes).",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted when the panel closes via user/API action.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the panel's opening transition finishes.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted after the panel's closing transition finishes.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            },
            {
              "type": {
                "text": "{ panel: string }"
              },
              "description": "Emitted when the active section changes (never from the initial resolution). Detail contains `{ panel: string }`; `panel` is `''` when the panel area collapses, e.g. after clicking a pure-navigation rail item.",
              "name": "ed-section-change",
              "reactName": "onEdSectionChange",
              "eventName": "EdSectionChangeEvent"
            }
          ],
          "attributes": [
            {
              "type": {
                "text": "string"
              },
              "description": "Contract attribute on slotted rail `ed-side-menu-item`s: names the panel this rail item opens. Mutually exclusive with `href` — a rail item takes one or the other, never both; with both set, `panel` wins and the `href` is never followed (a `logger.warn` flags the mistake once per item).",
              "name": "panel"
            },
            {
              "type": {
                "text": "string"
              },
              "description": "Contract attribute on slotted panel elements: the panel's identifier referenced by `panel`.",
              "name": "name"
            },
            {
              "name": "current",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The identity (item `value`, falling back to `href`) of the current page. Drives the active section and is forwarded to `ed-side-menu` panels.",
              "fieldName": "current"
            },
            {
              "name": "panel-open",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Whether the panel is open. Reflects silently — setting the property emits no events;\nuse `showPanel()`/`hidePanel()`/`togglePanel()` to get `ed-show`/`ed-hide`.\nIgnored on the compact view.",
              "fieldName": "panelOpen"
            },
            {
              "name": "compact-breakpoint",
              "type": {
                "text": "string"
              },
              "default": "'768px'",
              "description": "Below this viewport width the compact (drilldown) view renders. Keep in sync with `ed-app`'s `mobile-breakpoint`.",
              "fieldName": "compactBreakpoint"
            },
            {
              "name": "medium-breakpoint",
              "type": {
                "text": "string"
              },
              "default": "'1600px'",
              "description": "Between the compact and this viewport width, the rail persists and the panel overlays.",
              "fieldName": "mediumBreakpoint"
            },
            {
              "name": "view",
              "type": {
                "text": "RailMenuView"
              },
              "default": "'expanded'",
              "description": "The current responsive stage. Computed from the viewport; reflected for styling.",
              "fieldName": "view",
              "parsedType": {
                "text": "'expanded' | 'medium' | 'compact'"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied while the active section has no panel (rail item without `panel`).",
              "name": "panel-empty"
            },
            {
              "description": "Applied on the compact view while level 2 (the active section's panel) is showing.",
              "name": "drilldown"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "An M3-style two-pane navigation: a slim [ed-side-menu](/a/eurodata-ui/docs/components/side-menu)\nrail selects a section, a second side-menu panel shows the section's pages. Three-stage responsive behavior.",
          "jsDoc": "/**\n * @summary An M3-style two-pane navigation: a slim [ed-side-menu](/a/eurodata-ui/docs/components/side-menu)\n *  rail selects a section, a second side-menu panel shows the section's pages. Three-stage responsive behavior.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/rail-menu\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-icon\n * @dependency ed-side-menu\n * @dependency ed-side-menu-item\n *\n * @attr {string} panel - Contract attribute on slotted rail `ed-side-menu-item`s: names the panel this rail item\n *  opens. Mutually exclusive with `href` — a rail item takes one or the other, never both; with both set, `panel`\n *  wins and the `href` is never followed (a `logger.warn` flags the mistake once per item).\n * @attr {string} name - Contract attribute on slotted panel elements: the panel's identifier referenced by `panel`.\n *\n * @slot rail - Exactly one `ed-side-menu variant=\"slim\"` whose items may carry `panel=\"…\"` references.\n * @slot rail-header - Optional content pinned above the rail slot, inside the rail column.\n * @slot rail-footer - Optional content pinned below the rail column on expanded/medium, and below the panel on compact.\n * @slot - The panels: one element per section, each identified by a `name` attribute. Any element works;\n *  `ed-side-menu` panels additionally receive the wrapper's `current`.\n *\n * @event ed-show - Emitted when the panel opens via user/API action (never from initialization or automatic stage changes).\n * @event ed-hide - Emitted when the panel closes via user/API action.\n * @event ed-after-show - Emitted after the panel's opening transition finishes.\n * @event ed-after-hide - Emitted after the panel's closing transition finishes.\n * @event {{ panel: string }} ed-section-change - Emitted when the active section changes (never from the initial resolution). Detail contains\n *  `{ panel: string }`; `panel` is `''` when the panel area collapses, e.g. after clicking a pure-navigation rail item.\n *\n * @csspart base - The component's base wrapper.\n * @csspart rail - The rail column wrapping the rail slot.\n * @csspart rail-header - The wrapper around the rail-header slot.\n * @csspart rail-footer - The wrapper around the rail-footer slot.\n * @csspart panel - The container around the panel slot.\n * @csspart back-button - The compact drilldown's back-to-level-1 button. Visible only on compact.\n *\n * @cssstate panel-empty - Applied while the active section has no panel (rail item without `panel`).\n * @cssstate drilldown - Applied on the compact view while level 2 (the active section's panel) is showing.\n *\n * @cssproperty [--rail-width=6rem] - Width of the rail column (mirrors the slim side-menu width).\n * @cssproperty [--panel-width=15rem] - Width of the open panel on expanded/medium views.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/rail-menu",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-icon",
            "ed-side-menu",
            "ed-side-menu-item"
          ],
          "tagName": "ed-rail-menu",
          "customElement": true,
          "modulePath": "components/rail-menu/rail-menu.js",
          "definitionPath": "components/rail-menu/rail-menu.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdRailMenu",
            "module": "components/rail-menu/rail-menu.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-rail-menu",
          "declaration": {
            "name": "EdRailMenu",
            "module": "components/rail-menu/rail-menu.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/rating/rating.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRating",
          "cssProperties": [
            {
              "description": "The inactive color for symbols.",
              "name": "--symbol-color"
            },
            {
              "description": "The active color for symbols.",
              "name": "--symbol-color-active"
            },
            {
              "description": "The spacing to use around symbols.",
              "name": "--symbol-spacing"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, styles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['change']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hoverValue",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "isHovering",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the rating, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label that describes the rating to assistive devices.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current rating.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The default value of the form control. Used to reset the rating to its initial value.",
              "attribute": "default-value"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "The highest rating to show.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "precision",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The precision at which the rating will increase and decrease. For example, to allow half-star ratings, set this\nattribute to `0.5`.",
              "attribute": "precision"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the rating readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the rating a required field — a value of 0 counts as missing.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "'favorite'",
              "description": "The icon name for inactive (unselected) symbols.",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "activeIcon",
              "type": {
                "text": "string"
              },
              "default": "'favorite_filled'",
              "description": "The icon name for active (selected) symbols.",
              "attribute": "active-icon"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "The component's density.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "getValueFromPointerPosition",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getValueFromXCoordinate",
              "privacy": "private",
              "parameters": [
                {
                  "name": "coordinate",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setRatingValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "newValue",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePointerEnter",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePointerMove",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePointerLeave",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePointerDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePointerUp",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "roundToPrecision",
              "privacy": "private",
              "parameters": [
                {
                  "name": "numberToRound",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "precision",
                  "default": "0.5"
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleHoverValueChange",
              "type": {
                "text": "handleHoverValueChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleIsHoveringChange",
              "type": {
                "text": "handleIsHoveringChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the rating's value changes.",
              "name": "change",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "type": {
                "text": "{ phase: 'start' | 'move' | 'end', value: number }"
              },
              "description": "Emitted when the user hovers over a value. The `phase` property indicates when hovering starts, moves to a new value, or ends. The `value` property tells what the rating's value would be if the user were to commit to the hovered value.",
              "name": "ed-hover",
              "reactName": "onEdHover",
              "eventName": "EdHoverEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the rating, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label that describes the rating to assistive devices.",
              "fieldName": "label"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current rating.",
              "fieldName": "value"
            },
            {
              "name": "default-value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The default value of the form control. Used to reset the rating to its initial value.",
              "fieldName": "defaultValue"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "The highest rating to show.",
              "fieldName": "max"
            },
            {
              "name": "precision",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The precision at which the rating will increase and decrease. For example, to allow half-star ratings, set this\nattribute to `0.5`.",
              "fieldName": "precision"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the rating readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the rating a required field — a value of 0 counts as missing.",
              "fieldName": "required"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "'favorite'",
              "description": "The icon name for inactive (unselected) symbols.",
              "fieldName": "icon"
            },
            {
              "name": "active-icon",
              "type": {
                "text": "string"
              },
              "default": "'favorite_filled'",
              "description": "The icon name for active (selected) symbols.",
              "fieldName": "activeIcon"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "The component's density.",
              "fieldName": "density"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Ratings give users a way to quickly view and provide feedback.",
          "jsDoc": "/**\n * @summary Ratings give users a way to quickly view and provide feedback.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/rating\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('slider')\n *\n * @dependency ed-icon\n *\n * @event change - Emitted when the rating's value changes.\n * @event {{ phase: 'start' | 'move' | 'end', value: number }} ed-hover - Emitted when the user hovers over a value. The\n *  `phase` property indicates when hovering starts, moves to a new value, or ends. The `value` property tells what the\n *  rating's value would be if the user were to commit to the hovered value.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --symbol-color - The inactive color for symbols.\n * @cssproperty --symbol-color-active - The active color for symbols.\n * @cssproperty --symbol-spacing - The spacing to use around symbols.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/rating",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('slider')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-rating",
          "customElement": true,
          "modulePath": "components/rating/rating.js",
          "definitionPath": "components/rating/rating.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdRating",
            "module": "components/rating/rating.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-rating",
          "declaration": {
            "name": "EdRating",
            "module": "components/rating/rating.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/relative-time/relative-time.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdRelativeTime",
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "updateTimeout",
              "type": {
                "text": "number | ReturnType<typeof setTimeout>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "isoTime",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "relativeTime",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "date",
              "type": {
                "text": "Date | string"
              },
              "default": "new Date()",
              "description": "The date from which to calculate time from. If not set, the current date and time will be used. When passing a\nstring, it's strongly recommended to use the ISO 8601 format to ensure timezones are handled correctly. To convert\na date to this format in JavaScript, use [`date.toISOString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString).",
              "attribute": "date"
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "'long' | 'short' | 'narrow'"
              },
              "default": "'long'",
              "description": "The formatting style to use.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "numeric",
              "type": {
                "text": "'always' | 'auto'"
              },
              "default": "'auto'",
              "description": "When `auto`, values such as \"yesterday\" and \"tomorrow\" will be shown when possible. When `always`, values such as\n\"1 day ago\" and \"in 1 day\" will be shown.",
              "attribute": "numeric"
            },
            {
              "kind": "field",
              "name": "sync",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Keep the displayed value up to date as time passes.",
              "attribute": "sync"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "date",
              "type": {
                "text": "Date | string"
              },
              "default": "new Date()",
              "description": "The date from which to calculate time from. If not set, the current date and time will be used. When passing a\nstring, it's strongly recommended to use the ISO 8601 format to ensure timezones are handled correctly. To convert\na date to this format in JavaScript, use [`date.toISOString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString).",
              "fieldName": "date"
            },
            {
              "name": "format",
              "type": {
                "text": "'long' | 'short' | 'narrow'"
              },
              "default": "'long'",
              "description": "The formatting style to use.",
              "fieldName": "format"
            },
            {
              "name": "numeric",
              "type": {
                "text": "'always' | 'auto'"
              },
              "default": "'auto'",
              "description": "When `auto`, values such as \"yesterday\" and \"tomorrow\" will be shown when possible. When `always`, values such as\n\"1 day ago\" and \"in 1 day\" will be shown.",
              "fieldName": "numeric"
            },
            {
              "name": "sync",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Keep the displayed value up to date as time passes.",
              "fieldName": "sync"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Outputs a localized time phrase relative to the current date and time.",
          "jsDoc": "/**\n * @summary Outputs a localized time phrase relative to the current date and time.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/relative-time\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/relative-time",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-relative-time",
          "customElement": true,
          "modulePath": "components/relative-time/relative-time.js",
          "definitionPath": "components/relative-time/relative-time.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": [],
          "events": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdRelativeTime",
            "module": "components/relative-time/relative-time.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-relative-time",
          "declaration": {
            "name": "EdRelativeTime",
            "module": "components/relative-time/relative-time.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/resize-observer/resize-observer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdResizeObserver",
          "slots": [
            {
              "description": "One or more elements to watch for resizing.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "observedElements",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "startObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stopObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ entries: ResizeObserverEntry[] }"
              },
              "description": "Emitted when a watched element is resized. The event detail contains an `entries` array of [`ResizeObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry) objects.",
              "name": "ed-resize",
              "reactName": "onEdResize",
              "eventName": "EdResizeEvent"
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "fieldName": "disabled"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).",
          "jsDoc": "/**\n * @summary The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/resize-observer\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @slot - One or more elements to watch for resizing.\n *\n * @event {{ entries: ResizeObserverEntry[] }} ed-resize - Emitted when a watched element is resized. The event detail contains an `entries` array of [`ResizeObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry) objects.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/resize-observer",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "tagName": "ed-resize-observer",
          "customElement": true,
          "modulePath": "components/resize-observer/resize-observer.js",
          "definitionPath": "components/resize-observer/resize-observer.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdResizeObserver",
            "module": "components/resize-observer/resize-observer.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-resize-observer",
          "declaration": {
            "name": "EdResizeObserver",
            "module": "components/resize-observer/resize-observer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/scroller/scroller.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdScroller",
          "cssProperties": [
            {
              "description": "The base color of the shadow.",
              "name": "--shadow-color",
              "default": "var(--ed-color-surface-default)"
            },
            {
              "description": "The size of the shadow.",
              "name": "--shadow-size",
              "default": "2rem"
            }
          ],
          "cssParts": [
            {
              "description": "The container that wraps the slotted content.",
              "name": "content"
            }
          ],
          "slots": [
            {
              "description": "The content to show inside the scroller.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "content",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "canScroll",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The scroller's orientation.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutScrollbar",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the visible scrollbar.",
              "attribute": "without-scrollbar",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutShadow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the shadows.",
              "attribute": "without-shadow",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The scroll region's accessible name, replacing the localized \"Scrollable region\" default —\nset it to tell multiple scrollers on one page apart. Mirrored onto the internal region node,\nwhere the role lives — an aria-label left on the host alone would sit on a role-less element\nand be ignored by assistive tech (house pattern: ed-checkbox).",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateScroll",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The scroller's orientation.",
              "fieldName": "orientation"
            },
            {
              "name": "without-scrollbar",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the visible scrollbar.",
              "fieldName": "withoutScrollbar"
            },
            {
              "name": "without-shadow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the shadows.",
              "fieldName": "withoutShadow"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The scroll region's accessible name, replacing the localized \"Scrollable region\" default —\nset it to tell multiple scrollers on one page apart. Mirrored onto the internal region node,\nwhere the role lives — an aria-label left on the host alone would sit on a role-less element\nand be ignored by assistive tech (house pattern: ed-checkbox).",
              "fieldName": "ariaLabel"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Scrollers create an accessible container while providing visual cues that help users identify and navigate\nthrough content that scrolls.",
          "jsDoc": "/**\n * @summary Scrollers create an accessible container while providing visual cues that help users identify and navigate\n *  through content that scrolls.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/scroller\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('region')\n *\n * @slot - The content to show inside the scroller.\n *\n * @cssproperty [--shadow-color=var(--ed-color-surface-default)] - The base color of the shadow.\n * @cssproperty [--shadow-size=2rem] - The size of the shadow.\n *\n * @csspart content - The container that wraps the slotted content.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/scroller",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('region')",
          "tagName": "ed-scroller",
          "customElement": true,
          "modulePath": "components/scroller/scroller.js",
          "definitionPath": "components/scroller/scroller.js",
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdScroller",
            "module": "components/scroller/scroller.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-scroller",
          "declaration": {
            "name": "EdScroller",
            "module": "components/scroller/scroller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/scrollspy-item/scrollspy-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdScrollspyItem",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The clickable anchor row.",
              "name": "link"
            },
            {
              "description": "The vertical line column to the inline-start of the label. Tinted for the active section.",
              "name": "rail"
            },
            {
              "description": "The circular indicator on the rail. Solid-filled when active.",
              "name": "dot"
            },
            {
              "description": "The visible item label.",
              "name": "label"
            },
            {
              "description": "The child-count badge on parent items (rendered when `count > 0`).",
              "name": "count"
            },
            {
              "description": "Container for nested level-2 items.",
              "name": "children"
            }
          ],
          "slots": [
            {
              "description": "The item's label text and optional nested `<ed-scrollspy-item>` children (level 2 only — the parent enforces the two-level cap).",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Anchor target — the heading id this item points to (e.g. `#anatomy`).",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether this item's heading is the active scroll target. Set by the parent; do not write directly.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "parentActive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether this is a level-1 item whose level-2 child is active. Set by the parent; do not write directly.",
              "attribute": "parent-active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "passed",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the reader has scrolled past this item. Set by the parent; do not write directly.",
              "attribute": "passed",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "count",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Number of level-2 children inside this item. Set by the parent on level-1 items.",
              "attribute": "count"
            },
            {
              "kind": "field",
              "name": "showCount",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, render the count badge. Gated by the parent's `show-counts` attribute.",
              "attribute": "show-count"
            },
            {
              "kind": "method",
              "name": "handleActiveChange",
              "type": {
                "text": "handleActiveChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleParentActiveChange",
              "type": {
                "text": "handleParentActiveChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePassedChange",
              "type": {
                "text": "handlePassedChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Anchor target — the heading id this item points to (e.g. `#anatomy`).",
              "fieldName": "href"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether this item's heading is the active scroll target. Set by the parent; do not write directly.",
              "fieldName": "active"
            },
            {
              "name": "parent-active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether this is a level-1 item whose level-2 child is active. Set by the parent; do not write directly.",
              "fieldName": "parentActive"
            },
            {
              "name": "passed",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the reader has scrolled past this item. Set by the parent; do not write directly.",
              "fieldName": "passed"
            },
            {
              "name": "count",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Number of level-2 children inside this item. Set by the parent on level-1 items.",
              "fieldName": "count"
            },
            {
              "name": "show-count",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, render the count badge. Gated by the parent's `show-counts` attribute.",
              "fieldName": "showCount"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when this item's heading is the active scroll target.",
              "name": "active"
            },
            {
              "description": "Applied to a level-1 item when its level-2 child is active.",
              "name": "parent-active"
            },
            {
              "description": "Applied to items the reader has scrolled past.",
              "name": "passed"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A single item inside [ed-scrollspy](/a/eurodata-ui/docs/components/scrollspy). Renders as an anchor link so right-click, keyboard, and share-link work natively.",
          "jsDoc": "/**\n * @summary A single item inside [ed-scrollspy](/a/eurodata-ui/docs/components/scrollspy). Renders as an anchor link so right-click, keyboard, and share-link work natively.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/scrollspy-item\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('listitem', { name: '…' })\n *\n * @slot - The item's label text and optional nested `<ed-scrollspy-item>` children (level 2 only — the parent enforces the two-level cap).\n *\n * @csspart base - The component's base wrapper.\n * @csspart link - The clickable anchor row.\n * @csspart rail - The vertical line column to the inline-start of the label. Tinted for the active section.\n * @csspart dot - The circular indicator on the rail. Solid-filled when active.\n * @csspart label - The visible item label.\n * @csspart count - The child-count badge on parent items (rendered when `count > 0`).\n * @csspart children - Container for nested level-2 items.\n *\n * @cssstate active - Applied when this item's heading is the active scroll target.\n * @cssstate parent-active - Applied to a level-1 item when its level-2 child is active.\n * @cssstate passed - Applied to items the reader has scrolled past.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/scrollspy-item",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('listitem', { name: '…' })",
          "tagName": "ed-scrollspy-item",
          "customElement": true,
          "modulePath": "components/scrollspy-item/scrollspy-item.js",
          "definitionPath": "components/scrollspy-item/scrollspy-item.js",
          "cssProperties": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdScrollspyItem",
            "module": "components/scrollspy-item/scrollspy-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-scrollspy-item",
          "declaration": {
            "name": "EdScrollspyItem",
            "module": "components/scrollspy-item/scrollspy-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/scrollspy/scrollspy.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdScrollspy",
          "cssParts": [
            {
              "description": "The inner `<nav>` element.",
              "name": "base"
            },
            {
              "description": "The top-level `<ul>` rendered for auto-discovered items.",
              "name": "list"
            }
          ],
          "slots": [
            {
              "description": "The default slot for `<ed-scrollspy-item>` elements when authoring declaratively.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "CSS selector for the article whose headings should be auto-discovered.\nSlot children take precedence — when both are present, auto-discovery is silently skipped.",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "headings",
              "type": {
                "text": "string"
              },
              "default": "'h2, h3'",
              "description": "CSS selector for the headings to scan inside the `for=` target. The first match becomes a level-1 item, the second a level-2 child.",
              "attribute": "headings"
            },
            {
              "kind": "field",
              "name": "expand",
              "type": {
                "text": "'active' | 'all'"
              },
              "default": "'active'",
              "description": "Children-display mode.\n- `'active'` — level-2 children visible only under the active level-1 parent.\n- `'all'` — all level-2 children always visible.\n\nTo get an L1-only rail, narrow the scan with `headings=\"h2\"` instead — that way\nthe spy never tracks h3s, so scrolling past one can't steal the active state from\nits parent.",
              "attribute": "expand"
            },
            {
              "kind": "field",
              "name": "showCounts",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, parent items render a child-count badge with their level-2 child count.",
              "attribute": "show-counts"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Sets `aria-label` on the inner `<nav>`. Defaults to a localized \"On this page\".",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'spacious' | 'default' | 'compact'"
              },
              "default": "'default'",
              "description": "Density of the rail items. Match this to an adjacent [ed-side-menu](/a/eurodata-ui/docs/components/side-menu)\nso the two line up — a compact side-menu next to a default scrollspy reads as mismatched.\n- `spacious` — relaxed rows (~52px).\n- `default` — condensed rows (~40px).\n- `compact` — minimal rows (`--ed-form-control-height`, ~32px).",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "activeId",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Currently active heading id. Reflected for CSS hooks; consumers should treat as\nread-only outside tests.",
              "attribute": "active-id",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "offset",
              "type": {
                "text": "string"
              },
              "default": "'25%'",
              "description": "Probe-line position from the scroll region's top (the article's scroll container when\nthe article is `overflow:auto`/`scroll`, otherwise the viewport). CSS length string\n(default `'25%'` — a quarter into the scroll region).\n\n`%` is interpreted relative to the scroll region's height; `vh`/`vw` always refer to\nthe viewport per CSS convention; `px`/`rem`/`em` are absolute. Override when a sticky\npage header consumes part of the scroll region.",
              "attribute": "offset"
            },
            {
              "kind": "field",
              "name": "autoEntries",
              "type": {
                "text": "AutoDiscoveredEntry[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Auto-discovered entries — populated when slot is empty and `for=` resolves."
            },
            {
              "kind": "field",
              "name": "flatIds",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "description": "Cached flat list of heading ids in document order."
            },
            {
              "kind": "field",
              "name": "headingsMap",
              "privacy": "private",
              "default": "new Map<string, HTMLElement>()",
              "description": "Cached map from heading id to the heading element in the article."
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Per-instance MutationObserver on the resolved `for=` target."
            },
            {
              "kind": "field",
              "name": "rafId",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Last RAF id from the throttled recompute."
            },
            {
              "kind": "field",
              "name": "depthWarned",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether we have logged a depth-2-cap warning for this instance (per-instance dedupe)."
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "handleScrollOrResize",
              "privacy": "private",
              "readonly": true,
              "description": "Bound listeners — stored so `removeEventListener` actually removes them."
            },
            {
              "kind": "method",
              "name": "handleSourceChange",
              "type": {
                "text": "handleSourceChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleExpandChange",
              "type": {
                "text": "handleExpandChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDensityChange",
              "type": {
                "text": "handleDensityChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "propagateDensity",
              "privacy": "private",
              "description": "Push `density` onto every rendered item as an attribute (mirrors ed-side-menu). Covers both\nauto-discovered shadow items and slotted light-DOM items. Called only on structural/density\nchanges, never per scroll frame."
            },
            {
              "kind": "method",
              "name": "handleActiveIdChange",
              "parameters": [
                {
                  "name": "previousId",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "type": {
                "text": "handleActiveIdChange(previousId: string | null | undefined) => void"
              }
            },
            {
              "kind": "method",
              "name": "recomputeActive",
              "description": "Public test hook: synchronously recompute active item from current scroll position.\nSide-menu's `setCurrent()` is the precedent for an externally-callable sync escape hatch.",
              "type": {
                "text": "recomputeActive() => void"
              }
            },
            {
              "kind": "method",
              "name": "scrollToId",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Smoothly scroll the named heading to the top of the scroll region and sync the URL hash.\n\nThe heading lands at the region's top: for the window (the real page case) that means\nscroll-margin-top below the viewport top — i.e. just under any sticky header — and for a\nnested overflow container (e.g. the docs demo) the container's top edge.\n\nThe clicked heading is set active only when the scroll can actually bring it to the top.\nAt the document end, where it can't, we leave the active state to the probe so the heading\nactually shown at the top stays highlighted — clicking the last item repeatedly no longer\nforces it active.",
              "type": {
                "text": "scrollToId(id: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "getScrollContainer",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              },
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Walks up from `el` looking for the first ancestor with a scrollable y-axis (excluding\n`<html>` and `<body>`, which are the implicit window scroll). Returns null when the\nwindow itself is the scroll container — i.e., the typical real-world case."
            },
            {
              "kind": "method",
              "name": "setActive",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "scheduleRecompute",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "computeProbeY",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "resolveForTarget",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Element | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "getSlottedItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdScrollspyItem[]"
                }
              },
              "description": "Returns slotted `<ed-scrollspy-item>` direct children, if any."
            },
            {
              "kind": "method",
              "name": "rebuild",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "scanHeadings",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "AutoDiscoveredEntry[]"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "collectFlatIdsFromSlotted",
              "privacy": "private",
              "parameters": [
                {
                  "name": "slotted",
                  "type": {
                    "text": "EdScrollspyItem[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllRenderedItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdScrollspyItem[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "applyActiveState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "applySectionRailState",
              "privacy": "private",
              "description": "Per Figma 15985:22634, the rail is solid-tinted across the full vertical extent\nof the active row (the row matching the selection pill). No gradient/progress —\njust a band from the row's top to its bottom. We expose the band's start/end as\n'--rail-tint-start' / '--rail-tint-end' on the active L1; the CSS gradient does\nthe actual painting.\n\nCoordinates are in `::before`-local px. The first L1's `::before` is trimmed by\nhalf a row at the top (so the line starts at the first dot center) — we subtract\nthat trim from the band offsets so they land where the row actually sits.\n\nThe row height is measured live (see measureRowHeight) rather than assumed, so the\nband stays accurate across densities and any theme that resizes rows."
            },
            {
              "kind": "method",
              "name": "measureRowHeight",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "description": "Pixel height of one rail row at the current density. Any item with no visible children is\nexactly one row tall, so measuring its host box yields the row height without reaching into a\nchild shadow root — and it tracks density and the em-based `--ed-form-control-height` (compact)\nwithout hardcoding either."
            },
            {
              "kind": "method",
              "name": "applyChildrenVisibility",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "attachMutationObserver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "disconnectMutationObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unknown"
                }
              },
              "parameters": [
                {
                  "name": "entry",
                  "type": {
                    "text": "AutoDiscoveredEntry"
                  }
                },
                {
                  "name": "isChild",
                  "default": "false"
                }
              ]
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ activeId: string, previousId: string | null }"
              },
              "description": "Fired when the active heading changes.",
              "name": "ed-scrollspy-change",
              "reactName": "onEdScrollspyChange",
              "eventName": "EdScrollspyChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "for",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "CSS selector for the article whose headings should be auto-discovered.\nSlot children take precedence — when both are present, auto-discovery is silently skipped.",
              "fieldName": "for"
            },
            {
              "name": "headings",
              "type": {
                "text": "string"
              },
              "default": "'h2, h3'",
              "description": "CSS selector for the headings to scan inside the `for=` target. The first match becomes a level-1 item, the second a level-2 child.",
              "fieldName": "headings"
            },
            {
              "name": "expand",
              "type": {
                "text": "'active' | 'all'"
              },
              "default": "'active'",
              "description": "Children-display mode.\n- `'active'` — level-2 children visible only under the active level-1 parent.\n- `'all'` — all level-2 children always visible.\n\nTo get an L1-only rail, narrow the scan with `headings=\"h2\"` instead — that way\nthe spy never tracks h3s, so scrolling past one can't steal the active state from\nits parent.",
              "fieldName": "expand"
            },
            {
              "name": "show-counts",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, parent items render a child-count badge with their level-2 child count.",
              "fieldName": "showCounts"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Sets `aria-label` on the inner `<nav>`. Defaults to a localized \"On this page\".",
              "fieldName": "label"
            },
            {
              "name": "density",
              "type": {
                "text": "'spacious' | 'default' | 'compact'"
              },
              "default": "'default'",
              "description": "Density of the rail items. Match this to an adjacent [ed-side-menu](/a/eurodata-ui/docs/components/side-menu)\nso the two line up — a compact side-menu next to a default scrollspy reads as mismatched.\n- `spacious` — relaxed rows (~52px).\n- `default` — condensed rows (~40px).\n- `compact` — minimal rows (`--ed-form-control-height`, ~32px).",
              "fieldName": "density"
            },
            {
              "name": "active-id",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Currently active heading id. Reflected for CSS hooks; consumers should treat as\nread-only outside tests.",
              "fieldName": "activeId"
            },
            {
              "name": "offset",
              "type": {
                "text": "string"
              },
              "default": "'25%'",
              "description": "Probe-line position from the scroll region's top (the article's scroll container when\nthe article is `overflow:auto`/`scroll`, otherwise the viewport). CSS length string\n(default `'25%'` — a quarter into the scroll region).\n\n`%` is interpreted relative to the scroll region's height; `vh`/`vw` always refer to\nthe viewport per CSS convention; `px`/`rem`/`em` are absolute. Override when a sticky\npage header consumes part of the scroll region.",
              "fieldName": "offset"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Tracks the user's scroll position through a long page and highlights the corresponding entry in a vertical \"on this page\" rail. Two-level hierarchy with declarative or auto-discovered items.",
          "jsDoc": "/**\n * @summary Tracks the user's scroll position through a long page and highlights the corresponding entry in a vertical \"on this page\" rail. Two-level hierarchy with declarative or auto-discovered items.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/scrollspy\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('navigation')\n *\n * @dependency ed-scrollspy-item\n *\n * @event {{ activeId: string, previousId: string | null }} ed-scrollspy-change - Fired when the active heading changes.\n *\n * @slot - The default slot for `<ed-scrollspy-item>` elements when authoring declaratively.\n *\n * @csspart base - The inner `<nav>` element.\n * @csspart list - The top-level `<ul>` rendered for auto-discovered items.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/scrollspy",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('navigation')",
          "dependencies": [
            "ed-scrollspy-item"
          ],
          "tagName": "ed-scrollspy",
          "customElement": true,
          "modulePath": "components/scrollspy/scrollspy.js",
          "definitionPath": "components/scrollspy/scrollspy.js",
          "cssProperties": [],
          "cssStates": []
        },
        {
          "kind": "variable",
          "name": "label"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdScrollspy",
            "module": "components/scrollspy/scrollspy.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-scrollspy",
          "declaration": {
            "name": "EdScrollspy",
            "module": "components/scrollspy/scrollspy.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/split-panel/split-panel.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdSplitPanel",
          "cssProperties": [
            {
              "description": "The width of the visible divider.",
              "name": "--divider-width",
              "default": "4px"
            },
            {
              "description": "The invisible region around the divider where dragging can occur. This is usually wider than the divider to facilitate easier dragging.",
              "name": "--divider-hit-area",
              "default": "12px"
            },
            {
              "description": "The minimum allowed size of the primary panel.",
              "name": "--min",
              "default": "0"
            },
            {
              "description": "The maximum allowed size of the primary panel.",
              "name": "--max",
              "default": "100%"
            }
          ],
          "cssParts": [
            {
              "description": "The start panel.",
              "name": "start"
            },
            {
              "description": "The end panel.",
              "name": "end"
            },
            {
              "description": "Targets both the start and end panels.",
              "name": "panel"
            },
            {
              "description": "The divider that separates the start and end panels.",
              "name": "divider"
            },
            {
              "description": "The default drag handle rendered in the center of the divider when no custom divider is slotted.",
              "name": "handle"
            }
          ],
          "slots": [
            {
              "description": "Content to place in the start panel.",
              "name": "start"
            },
            {
              "description": "Content to place in the end panel.",
              "name": "end"
            },
            {
              "description": "The divider. Useful for slotting in a custom icon that renders as a handle.",
              "name": "divider"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "cachedPositionInPixels",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "lastFinitePosition",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "50",
              "description": "The last finite position percentage, used to recover after a hidden→visible resize."
            },
            {
              "kind": "field",
              "name": "isCollapsed",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "positionBeforeCollapsing",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "divider",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "position",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The current position of the divider from the primary panel's edge as a percentage 0-100. Defaults to 50% of the\ncontainer's initial size.",
              "attribute": "position",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "positionInPixels",
              "type": {
                "text": "number"
              },
              "description": "The current position of the divider from the primary panel's edge in pixels.",
              "attribute": "position-in-pixels"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Sets the split panel's orientation.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables resizing. Note that the position may still change as a result of resizing the host element.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "primary",
              "type": {
                "text": "'start' | 'end' | undefined"
              },
              "description": "If no primary panel is designated, both panels will resize proportionally when the host element is resized. If a\nprimary panel is designated, it will maintain its size and the other panel will grow or shrink as needed when the\nhost element is resized.",
              "attribute": "primary"
            },
            {
              "kind": "field",
              "name": "snap",
              "type": {
                "text": "string | undefined"
              },
              "description": "One or more space-separated values at which the divider should snap. Values can be in pixels or percentages, e.g.\n`\"100px 50%\"`.",
              "attribute": "snap"
            },
            {
              "kind": "field",
              "name": "snapThreshold",
              "type": {
                "text": "number"
              },
              "default": "12",
              "description": "How close the divider must be to a snap point until snapping occurs.",
              "attribute": "snap-threshold"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The divider's accessible name, replacing the localized \"Resize\" default — set it to tell\nmultiple split panels on one page apart. Mirrored onto the internal separator node, where\nthe role lives — an aria-label left on the host alone would sit on a role-less element and\nbe ignored by assistive tech (house pattern: ed-checkbox).",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "detectSize",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "percentageToPixels",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "pixelsToPercentage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDrag",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleResize",
              "privacy": "private",
              "parameters": [
                {
                  "name": "entries",
                  "type": {
                    "text": "ResizeObserverEntry[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handlePositionChange",
              "type": {
                "text": "handlePositionChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePositionInPixelsChange",
              "type": {
                "text": "handlePositionInPixelsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOrientationChange",
              "type": {
                "text": "handleOrientationChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the divider's position changes.",
              "name": "ed-reposition",
              "reactName": "onEdReposition",
              "eventName": "EdRepositionEvent"
            }
          ],
          "attributes": [
            {
              "name": "position",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The current position of the divider from the primary panel's edge as a percentage 0-100. Defaults to 50% of the\ncontainer's initial size.",
              "fieldName": "position"
            },
            {
              "name": "position-in-pixels",
              "type": {
                "text": "number"
              },
              "description": "The current position of the divider from the primary panel's edge in pixels.",
              "fieldName": "positionInPixels"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Sets the split panel's orientation.",
              "fieldName": "orientation"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables resizing. Note that the position may still change as a result of resizing the host element.",
              "fieldName": "disabled"
            },
            {
              "name": "primary",
              "type": {
                "text": "'start' | 'end' | undefined"
              },
              "description": "If no primary panel is designated, both panels will resize proportionally when the host element is resized. If a\nprimary panel is designated, it will maintain its size and the other panel will grow or shrink as needed when the\nhost element is resized.",
              "fieldName": "primary"
            },
            {
              "name": "snap",
              "type": {
                "text": "string | undefined"
              },
              "description": "One or more space-separated values at which the divider should snap. Values can be in pixels or percentages, e.g.\n`\"100px 50%\"`.",
              "fieldName": "snap"
            },
            {
              "name": "snap-threshold",
              "type": {
                "text": "number"
              },
              "default": "12",
              "description": "How close the divider must be to a snap point until snapping occurs.",
              "fieldName": "snapThreshold"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The divider's accessible name, replacing the localized \"Resize\" default — set it to tell\nmultiple split panels on one page apart. Mirrored onto the internal separator node, where\nthe role lives — an aria-label left on the host alone would sit on a role-less element and\nbe ignored by assistive tech (house pattern: ed-checkbox).",
              "fieldName": "ariaLabel"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Split panels display two adjacent panels, allowing the user to reposition them.",
          "jsDoc": "/**\n * @summary Split panels display two adjacent panels, allowing the user to reposition them.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/split-panel\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('separator')\n *\n * @event ed-reposition - Emitted when the divider's position changes.\n *\n * @slot start - Content to place in the start panel.\n * @slot end - Content to place in the end panel.\n * @slot divider - The divider. Useful for slotting in a custom icon that renders as a handle.\n *\n * @csspart start - The start panel.\n * @csspart end - The end panel.\n * @csspart panel - Targets both the start and end panels.\n * @csspart divider - The divider that separates the start and end panels.\n * @csspart handle - The default drag handle rendered in the center of the divider when no custom divider is slotted.\n *\n * @dependency ed-icon\n *\n * @cssproperty [--divider-width=4px] - The width of the visible divider.\n * @cssproperty [--divider-hit-area=12px] - The invisible region around the divider where dragging can occur. This is\n *  usually wider than the divider to facilitate easier dragging.\n * @cssproperty [--min=0] - The minimum allowed size of the primary panel.\n * @cssproperty [--max=100%] - The maximum allowed size of the primary panel.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/split-panel",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('separator')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-split-panel",
          "customElement": true,
          "modulePath": "components/split-panel/split-panel.js",
          "definitionPath": "components/split-panel/split-panel.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdSplitPanel",
            "module": "components/split-panel/split-panel.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-split-panel",
          "declaration": {
            "name": "EdSplitPanel",
            "module": "components/split-panel/split-panel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab/tab.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTab",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the start slot, label and end slot.",
              "name": "content"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            },
            {
              "description": "The label wrapper.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "The tab's label.",
              "name": ""
            },
            {
              "description": "An element, such as `<ed-icon>`, placed before the label.",
              "name": "start"
            },
            {
              "description": "An element, such as `<ed-icon>`, placed after the label.",
              "name": "end"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "attrId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true,
              "default": "++id"
            },
            {
              "kind": "field",
              "name": "componentId",
              "privacy": "private",
              "readonly": true,
              "default": "`ed-tab-${this.attrId}`"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "tab",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "tabLabel",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the tab panel this tab is associated with. The panel must be located in the same tab group.",
              "attribute": "panel",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tab and prevents selection.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "closable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Make the tab closable",
              "attribute": "closable",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleActiveChange",
              "type": {
                "text": "handleActiveChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "syncLabelText",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleCloseClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleCloseKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ panel: string }"
              },
              "description": "Emitted when the tab's close button is activated.",
              "name": "ed-tab-close",
              "reactName": "onEdTabClose",
              "eventName": "EdTabCloseEvent"
            }
          ],
          "attributes": [
            {
              "name": "panel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the tab panel this tab is associated with. The panel must be located in the same tab group.",
              "fieldName": "panel"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tab and prevents selection.",
              "fieldName": "disabled"
            },
            {
              "name": "closable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Make the tab closable",
              "fieldName": "closable"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Tabs are used inside [tab groups](/a/eurodata-ui/docs/components/tab-group) to represent and activate [tab panels](/a/eurodata-ui/docs/components/tab-panel).",
          "jsDoc": "/**\n * @summary Tabs are used inside [tab groups](/a/eurodata-ui/docs/components/tab-group) to represent and activate [tab panels](/a/eurodata-ui/docs/components/tab-panel).\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tab\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('tab', { name: '…' })\n *\n * @slot - The tab's label.\n * @slot start - An element, such as `<ed-icon>`, placed before the label.\n * @slot end - An element, such as `<ed-icon>`, placed after the label.\n *\n * @dependency ed-icon\n * @dependency ed-button\n *\n * @csspart base - The component's base wrapper.\n * @csspart content - The container that wraps the start slot, label and end slot.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n * @csspart label - The label wrapper.\n *\n * @event {{ panel: string }} ed-tab-close - Emitted when the tab's close button is activated.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tab",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('tab', { name: '…' })",
          "dependencies": [
            "ed-icon",
            "ed-button"
          ],
          "tagName": "ed-tab",
          "customElement": true,
          "modulePath": "components/tab/tab.js",
          "definitionPath": "components/tab/tab.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTab",
            "module": "components/tab/tab.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-tab",
          "declaration": {
            "name": "EdTab",
            "module": "components/tab/tab.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab-panel/tab-panel.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTabPanel",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The tab panel's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "attrId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true,
              "default": "++id"
            },
            {
              "kind": "field",
              "name": "componentId",
              "privacy": "private",
              "readonly": true,
              "default": "`ed-tab-panel-${this.attrId}`"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tab panel's name.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the tab panel will be shown.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleActiveChange",
              "type": {
                "text": "handleActiveChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tab panel's name.",
              "fieldName": "name"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the tab panel will be shown.",
              "fieldName": "active"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Tab panels are used inside [tab groups](/a/eurodata-ui/docs/components/tab-group) to display tabbed content.",
          "jsDoc": "/**\n * @summary Tab panels are used inside [tab groups](/a/eurodata-ui/docs/components/tab-group) to display tabbed content.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tab-panel\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('tabpanel')\n *\n * @slot - The tab panel's content.\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tab-panel",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('tabpanel')",
          "tagName": "ed-tab-panel",
          "customElement": true,
          "modulePath": "components/tab-panel/tab-panel.js",
          "definitionPath": "components/tab-panel/tab-panel.js",
          "cssProperties": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTabPanel",
            "module": "components/tab-panel/tab-panel.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-tab-panel",
          "declaration": {
            "name": "EdTabPanel",
            "module": "components/tab-panel/tab-panel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab-group/tab-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTabGroup",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The tab group's navigation container where tabs are slotted in.",
              "name": "nav"
            },
            {
              "description": "The container that wraps the tabs.",
              "name": "tabs"
            },
            {
              "description": "The tab group's body where tab panels are slotted in.",
              "name": "body"
            },
            {
              "description": "The previous/next scroll buttons that show when tabs are scrollable, a `<ed-button>`.",
              "name": "scroll-button"
            },
            {
              "description": "The starting scroll button.",
              "name": "scroll-button-start"
            },
            {
              "description": "The ending scroll button.",
              "name": "scroll-button-end"
            }
          ],
          "slots": [
            {
              "description": "Used for grouping tab panels in the tab group. Must be `<ed-tab-panel>` elements.",
              "name": ""
            },
            {
              "description": "Used for grouping tabs in the tab group. Must be `<ed-tab>` elements. Note that `<ed-tab>` will set this slot on itself automatically.",
              "name": "nav"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "activeTab",
              "type": {
                "text": "EdTab | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "tabs",
              "type": {
                "text": "EdTab[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "focusableTabs",
              "type": {
                "text": "EdTab[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "panels",
              "type": {
                "text": "EdTabPanel[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "tabGroup",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "nav",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "hasScrollControls",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Sets the active tab.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom' | 'left' | 'right'"
              },
              "default": "'top'",
              "description": "The placement of the tabs.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'plain' | 'outlined' | 'filled'"
              },
              "default": "'plain'",
              "description": "The visual appearance of the tab group.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "activation",
              "type": {
                "text": "'auto' | 'manual'"
              },
              "default": "'auto'",
              "description": "When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\nmanual, the tab will receive focus but will not show until the user presses spacebar or enter.",
              "attribute": "activation"
            },
            {
              "kind": "field",
              "name": "stretch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes all tabs equal width, stretching to fill the available space.",
              "attribute": "stretch",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutScrollControls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the scroll arrows that appear when tabs overflow.",
              "attribute": "without-scroll-controls"
            },
            {
              "kind": "method",
              "name": "getAllTabs",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getAllPanels",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getActiveTab",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "findNextFocusableTab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "direction",
                  "type": {
                    "text": "'forward' | 'backward'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleScrollToStart",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleScrollToEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setActiveTab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "tab",
                  "type": {
                    "text": "EdTab"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "{ emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setAriaLabels",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "propagateAttributes",
              "type": {
                "text": "propagateAttributes() => void"
              }
            },
            {
              "kind": "method",
              "name": "syncTabsAndPanels",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClose",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateActiveTab",
              "type": {
                "text": "updateActiveTab() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleScrollControlsChange",
              "type": {
                "text": "handleScrollControlsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateScrollControls",
              "type": {
                "text": "updateScrollControls() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ name: String }"
              },
              "description": "Emitted when a tab is shown.",
              "name": "ed-tab-show",
              "reactName": "onEdTabShow",
              "eventName": "EdTabShowEvent"
            },
            {
              "type": {
                "text": "{ name: String }"
              },
              "description": "Emitted when a tab is hidden.",
              "name": "ed-tab-hide",
              "reactName": "onEdTabHide",
              "eventName": "EdTabHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "active",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Sets the active tab.",
              "fieldName": "active"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom' | 'left' | 'right'"
              },
              "default": "'top'",
              "description": "The placement of the tabs.",
              "fieldName": "placement"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'plain' | 'outlined' | 'filled'"
              },
              "default": "'plain'",
              "description": "The visual appearance of the tab group.",
              "fieldName": "appearance"
            },
            {
              "name": "activation",
              "type": {
                "text": "'auto' | 'manual'"
              },
              "default": "'auto'",
              "description": "When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\nmanual, the tab will receive focus but will not show until the user presses spacebar or enter.",
              "fieldName": "activation"
            },
            {
              "name": "stretch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes all tabs equal width, stretching to fill the available space.",
              "fieldName": "stretch"
            },
            {
              "name": "without-scroll-controls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the scroll arrows that appear when tabs overflow.",
              "fieldName": "withoutScrollControls"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the tab list overflows and the scroll buttons are shown.",
              "name": "has-scroll-controls"
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Tab groups organize content into a container that shows one section at a time.",
          "jsDoc": "/**\n * @summary Tab groups organize content into a container that shows one section at a time.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tab-group\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('tablist')\n *\n * @dependency ed-button\n * @dependency ed-icon\n * @dependency ed-tab\n * @dependency ed-tab-panel\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<ed-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<ed-tab>` elements. Note that `<ed-tab>` will set this\n *  slot on itself automatically.\n *\n * @event {{ name: String }} ed-tab-show - Emitted when a tab is shown.\n * @event {{ name: String }} ed-tab-hide - Emitted when a tab is hidden.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, a `<ed-button>`.\n * @csspart scroll-button-start - The starting scroll button.\n * @csspart scroll-button-end - The ending scroll button.\n *\n * @cssstate has-scroll-controls - Applied when the tab list overflows and the scroll buttons are shown.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tab-group",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('tablist')",
          "dependencies": [
            "ed-button",
            "ed-icon",
            "ed-tab",
            "ed-tab-panel"
          ],
          "tagName": "ed-tab-group",
          "customElement": true,
          "modulePath": "components/tab-group/tab-group.js",
          "definitionPath": "components/tab-group/tab-group.js",
          "cssProperties": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTabGroup",
            "module": "components/tab-group/tab-group.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-tab-group",
          "declaration": {
            "name": "EdTabGroup",
            "module": "components/tab-group/tab-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/table-body/table-body.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTableBody",
          "slots": [
            {
              "description": "The body rows. Must be `<ed-table-row>` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Groups body rows in an ed-table.",
          "jsDoc": "/**\n * @summary Groups body rows in an ed-table.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('rowgroup')\n *\n * @dependency ed-table-row\n *\n * @slot - The body rows. Must be `<ed-table-row>` elements.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('rowgroup')",
          "dependencies": [
            "ed-table-row"
          ],
          "tagName": "ed-table-body",
          "customElement": true,
          "attributes": [
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "modulePath": "components/table-body/table-body.js",
          "definitionPath": "components/table-body/table-body.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTableBody",
            "module": "components/table-body/table-body.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-table-body",
          "declaration": {
            "name": "EdTableBody",
            "module": "components/table-body/table-body.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/table-head/table-head.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTableHead",
          "slots": [
            {
              "description": "The header rows. Must be `<ed-table-row>` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Groups header rows in an ed-table. Marks child rows as header rows.",
          "jsDoc": "/**\n * @summary Groups header rows in an ed-table. Marks child rows as header rows.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('rowgroup')\n *\n * @dependency ed-table-row\n *\n * @slot - The header rows. Must be `<ed-table-row>` elements.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('rowgroup')",
          "dependencies": [
            "ed-table-row"
          ],
          "tagName": "ed-table-head",
          "customElement": true,
          "attributes": [
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "modulePath": "components/table-head/table-head.js",
          "definitionPath": "components/table-head/table-head.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": [],
          "events": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTableHead",
            "module": "components/table-head/table-head.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-table-head",
          "declaration": {
            "name": "EdTableHead",
            "module": "components/table-head/table-head.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/table/table.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTable",
          "cssProperties": [
            {
              "description": "Overwrites the density attribute for manual row height adjustment.",
              "name": "--row-height",
              "default": "var(--ed-size-8)"
            }
          ],
          "slots": [
            {
              "description": "Table sections. Must be `<ed-table-head>` and/or `<ed-table-body>` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "sortable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables column sorting.",
              "attribute": "sortable"
            },
            {
              "kind": "field",
              "name": "sortMode",
              "type": {
                "text": "'single' | 'multi'"
              },
              "default": "'single'",
              "description": "Sort mode. `'single'` allows one column at a time; `'multi'` allows Shift+click for multi-column sort.",
              "attribute": "sort-mode"
            },
            {
              "kind": "field",
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables row selection mode.",
              "attribute": "selectable"
            },
            {
              "kind": "field",
              "name": "selectionMode",
              "type": {
                "text": "'single' | 'multi'"
              },
              "default": "'single'",
              "description": "Selection mode. `'single'` allows one row at a time; `'multi'` allows range/toggle selection.",
              "attribute": "selection-mode"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls row density (padding).",
              "attribute": "density"
            },
            {
              "kind": "field",
              "name": "resizable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes all columns resizable. For per-column control, omit this and set `resizable` on individual `ed-table-cell` elements.",
              "attribute": "resizable"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "headerCheckbox",
              "type": {
                "text": "EdCheckbox | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "isSyncingSelection",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "selectionGroupName",
              "privacy": "private",
              "default": "`ed-table-selection-${(selectionGroupCounter += 1)}`"
            },
            {
              "kind": "field",
              "name": "pendingPinRaf",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "syncPending",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isScrolling",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "scrollEndTimer",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "spanningActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "childrenReady",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True once every TABLE_CHILD_TAGS element is upgraded; gates all child-touching sync work."
            },
            {
              "kind": "field",
              "name": "gridSort",
              "privacy": "private",
              "default": "new GridSortController(this, { onSort: (sorts, added) => { this.dispatchEvent(new EdSortEvent({ sorts, added })); } })"
            },
            {
              "kind": "field",
              "name": "gridSelection",
              "privacy": "private",
              "default": "new GridSelectionController(this, { // ed-table renders every row, so the absolute index is the DOM index into // getBodyRows() and the row element itself is the selection key. getRowKey: index => this.getBodyRows()[index], getAllRowKeys: () => this.getBodyRows(), getRowKeysInRange: (start, end) => this.getBodyRows().slice(start, end + 1), onSelectionChange: keys => { const bodyRows = this.getBodyRows(); for (const row of bodyRows) { row.selected = keys.has(row); } this.syncSelectionState(); const selection = bodyRows.filter(r => r.selected); this.dispatchEvent(new EdSelectionChangeEvent({ selection })); } })"
            },
            {
              "kind": "field",
              "name": "gridResize",
              "privacy": "private",
              "default": "new GridResizeController(this, { getColumnKey: cell => (cell as EdTableCell).getSortKey(), onResize: (column, width) => { this.dispatchEvent(new EdColumnResizeEvent({ column, width })); } })"
            },
            {
              "kind": "method",
              "name": "getRows",
              "return": {
                "type": {
                  "text": "EdTableRow[]"
                }
              },
              "type": {
                "text": "getRows() => EdTableRow[]"
              }
            },
            {
              "kind": "method",
              "name": "getBodyRows",
              "return": {
                "type": {
                  "text": "EdTableRow[]"
                }
              },
              "type": {
                "text": "getBodyRows() => EdTableRow[]"
              }
            },
            {
              "kind": "method",
              "name": "getHeaderRows",
              "return": {
                "type": {
                  "text": "EdTableRow[]"
                }
              },
              "type": {
                "text": "getHeaderRows() => EdTableRow[]"
              }
            },
            {
              "kind": "method",
              "name": "getCells",
              "return": {
                "type": {
                  "text": "EdTableCell[]"
                }
              },
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "EdTableRow"
                  }
                }
              ],
              "type": {
                "text": "getCells(row: EdTableRow) => EdTableCell[]"
              }
            },
            {
              "kind": "method",
              "name": "getHeaderCells",
              "return": {
                "type": {
                  "text": "EdTableCell[]"
                }
              },
              "type": {
                "text": "getHeaderCells() => EdTableCell[]"
              }
            },
            {
              "kind": "method",
              "name": "getScrollContainer",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              },
              "type": {
                "text": "getScrollContainer() => HTMLElement | null"
              }
            },
            {
              "kind": "method",
              "name": "getColumnCount",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "type": {
                "text": "getColumnCount() => number"
              }
            },
            {
              "kind": "method",
              "name": "handleSelectableChange",
              "type": {
                "text": "handleSelectableChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleResizableChange",
              "type": {
                "text": "handleResizableChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSortableChange",
              "type": {
                "text": "handleSortableChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDensityChange",
              "type": {
                "text": "handleDensityChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "getSelectedRows",
              "return": {
                "type": {
                  "text": "EdTableRow[]"
                }
              },
              "description": "Returns the currently selected rows.",
              "type": {
                "text": "getSelectedRows() => EdTableRow[]"
              }
            },
            {
              "kind": "method",
              "name": "clearSelection",
              "description": "Deselects all rows.",
              "type": {
                "text": "clearSelection() => void"
              }
            },
            {
              "kind": "method",
              "name": "selectAll",
              "description": "Selects all body rows (multi-select mode only).",
              "type": {
                "text": "selectAll() => void"
              }
            },
            {
              "kind": "method",
              "name": "childElementsDefined",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "True once every child element the table drives (TABLE_CHILD_TAGS) is defined/upgraded."
            },
            {
              "kind": "method",
              "name": "scheduleSyncTable",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncTable",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isInjectedCell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "c",
                  "type": {
                    "text": "EdTableCell"
                  }
                }
              ],
              "description": "Returns true if a cell was injected by the table (checkbox or spacer)."
            },
            {
              "kind": "method",
              "name": "syncSpanning",
              "privacy": "private",
              "description": "Detects header cells with colspan/rowspan > 1 and switches the entire table\nto CSS Grid with subgrid so that spanning actually works. Native table layout\nonly supports colspan/rowspan on <td>/<th>, not on custom elements."
            },
            {
              "kind": "method",
              "name": "applyGridLayout",
              "privacy": "private",
              "parameters": [
                {
                  "name": "head",
                  "type": {
                    "text": "EdTableHead"
                  }
                },
                {
                  "name": "headerRows",
                  "type": {
                    "text": "EdTableRow[]"
                  }
                }
              ],
              "description": "Switches table, head, and body to CSS Grid with subgrid column tracks."
            },
            {
              "kind": "method",
              "name": "styleSpanningHeaders",
              "privacy": "private",
              "parameters": [
                {
                  "name": "headerRows",
                  "type": {
                    "text": "EdTableRow[]"
                  }
                }
              ],
              "description": "Computes grid-column positions and applies spans, borders, and backgrounds to header cells."
            },
            {
              "kind": "method",
              "name": "cleanupGridMode",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "anyColumnResizable",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Whether any column has resizable enabled (table-level or per-column).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "syncSelectionControls",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "injectCheckboxCells",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeCheckboxCells",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "injectRadioInputs",
              "privacy": "private",
              "description": "Injects one visually-hidden real radio per body row for single-select. The radios share a\nper-instance group name, so native radio-group keyboard behavior (Tab to enter, Arrow to move,\nSpace to select) drives selection. The row is the only visible indicator (see table-row styles)."
            },
            {
              "kind": "method",
              "name": "removeRadioInputs",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getRowLabelCell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdTableCell | null"
                }
              },
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "EdTableRow"
                  }
                }
              ],
              "description": "The first data cell of a row — hosts the hidden single-select radio and supplies its label."
            },
            {
              "kind": "method",
              "name": "handleSelectAllChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleCheckboxChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "EdTableRow"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "syncSelectionState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncHeaderCheckboxState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncResizableColumns",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "scheduleColumnWidthPinning",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "cancelColumnWidthPinning",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "injectSpacerCells",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeSpacerCells",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "pinColumnWidths",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "unpinColumnWidths",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncAriaAttributes",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncRowIndices",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "propagateSelectable",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "propagateDensity",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "propagateResizable",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncVisibility",
              "privacy": "private",
              "description": "Propagates `hidden` from header cells to their corresponding body cells."
            },
            {
              "kind": "method",
              "name": "propagateSortable",
              "privacy": "private",
              "description": "Propagates table-level `sortable` to all header cells."
            },
            {
              "kind": "method",
              "name": "syncSortState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSort",
              "privacy": "private",
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "EdTableCell"
                  }
                },
                {
                  "name": "shiftKey",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDblClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleKeydown",
              "privacy": "private",
              "description": "Enter/Space on a focused sortable header cell triggers a sort (Shift = multi-sort when\n`sort-mode=\"multi\"`). We only act when the cell host itself is the event target — interactive\ncontent slotted into a cell (buttons, links, checkboxes) keeps its native keyboard behavior."
            },
            {
              "kind": "field",
              "name": "handleScrollEvents",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getHead",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdTableHead | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "getBody",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdTableBody | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ sorts: Array<{column: string, ordering: string}>, added?: {column: string, ordering: string} }"
              },
              "description": "Emitted when a sortable column header is activated. Consumers handle sorting.",
              "name": "ed-sort",
              "reactName": "onEdSort",
              "eventName": "EdSortEvent"
            },
            {
              "type": {
                "text": "{ selection: EdTableRow[] }"
              },
              "description": "Emitted when row selection changes.",
              "name": "ed-selection-change",
              "reactName": "onEdSelectionChange",
              "eventName": "EdSelectionChangeEvent"
            },
            {
              "type": {
                "text": "{ column: string, width: number }"
              },
              "description": "Emitted when a column is resized via drag handle.",
              "name": "ed-column-resize",
              "reactName": "onEdColumnResize",
              "eventName": "EdColumnResizeEvent"
            },
            {
              "type": {
                "text": "{ row: HTMLElement, rowIndex: number }"
              },
              "description": "Emitted on row double-click.",
              "name": "ed-row-dblclick",
              "reactName": "onEdRowDblclick",
              "eventName": "EdRowDblclickEvent"
            },
            {
              "type": {
                "text": "{ scrollTop: number, scrollLeft: number }"
              },
              "description": "Emitted when scrolling begins.",
              "name": "ed-scroll-start",
              "reactName": "onEdScrollStart",
              "eventName": "EdScrollStartEvent"
            },
            {
              "type": {
                "text": "{ scrollTop: number, scrollLeft: number }"
              },
              "description": "Emitted when scrolling ends.",
              "name": "ed-scroll-end",
              "reactName": "onEdScrollEnd",
              "eventName": "EdScrollEndEvent"
            }
          ],
          "attributes": [
            {
              "name": "sortable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables column sorting.",
              "fieldName": "sortable"
            },
            {
              "name": "sort-mode",
              "type": {
                "text": "'single' | 'multi'"
              },
              "default": "'single'",
              "description": "Sort mode. `'single'` allows one column at a time; `'multi'` allows Shift+click for multi-column sort.",
              "fieldName": "sortMode"
            },
            {
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables row selection mode.",
              "fieldName": "selectable"
            },
            {
              "name": "selection-mode",
              "type": {
                "text": "'single' | 'multi'"
              },
              "default": "'single'",
              "description": "Selection mode. `'single'` allows one row at a time; `'multi'` allows range/toggle selection.",
              "fieldName": "selectionMode"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls row density (padding).",
              "fieldName": "density"
            },
            {
              "name": "resizable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes all columns resizable. For per-column control, omit this and set `resizable` on individual `ed-table-cell` elements.",
              "fieldName": "resizable"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A composable DOM-driven table component with sorting, selection, and column resizing.",
          "jsDoc": "/**\n * @summary A composable DOM-driven table component with sorting, selection, and column resizing.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('table')\n *\n * @dependency ed-table-head\n * @dependency ed-table-body\n * @dependency ed-table-row\n * @dependency ed-table-cell\n * @dependency ed-checkbox\n * @dependency ed-icon\n *\n * @event {{ sorts: Array<{column: string, ordering: string}>, added?: {column: string, ordering: string} }} ed-sort - Emitted when a sortable column header is activated. Consumers handle sorting.\n * @event {{ selection: EdTableRow[] }} ed-selection-change - Emitted when row selection changes.\n * @event {{ column: string, width: number }} ed-column-resize - Emitted when a column is resized via drag handle.\n * @event {{ row: HTMLElement, rowIndex: number }} ed-row-dblclick - Emitted on row double-click.\n * @event {{ scrollTop: number, scrollLeft: number }} ed-scroll-start - Emitted when scrolling begins.\n * @event {{ scrollTop: number, scrollLeft: number }} ed-scroll-end - Emitted when scrolling ends.\n *\n * @cssproperty [--row-height=var(--ed-size-8)] - Overwrites the density attribute for manual row height adjustment.\n *\n * @slot - Table sections. Must be `<ed-table-head>` and/or `<ed-table-body>` elements.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/table",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('table')",
          "dependencies": [
            "ed-table-head",
            "ed-table-body",
            "ed-table-row",
            "ed-table-cell",
            "ed-checkbox",
            "ed-icon"
          ],
          "tagName": "ed-table",
          "customElement": true,
          "modulePath": "components/table/table.js",
          "definitionPath": "components/table/table.js",
          "cssParts": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTable",
            "module": "components/table/table.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-table",
          "declaration": {
            "name": "EdTable",
            "module": "components/table/table.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/textarea/textarea.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTextarea",
          "cssParts": [
            {
              "description": "The label",
              "name": "label"
            },
            {
              "description": "The input's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            },
            {
              "description": "The internal `<textarea>` control.",
              "name": "textarea"
            },
            {
              "description": "The wrapper around the `<textarea>` control.",
              "name": "base"
            },
            {
              "description": "The character count element, rendered when the `with-count` attribute is present.",
              "name": "count"
            }
          ],
          "slots": [
            {
              "description": "The textarea's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[styles, formControlStyles, densityStyles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "countAnnounceTimeout",
              "type": {
                "text": "ReturnType<typeof setTimeout>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "announcedCountText",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "base",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "sizeAdjuster",
              "type": {
                "text": "HTMLTextAreaElement"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the textarea, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the input, submitted as a name/value pair with form data."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The textarea's accessible name for when no visible label is set. Mirrored onto the internal\ntextarea, where the textbox role lives — an aria-label left on the host alone would sit on\na role-less element and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "rows",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The number of rows to display by default.",
              "attribute": "rows"
            },
            {
              "kind": "field",
              "name": "resize",
              "type": {
                "text": "'none' | 'vertical' | 'horizontal' | 'both' | 'auto'"
              },
              "default": "'vertical'",
              "description": "Controls how the textarea can be resized.",
              "attribute": "resize",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the textarea.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea a required field.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "attribute": "minlength"
            },
            {
              "kind": "field",
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "attribute": "maxlength"
            },
            {
              "kind": "field",
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "attribute": "autocapitalize"
            },
            {
              "kind": "field",
              "name": "autocorrect",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off. When set as an attribute, use `\"off\"` or `\"on\"`.\nWhen set as a property, use `true` or `false`.",
              "attribute": "autocorrect"
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "attribute": "autocomplete"
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "attribute": "enterkeyhint"
            },
            {
              "kind": "field",
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the textarea.",
              "attribute": "spellcheck"
            },
            {
              "kind": "field",
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "attribute": "inputmode"
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "withCount",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows a character count below the textarea. When `maxlength` is set, shows remaining characters instead.",
              "attribute": "with-count",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lastObservedWidth",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "method",
              "name": "updateResizeObserver",
              "privacy": "private",
              "description": "Creates or destroys the resize observer based on the current resize mode."
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "scheduleCountAnnouncement",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setTextareaDimensions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleRowsChange",
              "type": {
                "text": "handleRowsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleValueChange",
              "type": {
                "text": "handleValueChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the textarea.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the textarea.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "select",
              "description": "Selects all the text in the textarea.",
              "type": {
                "text": "select() => void"
              }
            },
            {
              "kind": "method",
              "name": "scrollPosition",
              "return": {
                "type": {
                  "text": "{ top: number; left: number } | undefined"
                }
              },
              "parameters": [
                {
                  "name": "position",
                  "optional": true,
                  "type": {
                    "text": "{ top?: number; left?: number }"
                  }
                }
              ],
              "description": "Gets or sets the textarea's scroll position.",
              "type": {
                "text": "scrollPosition(position?: { top?: number; left?: number }) => { top: number; left: number } | undefined"
              }
            },
            {
              "kind": "method",
              "name": "setSelectionRange",
              "parameters": [
                {
                  "name": "selectionStart",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionEnd",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionDirection",
                  "default": "'none'",
                  "type": {
                    "text": "'forward' | 'backward' | 'none'"
                  }
                }
              ],
              "description": "Sets the start and end positions of the text selection (0-based).",
              "type": {
                "text": "setSelectionRange(selectionStart: number, selectionEnd: number, selectionDirection: 'forward' | 'backward' | 'none' = 'none') => void"
              }
            },
            {
              "kind": "method",
              "name": "setRangeText",
              "parameters": [
                {
                  "name": "replacement",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "start",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "end",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectMode",
                  "default": "'preserve'",
                  "type": {
                    "text": "'select' | 'start' | 'end' | 'preserve'"
                  }
                }
              ],
              "description": "Replaces a range of text with a new string.",
              "type": {
                "text": "setRangeText(replacement: string, start?: number, end?: number, selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve') => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Override this to change where constraint validation popups are anchored.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "name": "change",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "input",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the textarea, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The textarea's accessible name for when no visible label is set. Mirrored onto the internal\ntextarea, where the textbox role lives — an aria-label left on the host alone would sit on\na role-less element and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "rows",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The number of rows to display by default.",
              "fieldName": "rows"
            },
            {
              "name": "resize",
              "type": {
                "text": "'none' | 'vertical' | 'horizontal' | 'both' | 'auto'"
              },
              "default": "'vertical'",
              "description": "Controls how the textarea can be resized.",
              "fieldName": "resize"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the textarea.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea a required field.",
              "fieldName": "required"
            },
            {
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "fieldName": "minlength"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "fieldName": "maxlength"
            },
            {
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "fieldName": "autocapitalize"
            },
            {
              "name": "autocorrect",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off. When set as an attribute, use `\"off\"` or `\"on\"`.\nWhen set as a property, use `true` or `false`.",
              "fieldName": "autocorrect"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "fieldName": "autocomplete"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "fieldName": "enterkeyhint"
            },
            {
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the textarea.",
              "fieldName": "spellcheck"
            },
            {
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "fieldName": "inputmode"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `label` element so the server-rendered markup includes the label before the component hydrates on the client.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if you're slotting in a `hint` element so the server-rendered markup includes the hint before the component hydrates on the client.",
              "fieldName": "withHint"
            },
            {
              "name": "with-count",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows a character count below the textarea. When `maxlength` is set, shows remaining characters instead.",
              "fieldName": "withCount"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The textarea is empty.",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "Textareas collect data from the user and allow multiple lines of text.",
          "jsDoc": "/**\n * @summary Textareas collect data from the user and allow multiple lines of text.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/textarea\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('textbox')\n *\n * @dependency ed-icon\n *\n * @slot label - The textarea's label. Alternatively, you can use the `label` attribute.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart label - The label\n * @csspart form-control-input - The input's wrapper.\n * @csspart hint - The hint's wrapper.\n * @csspart textarea - The internal `<textarea>` control.\n * @csspart base - The wrapper around the `<textarea>` control.\n * @csspart count - The character count element, rendered when the `with-count` attribute is present.\n *\n * @cssstate blank - The textarea is empty.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/textarea",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('textbox')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-textarea",
          "customElement": true,
          "modulePath": "components/textarea/textarea.js",
          "definitionPath": "components/textarea/textarea.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTextarea",
            "module": "components/textarea/textarea.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-textarea",
          "declaration": {
            "name": "EdTextarea",
            "module": "components/textarea/textarea.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/time-input/time-input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTimeInput",
          "cssParts": [
            {
              "description": "The wrapping label element.",
              "name": "form-control-label"
            },
            {
              "description": "The wrapping label element (alias).",
              "name": "label"
            },
            {
              "description": "The text-field flex container.",
              "name": "base"
            },
            {
              "description": "The container that wraps the start slot.",
              "name": "start"
            },
            {
              "description": "The group wrapper holding segment spans and separators.",
              "name": "segments"
            },
            {
              "description": "An individual spinbutton segment span.",
              "name": "segment"
            },
            {
              "description": "A literal separator span.",
              "name": "separator"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The container that wraps the end slot.",
              "name": "end"
            },
            {
              "description": "The hint area.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The input's label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "An element placed at the start of the input control.",
              "name": "start"
            },
            {
              "description": "An element placed at the end of the input control. The time-picker trigger mounts here.",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...EdFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators for constraint validation. Run inside the base-class `updateValidity()` so\n`customError` from `setCustomValidity()` is correctly layered on top.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "Anchor constraint-validation popups to the segments group, not the hidden input.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "_adapter",
              "type": {
                "text": "TimeSegmentAdapter | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The segment controller — the shared runtime for keyboard/digit/focus handling.\nConstructed lazily on first adapter access so `this.localize` is ready.\nThe adapter is recreated when the format changes (via `_rebuildAdapter()`)."
            },
            {
              "kind": "field",
              "name": "_engine",
              "type": {
                "text": "SegmentController | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_adapterLang",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The locale the current adapter was built against — used to detect locale changes."
            },
            {
              "kind": "method",
              "name": "_getEngine",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SegmentController"
                }
              },
              "description": "Lazily create and return the engine, building the adapter if needed."
            },
            {
              "kind": "method",
              "name": "_buildAdapter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TimeSegmentAdapter"
                }
              },
              "description": "Build a fresh TimeSegmentAdapter for the current format."
            },
            {
              "kind": "method",
              "name": "_rebuildAdapter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Rebuild the adapter (and reinitialize engine values) when the format or locale changes.\nPreserves existing segment values by projecting them through the new format order."
            },
            {
              "kind": "field",
              "name": "_segmentValues",
              "type": {
                "text": "Record<SegmentType, number | null>"
              },
              "privacy": "private",
              "default": "{ hour: null, minute: null, second: null, dayPeriod: null }",
              "description": "The segment values keyed by type — maintained in sync with the engine's values.\nOrder is NOT stored here; it is derived from the adapter at render time.\n\nAll four keys are always present for simplicity; `second` and `dayPeriod` are ignored\nwhen the format has no corresponding segment."
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The wire value projected eagerly from `_segmentValues` every time segments are written.\n`onSegmentWrite` calls `requestUpdate('value', oldValue)` when this changes, so the\nbase-class `setFormValue` branch fires for segment edits without going through the setter."
            },
            {
              "kind": "field",
              "name": "_activeSegmentType",
              "type": {
                "text": "SegmentType | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The active segment type, or `null` when no segment has focus.\nStored by type (not index) so it remains stable across format changes.",
              "parsedType": {
                "text": "'hour' | 'minute' | 'second' | 'dayPeriod' | null"
              }
            },
            {
              "kind": "field",
              "name": "_lastSetWire",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The raw wire string from the last programmatic `value` set, kept verbatim so a later\nformat change can re-parse it at full precision (see the `value` setter). Cleared on\nnull/invalid sets; superseded once the user edits segments (`_editedSinceSet`)."
            },
            {
              "kind": "field",
              "name": "_editedSinceSet",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True once the user edited segments after the last programmatic `value` set."
            },
            {
              "kind": "field",
              "name": "_hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True when the control currently has focus."
            },
            {
              "kind": "field",
              "name": "_valueAtFocusIn",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Snapshot of `this.value` taken when the control receives focus from outside.\nUsed to emit `change` only when the value actually differs from what it was at focus-in."
            },
            {
              "kind": "field",
              "name": "_userFormat",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Consumer-set format string. `null` means \"use locale default\"."
            },
            {
              "kind": "field",
              "name": "_minStr",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Normalized min bound string, or `null` when not set."
            },
            {
              "kind": "field",
              "name": "_maxStr",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Normalized max bound string, or `null` when not set."
            },
            {
              "kind": "field",
              "name": "_segmentEls",
              "type": {
                "text": "NodeListOf<HTMLElement>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_hiddenInput",
              "type": {
                "text": "HTMLInputElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_segmentsGroup",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\nsegment `role=\"group\"` node — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "attribute": "with-clear"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pickerOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppresses the read-only appearance while keeping read-only behavior. Pair with `readonly`\nwhen the field is driven entirely by an external picker (e.g. `ed-time-picker` in\n`picker-only` mode): typing stays blocked, but the control renders as a normal, interactive\nfield instead of a greyed-out read-only one.",
              "attribute": "picker-only",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "attribute": "required",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "string"
              },
              "description": "Display format string. Recognized tokens:\n- 24-hour: `HH` / `H` (hour), `mm` / `m` (minute), `ss` / `s` (second).\n- 12-hour: `hh` / `h` (hour) — must be paired with `a` or `A` (day period / AM/PM).\n- `a` / `A` — day period segment (AM/PM); requires `hh` or `h`.\n\nDefaults to the locale's natural cycle when not set (en-US → `\"hh:mm a\"`, de → `\"HH:mm\"`).\nInvalid formats emit a `logger.warn` and fall back to the locale default.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "string | null"
              },
              "description": "The minimum selectable time. Accepts a `Date` (only its local time-of-day is used) or an\n`HH:mm` / `HH:mm:ss` string. Drives the `rangeUnderflow` validity flag. Comparison truncates\nboth sides to the format's precision — zero-padded fixed-width time strings compare correctly\nas strings. The getter returns the normalized wire string.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "string | null"
              },
              "description": "The maximum selectable time. Accepts a `Date` (only its local time-of-day is used) or an\n`HH:mm` / `HH:mm:ss` string. Drives the `rangeOverflow` validity flag.",
              "attribute": "max"
            },
            {
              "kind": "method",
              "name": "_normalizeTimeString",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "Date | string | null | undefined"
                  }
                },
                {
                  "name": "attr",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Normalize a time input to a canonical wire string. Accepts a `Date` (its `HH:mm:ss`\ntime-of-day) or an `HH:mm` / `HH:mm:ss` string. Returns `null` and warns if a string is\nnot a valid time."
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `label` element.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `hint` element.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current value of the input.\n- Getter: returns `HH:mm` or `HH:mm:ss` when all present segments are filled,\n  otherwise `null`. Incomplete values always return `null`.\n- Setter: accepts an `HH:mm` or `HH:mm:ss` string, or `null`.\n  Non-valid strings are warned and treated as `null`.\n\nThere is no `valueAsDate` — a bare time has no honest `Date` representation;\nrevisit with the datetime task."
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The default value (mapped to the `value` content attribute).\nNormalized to `HH:mm` / `HH:mm:ss` or `null` on ingest."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "attribute": "value"
            },
            {
              "kind": "method",
              "name": "onSegmentWrite",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "ReadonlyArray<number | null>"
                  }
                },
                {
                  "name": "oldWireString",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Called by the engine after any segment mutation.\nSyncs `_segmentValues` (type-keyed) from the engine's index-keyed values and\nprojects the new wire string.",
              "type": {
                "text": "onSegmentWrite(values: ReadonlyArray<number | null>, oldWireString: string | null) => void"
              }
            },
            {
              "kind": "method",
              "name": "onCommitValue",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called by the engine to emit an `input` event after each committed edit.",
              "type": {
                "text": "onCommitValue() => void"
              }
            },
            {
              "kind": "method",
              "name": "_handlePaste",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "ClipboardEvent"
                  }
                }
              ],
              "description": "Handle a paste into the segments. Accepts `H:mm`, `HH:mm`, or `HH:mm:ss` (24-hour wire);\nthe value setter folds it into 12-hour display when the format is 12-hour. Brings\n`<ed-time-input>` to parity with the other segmented inputs, which all support paste."
            },
            {
              "kind": "method",
              "name": "_writeSegments",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "Record<SegmentType, number | null>"
                  }
                }
              ],
              "description": "The ONE place that mutates segment values from outside the engine."
            },
            {
              "kind": "method",
              "name": "_orderedSegmentTypes",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SegmentType[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "_activeIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "_placeholder",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_segmentLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "activeSegmentType",
              "type": {
                "text": "EdTimeInputSegmentType | null"
              },
              "description": "The segment type currently holding focus, or `null` when the input is unfocused.\nComposing components (e.g. `<ed-time-picker>`) snapshot this before moving focus to a\npopup, then pass it back via `focus({ segment })` to restore focus on close.",
              "readonly": true,
              "parsedType": {
                "text": "'hour' | 'minute' | 'second' | 'dayPeriod' | null"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions & { segment?: EdTimeInputSegmentType }"
                  }
                }
              ],
              "description": "Focus the input. By default, targets the first empty segment, falling back to the first.\nPass `{ segment }` to target a specific segment by type.",
              "type": {
                "text": "focus(options?: FocusOptions & { segment?: EdTimeInputSegmentType }) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "_focusSegmentByType",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_enterSegment",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentKeydown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSegmentPointerdown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                },
                {
                  "name": "type",
                  "type": {
                    "text": "SegmentType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleHiddenInputInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleHiddenInputBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_commitBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_handleClearClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setFormValue>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<typeof this.internals.setFormValue>) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input and a segment value changes.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints are not satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Mirrored onto the internal\nsegment `role=\"group\"` node — an aria-label left on the host alone would sit on a role-less\nelement and be ignored by assistive tech.",
              "fieldName": "ariaLabel"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "fieldName": "withClear"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "picker-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Suppresses the read-only appearance while keeping read-only behavior. Pair with `readonly`\nwhen the field is driven entirely by an external picker (e.g. `ed-time-picker` in\n`picker-only` mode): typing stays blocked, but the control renders as a normal, interactive\nfield instead of a greyed-out read-only one.",
              "fieldName": "pickerOnly"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "format",
              "type": {
                "text": "string"
              },
              "description": "Display format string. Recognized tokens:\n- 24-hour: `HH` / `H` (hour), `mm` / `m` (minute), `ss` / `s` (second).\n- 12-hour: `hh` / `h` (hour) — must be paired with `a` or `A` (day period / AM/PM).\n- `a` / `A` — day period segment (AM/PM); requires `hh` or `h`.\n\nDefaults to the locale's natural cycle when not set (en-US → `\"hh:mm a\"`, de → `\"HH:mm\"`).\nInvalid formats emit a `logger.warn` and fall back to the locale default.",
              "fieldName": "format"
            },
            {
              "name": "min",
              "type": {
                "text": "string | null"
              },
              "description": "The minimum selectable time. Accepts a `Date` (only its local time-of-day is used) or an\n`HH:mm` / `HH:mm:ss` string. Drives the `rangeUnderflow` validity flag. Comparison truncates\nboth sides to the format's precision — zero-padded fixed-width time strings compare correctly\nas strings. The getter returns the normalized wire string.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "string | null"
              },
              "description": "The maximum selectable time. Accepts a `Date` (only its local time-of-day is used) or an\n`HH:mm` / `HH:mm:ss` string. Drives the `rangeOverflow` validity flag.",
              "fieldName": "max"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `label` element.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Only required for SSR. Set to `true` if slotting in a `hint` element.",
              "fieldName": "withHint"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "fieldName": "defaultValue"
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the form control.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "cssStates": [
            {
              "description": "The input has no value (all segments empty).",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "EdFormAssociatedElement",
            "module": "/src/internal/ed-form-associated-element.js"
          },
          "summary": "A segmented time input primitive with independent hour, minute, and optional second fields.",
          "jsDoc": "/**\n * @summary A segmented time input primitive with independent hour, minute, and optional second fields.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/time-input\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('group')\n *\n * @dependency ed-icon\n *\n * @slot label - The input's label. Alternatively, use the `label` attribute.\n * @slot start - An element placed at the start of the input control.\n * @slot end - An element placed at the end of the input control. The time-picker trigger mounts here.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot hint - Text that describes how to use the input. Alternatively, use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input and a segment value changes.\n * @event ed-clear - Emitted when the clear button is activated.\n * @event ed-invalid - Emitted when the form control has been checked for validity and its constraints are not satisfied.\n *\n * @csspart form-control-label - The wrapping label element.\n * @csspart label - The wrapping label element (alias).\n * @csspart base - The text-field flex container.\n * @csspart start - The container that wraps the start slot.\n * @csspart segments - The group wrapper holding segment spans and separators.\n * @csspart segment - An individual spinbutton segment span.\n * @csspart separator - A literal separator span.\n * @csspart clear-button - The clear button.\n * @csspart end - The container that wraps the end slot.\n * @csspart hint - The hint area.\n *\n * @cssstate blank - The input has no value (all segments empty).\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/time-input",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('group')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-time-input",
          "customElement": true,
          "modulePath": "components/time-input/time-input.js",
          "definitionPath": "components/time-input/time-input.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTimeInput",
            "module": "components/time-input/time-input.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-time-input",
          "declaration": {
            "name": "EdTimeInput",
            "module": "components/time-input/time-input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/time-picker/time-picker.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTimePicker",
          "cssParts": [
            {
              "description": "The host's outer wrapper.",
              "name": "base"
            },
            {
              "description": "The inner time input.",
              "name": "input"
            },
            {
              "description": "The clear button inside the input.",
              "name": "clear-button"
            },
            {
              "description": "The clock trigger button mounted in the input's end slot.",
              "name": "trigger"
            },
            {
              "description": "The icon inside the trigger button.",
              "name": "trigger-icon"
            },
            {
              "description": "The popup container that positions the time list.",
              "name": "popup"
            },
            {
              "description": "The inner time list.",
              "name": "time-list"
            },
            {
              "description": "Wrapper for the OK and Cancel buttons in the popup footer (only when confirm is set).",
              "name": "footer-controls"
            },
            {
              "description": "The Cancel button in the popup footer.",
              "name": "footer-cancel"
            },
            {
              "description": "The OK button in the popup footer.",
              "name": "footer-ok"
            }
          ],
          "slots": [
            {
              "description": "The control's label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Helper text below the input. Alternatively, use the `hint` attribute.",
              "name": "hint"
            },
            {
              "description": "Content placed at the start of the input field.",
              "name": "start"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              },
              "default": "[densityStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "_timeInput",
              "type": {
                "text": "EdTimeInput"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_timeList",
              "type": {
                "text": "EdTimeList"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_trigger",
              "type": {
                "text": "HTMLButtonElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_innerInput",
              "type": {
                "text": "PickerInnerInput | undefined"
              },
              "privacy": "protected",
              "description": "Satisfy `EdPickerBase._innerInput`.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_triggerEl",
              "type": {
                "text": "HTMLButtonElement | undefined"
              },
              "privacy": "protected",
              "description": "Satisfy `EdPickerBase._triggerEl`.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. Use the `label` slot for richer content.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's placeholder. Forwarded to the inner input.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Display format token string (`HH:mm`, `HH:mm:ss`, etc.). Forwarded to the inner input.\nAlso drives `with-seconds` on the time list: when the format includes a seconds token,\nthe third column is shown automatically.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size. Forwarded to the inner input.",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges. Forwarded to the inner input.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "description": "Marks the field as required.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets focus on the input when the page loads.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "PopupPlacement"
              },
              "default": "'bottom-end'",
              "description": "The popup's preferred placement. Defaults to `bottom-end` so the list aligns with the\ntrigger icon on the trailing edge of the input — the mouse stays put after clicking it.",
              "attribute": "placement",
              "reflects": true,
              "parsedType": {
                "text": "'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom' | 'right-start' | 'right-end' | 'left-start' | 'left-end'"
              }
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Minute step forwarded to `<ed-time-list>`. Default 5. Values that do not divide 60\nwarn and fall back to 5 (enforced in the list itself).",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "stepSeconds",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Second step forwarded to `<ed-time-list>`. Default 5. Only relevant when the format\nincludes a seconds token.",
              "attribute": "step-seconds"
            },
            {
              "kind": "field",
              "name": "_minStr",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Minimum selectable time. Forwarded to the inner time input only (not the list)."
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "string | null"
              },
              "description": "The minimum selectable time. Accepts a `Date` (only its local time-of-day is used) or an\n`HH:mm` / `HH:mm:ss` string. The getter returns the normalized wire string; invalid strings\nwarn and become `null` (rather than passing through unchecked to the inner input).",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "_maxStr",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Maximum selectable time. Forwarded to the inner time input only (not the list)."
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "string | null"
              },
              "description": "The maximum selectable time. Accepts a `Date` (only its local time-of-day is used) or an\n`HH:mm` / `HH:mm:ss` string. The getter returns the normalized wire string.",
              "attribute": "max"
            },
            {
              "kind": "method",
              "name": "_normalizeTimeString",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "Date | string | null | undefined"
                  }
                },
                {
                  "name": "attr",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Normalize a time input to a canonical wire string. Accepts a `Date` (its `HH:mm:ss`\ntime-of-day) or an `HH:mm` / `HH:mm:ss` string. Returns `null` and warns on an invalid\nstring — the picker validates at its own level instead of deferring to the inner input."
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Internal committed value (`HH:mm` / `HH:mm:ss` or `null`)."
            },
            {
              "kind": "field",
              "name": "_pendingValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Buffered time wire set when `confirm` is active and the user picks from the time list\nbut has not yet pressed OK. Cleared on close (Cancel / Escape / outside-click)."
            },
            {
              "kind": "field",
              "name": "_openSegmentSnapshot",
              "type": {
                "text": "EdTimeInputSegmentType | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Segment snapshot at open time (used to restore focus when origin was the input).",
              "parsedType": {
                "text": "'hour' | 'minute' | 'second' | 'dayPeriod' | null"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The current value of the picker.\n- Getter: returns `HH:mm` or `HH:mm:ss` when a complete valid time is set, otherwise `null`.\n- Setter: accepts an `HH:mm` / `HH:mm:ss` string, or `null`."
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value (mapped to the `value` content attribute).",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "_withSecondsFromFormat",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Whether the current format includes a seconds token.\nDrives `with-seconds` on the time list — the picker reads the parsed format,\nnot string-sniffs.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_hour12FromFormat",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Whether the effective format (explicit or locale-derived) uses a 12-hour cycle.\nResolves the locale default when `format` is empty so an en-US picker with no explicit\nformat naturally shows a 12h list, and a de picker naturally shows a 24h list.\nDrives `hour-12` on the time list — the list wire stays 24h regardless.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_commitFromSurface",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Called by the time list's `ed-change` handler when `complete: true`.\nThe wire value is a plain `HH:mm[:ss]` string — fits the base single-string seam as-is.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_onInnerValueChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Mirror inner input value without re-pushing (value-feedback-loop guard).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_focusInitialSurfaceEl",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Focus the hour column's selected/first option after open (spec §2).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_onAfterClose",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Clear pending value and segment snapshot on close.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_restoreFocusToInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Restore focus to the segment that was active when Alt+ArrowDown opened the picker.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commitPending",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Commit the buffered pending value (confirm mode). Called by the base `_handleOk`.\nFalls back to the currently committed `_value` when nothing was picked this session\n(re-OK'ing an already-committed value is a no-op for the user, but safe).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_canCommit",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "OK is enabled only when a time is selected (pending pick or pre-existing committed value).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleInputKeydown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleTimeListChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_commit",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Push a value through the inner input. The inner input emits `input` / `change` which our\nbridges re-fire from the host."
            },
            {
              "kind": "method",
              "name": "_seedTimeList",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Seed the time list from the input's committed value when the popup opens.\nCalled from `updated()` after the popup becomes active so _timeList is in the DOM."
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "'autocomplete' | 'restore'"
                  }
                }
              ],
              "description": "Called when the browser is trying to restore element’s state to state in which case reason is \"restore\", or when\nthe browser is trying to fulfill autofill on behalf of user in which case reason is \"autocomplete\". In the case of\n\"restore\", state is a string, File, or FormData object previously set as the second argument to setFormValue.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "formStateRestoreCallback(state: string | File | FormData | null, reason: 'autocomplete' | 'restore') => void"
              }
            },
            {
              "kind": "field",
              "name": "validators",
              "type": {
                "text": "Validator[]"
              },
              "default": "[]",
              "static": true,
              "description": "Validators are static because they have `observedAttributes`, essentially attributes to \"watch\"\nfor changes. Whenever these attributes change, we want to be notified and update the validator.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isMirroring",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set to `true` for the synchronous duration of `super.updateValidity()` so that\n`_handleInputInvalid` can tell mirror-induced `ed-invalid` events apart from real user\ninvalids. `MirrorValidator` calls `inner.checkValidity()`, which dispatches a composed\n`EdInvalidEvent` — without this guard that would flip `hasInteracted` on the untouched\npicker, showing the error UI on page load.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "updateValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "updateValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "_wireInnerInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Point `input` at the current inner element so `MirrorValidator` (which reads `element.input`)\nand the `setValidity` anchor resolve to it. The base declares `input` as a property, so this\nis a plain assignment rather than a getter override (overriding a property with an accessor is\na TS error). Called from `willUpdate` and `firstUpdated` before `super` runs `updateValidity()`.\n\nThe inner is an `EdFormAssociatedElement`, not a literal `HTMLInputElement`, but satisfies the\nstructural contract (`value` / `validity` / `validationMessage` / `checkValidity`), hence the\ncast. `_innerInput` is `undefined` before the first render / during SSR — `MirrorValidator`\ndegrades gracefully to valid when `input` is absent.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "type": {
                "text": "undefined | HTMLElement"
              },
              "description": "The inner input owns all visible chrome AND its own `aria-invalid` (state-forwarding\ncontract, see this class's header). The picker host must not double-manage `aria-invalid`,\nso it exposes no `validationTarget`. The validity engine still anchors `setValidity` on\n`this.input` (the inner) via the `this.validationTarget || this.input` fallback in\n`updateValidity()` (~line 452 of `ed-form-associated-element.ts`) — popup anchoring stays\ncorrect.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "string[]"
              },
              "default": "['blur', 'input']",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hintSlotController",
              "privacy": "protected",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')",
              "description": "Tracks whether the consumer slotted rich `hint` content into the picker.\n\nThe inner input renders the active hint-area message (hint text, consumer `error`, or the\nvalidation message) as the FALLBACK content of its own `hint` slot. Forwarding an assigned\n`<slot slot=\"hint\">` into the inner unconditionally would suppress that fallback (a slotted\nnode beats fallback), so the inner would show the error STATE but never the message TEXT.\nPickers therefore forward the `hint` slot only when the consumer actually provides slotted\ncontent — see `_renderHintSlot()`. Plain `hint`-attribute text still reaches the inner via the\nforwarded `.hint` property and renders through the inner's own message path.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "_renderHintSlot",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult | typeof nothing"
                }
              },
              "description": "Forward the consumer's `hint` slot into the inner input — but only when the consumer actually\nslotted content, so an empty forwarded slot never masks the inner's own message fallback.\nBind it inside the inner input's template where the `slot=\"hint\"` child would go.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleOk",
              "privacy": "protected",
              "description": "OK button handler. Delegates to `_commitPending()` which is responsible for\nclosing the popup after committing.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleCancel",
              "privacy": "protected",
              "description": "Cancel button handler. Closes the popup. Subclasses clear pending state in\n`_onAfterClose()` — this handler intentionally does NOT clear it here.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_renderFooterControls",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "{ slotted = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ slotted?: boolean }"
                  }
                },
                {
                  "description": "When `true` (the default), the wrapper `<div>` carries\n`slot=\"footer-controls\"` so it is projected into a child surface's named slot (the\npattern used by `ed-date-picker`, `ed-time-picker`, and `ed-date-range-picker`).\nPass `{ slotted: false }` when the footer is a **sibling** of the surfaces — as in\n`ed-datetime-picker`, where the dialog is `[calendar+list row] + [footer]` and the\nfooter must not be slotted into either surface.\n\nOnly call this when the footer should be rendered; the returned template has no\ngate of its own.",
                  "name": "options.slotted"
                }
              ],
              "description": "Render the OK/Cancel footer fragment.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_commitWire",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null"
                  }
                },
                {
                  "name": "{ close = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ close?: boolean }"
                  }
                }
              ],
              "description": "Shared commit tail for single-value pickers using confirm mode.\n\nPushes `wire` to the inner input, sets `valueHasChanged = true`, then in a\nmicrotask calls `_syncFromInner()` and dispatches `change`. When `close` is true\n(the default) it also calls `hide()`.\n\nThis is intentionally limited to the confirm-path commit tail. The broader\n`_commitFromSurface` rework (§13 decision 4 of the family plan) is a separate session.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ariaLabel",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "attribute": "aria-label",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "attribute": "readonly",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "pickerOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "attribute": "picker-only",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "attribute": "open",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the popup shows a Cancel / OK footer. A selection sets a pending value\nthat only commits to the inner input when OK is pressed. Cancel and Escape revert.\n\nNot all picker surfaces support confirm. If `confirm` is set on a picker where\n`_confirmSupported` is false, the footer is not rendered and a dev-time warning is emitted.",
              "attribute": "confirm",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_openOrigin",
              "type": {
                "text": "'trigger' | 'input' | 'programmatic' | null"
              },
              "privacy": "protected",
              "default": "null",
              "description": "Origin of the most-recent open, used for focus restoration on close.\n`null` when closed.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmSupported",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "true",
              "description": "Whether this picker supports the `confirm` footer feature.\nSet to `false` in subclasses where confirm is not yet implemented (e.g. time-picker).\nWhen `confirm` is set but `_confirmSupported` is false, a one-time dev warning is emitted\nand the footer is not rendered.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmActive",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the confirm feature is both requested and supported by this picker.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_confirmWarnedOnce",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Flag to ensure the unsupported-confirm warning is only emitted once.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputReadonly",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the inner input should be made read-only.\nTrue when either `readonly` OR `picker-only` is set.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_triggerDisabled",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether the popup trigger button should be disabled.\nTrue when `disabled` OR `readonly` (but NOT when only `picker-only`).",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Opens the popup. No-op if `disabled` or `readonly`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "show() => Promise<void>"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Closes the popup.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "hide() => Promise<void>"
              }
            },
            {
              "kind": "method",
              "name": "_waitForOpenSettle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Resolve once the open-state transition settles — as soon as EITHER `ed-after-show` or\n`ed-after-hide` fires from this element.\n\nBoth `show()` and `hide()` await this. A cancelled `ed-show` / `ed-hide` (via\n`preventDefault()`) flips `open` straight back, which dispatches the OPPOSITE after-event\nrather than the one a single-event wait expected — so awaiting only `ed-after-show` (or only\n`ed-after-hide`) would hang forever and leak its listener. Listening for both and removing\nboth on the first settle guarantees the promise always resolves and no listener leaks,\nregardless of which direction the transition ends up resolving.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_handleOpenChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_restoreFocusOnClose",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_addOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_removeOpenListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleDocumentMouseDown",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleDocumentKeyDown",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleTriggerClick",
              "privacy": "protected",
              "description": "Click handler for the popup trigger button.\nSubclass render should bind: `@click=${this._handleTriggerClick}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputInput",
              "privacy": "protected",
              "description": "`input` bridge: stops inner-input's event from escaping, syncs internal state, re-fires\nfrom host. Subclass render should bind: `@input=${this._handleInputInput}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputChange",
              "privacy": "protected",
              "description": "`change` bridge: stops inner-input's event, syncs, re-fires from host.\nSubclass render should bind: `@change=${this._handleInputChange}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputInvalid",
              "privacy": "protected",
              "description": "`ed-invalid` bridge: stops propagation, marks interaction, syncs.\nSubclass render should bind: `@ed-invalid=${this._handleInputInvalid}`.\n\nGuard: `MirrorValidator` calls `inner.checkValidity()` inside our own `updateValidity()`,\nwhich re-dispatches a composed `EdInvalidEvent` (composed: true, so it bubbles up through\nthe picker's shadow root). That is a programmatic probe — flipping `hasInteracted` here\nwould show the error UI on an untouched required picker on page load. `_isMirroring` is\ntrue for exactly that window; when set we stop propagation but skip the interaction mark.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_handleInputClear",
              "privacy": "protected",
              "description": "`ed-clear` bridge: the inner input's clear button was activated. Stop the inner's event and\nre-emit from the picker host so `event.target` is the picker (parity with the input/change\nbridges). The value sync rides on the `input` / `change` events the inner also dispatches on\nclear, which flow through `_handleInputInput` / `_handleInputChange`.\nSubclass render should bind: `@ed-clear=${this._handleInputClear}`.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_syncFromInner",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Mirror the inner input's `value` into this picker's `_pickerValue`.\nSubclasses own `_pickerValue` storage — this calls the abstract `_onInnerValueChange()` hook\nso `EdPickerBase` doesn't need to know the concrete type or backing field.\n\nValue-feedback-loop guard: the inner input value is pushed only to `_pickerValue`, NOT back\nto the inner input itself — preventing the \"wipe partial segments\" footgun from #35.\n\nValidity is now driven reactively by `static validators` on every `updateValidity()` cycle\n(triggered by `willUpdate` → `requestUpdate('value')` in subclasses). No manual\n`_refreshValidity()` call is needed here.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "field",
              "name": "_inputKind",
              "type": {
                "text": "'segments' | 'label'"
              },
              "privacy": "protected",
              "description": "Describes the inner input type this picker mounts.\n- `'segments'` (default) — the standard segmented date/time input (`<ed-date-input>`,\n  `<ed-time-input>`, etc.). Segment-specific APIs (`activeSegmentType`, per-segment\n  `focus({segment})`) are available.\n- `'label'` — a read-only display-label element (`<ed-week-label-input>`). Segment\n  APIs are absent; callers must guard against them before use.\n\nSubclasses override when the input kind varies by configuration (e.g. `EdDatePicker`\nreturns `'label'` when `type === 'week'`).",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              },
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "field",
              "name": "_isRange",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "readonly": true,
              "default": "false",
              "description": "Whether this picker operates in range mode (two values → two FormData pairs).\n`false` for all single-value pickers; `true` for range pickers (subclass sets it).\n\nWhen `true`, `setFormValue` writes two entries keyed `name-start` / `name-end`.\nSingle-value pickers never set this; the branch is a seam for Phase C (#39).",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "_setFormValue",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "wire",
                  "type": {
                    "text": "string | null | FormData"
                  }
                }
              ],
              "description": "Write FormData. For single-value pickers this delegates to the standard `setValue()`;\nfor range pickers it writes two entries (`name-start` / `name-end`).\n\nCall this instead of `setValue()` in subclasses that participate in form submission.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "internal/ed-picker-base.js"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<EdFormAssociatedElement['setValue']>"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Block the base-class `setValue(string, string)` path that would submit the interval wire\nstring (e.g. `2024-01-01/2024-12-31`) directly under `name` for range pickers.\n\nThe base class `willUpdate` calls `setValue(this.value, this.value)` whenever `value`\nchanges; for range pickers `this.value` is the solidus interval string which must NEVER\nreach FormData — only the range-form-value pairs (`name-start` / `name-end`) written via\n`_setFormValue` are correct. Swallow the string branch; FormData calls pass through.\n\nSingle-value pickers are unaffected (`_isRange` is false → the guard is a no-op for them).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValue(args: Parameters<EdFormAssociatedElement['setValue']>) => void"
              }
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "attribute": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "attribute": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "attribute": "ai",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "protected",
              "readonly": true,
              "default": "new LocalizeController(this)",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "assumeInteractionOnMode",
              "type": {
                "text": "'combined' | 'separated' | string"
              },
              "default": "'combined'",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "submitsOnEnter",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "description": "Whether pressing Enter while focused inside this control implicitly submits the owning form, mirroring native\ncontrols. Opt-in per subclass — not universal: e.g. `textarea` uses Enter for a newline (its default action, which\ncan't be preserved while suppressing submit) and `select` consumes Enter to pick an option.",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "(HTMLElement & { value: unknown }) | HTMLInputElement | HTMLTextAreaElement | undefined"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "hasInteracted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_customValidityMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "_isCheckingValidity",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set while `checkValidity()` is executing so the `invalid` event handler can distinguish\na programmatic check (no UI side-effects per spec) from `reportValidity()` / native form\nsubmission (which should surface the error UI and focus the first invalid control).",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emittedEvents",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "states",
              "type": {
                "text": "CustomStateSet"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleSubmitOnEnter",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "emitInvalid",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "handleInteraction",
              "privacy": "private",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "labels",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "getForm() => void"
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "willValidate",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "checkValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValidity",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<typeof this.internals.setValidity>"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setValidity(args: Parameters<typeof this.internals.setValidity>) => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomStates",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomStates() => void"
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Do not use this when creating a \"Validator\". This is intended for end users of components.\nWe track manually defined custom errors so we don't clear them on accident in our validators.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "setCustomValidity(message: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "parameters": [
                {
                  "name": "isDisabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "formDisabledCallback(isDisabled: boolean) => void"
              }
            },
            {
              "kind": "field",
              "name": "allValidators",
              "readonly": true,
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "resetValidity",
              "description": "Reset validity is a way of removing manual custom errors and native validation.",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "resetValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "getActiveMessage",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ text: string; type: 'error' | 'warning' | 'ai' | 'hint' }"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "renderHintArea",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              }
            },
            {
              "kind": "method",
              "name": "handleErrorChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | null | undefined"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "internal/ed-form-associated-element.js"
              },
              "type": {
                "text": "handleErrorChange(oldValue: string | null | undefined) => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "Event"
              },
              "reactName": "onInput",
              "eventName": "InputEvent",
              "description": "Bubbled from the inner time input when its value changes.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "reactName": "onChange",
              "eventName": "ChangeEvent",
              "description": "Bubbled from the inner time input on commit, or fired by the picker when a time-list selection commits.",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "ed-clear",
              "reactName": "onEdClear",
              "eventName": "EdClearEvent"
            },
            {
              "description": "Emitted when the time list popup is about to open. Cancelable.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the popup has fully opened.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the time list popup is about to close. Cancelable.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the popup has fully closed.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            },
            {
              "description": "Emitted when the control has been checked for validity and constraints are not satisfied.",
              "name": "ed-invalid",
              "reactName": "onEdInvalid",
              "eventName": "EdInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. Use the `label` slot for richer content.",
              "fieldName": "label"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's placeholder. Forwarded to the inner input.",
              "fieldName": "placeholder"
            },
            {
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Display format token string (`HH:mm`, `HH:mm:ss`, etc.). Forwarded to the inner input.\nAlso drives `with-seconds` on the time list: when the format includes a seconds token,\nthe third column is shown automatically.",
              "fieldName": "format"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'default' | 'spacious'"
              },
              "default": "'default'",
              "description": "Controls the component's spacing density without affecting font-size. Forwarded to the inner input.",
              "fieldName": "density"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges. Forwarded to the inner input.",
              "fieldName": "pill"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the field as required.",
              "fieldName": "required"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets focus on the input when the page loads.",
              "fieldName": "autofocus"
            },
            {
              "name": "placement",
              "type": {
                "text": "PopupPlacement"
              },
              "default": "'bottom-end'",
              "description": "The popup's preferred placement. Defaults to `bottom-end` so the list aligns with the\ntrigger icon on the trailing edge of the input — the mouse stays put after clicking it.",
              "fieldName": "placement",
              "parsedType": {
                "text": "'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom' | 'right-start' | 'right-end' | 'left-start' | 'left-end'"
              }
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Minute step forwarded to `<ed-time-list>`. Default 5. Values that do not divide 60\nwarn and fall back to 5 (enforced in the list itself).",
              "fieldName": "step"
            },
            {
              "name": "step-seconds",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "Second step forwarded to `<ed-time-list>`. Default 5. Only relevant when the format\nincludes a seconds token.",
              "fieldName": "stepSeconds"
            },
            {
              "name": "min",
              "type": {
                "text": "string | null"
              },
              "description": "The minimum selectable time. Accepts a `Date` (only its local time-of-day is used) or an\n`HH:mm` / `HH:mm:ss` string. The getter returns the normalized wire string; invalid strings\nwarn and become `null` (rather than passing through unchecked to the inner input).",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "string | null"
              },
              "description": "The maximum selectable time. Accepts a `Date` (only its local time-of-day is used) or an\n`HH:mm` / `HH:mm:ss` string. The getter returns the normalized wire string.",
              "fieldName": "max"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value (mapped to the `value` content attribute).",
              "fieldName": "defaultValue"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control entirely: the popup cannot open AND typing is blocked.\nSetting `disabled` while open force-closes the popup.\n\nNOT reflected — `EdFormAssociatedElement.updated()` manages the attribute manually and\ndeliberately skips it while fieldset-disabled. With `reflect: true` the reflected\nattribute keeps the element `:disabled` after the fieldset is re-enabled, so the browser\nnever fires `formDisabledCallback(false)` and the control stays disabled forever.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "aria-label",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The control's accessible name for when no visible label is set. Forwarded to the inner\nsegmented input, which mirrors it onto its `role=\"group\"` node — an aria-label left on the\nrole-less picker host alone would be ignored by assistive tech.",
              "fieldName": "ariaLabel",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the control display-only: the popup cannot open AND typing is blocked.\nSetting `readonly` while open force-closes the popup.",
              "fieldName": "readonly",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "picker-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the popup to open but blocks typing. Users can only set the value by\npicking from the popup surface. Does NOT force-close when set dynamically.",
              "fieldName": "pickerOnly",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The popup's open state. Reflected; programmatic open/close mirror.",
              "fieldName": "open",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the popup shows a Cancel / OK footer. A selection sets a pending value\nthat only commits to the inner input when OK is pressed. Cancel and Escape revert.\n\nNot all picker surfaces support confirm. If `confirm` is set on a picker where\n`_confirmSupported` is false, the footer is not rendered and a dev-time warning is emitted.",
              "fieldName": "confirm",
              "inheritedFrom": {
                "name": "EdPickerBase",
                "module": "src/internal/ed-picker-base.ts"
              }
            },
            {
              "name": "error",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws an error-style input with danger colored border and icon. Set to an empty string (or use the bare attribute `<ed-input error>`) to render error styling without a visible message; submission is still blocked with a localized fallback validation message. Set to a non-empty string to additionally display that message in the hint area and use it as the validation message. Set to `null` (the default) or remove the attribute to clear the error.",
              "fieldName": "error",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "warning",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Draws a warning-style input with warning colored border and icon. Set to an empty string (or use the bare attribute `<ed-input warning>`) to render warning styling without a visible message. Set to a non-empty string to additionally display that message in the hint area. Warnings do not block form submission. Set to `null` (the default) or remove the attribute to clear the warning.",
              "fieldName": "warning",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws an ai-style input with AI colored border and icon. Suppressed visually once\n`hasInteracted` flips, but the property and attribute are preserved so the styling\nreturns after `formResetCallback` clears `hasInteracted`.",
              "fieldName": "ai",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form control's hint text. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the input, submitted as a name/value pair with form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "EdFormAssociatedElement",
                "module": "src/internal/ed-form-associated-element.ts"
              }
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdPickerBase",
            "module": "/src/internal/ed-picker-base.js"
          },
          "summary": "A popup form control for picking a single time. Composes a segmented time input with a time-list dropdown.",
          "jsDoc": "/**\n * @summary A popup form control for picking a single time. Composes a segmented time input with a time-list dropdown.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/time-picker\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-time-input\n * @dependency ed-popup\n * @dependency ed-time-list\n * @dependency ed-icon\n * @dependency ed-button\n *\n * @slot label - The control's label. Alternatively, use the `label` attribute.\n * @slot hint - Helper text below the input. Alternatively, use the `hint` attribute.\n * @slot start - Content placed at the start of the input field.\n *\n * @event input - Bubbled from the inner time input when its value changes.\n * @event change - Bubbled from the inner time input on commit, or fired by the picker when a time-list selection commits.\n * @event ed-clear - Emitted when the clear button is activated.\n * @event ed-show - Emitted when the time list popup is about to open. Cancelable.\n * @event ed-after-show - Emitted after the popup has fully opened.\n * @event ed-hide - Emitted when the time list popup is about to close. Cancelable.\n * @event ed-after-hide - Emitted after the popup has fully closed.\n * @event ed-invalid - Emitted when the control has been checked for validity and constraints are not satisfied.\n *\n * @csspart base - The host's outer wrapper.\n * @csspart input - The inner time input.\n * @csspart clear-button - The clear button inside the input.\n * @csspart trigger - The clock trigger button mounted in the input's end slot.\n * @csspart trigger-icon - The icon inside the trigger button.\n * @csspart popup - The popup container that positions the time list.\n * @csspart time-list - The inner time list.\n * @csspart footer-controls - Wrapper for the OK and Cancel buttons in the popup footer (only when confirm is set).\n * @csspart footer-cancel - The Cancel button in the popup footer.\n * @csspart footer-ok - The OK button in the popup footer.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/time-picker",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-time-input",
            "ed-popup",
            "ed-time-list",
            "ed-icon",
            "ed-button"
          ],
          "tagName": "ed-time-picker",
          "customElement": true,
          "modulePath": "components/time-picker/time-picker.js",
          "definitionPath": "components/time-picker/time-picker.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTimePicker",
            "module": "components/time-picker/time-picker.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-time-picker",
          "declaration": {
            "name": "EdTimePicker",
            "module": "components/time-picker/time-picker.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tree/tree.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdTree",
          "cssProperties": [
            {
              "description": "The size of the indentation for nested items. Derived from indent-guide geometry so the highlight stays flush against the guide regardless of font-size; override only when the indent column needs to grow or shrink visibly (and accept that the highlight will then float).",
              "name": "--indent-size"
            },
            {
              "description": "The color of the indentation line.",
              "name": "--indent-guide-color",
              "default": "var(--ed-color-border)"
            },
            {
              "description": "The color of the indentation line segment next to a selected item.",
              "name": "--indent-guide-active-color",
              "default": "var(--ed-color-brand-fill-normal)"
            },
            {
              "description": "Reserved for vertical offset of the indent guide; currently unused with per-item rendering and kept for future use.",
              "name": "--indent-guide-offset",
              "default": "0"
            },
            {
              "description": "The style of the indentation line, e.g. solid, dotted, dashed.",
              "name": "--indent-guide-style",
              "default": "solid"
            },
            {
              "description": "The width of the indentation line. Set to 0 (or use the `hide-indent-guides` attribute) to hide the guides entirely.",
              "name": "--indent-guide-width",
              "default": "var(--ed-border-width-2)"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "The icon to show when the tree item is expanded. Works best with `<ed-icon>`.",
              "name": "expand-icon"
            },
            {
              "description": "The icon to show when the tree item is collapsed. Works best with `<ed-icon>`.",
              "name": "collapse-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "expandedIconSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "collapsedIconSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "selection",
              "type": {
                "text": "'single' | 'multiple' | 'leaf' | 'leaf-multiple'"
              },
              "default": "'single'",
              "description": "The selection behavior of the tree. Single selection allows only one node to be selected at a time. Multiple\ndisplays checkboxes and allows more than one node to be selected. Leaf allows only leaf nodes to be selected.\nLeaf-multiple allows multiple leaf nodes to be selected while parent nodes only expand and collapse.",
              "attribute": "selection"
            },
            {
              "kind": "field",
              "name": "hideIndentGuides",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the vertical guide lines between nested items. By default the guides are shown.",
              "attribute": "hide-indent-guides",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "chevronPlacement",
              "type": {
                "text": "'start' | 'end'"
              },
              "default": "'start'",
              "description": "Where to render the expand/collapse chevron — at the row's start (default) or end.",
              "attribute": "chevron-placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lastFocusedItem",
              "type": {
                "text": "EdTreeItem | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "clickTarget",
              "type": {
                "text": "EdTreeItem | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "method",
              "name": "getExpandButtonIcon",
              "privacy": "private",
              "parameters": [
                {
                  "name": "status",
                  "type": {
                    "text": "'expand' | 'collapse'"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "initTreeItem",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleTreeChanged",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "selectItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "selectedItem",
                  "type": {
                    "text": "EdTreeItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllTreeItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EdTreeItem[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "updateSelectionPath",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncChevronPlacement",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleChevronPlacementChange",
              "type": {
                "text": "handleChevronPlacementChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "focusItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "optional": true,
                  "type": {
                    "text": "EdTreeItem | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseDown",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "type": {
                "text": "handleMouseDown(event: MouseEvent) => void"
              }
            },
            {
              "kind": "field",
              "name": "handleFocusOut",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleFocusIn",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSelectionChange",
              "type": {
                "text": "handleSelectionChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ selection: EdTreeItem[] }"
              },
              "description": "Emitted when a tree item is selected or deselected.",
              "name": "ed-selection-change",
              "reactName": "onEdSelectionChange",
              "eventName": "EdSelectionChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "selection",
              "type": {
                "text": "'single' | 'multiple' | 'leaf' | 'leaf-multiple'"
              },
              "default": "'single'",
              "description": "The selection behavior of the tree. Single selection allows only one node to be selected at a time. Multiple\ndisplays checkboxes and allows more than one node to be selected. Leaf allows only leaf nodes to be selected.\nLeaf-multiple allows multiple leaf nodes to be selected while parent nodes only expand and collapse.",
              "fieldName": "selection"
            },
            {
              "name": "hide-indent-guides",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the vertical guide lines between nested items. By default the guides are shown.",
              "fieldName": "hideIndentGuides"
            },
            {
              "name": "chevron-placement",
              "type": {
                "text": "'start' | 'end'"
              },
              "default": "'start'",
              "description": "Where to render the expand/collapse chevron — at the row's start (default) or end.",
              "fieldName": "chevronPlacement"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Trees allow you to display a hierarchical list of selectable [tree items](/a/eurodata-ui/docs/components/tree-item). Items with children can be expanded and collapsed as desired by the user.",
          "jsDoc": "/**\n * @summary Trees allow you to display a hierarchical list of selectable [tree items](/a/eurodata-ui/docs/components/tree-item). Items with children can be expanded and collapsed as desired by the user.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tree\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('tree')\n *\n * @dependency ed-tree-item\n *\n * @event {{ selection: EdTreeItem[] }} ed-selection-change - Emitted when a tree item is selected or deselected.\n *\n * @slot - The default slot.\n * @slot expand-icon - The icon to show when the tree item is expanded. Works best with `<ed-icon>`.\n * @slot collapse-icon - The icon to show when the tree item is collapsed. Works best with `<ed-icon>`.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --indent-size - The size of the indentation for nested items. Derived from indent-guide\n *  geometry so the highlight stays flush against the guide regardless of font-size; override only when\n *  the indent column needs to grow or shrink visibly (and accept that the highlight will then float).\n * @cssproperty [--indent-guide-color=var(--ed-color-border)] - The color of the indentation line.\n * @cssproperty [--indent-guide-active-color=var(--ed-color-brand-fill-normal)] - The color of the indentation line\n *  segment next to a selected item.\n * @cssproperty [--indent-guide-offset=0] - Reserved for vertical offset of the indent guide; currently unused\n *  with per-item rendering and kept for future use.\n * @cssproperty [--indent-guide-style=solid] - The style of the indentation line, e.g. solid, dotted, dashed.\n * @cssproperty [--indent-guide-width=var(--ed-border-width-2)] - The width of the indentation line. Set to 0 (or use\n *  the `hide-indent-guides` attribute) to hide the guides entirely.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/tree",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('tree')",
          "dependencies": [
            "ed-tree-item"
          ],
          "tagName": "ed-tree",
          "customElement": true,
          "modulePath": "components/tree/tree.js",
          "definitionPath": "components/tree/tree.js",
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdTree",
            "module": "components/tree/tree.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-tree",
          "declaration": {
            "name": "EdTree",
            "module": "components/tree/tree.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/upload/upload.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdUpload",
          "cssProperties": [
            {
              "description": "Size of the drag & drop illustration icon. Raise it when the dropzone fills a large area (e.g. a full-screen scan dialog).",
              "name": "--ed-upload-illustration-size",
              "default": "4rem"
            }
          ],
          "cssParts": [
            {
              "description": "The component wrapper.",
              "name": "base"
            },
            {
              "description": "The drag & drop area.",
              "name": "dropzone"
            },
            {
              "description": "The \"N files · size\" summary (multi mode).",
              "name": "summary"
            },
            {
              "description": "The file list (multi mode).",
              "name": "list"
            },
            {
              "description": "A single file row.",
              "name": "file"
            },
            {
              "description": "A file row's name.",
              "name": "file-name"
            },
            {
              "description": "A file row's size.",
              "name": "file-size"
            },
            {
              "description": "A file row's action buttons.",
              "name": "file-actions"
            },
            {
              "description": "A file row's status cell (progress bar or status icon).",
              "name": "file-status"
            },
            {
              "description": "A rejected row's reason text.",
              "name": "file-reason"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles, visuallyHidden]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Allow selecting/dropping more than one file (mirrors the native input's `multiple`).",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "accept",
              "type": {
                "text": "string"
              },
              "privacy": "public",
              "default": "''",
              "description": "Comma-separated list of accepted types (extensions and/or MIME types), like the native `accept`.",
              "attribute": "accept"
            },
            {
              "kind": "field",
              "name": "uploadUrl",
              "type": {
                "text": "string | null"
              },
              "privacy": "public",
              "default": "null",
              "description": "Target URL the files are POSTed to.",
              "attribute": "upload-url"
            },
            {
              "kind": "field",
              "name": "uploadFilePartName",
              "type": {
                "text": "string"
              },
              "privacy": "public",
              "default": "'file'",
              "description": "FormData part name used for each file.",
              "attribute": "upload-file-part-name"
            },
            {
              "kind": "field",
              "name": "maxFiles",
              "type": {
                "text": "number | null"
              },
              "privacy": "public",
              "default": "null",
              "description": "Maximum number of files (multi mode).",
              "attribute": "max-files"
            },
            {
              "kind": "field",
              "name": "maxFileSize",
              "privacy": "public",
              "default": "2048",
              "description": "Maximum size per file in MB (capped at 2048).",
              "attribute": "max-file-size",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "maxTotalFileSize",
              "privacy": "public",
              "default": "2048",
              "description": "Maximum total upload size in MB (capped at 2048).",
              "attribute": "max-total-file-size",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Disables interaction.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "viewable",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Opt in to a per-file preview (\"view\") action in the list. When set, each row shows an eye\nbutton that emits `ed-file-preview`. While an upload is configured the button stays disabled\nuntil that file has finished uploading; without an `upload-url` it is enabled immediately.",
              "attribute": "viewable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "headers",
              "type": {
                "text": "UploadHeaders"
              },
              "privacy": "public",
              "default": "{}",
              "description": "Request headers, either a static object or a function (sync or async) resolved per request.\nUse the function form for auth tokens so they stay fresh and never live in the DOM.",
              "parsedType": {
                "text": "Record<string, string> | {  }"
              }
            },
            {
              "kind": "field",
              "name": "picker",
              "privacy": "private",
              "readonly": true,
              "default": "new FilePickerController(this, { multiple: () => this.multiple, accept: () => this.accept, maxFiles: () => this.maxFiles, maxFileSizeMb: () => this.maxPerFileMb, maxTotalFileSizeMb: () => this.maxTotalMb, disabled: () => this.disabled, onChange: () => this.handleSelectionChange(), onReject: (file, reason) => this.handleReject(file, reason) })"
            },
            {
              "kind": "field",
              "name": "uploadState",
              "privacy": "private",
              "readonly": true,
              "default": "new Map<string, UploadState>()",
              "description": "Upload/progress state per file, keyed by name. The picker owns which files are selected;\nthis map only tracks what happens to them afterwards (queued → uploading → done/error).\nMutated in place; callers trigger re-renders explicitly (see `patchState`), same as\n`activeUploads` below — Lit's reactivity only fires on reassignment, not on Map mutation."
            },
            {
              "kind": "field",
              "name": "fileInput",
              "type": {
                "text": "HTMLInputElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "activeUploads",
              "privacy": "private",
              "readonly": true,
              "default": "new Map<string, XMLHttpRequest>()",
              "description": "In-flight uploads, keyed by file name so they can be aborted on removeFile or disconnect."
            },
            {
              "kind": "field",
              "name": "liveAnnouncement",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "description": "Screen-reader announcement for upload progress — status used to change only visually."
            },
            {
              "kind": "field",
              "name": "files",
              "type": {
                "text": "UploadFileItem[]"
              },
              "privacy": "public",
              "description": "The files currently held by the component.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "rejectedFiles",
              "type": {
                "text": "UploadFileItem[]"
              },
              "privacy": "private",
              "description": "Content-rejected files, rendered as persistent error rows alongside `files`.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "maxPerFileMb",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "maxTotalMb",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "triggerFileSelect",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "emitError",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "UploadErrorReason"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleReject",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "File"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "RejectReason"
                  }
                }
              ],
              "description": "Surfaces a rejection reported by the picker. Content rejections (wrong type, too large, total\nexceeded) already got a persistent row from the picker, so only the event fires here.\nList-state rejections (duplicate, too many) have no specific file to show a row for, so they\nadditionally fire a danger toast — which stays until dismissed and stacks, instead of\noverwriting an inline message."
            },
            {
              "kind": "method",
              "name": "errorMessage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "File"
                  }
                },
                {
                  "name": "reason",
                  "type": {
                    "text": "UploadErrorReason"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSelectionChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Reconciles upload state to the picker's current selection, then starts any newly queued files."
            },
            {
              "kind": "method",
              "name": "announceProgress",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Announces the done-of-total progress to the live region using the existing summary term."
            },
            {
              "kind": "method",
              "name": "retryFile",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Re-queues a failed file and restarts the upload — the File object is still held in memory.",
              "type": {
                "text": "retryFile(name: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "removeFile",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Removes a file from the list, or dismisses a rejected row. Aborts the upload if it is in flight.",
              "type": {
                "text": "removeFile(name: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "abortUploadByName",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "resolveHeaders",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<Record<string, string>>"
                }
              }
            },
            {
              "kind": "method",
              "name": "uploadQueued",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              }
            },
            {
              "kind": "method",
              "name": "uploadFile",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "UploadFileItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "patchState",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "patch",
                  "type": {
                    "text": "Partial<UploadState>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "formatSize",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "bytes",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderDropZone",
              "privacy": "private",
              "parameters": [
                {
                  "name": "compact",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderFileStatus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "UploadFileItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderFileRow",
              "privacy": "private",
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "UploadFileItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderList",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "name",
              "type": {
                "text": "EdUploadErrorEvent"
              },
              "reactName": "onName",
              "eventName": "NameEvent"
            },
            {
              "name": "done",
              "type": {
                "text": "EdUploadFinishedEvent"
              },
              "reactName": "onDone",
              "eventName": "DoneEvent"
            },
            {
              "type": {
                "text": "{ files: UploadFileItem[] }"
              },
              "description": "Emitted when the set of files changes (added or removed).",
              "name": "ed-upload-change",
              "reactName": "onEdUploadChange",
              "eventName": "EdUploadChangeEvent"
            },
            {
              "type": {
                "text": "{ name: string, loaded: number, total: number, percent: number }"
              },
              "description": "Emitted while a file uploads.",
              "name": "ed-upload-progress",
              "reactName": "onEdUploadProgress",
              "eventName": "EdUploadProgressEvent"
            },
            {
              "type": {
                "text": "{ files: UploadedFile[] }"
              },
              "description": "Emitted once all queued uploads have settled.",
              "name": "ed-upload-finished",
              "reactName": "onEdUploadFinished",
              "eventName": "EdUploadFinishedEvent"
            },
            {
              "type": {
                "text": "{ name: string, reason: UploadErrorReason }"
              },
              "description": "Emitted on a validation rejection or a failed upload.",
              "name": "ed-upload-error",
              "parsedType": {
                "text": "{ name: string, reason: 'too-large' | 'too-many' | 'type' | 'total-exceeded' | 'network' | 'http' | 'duplicate' }"
              },
              "reactName": "onEdUploadError",
              "eventName": "EdUploadErrorEvent"
            },
            {
              "type": {
                "text": "{ name: string }"
              },
              "description": "Emitted when a file's preview action is activated (requires `viewable`).",
              "name": "ed-file-preview",
              "reactName": "onEdFilePreview",
              "eventName": "EdFilePreviewEvent"
            }
          ],
          "attributes": [
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allow selecting/dropping more than one file (mirrors the native input's `multiple`).",
              "fieldName": "multiple"
            },
            {
              "name": "accept",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Comma-separated list of accepted types (extensions and/or MIME types), like the native `accept`.",
              "fieldName": "accept"
            },
            {
              "name": "upload-url",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Target URL the files are POSTed to.",
              "fieldName": "uploadUrl"
            },
            {
              "name": "upload-file-part-name",
              "type": {
                "text": "string"
              },
              "default": "'file'",
              "description": "FormData part name used for each file.",
              "fieldName": "uploadFilePartName"
            },
            {
              "name": "max-files",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "Maximum number of files (multi mode).",
              "fieldName": "maxFiles"
            },
            {
              "name": "max-file-size",
              "default": "MAX_SIZE_MB",
              "description": "Maximum size per file in MB (capped at 2048).",
              "fieldName": "maxFileSize"
            },
            {
              "name": "max-total-file-size",
              "default": "MAX_SIZE_MB",
              "description": "Maximum total upload size in MB (capped at 2048).",
              "fieldName": "maxTotalFileSize"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables interaction.",
              "fieldName": "disabled"
            },
            {
              "name": "viewable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Opt in to a per-file preview (\"view\") action in the list. When set, each row shows an eye\nbutton that emits `ed-file-preview`. While an upload is configured the button stays disabled\nuntil that file has finished uploading; without an `upload-url` it is enabled immediately.",
              "fieldName": "viewable"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Generic file upload: drag & drop, validation and per-file upload progress.",
          "jsDoc": "/**\n * @summary Generic file upload: drag & drop, validation and per-file upload progress.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/upload\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('button')\n *\n * @dependency ed-button\n * @dependency ed-icon\n * @dependency ed-progress-bar\n *\n * @event {{ files: UploadFileItem[] }} ed-upload-change - Emitted when the set of files changes (added or removed).\n * @event {{ name: string, loaded: number, total: number, percent: number }} ed-upload-progress - Emitted while a file uploads.\n * @event {{ files: UploadedFile[] }} ed-upload-finished - Emitted once all queued uploads have settled.\n * @event {{ name: string, reason: UploadErrorReason }} ed-upload-error - Emitted on a validation rejection or a failed upload.\n * @event {{ name: string }} ed-file-preview - Emitted when a file's preview action is activated (requires `viewable`).\n *\n * @csspart base - The component wrapper.\n * @csspart dropzone - The drag & drop area.\n * @csspart summary - The \"N files · size\" summary (multi mode).\n * @csspart list - The file list (multi mode).\n * @csspart file - A single file row.\n * @csspart file-name - A file row's name.\n * @csspart file-size - A file row's size.\n * @csspart file-actions - A file row's action buttons.\n * @csspart file-status - A file row's status cell (progress bar or status icon).\n * @csspart file-reason - A rejected row's reason text.\n *\n * @cssproperty [--ed-upload-illustration-size=4rem] - Size of the drag & drop illustration icon. Raise it\n *              when the dropzone fills a large area (e.g. a full-screen scan dialog).\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/upload",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('button')",
          "dependencies": [
            "ed-button",
            "ed-icon",
            "ed-progress-bar"
          ],
          "tagName": "ed-upload",
          "customElement": true,
          "modulePath": "components/upload/upload.js",
          "definitionPath": "components/upload/upload.js",
          "cssStates": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdUpload",
            "module": "components/upload/upload.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-upload",
          "declaration": {
            "name": "EdUpload",
            "module": "components/upload/upload.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/wizard-step/wizard-step.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdWizardStep",
          "cssParts": [
            {
              "description": "The wrapper of the step.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The wizard step's content. Add the `autofocus` attribute to a control here to move focus to it when the step becomes active.",
              "name": ""
            },
            {
              "description": "The label of the Step. The label will be shown on the stepper. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Place an `<ed-icon>` here to show an icon instead of the default numeric value.",
              "name": "icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The wizard step's label. If you need to display HTML, use the label slot instead.",
              "attribute": "label"
            },
            {
              "kind": "method",
              "name": "getFocusTarget",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              },
              "description": "Used by ed-wizard to move focus into the active panel after navigation.\nReturns the element the consumer marked with `autofocus`, or `null` when the\nstep has nothing to focus (e.g. a text-only review step). In the `null` case\nthe wizard announces the step change to assistive technology instead of\nmoving focus. (Internal helper — do not call directly.)",
              "type": {
                "text": "getFocusTarget() => HTMLElement | null"
              }
            },
            {
              "kind": "method",
              "name": "notifyMetaChange",
              "type": {
                "text": "notifyMetaChange() => void"
              }
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The wizard step's label. If you need to display HTML, use the label slot instead.",
              "fieldName": "label"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "A wizard step represents the label, an optional icon and the content of a step within a wizard.",
          "jsDoc": "/**\n * @summary A wizard step represents the label, an optional icon and the content of a step within a wizard.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/wizard-step\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByRole('tabpanel')\n *\n * @slot - The wizard step's content. Add the `autofocus` attribute to a control here to move focus to it when the step becomes active.\n * @slot label - The label of the Step. The label will be shown on the stepper. Alternatively, you can use the `label` attribute.\n * @slot icon - Place an `<ed-icon>` here to show an icon instead of the default numeric value.\n *\n * @csspart base - The wrapper of the step.\n\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/wizard-step",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByRole('tabpanel')",
          "tagName": "ed-wizard-step",
          "customElement": true,
          "modulePath": "components/wizard-step/wizard-step.js",
          "definitionPath": "components/wizard-step/wizard-step.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdWizardStep",
            "module": "components/wizard-step/wizard-step.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-wizard-step",
          "declaration": {
            "name": "EdWizardStep",
            "module": "components/wizard-step/wizard-step.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/wizard/wizard.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdWizard",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The wrapper of all steps.",
              "name": "progress-panel"
            },
            {
              "description": "The wrapper of a single step inside the progress panel.",
              "name": "step"
            },
            {
              "description": "The wrapper of the upper part of the step, contains connectors and the button but not the label.",
              "name": "step-top"
            },
            {
              "description": "The step button .",
              "name": "button"
            },
            {
              "description": "The connector before the button.",
              "name": "connector-before"
            },
            {
              "description": "The connector after the button.",
              "name": "connector-after"
            },
            {
              "description": "The wrapper of the label.",
              "name": "label"
            },
            {
              "description": "The wrapper of the content.",
              "name": "content"
            },
            {
              "description": "The wrapper of Navigation.",
              "name": "nav"
            },
            {
              "description": "The reset button",
              "name": "reset"
            },
            {
              "description": "The previous button",
              "name": "previous"
            },
            {
              "description": "The next button",
              "name": "next"
            }
          ],
          "slots": [
            {
              "description": "Place `<ed-wizard-step>` elements inside.",
              "name": ""
            },
            {
              "description": "Slot for the navigation, acts like a footer.",
              "name": "nav"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles, visuallyHidden]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "activeStep",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Index of the active step (0-based).",
              "attribute": "active-step",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "scrollToTop",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Scroll to top after step changing.",
              "attribute": "scroll-to-top",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "stepNavigation",
              "type": {
                "text": "'none' | 'seen' | 'all'"
              },
              "default": "'seen'",
              "description": "Controls whether users can jump to steps via the step indicators.\n\n- `none`: step indicators are not interactive\n- `seen`: users may jump only to steps with index <= maxSeenStep\n- `all`: users may jump to any step",
              "attribute": "step-navigation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "navigation",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the default navigation in the nav slot",
              "attribute": "navigation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "allowReset",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, shows the default reset button inside the navigation. Navigation must be enabled to make this button work",
              "attribute": "allow-reset",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "nextDisabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, disables the next button. Use this to prevent advancing until consumer validation passes.",
              "attribute": "next-disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "previousDisabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, disables the previous button. Use this to prevent going back while an async operation is in progress.",
              "attribute": "previous-disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Defines the orientation of the wizard",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "contentEl",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "steps",
              "type": {
                "text": "EdWizardStep[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "maxSeenStep",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "liveAnnouncement",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "description": "Assistive-tech announcement for steps that have no focus target (e.g. text-only steps)."
            },
            {
              "kind": "field",
              "name": "firstUpdatePassed",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Becomes true after the first render. Focus/announcement is suppressed on the initial render\n(including deep links via `active-step`), but fires on every later step change — whether driven by\nthe built-in navigation, custom nav, imperative methods, or a controlled `activeStep` (e.g. React)."
            },
            {
              "kind": "field",
              "name": "localize",
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "onStepMetaChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "collectSteps",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#generatedIdBase",
              "privacy": "private",
              "description": "Generated fallback for id-less hosts, so multiple wizards never share step/tab ids."
            },
            {
              "kind": "method",
              "name": "wizardIdBase",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getStepLabelId",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getStepPanelId",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "applyStepA11y",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isStepJumpAllowed",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateActiveVisibility",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "focusActivePanel",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "announceStepChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "goToStep",
              "privacy": "public",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Set the active step to the given number",
              "type": {
                "text": "goToStep(index: number) => void"
              }
            },
            {
              "kind": "method",
              "name": "previous",
              "privacy": "public",
              "description": "Go to the previous step if possible",
              "type": {
                "text": "previous() => void"
              }
            },
            {
              "kind": "method",
              "name": "next",
              "privacy": "public",
              "description": "Go to the next step if possible",
              "type": {
                "text": "next() => void"
              }
            },
            {
              "kind": "method",
              "name": "reset",
              "description": "Resets the wizard to the first step",
              "type": {
                "text": "reset() => void"
              }
            },
            {
              "kind": "method",
              "name": "onTabClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "onTabKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "onTabActivateKey",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "stepCount",
              "description": "Total number of steps",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "isFinished",
              "description": "True if the wizard is finished",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "isFirstStep",
              "description": "True if the first step is active",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "isLastStep",
              "description": "True if the last step is active",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "canGoPrevious",
              "description": "True if there is a previous step and it is not disabled by the consumer",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "canGoNext",
              "description": "True if there is a next step and it is not disabled by the consumer",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "canReset",
              "description": "True if the wizard can reset",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "visiblePanelIndex",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "selectedTabIndex",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ activeStep: number, stepCount: number, maxSeenStep: number, isFinished: boolean, canGoNext: boolean, canGoPrevious: boolean, canReset: boolean }"
              },
              "description": "Emitted when the active step changes.",
              "name": "ed-step-change",
              "reactName": "onEdStepChange",
              "eventName": "EdStepChangeEvent"
            },
            {
              "description": "Emitted when the last step is finished.",
              "name": "ed-finish",
              "reactName": "onEdFinish",
              "eventName": "EdFinishEvent"
            }
          ],
          "attributes": [
            {
              "name": "active-step",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Index of the active step (0-based).",
              "fieldName": "activeStep"
            },
            {
              "name": "scroll-to-top",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Scroll to top after step changing.",
              "fieldName": "scrollToTop"
            },
            {
              "name": "step-navigation",
              "type": {
                "text": "'none' | 'seen' | 'all'"
              },
              "default": "'seen'",
              "description": "Controls whether users can jump to steps via the step indicators.\n\n- `none`: step indicators are not interactive\n- `seen`: users may jump only to steps with index <= maxSeenStep\n- `all`: users may jump to any step",
              "fieldName": "stepNavigation"
            },
            {
              "name": "navigation",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the default navigation in the nav slot",
              "fieldName": "navigation"
            },
            {
              "name": "allow-reset",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, shows the default reset button inside the navigation. Navigation must be enabled to make this button work",
              "fieldName": "allowReset"
            },
            {
              "name": "next-disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, disables the next button. Use this to prevent advancing until consumer validation passes.",
              "fieldName": "nextDisabled"
            },
            {
              "name": "previous-disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, disables the previous button. Use this to prevent going back while an async operation is in progress.",
              "fieldName": "previousDisabled"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Defines the orientation of the wizard",
              "fieldName": "orientation"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Guides users through a step-by-step process to complete a task.",
          "jsDoc": "/**\n * @summary Guides users through a step-by-step process to complete a task.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/wizard\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…').getByRole('tablist')\n *\n * @dependency ed-wizard-step\n * @dependency ed-button\n * @dependency ed-icon\n *\n * @event {{ activeStep: number, stepCount: number, maxSeenStep: number, isFinished: boolean, canGoNext: boolean, canGoPrevious: boolean, canReset: boolean }} ed-step-change - Emitted when the active step changes.\n * @event ed-finish - Emitted when the last step is finished.\n *\n * @slot - Place `<ed-wizard-step>` elements inside.\n * @slot nav - Slot for the navigation, acts like a footer.\n *\n * @csspart base - The component's base wrapper.\n * @csspart progress-panel - The wrapper of all steps.\n * @csspart step - The wrapper of a single step inside the progress panel.\n * @csspart step-top - The wrapper of the upper part of the step, contains connectors and the button but not the label.\n * @csspart button - The step button .\n * @csspart connector-before - The connector before the button.\n * @csspart connector-after - The connector after the button.\n * @csspart label - The wrapper of the label.\n * @csspart content - The wrapper of the content.\n * @csspart nav - The wrapper of Navigation.\n * @csspart reset - The reset button\n * @csspart previous - The previous button\n * @csspart next - The next button\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/wizard",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…').getByRole('tablist')",
          "dependencies": [
            "ed-wizard-step",
            "ed-button",
            "ed-icon"
          ],
          "tagName": "ed-wizard",
          "customElement": true,
          "modulePath": "components/wizard/wizard.js",
          "definitionPath": "components/wizard/wizard.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdWizard",
            "module": "components/wizard/wizard.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-wizard",
          "declaration": {
            "name": "EdWizard",
            "module": "components/wizard/wizard.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/zoomable-frame/zoomable-frame.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdZoomableFrame",
          "cssParts": [
            {
              "description": "The internal `<iframe>` element.",
              "name": "iframe"
            },
            {
              "description": "The container that surrounds zoom control buttons.",
              "name": "controls"
            },
            {
              "description": "The zoom in button.",
              "name": "zoom-in-button"
            },
            {
              "description": "The zoom out button.",
              "name": "zoom-out-button"
            }
          ],
          "slots": [
            {
              "description": "The slot that contains the zoom in icon.",
              "name": "zoom-in-icon"
            },
            {
              "description": "The slot that contains the zoom out icon.",
              "name": "zoom-out-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "styles",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "availableZoomLevels",
              "type": {
                "text": "number[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "iframe",
              "type": {
                "text": "HTMLIFrameElement"
              }
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "The URL of the content to display.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "srcdoc",
              "type": {
                "text": "string"
              },
              "description": "Inline HTML to display.",
              "attribute": "srcdoc"
            },
            {
              "kind": "field",
              "name": "allowfullscreen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows fullscreen mode.",
              "attribute": "allowfullscreen"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "'eager' | 'lazy'"
              },
              "default": "'eager'",
              "description": "Controls iframe loading behavior.",
              "attribute": "loading"
            },
            {
              "kind": "field",
              "name": "referrerpolicy",
              "type": {
                "text": "string"
              },
              "description": "Controls referrer information.",
              "attribute": "referrerpolicy"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "An accessible label for the iframe. Recommended for screen readers.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "sandbox",
              "type": {
                "text": "string"
              },
              "default": "'allow-same-origin allow-scripts'",
              "description": "Security restrictions for the iframe. Defaults to `allow-same-origin allow-scripts` for\ndefense-in-depth. Per the HTML spec an EMPTY string applies the maximum restrictions\n(everything blocked); add `allow-*` keywords to grant capabilities. The attribute is always\nrendered — there is deliberately no way to omit it entirely.",
              "attribute": "sandbox"
            },
            {
              "kind": "field",
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The current zoom of the frame, e.g. 0 = 0% and 1 = 100%.",
              "attribute": "zoom",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "zoomLevels",
              "type": {
                "text": "string"
              },
              "default": "'25% 50% 75% 100% 125% 150% 175% 200%'",
              "description": "The zoom levels to step through when using zoom controls. This does not restrict programmatic changes to the zoom.",
              "attribute": "zoom-levels"
            },
            {
              "kind": "field",
              "name": "withoutControls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the zoom controls.",
              "attribute": "without-controls",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutInteraction",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables interaction when present.",
              "attribute": "without-interaction",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "contentWindow",
              "type": {
                "text": "Window | null"
              },
              "privacy": "public",
              "description": "Returns the internal iframe's `window` object. (Readonly property)",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "contentDocument",
              "type": {
                "text": "Document | null"
              },
              "privacy": "public",
              "description": "Returns the internal iframe's `document` object. (Readonly property)",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "parseZoomLevels",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number[]"
                }
              },
              "parameters": [
                {
                  "name": "zoomLevelsString",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getCurrentZoomIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "isZoomInDisabled",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "isZoomOutDisabled",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "zoomIn",
              "privacy": "public",
              "description": "Zooms in to the next available zoom level.",
              "type": {
                "text": "zoomIn() => void"
              }
            },
            {
              "kind": "method",
              "name": "zoomOut",
              "privacy": "public",
              "description": "Zooms out to the previous available zoom level.",
              "type": {
                "text": "zoomOut() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleLoad",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleError",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "load",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the internal iframe when it finishes loading.",
              "reactName": "onLoad",
              "eventName": "LoadEvent"
            },
            {
              "name": "error",
              "type": {
                "text": "Event"
              },
              "description": "Emitted from the internal iframe when it fails to load.",
              "reactName": "onError",
              "eventName": "ErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "The URL of the content to display.",
              "fieldName": "src"
            },
            {
              "name": "srcdoc",
              "type": {
                "text": "string"
              },
              "description": "Inline HTML to display.",
              "fieldName": "srcdoc"
            },
            {
              "name": "allowfullscreen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows fullscreen mode.",
              "fieldName": "allowfullscreen"
            },
            {
              "name": "loading",
              "type": {
                "text": "'eager' | 'lazy'"
              },
              "default": "'eager'",
              "description": "Controls iframe loading behavior.",
              "fieldName": "loading"
            },
            {
              "name": "referrerpolicy",
              "type": {
                "text": "string"
              },
              "description": "Controls referrer information.",
              "fieldName": "referrerpolicy"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "An accessible label for the iframe. Recommended for screen readers.",
              "fieldName": "label"
            },
            {
              "name": "sandbox",
              "type": {
                "text": "string"
              },
              "default": "'allow-same-origin allow-scripts'",
              "description": "Security restrictions for the iframe. Defaults to `allow-same-origin allow-scripts` for\ndefense-in-depth. Per the HTML spec an EMPTY string applies the maximum restrictions\n(everything blocked); add `allow-*` keywords to grant capabilities. The attribute is always\nrendered — there is deliberately no way to omit it entirely.",
              "fieldName": "sandbox"
            },
            {
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The current zoom of the frame, e.g. 0 = 0% and 1 = 100%.",
              "fieldName": "zoom"
            },
            {
              "name": "zoom-levels",
              "type": {
                "text": "string"
              },
              "default": "'25% 50% 75% 100% 125% 150% 175% 200%'",
              "description": "The zoom levels to step through when using zoom controls. This does not restrict programmatic changes to the zoom.",
              "fieldName": "zoomLevels"
            },
            {
              "name": "without-controls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the zoom controls.",
              "fieldName": "withoutControls"
            },
            {
              "name": "without-interaction",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables interaction when present.",
              "fieldName": "withoutInteraction"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "Zoomable frames render iframe content with zoom and interaction controls.",
          "jsDoc": "/**\n * @summary Zoomable frames render iframe content with zoom and interaction controls.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/components/zoomable-frame\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-icon\n *\n * @slot zoom-in-icon - The slot that contains the zoom in icon.\n * @slot zoom-out-icon - The slot that contains the zoom out icon.\n *\n * @event load - Emitted when the internal iframe when it finishes loading.\n * @event error - Emitted from the internal iframe when it fails to load.\n *\n * @csspart iframe - The internal `<iframe>` element.\n * @csspart controls - The container that surrounds zoom control buttons.\n * @csspart zoom-in-button - The zoom in button.\n * @csspart zoom-out-button - The zoom out button.\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/components/zoomable-frame",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-icon"
          ],
          "tagName": "ed-zoomable-frame",
          "customElement": true,
          "modulePath": "components/zoomable-frame/zoomable-frame.js",
          "definitionPath": "components/zoomable-frame/zoomable-frame.js",
          "cssProperties": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdZoomableFrame",
            "module": "components/zoomable-frame/zoomable-frame.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-zoomable-frame",
          "declaration": {
            "name": "EdZoomableFrame",
            "module": "components/zoomable-frame/zoomable-frame.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "widgets/ed-scan/ed-scan.types.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "widgets/ed-scan/ed-scan.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdWidgetEdScan",
          "slots": [
            {
              "description": "An image (your logo) shown at the end of the dialog header.",
              "name": "logo"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[edScanStyles, alignItemsStyles, justifyContentStyles, spaceStyles, gapStyles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "edscanToken",
              "privacy": "public",
              "description": "the ed-scan token for the current session. This token must be created by the product via the create-session endpoint",
              "attribute": "token"
            },
            {
              "kind": "field",
              "name": "_edscanToken",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "edscanBaseUrl",
              "type": {
                "text": "string"
              },
              "privacy": "public",
              "default": "''",
              "description": "the base url to the service - change this to switch between dev, staging or prod",
              "attribute": "base-url"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "indicates if the dialog should show or not - the dialog can be opened by placing the attribute `open` on the component or by calling the method `show()`. To close the dialog you either have to remove the attribute or call the `close()` method. *Keep in mind that the close() method has some build-in logic you have to do on your own when just removing the attribute (for example removing the session).",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "saving",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "'upload' | 'editor' | 'error' | 'loading'"
              },
              "privacy": "private",
              "default": "'loading'"
            },
            {
              "kind": "field",
              "name": "loadingMessage",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "errorMsg",
              "type": {
                "text": "string | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "session",
              "type": {
                "text": "EdScanSession | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "saveable",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "filesForEditor",
              "type": {
                "text": "PageEditorFile[] | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "aiSuggestionsAvailable",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether the editor should show the AI controls (always true here — ed-scan always runs the AI)."
            },
            {
              "kind": "field",
              "name": "suggestionsPending",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Drives the editor's `suggestions-pending` (loading hint) while the AI analysis is still running."
            },
            {
              "kind": "field",
              "name": "suggestionsApplied",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Guards against re-injecting suggestions once they have been applied to the open editor."
            },
            {
              "kind": "field",
              "name": "editorEl",
              "type": {
                "text": "EdPageEditor | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "savedFiles",
              "type": {
                "text": "SavedFile[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "showCancelDialog",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "showSaveErrorDialog",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "awaitingUploadedFile",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True once an upload has finished successfully but the backend hasn't listed the file yet.\nWhile this holds, an empty `session/start` means \"still processing\", not \"no file\" — so we\nkeep polling in the loading state instead of bouncing back to the dropzone."
            },
            {
              "kind": "field",
              "name": "closing",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set by `close()` so the main dialog's `ed-hide` interceptor lets a programmatic close through\ninstead of re-opening the cancel-confirm prompt."
            },
            {
              "kind": "field",
              "name": "#refreshTimeout",
              "privacy": "private",
              "type": {
                "text": "ReturnType<typeof setTimeout> | undefined"
              },
              "description": "The pending session-refresh timer, tracked so removal from the DOM stops the poll loop."
            },
            {
              "kind": "field",
              "name": "#fetchAbort",
              "privacy": "private",
              "type": {
                "text": "AbortController | undefined"
              },
              "description": "Aborts the in-flight session fetch when the widget is removed from the DOM."
            },
            {
              "kind": "method",
              "name": "scheduleSessionRefresh",
              "privacy": "private",
              "parameters": [
                {
                  "name": "sessionToken",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "loadSession",
              "privacy": "private",
              "parameters": [
                {
                  "name": "sessionToken",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateFiles",
              "privacy": "private",
              "parameters": [
                {
                  "name": "files",
                  "type": {
                    "text": "ServerFile[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "createFile",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SessionFile"
                }
              },
              "parameters": [
                {
                  "name": "resultFile",
                  "type": {
                    "text": "ServerFile"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateFile",
              "privacy": "private",
              "parameters": [
                {
                  "name": "sessionFile",
                  "type": {
                    "text": "SessionFile"
                  }
                },
                {
                  "name": "resultFile",
                  "type": {
                    "text": "ServerFile"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setFileInformation",
              "privacy": "private",
              "parameters": [
                {
                  "name": "sessionFile",
                  "type": {
                    "text": "SessionFile"
                  }
                },
                {
                  "name": "information",
                  "type": {
                    "text": "ServerFileInformation"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setAiInformation",
              "privacy": "private",
              "parameters": [
                {
                  "name": "sessionFile",
                  "type": {
                    "text": "SessionFile"
                  }
                },
                {
                  "name": "information",
                  "type": {
                    "text": "ServerAiInformation"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getInfoStatus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "'PENDING' | 'SUCCESS' | 'ERROR'"
                }
              },
              "parameters": [
                {
                  "name": "informationStatus",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleCancelConfirmClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleCancelDialogAbort",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "EdCancelEvent"
                  }
                }
              ],
              "description": "Cancel dialog, cancel button (\"Cancel upload\"): abort the whole session."
            },
            {
              "kind": "method",
              "name": "handleCancelDialogBack",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "EdConfirmEvent"
                  }
                }
              ],
              "description": "Cancel dialog, confirm button (\"Back to editing\"): just dismiss the confirmation and stay."
            },
            {
              "kind": "method",
              "name": "handleSaveErrorRetry",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "EdConfirmEvent"
                  }
                }
              ],
              "description": "Save-error dialog, confirm button (\"Try again\"): retry the save."
            },
            {
              "kind": "method",
              "name": "handleSaveErrorBack",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "EdCancelEvent"
                  }
                }
              ],
              "description": "Save-error dialog, cancel button (\"Back to editing\"): dismiss and return to the editor."
            },
            {
              "kind": "method",
              "name": "toPageEditorFile",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PageEditorFile"
                }
              },
              "parameters": [
                {
                  "name": "dmsFile",
                  "type": {
                    "text": "DmsFile"
                  }
                }
              ],
              "description": "Maps the assembled DMS source for one file to the editor's input. Page images are direct URLs\n(the DMS preview endpoints need no auth), so the grid lazy-loads thumbnails and the zoom lightbox\nshows the higher-resolution preview. AI suggestions (if already resolved) are baked in; otherwise\nthey arrive later via `applySuggestionsToEditor`."
            },
            {
              "kind": "method",
              "name": "shapeSuggestion",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PageEditorSuggestion"
                }
              },
              "parameters": [
                {
                  "name": "suggestion",
                  "type": {
                    "text": "DmsSuggestion"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Shapes one DMS AI result into the editor's suggestion. Suggestions align with pages by position,\nnot by their `pageNumber` field: the AI returns one result per page in page order, but its\n`pageNumber` is not a reliable 1-based key (keying by it drops the last page's suggestion). The\noriginal DMS editor indexes positionally too."
            },
            {
              "kind": "method",
              "name": "buildSuggestions",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ id: string; suggestion: PageEditorSuggestion }[]"
                }
              },
              "parameters": [
                {
                  "name": "dmsFile",
                  "type": {
                    "text": "DmsFile"
                  }
                }
              ],
              "description": "The AI suggestions keyed by the editor's page id, for injection after the editor is already open."
            },
            {
              "kind": "method",
              "name": "applySuggestionsToEditor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "dmsFile",
                  "type": {
                    "text": "DmsFile"
                  }
                }
              ],
              "description": "Pushes late-arriving AI suggestions into the already-mounted editor (it merges them by page id\nwithout discarding the user's edits). Awaits the render so the editor's working pages exist."
            },
            {
              "kind": "method",
              "name": "prepareFilesToBeSaved",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SaveFile[]"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "SessionFile"
                  }
                }
              ],
              "description": "Builds the split payload from the editor's current result: each document boundary starts a new\noutput file, deleted pages are dropped, and each page keeps its DMS identity and rotation."
            },
            {
              "kind": "method",
              "name": "afterSavedFilesSuccessful",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "resultFiles",
                  "type": {
                    "text": "{ resultFiles: SavedFile[] }"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSaveClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "performSave",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleUploadFinished",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "EdUploadFinishedEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFileEditorChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "EdEditEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "stopInternalEvent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSavingHide",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ],
              "description": "Keeps the \"creating file(s)\" dialog non-dismissible while the save is in flight — no close button,\nno Escape, no backdrop dismiss. It closes only programmatically once `saving` flips back to false\n(which is exactly when this guard stops preventing the hide)."
            },
            {
              "kind": "method",
              "name": "getHeaders",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ [key: string]: string }"
                }
              },
              "parameters": [
                {
                  "name": "contentType",
                  "optional": true,
                  "type": {
                    "text": "'json'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "close",
              "privacy": "public",
              "description": "closes the edScan dialog",
              "type": {
                "text": "close() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "privacy": "public",
              "description": "opens the edScan dialog",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleScanHide",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "EdHideEvent"
                  }
                }
              ],
              "description": "The main dialog has no close button — dismissing it (Escape) cancels the whole session, so we\nintercept the hide and ask for confirmation instead. Nested dialogs (zoom lightbox, cancel/save\ndialogs) sit higher on the dismissible stack and handle their own Escape, so this only fires for\nthe editor surface itself. The `e.target !== e.currentTarget` guard ignores `ed-hide` events that\nmight leak up from those nested dialogs (the event is `composed`). Programmatic closes set\n`closing` and pass straight through."
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "name": "ed-cancel",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when the user cancels the session: the whole session is discarded and all files are lost. `event.detail` is the list of files saved before cancelling (`{ filename, filesize }[]`).",
              "reactName": "onEdCancel",
              "eventName": "EdCancelEvent"
            },
            {
              "name": "ed-finish",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when the user saves and the session ends. `event.detail` is the list of created files, each `{ filename, filesize }`.",
              "reactName": "onEdFinish",
              "eventName": "EdFinishEvent"
            }
          ],
          "attributes": [
            {
              "name": "token",
              "description": "the ed-scan token for the current session. This token must be created by the product via the create-session endpoint",
              "fieldName": "edscanToken"
            },
            {
              "name": "base-url",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "the base url to the service - change this to switch between dev, staging or prod",
              "fieldName": "edscanBaseUrl"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "indicates if the dialog should show or not - the dialog can be opened by placing the attribute `open` on the component or by calling the method `show()`. To close the dialog you either have to remove the attribute or call the `close()` method. *Keep in mind that the close() method has some build-in logic you have to do on your own when just removing the attribute (for example removing the session).",
              "fieldName": "open"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "edScan widget: upload, split and edit scanned files with AI-assisted suggestions.",
          "jsDoc": "/**\n * @summary edScan widget: upload, split and edit scanned files with AI-assisted suggestions.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/widgets/ed-scan\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-alert-dialog\n * @dependency ed-button\n * @dependency ed-dialog\n * @dependency ed-header\n * @dependency ed-notification\n * @dependency ed-page-editor\n * @dependency ed-progress-ring\n * @dependency ed-upload\n *\n * @slot logo - An image (your logo) shown at the end of the dialog header.\n *\n * @event ed-cancel - Fired when the user cancels the session: the whole session is discarded and all\n *        files are lost. `event.detail` is the list of files saved before cancelling (`{ filename, filesize }[]`).\n * @event ed-finish - Fired when the user saves and the session ends. `event.detail` is the list of\n *        created files, each `{ filename, filesize }`.\n *\n * @figma https://www.figma.com/design/WuFJAJDrKjt5arPraVOPHj/DMS-Editor-Seiten?node-id=3452-14247&m=dev\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/widgets/ed-scan",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-alert-dialog",
            "ed-button",
            "ed-dialog",
            "ed-header",
            "ed-notification",
            "ed-page-editor",
            "ed-progress-ring",
            "ed-upload"
          ],
          "tagName": "ed-widget-ed-scan",
          "customElement": true,
          "modulePath": "widgets/ed-scan/ed-scan.js",
          "definitionPath": "widgets/ed-scan/ed-scan.js",
          "cssProperties": [],
          "cssParts": [],
          "cssStates": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdWidgetEdScan",
            "module": "widgets/ed-scan/ed-scan.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-widget-ed-scan",
          "declaration": {
            "name": "EdWidgetEdScan",
            "module": "widgets/ed-scan/ed-scan.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "widgets/news/news.types.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "widgets/news/news.helpers.js",
      "declarations": [
        {
          "kind": "function",
          "name": "getUnreadNewsCount",
          "return": {
            "type": {
              "text": "Promise<number>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "GetUnreadNewsCountOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "getTotalNewsCount",
          "return": {
            "type": {
              "text": "Promise<number>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "GetTotalNewsCountOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "fetchNews",
          "return": {
            "type": {
              "text": "Promise<FetchNewsResponse>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "FetchNewsOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "fetchNewsDetails",
          "return": {
            "type": {
              "text": "Promise<News>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "FetchNewsDetailsOptions"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "setSeen",
          "return": {
            "type": {
              "text": "Promise<void>"
            }
          },
          "parameters": [
            {
              "name": "options",
              "type": {
                "text": "SetSeenOptions"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "getUnreadNewsCount",
          "declaration": {
            "name": "getUnreadNewsCount",
            "module": "widgets/news/news.helpers.js"
          }
        },
        {
          "kind": "js",
          "name": "getTotalNewsCount",
          "declaration": {
            "name": "getTotalNewsCount",
            "module": "widgets/news/news.helpers.js"
          }
        },
        {
          "kind": "js",
          "name": "fetchNews",
          "declaration": {
            "name": "fetchNews",
            "module": "widgets/news/news.helpers.js"
          }
        },
        {
          "kind": "js",
          "name": "fetchNewsDetails",
          "declaration": {
            "name": "fetchNewsDetails",
            "module": "widgets/news/news.helpers.js"
          }
        },
        {
          "kind": "js",
          "name": "setSeen",
          "declaration": {
            "name": "setSeen",
            "module": "widgets/news/news.helpers.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "widgets/news/news.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "EdWidgetNews",
          "cssParts": [
            {
              "description": "The components base wrapper, an ed-dialog element",
              "name": "base"
            },
            {
              "description": "The components aside that holds the navigation on desktop; becomes a collapsible drawer on narrow widths",
              "name": "aside"
            },
            {
              "description": "The navigation wrapper",
              "name": "sidebar"
            },
            {
              "description": "The items inside the navigation wrapper",
              "name": "sidebar-entry"
            },
            {
              "description": "External button, that shows depending on the news object",
              "name": "external-button"
            },
            {
              "description": "The hamburger button that opens the navigation drawer on narrow widths",
              "name": "menu-toggle"
            },
            {
              "description": "The close button that closes the dialog",
              "name": "close-button"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "CSSResultGroup | undefined"
              },
              "static": true,
              "default": "[styles, textStyles, clusterStyles, flankStyles, stackStyles, gapStyles]",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is open. Toggle this attribute to show and hide the dialog. Open can never be initially be true since the session must be internally validated before allowing open to be true.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "The dialog's label as displayed in the header.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "baseUrl",
              "type": {
                "text": "string"
              },
              "description": "The base url for the news service",
              "attribute": "base-url"
            },
            {
              "kind": "field",
              "name": "session",
              "type": {
                "text": "string"
              },
              "description": "The session token for the news service",
              "attribute": "session"
            },
            {
              "kind": "field",
              "name": "mobileBreakpoint",
              "type": {
                "text": "string"
              },
              "default": "'768px'",
              "description": "At what widget width to collapse the sidebar into a hamburger-toggled drawer.\nAccepts both numbers (interpreted as px) and CSS lengths (e.g. `48em`), resolved against the root element.\nMatches the convention used by `ed-app`'s `mobile-breakpoint`.",
              "attribute": "mobile-breakpoint"
            },
            {
              "kind": "field",
              "name": "view",
              "type": {
                "text": "'mobile' | 'desktop'"
              },
              "default": "'desktop'",
              "description": "Reflects the current layout view based on the widget's own width. Driven by `mobile-breakpoint`.\nDefault `'desktop'` so SSR markup doesn't flash a mobile layout.",
              "attribute": "view",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "unreadNewsCount",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "news",
              "type": {
                "text": "News[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "sessionIsValid",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "selectedNewsIndex",
              "type": {
                "text": "number"
              },
              "default": "-1"
            },
            {
              "kind": "field",
              "name": "mobileMenuOpen",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "wrapper",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "isFetchingNews",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "openRequestedWhileValidating",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "True when `open` was set while the session was still validating — replayed on success."
            },
            {
              "kind": "field",
              "name": "timeoutIds",
              "type": {
                "text": "number[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "imageLoader",
              "type": {
                "text": "ImageLoader<Page>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "totalCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "-1"
            },
            {
              "kind": "field",
              "name": "observedWrapper",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "wrapperResizeObserver",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "initialize",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSessionChange",
              "type": {
                "text": "handleSessionChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleViewChange",
              "parameters": [
                {
                  "name": "oldView",
                  "optional": true,
                  "type": {
                    "text": "'mobile' | 'desktop'"
                  }
                }
              ],
              "type": {
                "text": "handleViewChange(oldView?: 'mobile' | 'desktop') => void"
              }
            },
            {
              "kind": "method",
              "name": "cleanUp",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "validate",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "fetchTotalNewsCount",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "fetchUnreadNewsCount",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "fetchNews",
              "privacy": "private",
              "parameters": [
                {
                  "name": "reset",
                  "default": "false"
                }
              ]
            },
            {
              "kind": "method",
              "name": "fetchNewsDetails",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getSidebarSectionHeader",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "News"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectSidebarEntry",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleIntersect",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "EdIntersectEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogShow",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "EdShowEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogAfterShow",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "EdAfterShowEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogHide",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "EdHideEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogAfterHide",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "EdAfterHideEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "stopDrawerLifecycle",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderSidebar",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#hasRecordedInitialProperties",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "initialReflectedProperties",
              "type": {
                "text": "Map<string, unknown>"
              },
              "default": "new Map()",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "type": {
                "text": "ElementInternals"
              },
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "dir",
              "type": {
                "text": "string"
              },
              "attribute": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "lang",
              "type": {
                "text": "string"
              },
              "attribute": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            },
            {
              "kind": "field",
              "name": "didSSR",
              "attribute": "did-ssr",
              "reflects": true,
              "inheritedFrom": {
                "name": "EdElement",
                "module": "internal/ed-element.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ remainingTime: number }"
              },
              "description": "The event fires 1 minute before the session actual expires.",
              "name": "ed-session-expiring",
              "reactName": "onEdSessionExpiring",
              "eventName": "EdSessionExpiringEvent"
            },
            {
              "type": {
                "text": "{ remainingTime: number, cause: 'expired' | 'invalid' | 'error' }"
              },
              "description": "Fires when the session can no longer be used. `event.detail.cause` says why: `'expired'` (the session was valid and its lifetime elapsed — re-authenticating is appropriate), `'invalid'` (the service rejected the token — HTTP 401/403 or no future `validTo`), or `'error'` (the validation request failed — network error, server error, malformed response). **Only re-authenticate on `'expired'`.** Requesting a new session on `'invalid'`/`'error'` and re-assigning `session` loops endlessly while the token stays bad or the service is down.",
              "name": "ed-session-expired",
              "reactName": "onEdSessionExpired",
              "eventName": "EdSessionExpiredEvent"
            },
            {
              "type": {
                "text": "{ count: number }"
              },
              "description": "This event fires when the total number of news items is determined and returns the exact number. It fires when the session changes (that also means initially). You can get the amount with `event.detail.count`. Use this to hide or disable your trigger button when the count is 0.",
              "name": "ed-news-count-changed",
              "reactName": "onEdNewsCountChanged",
              "eventName": "EdNewsCountChangedEvent"
            },
            {
              "type": {
                "text": "{ count: number }"
              },
              "description": "This event fires when the amount of unread news items for the user is changed and returns the exact number. The amount of unread news is calculated when the session changes (that also means initially), when the open attribute is set to true or when the user selects an unseen news object and thus reducing the count by one. You can get the amount with `event.detail.count`.",
              "name": "ed-unread-news-count-changed",
              "reactName": "onEdUnreadNewsCountChanged",
              "eventName": "EdUnreadNewsCountChangedEvent"
            },
            {
              "description": "Emitted when the news widget opens.",
              "name": "ed-show",
              "reactName": "onEdShow",
              "eventName": "EdShowEvent"
            },
            {
              "description": "Emitted after the news widget opens and its open animation completes.",
              "name": "ed-after-show",
              "reactName": "onEdAfterShow",
              "eventName": "EdAfterShowEvent"
            },
            {
              "description": "Emitted when the news widget is requested to close (close button, [[Escape]], light-dismiss or setting `open` to `false`). Calling `event.preventDefault()` keeps it open.",
              "name": "ed-hide",
              "reactName": "onEdHide",
              "eventName": "EdHideEvent"
            },
            {
              "description": "Emitted after the news widget closes and its close animation completes.",
              "name": "ed-after-hide",
              "reactName": "onEdAfterHide",
              "eventName": "EdAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dialog is open. Toggle this attribute to show and hide the dialog. Open can never be initially be true since the session must be internally validated before allowing open to be true.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "The dialog's label as displayed in the header.",
              "fieldName": "label"
            },
            {
              "name": "base-url",
              "type": {
                "text": "string"
              },
              "description": "The base url for the news service",
              "fieldName": "baseUrl"
            },
            {
              "name": "session",
              "type": {
                "text": "string"
              },
              "description": "The session token for the news service",
              "fieldName": "session"
            },
            {
              "name": "mobile-breakpoint",
              "type": {
                "text": "string"
              },
              "default": "'768px'",
              "description": "At what widget width to collapse the sidebar into a hamburger-toggled drawer.\nAccepts both numbers (interpreted as px) and CSS lengths (e.g. `48em`), resolved against the root element.\nMatches the convention used by `ed-app`'s `mobile-breakpoint`.",
              "fieldName": "mobileBreakpoint"
            },
            {
              "name": "view",
              "type": {
                "text": "'mobile' | 'desktop'"
              },
              "default": "'desktop'",
              "description": "Reflects the current layout view based on the widget's own width. Driven by `mobile-breakpoint`.\nDefault `'desktop'` so SSR markup doesn't flash a mobile layout.",
              "fieldName": "view"
            },
            {
              "name": "dir",
              "type": {
                "text": "string"
              },
              "fieldName": "dir",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "lang",
              "type": {
                "text": "string"
              },
              "fieldName": "lang",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            },
            {
              "name": "did-ssr",
              "fieldName": "didSSR",
              "inheritedFrom": {
                "name": "EdElement",
                "module": "src/internal/ed-element.ts"
              }
            }
          ],
          "superclass": {
            "name": "EdElement",
            "module": "/src/internal/ed-element.js"
          },
          "summary": "News widget to display release news or useful information to the user.",
          "jsDoc": "/**\n * @summary News widget to display release news or useful information to the user.\n * @documentation https://test-apps.eurodata.de/a/eurodata-ui/docs/widgets/news\n * @status ready-for-testing\n * @since 1.0\n * @playwright getByTestId('…')\n *\n * @dependency ed-button\n * @dependency ed-icon\n * @dependency ed-dialog\n * @dependency ed-drawer\n * @dependency ed-carousel\n * @dependency ed-intersection-observer\n * @dependency ed-badge\n * @dependency ed-divider\n *\n *\n * @event {{ remainingTime: number }} ed-session-expiring - The event fires 1 minute before the session actual expires.\n * @event {{ remainingTime: number, cause: 'expired' | 'invalid' | 'error' }} ed-session-expired - Fires when the session can no longer be used. `event.detail.cause` says why: `'expired'` (the session was valid and its lifetime elapsed — re-authenticating is appropriate), `'invalid'` (the service rejected the token — HTTP 401/403 or no future `validTo`), or `'error'` (the validation request failed — network error, server error, malformed response). **Only re-authenticate on `'expired'`.** Requesting a new session on `'invalid'`/`'error'` and re-assigning `session` loops endlessly while the token stays bad or the service is down.\n * @event {{ count: number }} ed-news-count-changed - This event fires when the total number of news items is determined and returns the exact number. It fires when the session changes (that also means initially). You can get the amount with `event.detail.count`. Use this to hide or disable your trigger button when the count is 0.\n * @event {{ count: number }} ed-unread-news-count-changed - This event fires when the amount of unread news items for the user is changed and returns the exact number. The amount of unread news is calculated when the session changes (that also means initially), when the open attribute is set to true or when the user selects an unseen news object and thus reducing the count by one. You can get the amount with `event.detail.count`.\n * @event ed-show - Emitted when the news widget opens.\n * @event ed-after-show - Emitted after the news widget opens and its open animation completes.\n * @event ed-hide - Emitted when the news widget is requested to close (close button, [[Escape]], light-dismiss or setting `open` to `false`). Calling `event.preventDefault()` keeps it open.\n * @event ed-after-hide - Emitted after the news widget closes and its close animation completes.\n *\n * @csspart base - The components base wrapper, an ed-dialog element\n * @csspart aside - The components aside that holds the navigation on desktop; becomes a collapsible drawer on narrow widths\n * @csspart sidebar - The navigation wrapper\n * @csspart sidebar-entry - The items inside the navigation wrapper\n * @csspart external-button - External button, that shows depending on the news object\n * @csspart menu-toggle - The hamburger button that opens the navigation drawer on narrow widths\n * @csspart close-button - The close button that closes the dialog\n\n */",
          "documentation": "https://test-apps.eurodata.de/a/eurodata-ui/docs/widgets/news",
          "status": "ready-for-testing",
          "since": "1.0",
          "playwright": "getByTestId('…')",
          "dependencies": [
            "ed-button",
            "ed-icon",
            "ed-dialog",
            "ed-drawer",
            "ed-carousel",
            "ed-intersection-observer",
            "ed-badge",
            "ed-divider"
          ],
          "tagName": "ed-widget-news",
          "customElement": true,
          "modulePath": "widgets/news/news.js",
          "definitionPath": "widgets/news/news.js",
          "cssProperties": [],
          "cssStates": [],
          "slots": []
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "EdWidgetNews",
            "module": "widgets/news/news.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "ed-widget-news",
          "declaration": {
            "name": "EdWidgetNews",
            "module": "widgets/news/news.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/segments/index.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "SegmentController",
          "declaration": {
            "name": "SegmentController",
            "module": "segment-controller.js"
          }
        },
        {
          "kind": "js",
          "name": "SegmentControllerHost",
          "declaration": {
            "name": "SegmentControllerHost",
            "module": "segment-controller.js"
          }
        },
        {
          "kind": "js",
          "name": "EnumeratedSegmentMeta",
          "declaration": {
            "name": "EnumeratedSegmentMeta",
            "module": "segment-types.js"
          }
        },
        {
          "kind": "js",
          "name": "NumericSegmentMeta",
          "declaration": {
            "name": "NumericSegmentMeta",
            "module": "segment-types.js"
          }
        },
        {
          "kind": "js",
          "name": "SegmentAdapter",
          "declaration": {
            "name": "SegmentAdapter",
            "module": "segment-types.js"
          }
        },
        {
          "kind": "js",
          "name": "SegmentMeta",
          "declaration": {
            "name": "SegmentMeta",
            "module": "segment-types.js"
          }
        },
        {
          "kind": "js",
          "name": "SegmentState",
          "declaration": {
            "name": "SegmentState",
            "module": "segment-types.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/test/data-testid-helpers.js",
      "declarations": [
        {
          "kind": "function",
          "name": "queryByTestId",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "container",
              "type": {
                "text": "HTMLElement"
              },
              "description": "A parent element of the DOM element to find"
            },
            {
              "name": "testId",
              "type": {
                "text": "string"
              },
              "description": "The value of the `data-testid` attribute of the component to find."
            }
          ],
          "description": "Allows you to find a DOM element based on the value of its `data-testid` attribute.\nThis attribute can be used to decouple identifying dom elements for testing from\nstyling (which is typically done via class selectors) or other ids which serve\ndifferent purposes.\nSee also https://kentcdodds.com/blog/making-your-ui-tests-resilient-to-change\nInspired by https://testing-library.com/docs/queries/bytestid/"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "queryByTestId",
          "declaration": {
            "name": "queryByTestId",
            "module": "internal/test/data-testid-helpers.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/test/element-visible-overflow.js",
      "declarations": [
        {
          "kind": "function",
          "name": "isElementVisibleFromOverflow",
          "return": {
            "type": {
              "text": "Boolean"
            }
          },
          "parameters": [
            {
              "name": "outerElement",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The parent element"
            },
            {
              "name": "innerElement",
              "type": {
                "text": "HTMLElement"
              },
              "description": "the child element"
            }
          ],
          "description": "Given a parent element featuring `overflow: hidden` and a child element inside the parent, this\nfunction determines whether the child will be visible taking only the overflow of the parent into account\nId does NOT check whether it is hidden or overlapped by another element\nIt basically checks whether the bounding rects of the parent and the child overlap"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isElementVisibleFromOverflow",
          "declaration": {
            "name": "isElementVisibleFromOverflow",
            "module": "internal/test/element-visible-overflow.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/test/expect-event.js",
      "declarations": [
        {
          "kind": "function",
          "name": "expectEvent",
          "return": {
            "type": {
              "text": "Promise<Event[]>"
            }
          },
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            },
            {
              "name": "events",
              "type": {
                "text": "string | string[]"
              }
            },
            {
              "name": "action",
              "type": {
                "text": "() => void | Promise<void>"
              }
            },
            {
              "name": "options",
              "default": "{}",
              "type": {
                "text": "{ timeout?: number; count?: number }"
              }
            }
          ],
          "description": "Verifies that the specified events fire on an element during an action.\n\nUsage:\n  await expectEvent(el, ['input', 'ed-input'], () => clickOnElement(el));\n  const events = await expectEvent(el, 'change', () => el.click());\n\nOptions:\n  - timeout: max ms to wait for events (default 1000)\n  - count: expected number of times each event fires (default 1)"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "expectEvent",
          "declaration": {
            "name": "expectEvent",
            "module": "internal/test/expect-event.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/test/fixture.js",
      "declarations": [
        {
          "kind": "function",
          "name": "clientFixture",
          "parameters": [
            {
              "name": "template",
              "type": {
                "text": "TemplateResult | string"
              }
            }
          ],
          "description": "Loads up a fixture and loads all client components"
        },
        {
          "kind": "function",
          "name": "hydratedFixture",
          "parameters": [
            {
              "name": "template",
              "type": {
                "text": "TemplateResult"
              }
            }
          ],
          "description": "Loads up a fixture with SSR, using all unbundled modules, then when it finishes, calls hydration scripts, and then when hydration completes, returns the element."
        },
        {
          "kind": "variable",
          "name": "fixtures"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "clientFixture",
          "declaration": {
            "name": "clientFixture",
            "module": "internal/test/fixture.js"
          }
        },
        {
          "kind": "js",
          "name": "hydratedFixture",
          "declaration": {
            "name": "hydratedFixture",
            "module": "internal/test/fixture.js"
          }
        },
        {
          "kind": "js",
          "name": "fixtures",
          "declaration": {
            "name": "fixtures",
            "module": "internal/test/fixture.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/test/pointer-utilities.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "isSafari"
        },
        {
          "kind": "function",
          "name": "clickOnElement",
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            },
            {
              "name": "position",
              "default": "'center'",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left' | 'center'"
              }
            },
            {
              "name": "offsetX",
              "default": "0"
            },
            {
              "name": "offsetY",
              "default": "0"
            }
          ],
          "description": "A testing utility that measures an element's position and clicks on it."
        },
        {
          "kind": "function",
          "name": "moveMouseOnElement",
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            },
            {
              "name": "position",
              "default": "'center'",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left' | 'center'"
              }
            },
            {
              "name": "offsetX",
              "default": "0"
            },
            {
              "name": "offsetY",
              "default": "0"
            }
          ],
          "description": "A testing utility that moves the mouse onto an element."
        },
        {
          "kind": "function",
          "name": "dragElement",
          "return": {
            "type": {
              "text": "Promise<void>"
            }
          },
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            },
            {
              "name": "deltaX",
              "default": "0"
            },
            {
              "name": "deltaY",
              "default": "0"
            },
            {
              "name": "callbacks",
              "default": "{}",
              "type": {
                "text": "{\n    afterMouseDown?: () => void | Promise<void>;\n    afterMouseMove?: () => void | Promise<void>;\n  }"
              }
            }
          ],
          "description": "A testing utility that drags an element with the mouse."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isSafari",
          "declaration": {
            "name": "isSafari",
            "module": "internal/test/pointer-utilities.js"
          }
        },
        {
          "kind": "js",
          "name": "clickOnElement",
          "declaration": {
            "name": "clickOnElement",
            "module": "internal/test/pointer-utilities.js"
          }
        },
        {
          "kind": "js",
          "name": "moveMouseOnElement",
          "declaration": {
            "name": "moveMouseOnElement",
            "module": "internal/test/pointer-utilities.js"
          }
        },
        {
          "kind": "js",
          "name": "dragElement",
          "declaration": {
            "name": "dragElement",
            "module": "internal/test/pointer-utilities.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/test/form-control-base-tests.js",
      "declarations": [
        {
          "kind": "function",
          "name": "runFormControlBaseTests",
          "parameters": [
            {
              "name": "tagNameOrConfig",
              "type": {
                "text": "| string\n    | {\n        tagName: string;\n        init?: (control: T) => void;\n        variantName: string;\n      }"
              }
            }
          ],
          "description": "Runs a set of generic tests for Eurodata-UI form controls"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "runFormControlBaseTests",
          "declaration": {
            "name": "runFormControlBaseTests",
            "module": "internal/test/form-control-base-tests.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/test/icon-size-tests.js",
      "declarations": [
        {
          "kind": "function",
          "name": "runIconSizeTests",
          "parameters": [
            {
              "name": "tagName",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "config",
              "default": "{}",
              "type": {
                "text": "IconSizeTestConfig"
              }
            }
          ],
          "description": "Shared icon sizing tests. Verifies that ed-icon elements inside a component\ncompute to the expected \"one step larger\" size (16px in 13px / font-size-m context).\n\nAll tests run inside a 13px container to ensure a consistent baseline,\nregardless of whether the component sets its own font-size."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "runIconSizeTests",
          "declaration": {
            "name": "runIconSizeTests",
            "module": "internal/test/icon-size-tests.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/test/wait-for-scrolling.js",
      "declarations": [
        {
          "kind": "function",
          "name": "waitForScrollingToEnd",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The element which is scrolled"
            },
            {
              "name": "timeoutInMs",
              "default": "500",
              "description": "A timeout in ms. If the timeout has elapsed, the promise rejects",
              "type": {
                "text": "numeric"
              }
            }
          ],
          "description": "Wait until an element has stopped scrolling\nThis considers the element to have stopped scrolling, as soon as it did not change its\nscroll position for 20 successive animation frames"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "waitForScrollingToEnd",
          "declaration": {
            "name": "waitForScrollingToEnd",
            "module": "internal/test/wait-for-scrolling.js"
          }
        }
      ]
    }
  ],
  "package": {
    "name": "@eurodata/eurodata-ui",
    "description": "Eurodata library of web components.",
    "version": "0.20.2",
    "author": "Philipp Kimmlinger",
    "license": "MIT"
  }
}
