Sha256: 603e4d38ad34f6d6f5ebe83dfa2fccfa164cc90fa5eba5a20dcfefe6deee25a7

Contents?: true

Size: 1.16 KB

Versions: 71

Compression:

Stored size: 1.16 KB

Contents

import '@github/tab-container-element'

// keep in sync with tab_container_component.rb
const DEFAULT_SELECTED_CLASSES: string[] = ['ariadne-border-indigo-500', 'ariadne-text-indigo-600']
const DEFAULT_UNSELECTED_CLASSES: string[] = [
  'ariadne-text-gray-500',
  'hover:ariadne-text-gray-700',
  'hover:ariadne-border-gray-300'
]

for (const tabContainer of document.getElementsByTagName('tab-container')) {
  tabContainer.addEventListener('tab-container-change', function (event: Event) {
    const newPanel = (event as CustomEvent).detail.relatedTarget as HTMLElement
    const tabContainer = newPanel.closest('tab-container') as HTMLElement
    const tabList = tabContainer.firstElementChild as HTMLElement
    const currentTab = tabList.querySelector('[aria-selected="true"]') as HTMLElement
    const tabId = newPanel.getAttribute('id')?.split('-').slice(1).join('-')
    const newTab = tabList.querySelector(`#${tabId}`) as HTMLElement
    currentTab.classList.remove(...DEFAULT_SELECTED_CLASSES)
    currentTab.classList.add(...DEFAULT_UNSELECTED_CLASSES)
    newTab.classList.add(...DEFAULT_SELECTED_CLASSES)
    newTab.classList.remove(...DEFAULT_UNSELECTED_CLASSES)
  })
}

Version data entries

71 entries across 71 versions & 1 rubygems

Version Path
ariadne_view_components-0.0.24 app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.24-x86_64-linux app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.24-x86_64-darwin app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.24-x64-mingw32 app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.24-x64-mingw-ucrt app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.24-arm64-darwin app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.24-aarch64-linux app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.23 app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.23-x86_64-linux app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.23-x86_64-darwin app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.23-x64-mingw32 app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.23-x64-mingw-ucrt app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.23-arm64-darwin app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.23-aarch64-linux app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.22 app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.22-x86_64-linux app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.22-x86_64-darwin app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.22-x64-mingw32 app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.22-x64-mingw-ucrt app/components/ariadne/tab-container-component.ts
ariadne_view_components-0.0.22-arm64-darwin app/components/ariadne/tab-container-component.ts