diff --git a/website/app/components/doc/table-of-contents/collapsible-item.hbs b/website/app/components/doc/table-of-contents/collapsible-item.hbs new file mode 100644 index 0000000000..55b1597633 --- /dev/null +++ b/website/app/components/doc/table-of-contents/collapsible-item.hbs @@ -0,0 +1,12 @@ +
+ + {{#if this.isOpen}} + + {{/if}} +
\ No newline at end of file diff --git a/website/app/components/doc/table-of-contents/collapsible-item.js b/website/app/components/doc/table-of-contents/collapsible-item.js new file mode 100644 index 0000000000..cb8803f25a --- /dev/null +++ b/website/app/components/doc/table-of-contents/collapsible-item.js @@ -0,0 +1,25 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + +import Component from '@glimmer/component'; +import { guidFor } from '@ember/object/internals'; +import { tracked } from '@glimmer/tracking'; +import { action } from '@ember/object'; +export default class DocTocCollapsibleItemComponent extends Component { + @tracked isOpen = this.args.item.isOpen; + @action toggleIsOpen() { + this.isOpen = !this.isOpen; + } + + contentId = 'content-' + guidFor(this); + + get classNames() { + const classes = ['doc-table-of-contents__button']; + if (this.isOpen) { + classes.push('doc-table-of-contents__button--open'); + } + return classes.join(' '); + } +} diff --git a/website/app/components/doc/table-of-contents/index.hbs b/website/app/components/doc/table-of-contents/index.hbs index c79c232f44..0628a2007f 100644 --- a/website/app/components/doc/table-of-contents/index.hbs +++ b/website/app/components/doc/table-of-contents/index.hbs @@ -5,7 +5,7 @@ {{! template-lint-configure no-inline-styles {"allowDynamicStyles": true} }} -