moonshine icon indicating copy to clipboard operation
moonshine copied to clipboard

Tabs vertical

Open forest-lynx opened this issue 9 months ago • 3 comments

Добавлена функциональность для вертикального отображения Tabs Использование:

<?php
...
Tabs::make(...)->vertical();

Метод принимает может принимать замыкание(которое должно возвращать логическое значение) или логическое значение. image ЗЫ: с фронотм не огонь (((. В связи с этим не могу победить поведение при hover и ._is_active на светлой теме, применяемый стиль при вертикальном режиме перекрывают hover и ._is_active, а именное из-за border-r-transparent. image

forest-lynx avatar May 14 '24 07:05 forest-lynx

Пока выглядит не очень Снимок экрана 2024-05-14 в 13 09 14

DissNik avatar May 14 '24 08:05 DissNik

Постараюсь порешать, но еще раз повторюсь с фронтом не огонь (((

forest-lynx avatar May 14 '24 08:05 forest-lynx

Внес корректировки по стилям. Темная тема Светлая тема

forest-lynx avatar May 16 '24 10:05 forest-lynx

Доброго дня! Реализовал адаптивность для разрешения <640px

Запись экрана_20240517_140704.webm

forest-lynx avatar May 17 '24 10:05 forest-lynx

Снимок экрана 2024-05-17 в 15 26 50

мне не очень нравится идея с collapse табов в мобильных устройствах (интуитивно не понятно что там еще пункты), давайте проголосуем

я же имел ввиду просто все стили для вертикальных табов использовать только на больших экранах а на мобильных пускай остаются горизонтальные

DissNik avatar May 17 '24 10:05 DissNik

Снимок экрана 2024-05-17 в 15 26 50

мне не очень нравится идея с collapse табов в мобильных устройствах (интуитивно не понятно что там еще пункты), давайте проголосуем

я же имел ввиду просто все стили для вертикальных табов использовать только на больших экранах а на мобильных пускай остаются горизонтальные

Согласен с тобой

lee-to avatar May 17 '24 10:05 lee-to

Как вариант можно их не скрывать а оставить вертикальной портянкой, просто когда будет много табов придется листать после выбора таба к самому контенту. Ну в принципе можно сделать при клике по табу переместить к контенту таба. А мне ну прям очень нравится 😍 когда табы скрываются.

forest-lynx avatar May 17 '24 11:05 forest-lynx

данные изменения коснуться всех пользователей админки, не думаю что все обрадуются такому решению.

Collapse табов лучше вынести в отдельный пакет, а в коробке оставить стандартные решения

DissNik avatar May 17 '24 11:05 DissNik

Как вариант, или можно сделать активацию схолаваания активации через метод табов. Если такое устроит посмотрю реализацию.

forest-lynx avatar May 17 '24 11:05 forest-lynx

Как вариант, или можно сделать активацию схолаваания активации через метод табов. Если такое устроит посмотрю реализацию.

Как @lee-to решит, но мое мнение, что надо оставить табы без изменений, вертикальные табы только для десктопных устройств, а табы с collapse вынести во внешний пакет

DissNik avatar May 19 '24 04:05 DissNik

Как вариант, или можно сделать активацию схолаваания активации через метод табов. Если такое устроит посмотрю реализацию.

Как @lee-to решит, но мое мнение, что надо оставить табы без изменений, вертикальные табы только для десктопных устройств, а табы с collapse вынести во внешний пакет

Да делаем стандартно как было

lee-to avatar May 19 '24 12:05 lee-to

Вы легких путей не ищите ))

Для вертикальных табов добавлялся класс tabs-vertical, и чтоб стили работали только для десктопа достаточно было добавить ко всем классам внутри md: или lg: (какой будет лучше смотреться)

А теперь вы сделали, что MoonShine\Decorations\Tabs отвечает еще и за визуальное представление

DissNik avatar May 20 '24 04:05 DissNik

Если использовать только классы tailwindcss то мы можем манипулировать только разрешением экрана. В моей доработке класс применятся в зависимости от размера блока в котором расположены вкладки.

Grid::make([
    Column::make([
        Block::make([
            Tabs::make([
            Tab::make('Вкладка 1', [
                ID::make('№', 'id'),
                Text::make('Название', 'name'),
                Text::make('Примечание', 'description'),
            ]),
                Tab::make('Вкладка 2'),
                Tab::make('Вкладка 3'),
            ])->vertical(fn() => true, 600),
        ])
    ])->columnSpan(3)
])

Запись экрана_20240520_091143.webm

forest-lynx avatar May 20 '24 05:05 forest-lynx

это я понял, просто если такое делать то вынести это в js и конфигурировать уже через data используя custonAttributes. пример можно глянуть tinymce, там не все настройки в классе. каких настроек нет можно установить через data

DissNik avatar May 20 '24 06:05 DissNik

Добрый день! Не совсем понял Вы предлагаете вообще все, что связано с вертикальным отображением вынести в data атрибуты в том числе и и методы из Tabs?. Или только ширину блока с табами? Просто на мой взгляд проще написать vertical(true,200), чем vertical()->customAttributes(['data-box-width' => 200])

forest-lynx avatar May 20 '24 07:05 forest-lynx