+ `;
+ }
+ setVisible(visible) {
+ this._visible = visible;
+ this.requestUpdate();
+ }
+ setIndicator(pageNum, pageCount) {
+ this._currentPage = pageNum;
+ this._pageCount = pageCount;
+ this.requestUpdate();
+ }
+ reset() {
+ this._currentPage = 1;
+ this._pageCount = 1;
+ this._visible = false;
+ this.requestUpdate();
+ }
+ _onInputKeydown = (e) => {
+ if (e.key === "Enter") {
+ e.preventDefault();
+ this._commitInput();
+ e.target.blur();
+ } else if (e.key === "Escape") {
+ e.preventDefault();
+ this._resetInput();
+ e.target.blur();
+ }
+ };
+ _onInputBlur = () => this._resetInput();
+ _resetInput() {
+ const input = this._inputRef.value;
+ if (input) input.value = String(this._currentPage);
+ }
+ _commitInput() {
+ const input = this._inputRef.value;
+ if (!input) return;
+ const n = Number.parseInt(input.value.trim(), 10);
+ if (!Number.isFinite(n)) {
+ this._resetInput();
+ return;
+ }
+ const page = Math.min(Math.max(1, n), this._pageCount);
+ this.dispatchEvent(new CustomEvent("doclang-go-to-page", {
+ bubbles: true,
+ composed: true,
+ detail: { page }
+ }));
+ }
+ };
+ DoclangPageNav = __decorate([t$2("doclang-page-nav")], DoclangPageNav);
+ //#endregion
+ //#region src/components/toolbar/toolbar.css?inline
+ var toolbar_default = ":host {\n display: contents;\n}\n.toolbar {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n flex-wrap: wrap;\n grid-column: 3;\n justify-self: end;\n}\n.header-divider {\n flex-shrink: 0;\n align-self: center;\n width: 1px;\n height: 1.125rem;\n background: var(--border);\n}\n.toolbar-options-wrap {\n position: relative;\n}\n/* Menu/control triggers */\n.toolbar-options-btn {\n appearance: none;\n border: 1px solid transparent;\n background: transparent;\n color: var(--muted);\n font-weight: 500;\n cursor: pointer;\n white-space: nowrap;\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n transition:\n color 0.12s ease,\n background 0.12s ease,\n border-color 0.12s ease;\n border-radius: 0.375rem;\n padding: 0.35rem 0.45rem 0.35rem 0.55rem;\n font-size: 0.8125rem;\n line-height: 1.2;\n font: inherit;\n}\n.toolbar-options-btn::after {\n content: '';\n flex-shrink: 0;\n width: 0.32rem;\n height: 0.32rem;\n margin-left: 0.3rem;\n margin-top: -0.14em;\n border-right: 1.5px solid currentColor;\n border-bottom: 1.5px solid currentColor;\n transform: rotate(45deg);\n opacity: 0.65;\n}\n.toolbar-options-btn:hover {\n color: var(--text);\n background: color-mix(in srgb, var(--text) 5%, transparent);\n}\n.toolbar-options-btn[aria-expanded='true'] {\n color: var(--accent);\n background: color-mix(in srgb, var(--accent) 10%, var(--panel));\n border-color: color-mix(in srgb, var(--accent) 22%, transparent);\n}\n.toolbar-options-btn:focus-visible {\n outline: 2px solid var(--accent);\n outline-offset: 2px;\n}\n.toolbar-options-panel {\n position: absolute;\n top: calc(100% + 0.35rem);\n right: 0;\n z-index: 30;\n min-width: 11rem;\n padding: 0.5rem 0;\n border: 1px solid var(--border);\n border-radius: 0.375rem;\n background: var(--panel);\n box-shadow: 0 0.5rem 1.25rem color-mix(in srgb, var(--text) 12%, transparent);\n}\n.toolbar-options-panel[hidden] {\n display: none;\n}\n.toolbar-options-item {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.35rem 0.75rem;\n font-size: 0.875rem;\n cursor: pointer;\n font-family: var(--font-ui);\n}\n.toolbar-options-item:hover {\n background: color-mix(in srgb, var(--accent) 6%, var(--panel));\n}\n.toolbar-options-item input {\n margin: 0;\n flex-shrink: 0;\n cursor: pointer;\n}\n.toolbar-options-item-disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n.toolbar-options-item-disabled input {\n cursor: not-allowed;\n}\n.toolbar-options-divider {\n margin: 0.35rem 0;\n border-top: 1px solid var(--border);\n}\n.toolbar-options-reset {\n display: block;\n width: 100%;\n box-sizing: border-box;\n margin: 0;\n padding: 0.35rem 0.75rem;\n border: 0;\n border-radius: 0;\n background: transparent;\n color: var(--text);\n font: inherit;\n font-size: 0.875rem;\n text-align: left;\n cursor: pointer;\n}\n.toolbar-options-reset:hover:not(:disabled) {\n background: color-mix(in srgb, var(--accent) 6%, var(--panel));\n color: var(--accent);\n}\n.toolbar-options-reset:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\n.toolbar-file-group {\n display: inline-flex;\n align-items: center;\n}\nbutton,\nlabel.file-btn {\n appearance: none;\n border: 1px solid var(--border);\n background: var(--panel);\n color: var(--text);\n border-radius: 0.375rem;\n padding: 0.4rem 0.75rem;\n font: inherit;\n font-size: 0.875rem;\n cursor: pointer;\n}\nbutton:hover,\nlabel.file-btn:hover {\n border-color: var(--accent);\n}\nbutton:disabled {\n opacity: 0.45;\n cursor: not-allowed;\n}\nlabel.file-btn input {\n display: none;\n}\n.header-site-link {\n color: var(--muted);\n font-size: 0.875rem;\n text-decoration: none;\n white-space: nowrap;\n}\n.header-site-link:hover {\n color: var(--accent);\n text-decoration: underline;\n}\n.header-site-link:focus-visible {\n outline: 2px solid var(--accent);\n outline-offset: 2px;\n border-radius: 0.125rem;\n}\n";
+ //#endregion
+ //#region src/components/toolbar/toolbar.ts
+ /**