Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
5d762f1
menubar: стилизация, сторисы
Mar 20, 2026
0992d7a
menubar: кастомный menu item
Mar 20, 2026
ff3f58d
Merge remote-tracking branch 'origin/storybook-update' into menu.Menubar
Skosov Mar 25, 2026
825acdd
высота превью для компонента на странице Docs
Mar 26, 2026
860a536
Merge branch 'storybook-update' into menu.Menubar
khaliulin Mar 26, 2026
dc58c16
фикс подключения listbox
Apr 3, 2026
6db563f
Merge branch 'storybook-update' into menu.Menubar
khaliulin Apr 20, 2026
816eb41
menubar: убраны emotion-селекторы, высота в story, обёртка MenubarItem
Apr 21, 2026
8638ae5
menubar: добавлен MenubarItem.vue
Apr 21, 2026
8d78c4a
gitignore: добавлен *.tsbuildinfo
Apr 21, 2026
c8ccf9a
menubar: MenubarItem.vue — lang=ts для vue-tsc
Apr 21, 2026
3bfd84f
menubar: PBlockMenubar обёртка, PBlockMenuItem универсальный компонент
May 5, 2026
745d384
menubar: заменить p-menuitem классы на p-block-menuitem, scoped стили
May 8, 2026
9eb4cb5
menubar: PR review — импорты из кита, as проп, дефолтный PBlockMenuIt…
May 8, 2026
2b649b9
menubar: убран явный item слот из Custom story — PBlockMenuItem ренде…
May 8, 2026
0687732
menubar: hasSubmenu из item.items, itemAs проп, убран mobile-button-i…
May 8, 2026
9dba3e4
menubar: PBlockMenuItem extends MenuItem — пропсы напрямую вместо объ…
May 8, 2026
839b822
menubar: story WithSlots — демонстрация слотов start, item, end
May 8, 2026
aa83b86
menubar: WithSlots story — добавлены слоты itemicon, submenuicon
May 8, 2026
9b00779
menubar: fix broken icons — дефолтные tabler иконки для submenuicon и…
May 8, 2026
ff75df7
menubar: CSS токены для p-block-menuitem классов, описание и caption …
May 8, 2026
be32a2d
menubar: стилизация p-block-menuitem через design tokens — padding, g…
May 8, 2026
a29f27e
menubar: вернуть submenu chevron в PBlockMenuItem, root проп для напр…
May 8, 2026
dddb40f
menubar: active/focus цвета для p-block-menuitem через токены
May 8, 2026
91f15e4
menubar: active цвет перебивает focus при hover на активном пункте меню
May 8, 2026
689028c
menubar: fix active+focus — использовать CSS-классы PrimeVue (.p-focu…
May 8, 2026
0936fb1
menubar: fix active+focus — ставить color на .p-menubar-item-content,…
May 8, 2026
e04e200
menubar: иконки inherit color от контейнера для корректных active/foc…
May 8, 2026
003e6bf
menubar: active background перебивает focus background для активных п…
May 8, 2026
4fdffd8
menubar: повысить специфичность active правил — .p-menubar-item.p-men…
May 8, 2026
80ff8e6
menubar: добавить новые слоты для кастомизации иконок и кнопок
Skosov May 22, 2026
0cdd648
menubar: добавить функцию для получения атрибутов элементов меню
Skosov May 22, 2026
4c7e02b
menubar: автопрокидывание атрибутов в Menubar
Skosov May 26, 2026
7e80f22
menubar: добавить иконки из Tabler в PBlockMenubar и PBlockMenuItem
Skosov May 26, 2026
8b12475
menubar: исправить форматирование описания в PBlockMenuItem
Skosov May 29, 2026
4852455
menubar: добавить поддержку TypeScript в примерах MenuBar
Skosov May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@ coverage
.npmrc

storybook-static
*.tsbuildinfo

.claude/*
1 change: 1 addition & 0 deletions .storybook/preview-head.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
html {
font-size: 87.5%;
}

</style>

<script>
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"@mdx-js/react": "^3.1.1",
"@primevue/auto-import-resolver": "4.3.6",
"@primevue/themes": "4.3.6",
"@tabler/icons-vue": "^3.22.0",
"@tabler/icons-webfont": "^3.22.0",
"@vee-validate/rules": "^4.7.3",
"lodash": "^4.17.21",
Expand Down
75 changes: 65 additions & 10 deletions src/plugins/prime/stories/Menu/MenuBar/MenuBar.mdx
Original file line number Diff line number Diff line change
@@ -1,20 +1,75 @@
import { Meta, Story } from '@storybook/addon-docs/blocks';
import { Meta, Canvas, Title, Description } from '@storybook/addon-docs/blocks';
import * as MenuBarStories from './MenuBar.stories';

import { Template } from './MenuBar.template';

<Meta of={MenuBarStories} />

# MenuBar
<Title />
<Description />

```javascript
import { PBlockMenubar, PBlockMenuItem } from '@cdek-it/vue-ui-kit';
```

[PrimeVue MenuBar](https://primevue.org/menubar), [Макет](https://www.figma.com/design/4TYeki0MDLhfPGJstbIicf/UI-kit-PrimeFace--DS-?node-id=888-12875\&m=dev)
## Варианты использования

### Basic

```jsx dark
const selectedClass = 'p-menuitem-checked';
Горизонтальное меню с выпадающими подменю.

<PrimeMenubar :model="items" />
```
<Canvas of={MenuBarStories.Basic} />

### With Icon

Menubar с иконками в пунктах меню и вложенных подменю.

<Canvas of={MenuBarStories.WithIcon} />

### Кастомный шаблон

Menubar с кастомным отображением пунктов: иконка, подпись и описание.

<Canvas of={MenuBarStories.Custom} />

### Кастомный тег (itemAs)

Menubar с рендером пунктов через `<button>` вместо `<a>` с помощью пропа `itemAs`.

<Canvas of={MenuBarStories.WithItemAs} />

## Слоты

### start, item, end

Логотип в `start`, кастомная стрелка в `submenuicon` и кнопка в `end`.

<Canvas of={MenuBarStories.WithSlots} />

### itemicon

Кастомный рендер иконки пункта меню. Слот получает `{ item }`.

<Canvas of={MenuBarStories.WithItemIconSlot} />

### submenuicon

Кастомная иконка стрелки подменю. Слот получает `{ item, root }`, где `root: true` — верхний уровень, `root: false` — вложенное подменю.

<Canvas of={MenuBarStories.WithSubmenuIconSlot} />

### submenuicon (active state)

Иконка подменю с вращением при открытии через `data-p-active`. Откройте `Features → Core`, чтобы увидеть nested-состояние.

<Canvas of={MenuBarStories.WithSubmenuIconActiveState} />

### button

Кастомная кнопка раскрытия мобильного меню (видна при узком viewport). Слот получает `{ toggleCallback }`.

<Canvas of={MenuBarStories.WithButtonSlot} />

### buttonicon

Кастомная иконка внутри кнопки мобильного меню.

<Story of={MenuBarStories.Primary} />
<Canvas of={MenuBarStories.WithButtonIconSlot} />
Loading
Loading