File "tabs.js"
Full Path: /home/fresvfqn/waterdamagerestorationandrepairsmithtown.com/wp-content/plugins/surerank/src/apps/admin-components/tabs.js
File size: 1.2 KB
MIME-type: text/x-java
Charset: utf-8
import { useState } from '@wordpress/element';
import { Tabs as FTabs } from '@bsf/force-ui';
import { renderField } from '@Functions/page-content-generator';
const Tabs = ( { field, formValues, setFormValues } ) => {
const [ activeItem, setActiveItem ] = useState(
field?.defaultValue ?? field?.tabs[ 0 ]?.slug
);
return (
<FTabs activeItem={ activeItem }>
<FTabs.Group
variant="rounded"
width="full"
className="w-full"
onChange={ ( { value } ) => {
setActiveItem( value.slug );
} }
>
{ field?.tabs?.map( ( tab ) => (
<FTabs.Tab
key={ tab.slug }
slug={ tab.slug }
text={ tab.label }
/>
) ) }
</FTabs.Group>
<div className="w-full">
{ field?.tabs?.map( ( tab ) => (
<FTabs.Panel key={ tab.slug } slug={ tab.slug }>
<div className="w-full flex flex-col gap-6">
{ tab.content?.map( ( contentField, index ) =>
renderField(
{
...contentField,
id:
contentField.id ||
`${ tab.slug }-field-${ index }`,
},
formValues,
setFormValues
)
) }
</div>
</FTabs.Panel>
) ) }
</div>
</FTabs>
);
};
export default Tabs;