diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 2d773b0f..91df3e6b 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -36,11 +36,6 @@ jobs:
- name: Create artifacts/ folder
run: mkdir artifacts
- - name: Build Legacy Pytorch theme
- run: |
- tox run -e pytorch
- tar -zcvf pytorch_html_docs.tar.gz example_docs/docs/_pytorch_build
- mv pytorch_html_docs.tar.gz artifacts/.
- name: Build Qiskit (Furo) theme
run: |
tox run -e qiskit
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index a344ecb7..6b7a75c6 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -19,7 +19,6 @@ There are a few important subfolders to be aware of:
This subfolder contains the HTML, CSS, and Python files that are used for the Qiskit themes. It has these folders:
* `assets`: CSS and JavaScript for the `qiskit` theme.
-* `pytorch`: all the code for the legacy Pytorch theme (`qiskit_sphinx_theme`).
* `ecosystem`: the code for the `qiskit-ecosystem` theme, which is built on top of the base `qiskit` theme. This folder only has overrides.
* `theme`: static files, like HTML templates, for the `qiskit` theme.
@@ -28,7 +27,7 @@ The top-level Python files are used for logic used by the theme, such as `transl
### `/example_docs`
This subfolder contains a scaled down version of the Sphinx build that builds the documentation for the Qiskit repos.
-It pulls styles from the `/src` subfolder. You can check any changes you are making to theme by building the documentation (see running locally section) and opening the HTML files generated in `example_docs/docs/_qiskit_build`, `example_docs/docs/_ecosystem_build`, and `example_docs/docs/_pytorch_build`.
+It pulls styles from the `/src` subfolder. You can check any changes you are making to theme by building the documentation (see running locally section) and opening the HTML files generated in `example_docs/docs/_qiskit_build` and `example_docs/docs/_ecosystem_build`.
### `/docs_guide`
This subfolder contains guidance on how to write documentation and build sphinx projects for Qiskit and Qiskit Ecosystem projects. You can view the fully rendered docs guide at https://qisk.it/docs-guide
@@ -45,9 +44,6 @@ We use [Tox](https://tox.wiki/en/latest/), which you will need to install global
* Build `example_docs/` with the `qiskit-ecosystem` theme:
1. `tox -e ecosystem`
2. Open up `example_docs/docs/_ecosystem_build/index.html` in your browser
-* Build `example_docs/` with the legacy Pytorch theme:
- 1. `tox -e pytorch`
- 2. Open up `example_docs/docs/_pytorch_build/index.html` in your browser
* Build `docs_guide`:
1. `tox -e docs-guide`
2. Open up `docs_guide/_build/html/index.html` in your browser.
@@ -115,15 +111,13 @@ We use web components from https://github.com/Qiskit/web-components to include c
To update the top nav bar web component:
1. In https://github.com/Qiskit/web-components, run `npm install` then `npm run build`.
-2. There should be a file created at the root of the web components repository called `experimental-bundled-ui-shell.js`. Copy its contents into these files in this theme repository:
- 1. `src/qiskit_sphinx_theme/pytorch/static/js/web-components/top-nav-bar.js`
- 2. `src/qiskit_sphinx_theme/theme/qiskit-sphinx-theme/static/js/web-components/top-nav-bar.js`
-3. Build the example docs with `tox -e qiskit` and `tox -e pytorch` to ensure everything works.
+2. There should be a file created at the root of the web components repository called `experimental-bundled-ui-shell.js`. Copy its contents into `src/qiskit_sphinx_theme/theme/qiskit-sphinx-theme/static/js/web-components/top-nav-bar.js`
+3. Build the example docs with `tox -e qiskit` to ensure everything works.
If you want to add a new web component:
1. Work with the web components repository's team to set up `npm run build` to generate a single JavaScript file.
-2. Add the file contents to the `src/qiskit_sphinx_theme/theme/qiskit-sphinx-theme/static/js/web-components/` folder in this theme repository. (We shouldn't add web components to Pytorch.)
+2. Add the file contents to the `src/qiskit_sphinx_theme/theme/qiskit-sphinx-theme/static/js/web-components/` folder in this theme repository.
3. Load the web component in `extra_head.html` with a line like ``.
4. Use the web component element in the relevant HTML, e.g. `` in `layout.html`. Remember to surround the change with a `QISKIT CHANGE:` comment.
5. Build the example docs with `tox -e qiskit` to ensure everything works.
diff --git a/README.md b/README.md
index b5fe63c0..1d90e32f 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
# qiskit-sphinx-theme
-The Sphinx themes for Qiskit and Qiskit Ecosystem documentation.
+The Sphinx theme for Qiskit Ecosystem documentation.
### Warning: new theme migration
-In qiskit-sphinx-theme 1.13, we added the new `qiskit` theme, which migrates from Pytorch to Furo for several improvements. qiskit-sphinx-theme 1.14 added the `qiskit-ecosystem` theme. The old Pytorch theme will be removed in qiskit-sphinx-theme 2.0, which we expect to release in July or August 2023.
+In qiskit-sphinx-theme 1.14, we replaced the old `qiskit_sphinx_theme` based on Pytorch with the new `qiskit-ecosystem` theme based on Furo. The old theme was removed in qiskit-sphinx-theme 2.0.
-See the section [Migrate from old Pytorch theme to new theme](#migrate-from-old-pytorch-theme-to-new-theme) for migration instructions.
+See [Migrate from old Pytorch theme to new theme](https://github.com/Qiskit/qiskit_sphinx_theme/blob/1.16/README.md#migrate-from-old-pytorch-theme-to-new-theme) for migration instructions.
## Overview
@@ -205,49 +205,6 @@ html_theme_options = {
}
```
-## Migrate from old Pytorch theme to new theme
-
-In qiskit-sphinx-theme 1.13, we migrated to a new Sphinx theme called `qiskit`, which is based on Furo from the pip, Black, and attrs documentation. See https://github.com/Qiskit/qiskit_sphinx_theme/issues/232 for the motivation. qiskit-sphinx-theme 1.14 added the `qiskit-ecosystem` theme for Ecosystem projects.
-
-qiskit-sphinx-theme 1.13+ continues to support the legacy Pytorch theme, but support will be removed in version 2.0.
-
-To migrate, in `conf.py`:
-
-1. Ensure that `"qiskit_sphinx_theme"` is in the `extensions` list.
-2. Set `html_theme = "qiskit-ecosystem"` rather than `"qiskit_sphinx_theme"`. (`qiskit` should only be used by Qiskit Terra.)
-3. Remove all `html_theme_options`.
-4. Remove `expandable_sidebar` from `html_context`, if set. If it was set, follow the below section [How to migrate expandable_sidebar](#how-to-migrate-expandable_sidebar).
-
-Render the docs and check that everything looks how expected. If not, please open a GitHub issue or reach out on Slack for help.
-
-### How to migrate expandable_sidebar
-
-With the old theme, to have expandable folders, you had to have a dedicated `.. toctree ::` directive with a `:caption:` option, like this:
-
-```rst
-.. toctree::
- :caption: My Folder
- :hidden:
-
- Page 1
- Page 2
-```
-
-Instead, the new theme will render the `:caption:` as a top-level section header in the left sidebar, with top-level entries for each page. See the screenshot in the PR description of https://github.com/Qiskit/qiskit_sphinx_theme/pull/384 for an example of how the old theme renders `:caption:` and compare to [the new theme](tests/js/qiskit.test.js-snapshots/left-side-bar-renders-correctly-1-linux.png).
-
-Additionally, the new theme renders pages with their own subpages as expandable folders, unlike the old theme. [For example](tests/js/qiskit.test.js-snapshots/left-side-bar-renders-correctly-1-linux.png), `` will include all subpages that are listed in the `.. toctree ::` of the page `apidocs/index.rst`.
-
-So, when migrating, you have to decide which behavior you want:
-
-- Use the new theme's style. No changes necessary.
-- Use the new theme's style, but get rid of the top level section header. To implement:
- 1. Consolidate the `.. toctree ::` directive with earlier ones so that they are all in the same `toctree`.
-- Keep the `:caption:` as an expandable folder, rather than a top-level section header. To implement:
- 1. Create a new directory and RST file like `my_folder/index.rst`.
- 2. Move the `.. toctree::` directive to that page.
- 3. Get rid of the `:caption:` option.
- 4. Link to the new file `my_folder/index.rst` in the parent `index.rst` by adding it to a `.. toctree ::` in the parent.
-
## Tip: suggested site structure
To keep UX/UI similar across different Qiskit packages, we encourage the following structure for you sidebar, which can be set in the toctree of your `index.rst`:
diff --git a/example_docs/docs/conf.py b/example_docs/docs/conf.py
index e9d59c95..91f6b104 100644
--- a/example_docs/docs/conf.py
+++ b/example_docs/docs/conf.py
@@ -59,20 +59,12 @@
# for interpolation, i.e. Sphinx doesn't have built-in interpolation.
html_title = f"{project} {release}"
-# This allows us to test both the Furo and Pytorch themes. In normal repositories, `html_theme`
+# This allows us to test both the Qiskit and Qiskit Ecosystem themes. In normal repositories, `html_theme`
# would be set to one specific theme.
_THEME = os.getenv("THEME", "qiskit")
html_theme = _THEME
-if _THEME == "qiskit_sphinx_theme":
- html_theme_options = {
- "logo_only": True,
- "display_version": True,
- "prev_next_buttons_location": "bottom",
- }
- # Sets a better style for code syntax highlighting.
- pygments_style = "colorful"
-elif _THEME == "qiskit-ecosystem":
+if _THEME == "qiskit-ecosystem":
# This tests out that ecosystem projects can change the color scheme.
# Only specific IBM projects should set this! Most Ecosystem projects
# should use the default of purple.
diff --git a/pyproject.toml b/pyproject.toml
index bc97b7c8..4b1a1fc9 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -27,15 +27,12 @@ dependencies = [
"docutils",
# Keep in sync with Furo's constraint.
"sphinx>=6.0",
- # Remove jQuery once we get rid of the Pytorch theme.
- "sphinxcontrib-jquery",
# See CONTRIBUTING.md for how to upgrade Furo.
"furo==2023.8.19",
]
[project.entry-points."sphinx.html_themes"]
qiskit = "qiskit_sphinx_theme"
-qiskit_sphinx_theme = "qiskit_sphinx_theme"
qiskit-ecosystem = "qiskit_sphinx_theme"
[project.urls]
diff --git a/src/qiskit_sphinx_theme/__init__.py b/src/qiskit_sphinx_theme/__init__.py
index 59ccc261..6c58742d 100644
--- a/src/qiskit_sphinx_theme/__init__.py
+++ b/src/qiskit_sphinx_theme/__init__.py
@@ -68,8 +68,6 @@ def remove_thebe_if_not_needed(
def activate_furo(app: sphinx.application.Sphinx, config: sphinx.config.Config) -> None:
- if config.html_theme == "qiskit_sphinx_theme":
- return
# We set a low priority so that our Qiskit CSS file overrides Furo.
app.add_css_file("styles/furo.css", 100)
app.add_js_file("scripts/qiskit-sphinx-theme.js")
@@ -92,11 +90,6 @@ def setup(app: sphinx.application.Sphinx) -> dict[str, bool]:
# Used to generate URL references. Expected to be e.g. `ecosystem/finance`.
app.add_config_value("docs_url_prefix", default=None, rebuild="html", types=[str])
- # Sphinx 6 stopped including jQuery by default. Our Pytorch theme depend on jQuery,
- # so activate it for our users automatically. Unfortunately, we can't make this activation
- # conditional based on which theme is chosen.
- app.setup_extension("sphinxcontrib.jquery")
-
# We always activate these plugins, but they are only used when users:
# * use the directives in their RST,
# * set `translations_list` in conf.py, or
@@ -105,7 +98,6 @@ def setup(app: sphinx.application.Sphinx) -> dict[str, bool]:
previous_releases.setup(app)
translations.setup(app)
- app.add_html_theme("qiskit_sphinx_theme", _get_theme_absolute_path("pytorch"))
app.add_html_theme("qiskit", _get_theme_absolute_path("theme/qiskit-sphinx-theme"))
app.add_html_theme("qiskit-ecosystem", _get_theme_absolute_path("ecosystem"))
diff --git a/src/qiskit_sphinx_theme/pytorch/breadcrumbs.html b/src/qiskit_sphinx_theme/pytorch/breadcrumbs.html
deleted file mode 100644
index 6bd4240a..00000000
--- a/src/qiskit_sphinx_theme/pytorch/breadcrumbs.html
+++ /dev/null
@@ -1,31 +0,0 @@
-{#-
- This code is a Qiskit project
-
- (C) Copyright IBM 2023.
-
- This code is licensed under the Apache License, Version 2.0. You may
- obtain a copy of this license in the LICENSE.txt file in the root directory
- of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
-
- Any modifications or derivative works of this code must retain this
- copyright notice, and modified files need to carry a notice indicating
- that they have been altered from the originals.
--#}
-
-
diff --git a/src/qiskit_sphinx_theme/pytorch/footer.html b/src/qiskit_sphinx_theme/pytorch/footer.html
deleted file mode 100644
index a6516830..00000000
--- a/src/qiskit_sphinx_theme/pytorch/footer.html
+++ /dev/null
@@ -1,78 +0,0 @@
-{#-
- This code is a Qiskit project.
-
- (C) Copyright IBM 2023.
-
- This code is licensed under the Apache License, Version 2.0. You may
- obtain a copy of this license in the LICENSE.txt file in the root directory
- of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
-
- Any modifications or derivative works of this code must retain this
- copyright notice, and modified files need to carry a notice indicating
- that they have been altered from the originals.
--#}
-
-
-
-
-
diff --git a/src/qiskit_sphinx_theme/pytorch/languages.html b/src/qiskit_sphinx_theme/pytorch/languages.html
deleted file mode 100644
index de893350..00000000
--- a/src/qiskit_sphinx_theme/pytorch/languages.html
+++ /dev/null
@@ -1,40 +0,0 @@
-{#-
- This code is a Qiskit project.
-
- (C) Copyright IBM 2023.
-
- This code is licensed under the Apache License, Version 2.0. You may
- obtain a copy of this license in the LICENSE.txt file in the root directory
- of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
-
- Any modifications or derivative works of this code must retain this
- copyright notice, and modified files need to carry a notice indicating
- that they have been altered from the originals.
--#}
-
-{% if translations_list %}
-
-{% endif %}
diff --git a/src/qiskit_sphinx_theme/pytorch/layout.html b/src/qiskit_sphinx_theme/pytorch/layout.html
deleted file mode 100644
index 8aa0b33d..00000000
--- a/src/qiskit_sphinx_theme/pytorch/layout.html
+++ /dev/null
@@ -1,206 +0,0 @@
-{#-
- This code is a Qiskit project.
-
- (C) Copyright IBM 2023.
-
- This code is licensed under the Apache License, Version 2.0. You may
- obtain a copy of this license in the LICENSE.txt file in the root directory
- of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
-
- Any modifications or derivative works of this code must retain this
- copyright notice, and modified files need to carry a notice indicating
- that they have been altered from the originals.
--#}
-
-{# Sphinx template variable setup #}
-{%- if not embedded and docstitle %}
- {%- set titlesuffix = " — "|safe + docstitle|e %}
-{%- else %}
- {%- set titlesuffix = "" %}
-{%- endif %}
-{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) -%}
-
-
-
-
-
-
- {{ metatags }}
- {%- block htmltitle %}
- {{ title|striptags|e }}{{ titlesuffix }}
- {%- endblock %}
- {%- if favicon_url %}
-
- {%- endif %}
-
- {#- CSS #}
- {%- for css in css_files %}
- {%- if css|attr("rel") %}
-
- {%- else %}
-
- {%- endif %}
- {%- endfor %}
- {%- for cssfile in extra_css_files %}
-
- {%- endfor -%}
-
-
-
-
- {%- if analytics_enabled %}
-
-
-
- {%- endif -%}
-
-
-
-
-
-
- {% block extrabody %} {% endblock %}
-
-
-
-
- {% include "languages.html" %}
-
-
-
-
-{%- block footer %} {% endblock %}
-
-
-
- {%- for scriptfile in script_files %}
- {{ js_tag(scriptfile) }}
- {%- endfor %}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/qiskit_sphinx_theme/pytorch/search.html b/src/qiskit_sphinx_theme/pytorch/search.html
deleted file mode 100644
index 48dd39f0..00000000
--- a/src/qiskit_sphinx_theme/pytorch/search.html
+++ /dev/null
@@ -1,60 +0,0 @@
-{#-
- This code is a Qiskit project.
-
- (C) Copyright IBM 2023.
-
- This code is licensed under the Apache License, Version 2.0. You may
- obtain a copy of this license in the LICENSE.txt file in the root directory
- of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
-
- Any modifications or derivative works of this code must retain this
- copyright notice, and modified files need to carry a notice indicating
- that they have been altered from the originals.
--#}
-
-{#
- basic/search.html
- ~~~~~~~~~~~~~~~~~
-
- Template for the search page.
-
- :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
- :license: BSD, see LICENSE for details.
-#}
-{%- extends "layout.html" %}
-{% set title = _('Search') %}
-{% set script_files = script_files + ['_static/searchtools.js'] %}
-{% set script_files = script_files + ['_static/language_data.js'] %}
-{% block footer %}
-
- {{ super() }}
-{% endblock %}
-{% block body %}
-
-
- {% if search_performed %}
-
{{ _('Search Results') }}
- {% if not search_results %}
-
{{ _('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.') }}
- {% endif %}
- {% endif %}
-
- {% if search_results %}
-
- {% for href, caption, context in search_results %}
-
-{% endblock %}
diff --git a/src/qiskit_sphinx_theme/pytorch/searchbox.html b/src/qiskit_sphinx_theme/pytorch/searchbox.html
deleted file mode 100644
index c3777951..00000000
--- a/src/qiskit_sphinx_theme/pytorch/searchbox.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{#-
- This code is a Qiskit project.
-
- (C) Copyright IBM 2023.
-
- This code is licensed under the Apache License, Version 2.0. You may
- obtain a copy of this license in the LICENSE.txt file in the root directory
- of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
-
- Any modifications or derivative works of this code must retain this
- copyright notice, and modified files need to carry a notice indicating
- that they have been altered from the originals.
--#}
-
-
${0} `),s,t,_i,n,_i,i)}},{kind:"field",static:!0,key:"styles",value:()=>Ut}]}}),It(Nt));
-/**
- * @license
- *
- * Copyright IBM Corp. 2019, 2022
- *
- * This source code is licensed under the Apache-2.0 license found in the
- * LICENSE file in the root directory of this source tree.
- */
-const yi=new WeakMap,ki=ye((e=>t=>{if(!(t instanceof Ge)||".."!==t.committer.name||t.committer.parts.length>1)throw new Error("The `spread` directive must be used in with `...` name and must be the only part in the attribute.");const{committer:i}=t,{element:n}=i,s=yi.get(t);s&&Object.keys(s).forEach((t=>{t in e||n.removeAttribute(t)})),Object.keys(e).forEach((t=>{const i=e[t];s&&Object.is(i,s[t])||void 0===i||n.setAttribute(t,i)})),yi.set(t,e)}));let wi,$i=e=>e;const{prefix:Si}=xe;let Ai,zi=ue([kt(`${Si}-header-menu`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[At("a")],key:"_trigger",value:void 0},{kind:"method",key:"_handleClick",value:function(){this._handleUserInitiatedToggle()}},{kind:"method",key:"_handleKeydownTrigger",value:function({key:e}){"Esc"!==e&&"Escape"!==e||this._handleUserInitiatedToggle(!1)}},{kind:"method",key:"_handleUserInitiatedToggle",value:function(e=!this.expanded){this.expanded=e,e||this._trigger.focus()}},{kind:"method",decorators:[ti("focusout")],key:"_handleBlur",value:function({relatedTarget:e}){this.contains(e)||(this.expanded=!1)}},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"expanded",value:()=>!1},{kind:"field",decorators:[St({attribute:"trigger-content"})],key:"triggerContent",value:()=>""},{kind:"field",decorators:[St({attribute:"menu-label"})],key:"menuLabel",value:void 0},{kind:"method",key:"createRenderRoot",value:function(){return this.attachShadow({mode:"open",delegatesFocus:!0})}},{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","listitem"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"method",key:"updated",value:function(e){if(e.has("expanded")){const{selectorItem:e}=this.constructor,{expanded:t}=this;ii(this.querySelectorAll(e),(e=>{e.tabIndex=t?0:-1}))}}},{kind:"method",key:"render",value:function(){const{expanded:e,triggerContent:t,menuLabel:i,_handleClick:n,_handleKeydownTrigger:s}=this;return it(wi||(wi=$i` ${0}${0}
`),Si,Si,String(Boolean(e)),n,s,t,(({children:e,...t}={})=>nt``)({part:"trigger-icon",class:`${Si}--header__menu-arrow`}),Si,ci(i))}},{kind:"get",static:!0,key:"selectorItem",value:function(){return`${Si}-header-menu-item`}},{kind:"field",static:!0,key:"styles",value:()=>Dt}]}}),Jt(It(Nt))),Ci=e=>e;const{prefix:Ei}=xe;let Pi=ue([kt(`${Ei}-header-nav-item`)],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[St()],key:"href",value:void 0},{kind:"field",decorators:[St()],key:"title",value:void 0},{kind:"field",decorators:[St({reflect:!0})],key:"role",value:()=>"listitem"},{kind:"method",key:"createRenderRoot",value:function(){var e;return this.attachShadow({mode:"open",delegatesFocus:Number((null!==(e=/Safari\/(\d+)/.exec(navigator.userAgent))&&void 0!==e?e:["",0])[1])<=537})}},{kind:"method",key:"render",value:function(){const{href:e,title:t}=this;return it(Ai||(Ai=Ci` ${0} `),Ei,ci(e),Ei,t)}},{kind:"field",static:!0,key:"styles",value:()=>Dt}]}}),It(Nt));const{prefix:qi}=xe;ue([kt(`${qi}-header-menu-item`)],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[]}}),Pi);let Mi,Ti=e=>e;const{prefix:Ni}=xe;ue([kt(`${Ni}-side-nav-items`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","list"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"method",key:"render",value:function(){return it(Mi||(Mi=Ti` `))}},{kind:"field",static:!0,key:"styles",value:()=>Ut}]}}),Nt);
-/**
- * @license
- *
- * Copyright IBM Corp. 2019, 2020
- *
- * This source code is licensed under the Apache-2.0 license found in the
- * LICENSE file in the root directory of this source tree.
- */
-const Oi=({children:e,...t}={})=>nt``
-/**
- * @license
- *
- * Copyright IBM Corp. 2019, 2020
- *
- * This source code is licensed under the Apache-2.0 license found in the
- * LICENSE file in the root directory of this source tree.
- */,Ri=({children:e,...t}={})=>nt``
-/**
- * @license
- *
- * Copyright IBM Corp. 2019, 2022
- *
- * This source code is licensed under the Apache-2.0 license found in the
- * LICENSE file in the root directory of this source tree.
- */;let Ii,Ui=e=>e;const{prefix:Hi}=xe;let ji=ue([kt(`${Hi}-header-menu-button`)],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"method",key:"_handleClick",value:function(){const e=!this.active;this.active=e,this.dispatchEvent(new CustomEvent(this.constructor.eventToggle,{bubbles:!0,cancelable:!0,composed:!0,detail:{active:e}}))}},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"active",value:()=>!1},{kind:"field",decorators:[St({attribute:"button-label-active"})],key:"buttonLabelActive",value:()=>"Close navigation menu"},{kind:"field",decorators:[St({attribute:"button-label-inactive"})],key:"buttonLabelInactive",value:()=>"Open navigation menu"},{kind:"field",decorators:[St({reflect:!0,attribute:"collapse-mode"})],key:"collapseMode",value:()=>ni.RESPONSIVE},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"disabled",value:()=>!1},{kind:"field",decorators:[St({reflect:!0,attribute:"usage-mode"})],key:"usageMode",value:()=>si.REGULAR},{kind:"method",key:"createRenderRoot",value:function(){var e;return this.attachShadow({mode:"open",delegatesFocus:Number((null!==(e=/Safari\/(\d+)/.exec(navigator.userAgent))&&void 0!==e?e:["",0])[1])<=537})}},{kind:"method",key:"render",value:function(){const{active:e,buttonLabelActive:t,buttonLabelInactive:i,disabled:n,_handleClick:s}=this,a=e?t:i,r=rt({[`${Hi}--header__action`]:!0,[`${Hi}--header__menu-trigger`]:!0,[`${Hi}--header__menu-toggle`]:!0,[`${Hi}--header__action--active`]:e});return it(Ii||(Ii=Ui` `),r,n,ci(null!=(o=a)?o:void 0),s,(e?Oi:Ri)({slot:"toggle-icon"}));var o}},{kind:"get",static:!0,key:"eventToggle",value:function(){return`${Hi}-header-menu-button-toggled`}},{kind:"field",static:!0,key:"styles",value:()=>Dt}]}}),It(Nt));
-/**
- * @license
- *
- * Copyright IBM Corp. 2019, 2020
- *
- * This source code is licensed under the Apache-2.0 license found in the
- * LICENSE file in the root directory of this source tree.
- */let Li,Vi=e=>e;const{prefix:Bi}=xe;ue([kt(`${Bi}-side-nav-menu`)],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",key:"_hasIcon",value:()=>!1},{kind:"field",decorators:[At("#title-icon-container")],key:"_titleIconContainerNode",value:void 0},{kind:"method",key:"_handleUserInitiatedToggle",value:function(e=!this.expanded){const{eventBeforeToggle:t,eventToggle:i}=this.constructor,n={bubbles:!0,cancelable:!0,composed:!0,detail:{expanded:e}};this.dispatchEvent(new CustomEvent(t,n))&&(this.expanded=e,this.dispatchEvent(new CustomEvent(i,n)))}},{kind:"method",key:"_handleClickExpando",value:function(){this._handleUserInitiatedToggle()}},{kind:"method",key:"_handleSlotChange",value:function({target:e}){const{_hasIcon:t}=this;ii(e.assignedNodes(),(e=>{e.nodeType===Node.ELEMENT_NODE&&e.toggleAttribute(this.constructor.attribItemHasIcon,t)}))}},{kind:"method",key:"_handleSlotChangeTitleIcon",value:function({target:e}){var t;const i=this.constructor,n=e.assignedNodes().length>0;this._hasIcon=n,null===(t=this._titleIconContainerNode)||void 0===t||t.toggleAttribute("hidden",!n),ii(this.querySelectorAll(i.selectorItem),(e=>{e.toggleAttribute(i.attribItemHasIcon,n)}))}},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"active",value:()=>!1},{kind:"field",decorators:[St({type:Boolean,reflect:!0})],key:"expanded",value:()=>!1},{kind:"field",decorators:[St({type:Boolean,reflect:!0,attribute:"force-collapsed"})],key:"forceCollapsed",value:()=>!1},{kind:"field",decorators:[St()],key:"title",value:()=>""},{kind:"method",key:"createRenderRoot",value:function(){var e;return this.attachShadow({mode:"open",delegatesFocus:Number((null!==(e=/Safari\/(\d+)/.exec(navigator.userAgent))&&void 0!==e?e:["",0])[1])<=537})}},{kind:"method",key:"connectedCallback",value:function(){this.hasAttribute("role")||this.setAttribute("role","listitem"),Bt(Vt(i.prototype),"connectedCallback",this).call(this)}},{kind:"method",key:"updated",value:function(e){if(e.has("expanded")){const{selectorItem:e}=this.constructor,{expanded:t}=this;ii(this.querySelectorAll(e),(e=>{e.tabIndex=t?0:-1}))}}},{kind:"method",key:"render",value:function(){const{expanded:e,forceCollapsed:t,title:i,_handleClickExpando:n,_handleSlotChange:s,_handleSlotChangeTitleIcon:a}=this;return it(Li||(Li=Vi`