/home/vianto5/duettowers.mx/wp-content/plugins/code-snippets/js/components/common
Edit: /home/vianto5/duettowers.mx/wp-content/plugins/code-snippets/js/components/common/SubnavTabs.tsx (2254B)
import classnames from 'classnames'
import { __ } from '@wordpress/i18n'
import React from 'react'
import { isLicensed } from '../../utils/screen'
import { useHorizontalScrollOverflow } from '../../hooks/useHorizontalScrollOverflow'
import { fetchQueryParam, updateQueryParams } from '../../utils/urls'
export interface SubnavTab
{
name: T
label: string
pro?: boolean
}
export const getTabFromQuery = >(
tabs: Tab[],
queryParamName: string
): Tab => {
const tabParam = fetchQueryParam(queryParamName)
for (const tab of tabs) {
if (tab.name === tabParam) {
return tab
}
}
return tabs[0]
}
export interface SubnavTabsProps> {
tabs: readonly Tab[]
ariaLabel: string
className?: string
currentTab: Tab
getTabCount?: (tab: Tab) => number | undefined
setCurrentTab: (tab: Tab) => void
queryParamName?: string
}
export const SubnavTabs = >({
tabs,
ariaLabel,
className,
currentTab,
getTabCount,
setCurrentTab,
queryParamName,
}: SubnavTabsProps) => {
const { atStart, atEnd, scrollRef } = useHorizontalScrollOverflow()
return (
)
}