def generate_tab_kwargs(self):
    'Create the tab keyword arguments. Intended to be modified through inheritance.\n\n        Returns:\n            tuple: keyword arguments and styling for the dcc.Tab elements\n\n                - tab_kwargs: with at minimum keys `(style, selected_style)` for dcc.Tab\n                - tabs_kwargs: to be passed to dcc.Tabs\n                - tabs_style: style for the dcc.Tabs HTML element\n\n        '
    if self.tabs_compact:
        tab_style = {'padding': '2px 4px 2px 4px'}
        tabs_padding = '6px 0 0 2px'
    else:
        tab_style = {'padding': '10px 20px 10px 20px'}
        tabs_padding = '15px 0 0 5px'
    selected_style = deepcopy(tab_style)
    opposite_lookup = {'top': 'bottom', 'bottom': 'top', 'left': 'right', 'right': 'left'}
    tabs_style = {'backgroundColor': '#F9F9F9', 'padding': tabs_padding, 'position': 'fixed', 'zIndex': '999', f'border{opposite_lookup[self.tabs_location].title()}': '1px solid #d6d6d6', self.tabs_location: '0'}
    if (self.tabs_location in ['left', 'right']):
        selected_style['border-left'] = '3px solid #119DFF'
        tabs_kwargs = {'vertical': True, 'style': {'width': '100%'}, 'parent_style': {'width': '100%'}}
        tabs_style['top'] = '0'
        tabs_style['bottom'] = '0'
        tabs_style['width'] = 'auto'
    else:
        selected_style['border-top'] = '3px solid #119DFF'
        tabs_kwargs = {}
        tabs_style['height'] = 'auto'
        tabs_style['right'] = '0'
        tabs_style['left'] = '0'
    tab_kwargs = {'style': tab_style, 'selected_style': selected_style}
    return (tab_kwargs, tabs_kwargs, tabs_style)
Create the tab keyword arguments. Intended to be modified through inheritance.

Returns:
    tuple: keyword arguments and styling for the dcc.Tab elements

        - tab_kwargs: with at minimum keys `(style, selected_style)` for dcc.Tab
        - tabs_kwargs: to be passed to dcc.Tabs
        - tabs_style: style for the dcc.Tabs HTML element
def generate_tab_kwargs(self):
    'Create the tab keyword arguments. Intended to be modified through inheritance.\n\n        Returns:\n            tuple: keyword arguments and styling for the dcc.Tab elements\n\n                - tab_kwargs: with at minimum keys `(style, selected_style)` for dcc.Tab\n                - tabs_kwargs: to be passed to dcc.Tabs\n                - tabs_style: style for the dcc.Tabs HTML element\n\n        '
    if self.tabs_compact:
        tab_style = {'padding': '2px 4px 2px 4px'}
        tabs_padding = '6px 0 0 2px'
    else:
        tab_style = {'padding': '10px 20px 10px 20px'}
        tabs_padding = '15px 0 0 5px'
    selected_style = deepcopy(tab_style)
    opposite_lookup = {'top': 'bottom', 'bottom': 'top', 'left': 'right', 'right': 'left'}
    tabs_style = {'backgroundColor': '#F9F9F9', 'padding': tabs_padding, 'position': 'fixed', 'zIndex': '999', f'border{opposite_lookup[self.tabs_location].title()}': '1px solid #d6d6d6', self.tabs_location: '0'}
    if (self.tabs_location in ['left', 'right']):
        selected_style['border-left'] = '3px solid #119DFF'
        tabs_kwargs = {'vertical': True, 'style': {'width': '100%'}, 'parent_style': {'width': '100%'}}
        tabs_style['top'] = '0'
        tabs_style['bottom'] = '0'
        tabs_style['width'] = 'auto'
    else:
        selected_style['border-top'] = '3px solid #119DFF'
        tabs_kwargs = {}
        tabs_style['height'] = 'auto'
        tabs_style['right'] = '0'
        tabs_style['left'] = '0'
    tab_kwargs = {'style': tab_style, 'selected_style': selected_style}
    return (tab_kwargs, tabs_kwargs, tabs_style)