@codemonster-ru/vueforge 0.65.0 → 0.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.ts.mjs +3041 -2906
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/app-shell.test.d.ts +1 -0
- package/dist/package/components/app-shell.vue.d.ts +66 -0
- package/dist/package/config/theme-core.d.ts +25 -0
- package/dist/package/themes/default/components/app-shell.d.ts +25 -0
- package/dist/package/themes/default/index.d.ts +24 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -84,6 +84,7 @@ import {
|
|
|
84
84
|
ContextMenu,
|
|
85
85
|
CommandPalette,
|
|
86
86
|
NotificationCenter,
|
|
87
|
+
AppShell,
|
|
87
88
|
Tour,
|
|
88
89
|
} from '@codemonster-ru/vueforge';
|
|
89
90
|
import '@codemonster-ru/vueforge/dist/index.css';
|
|
@@ -230,6 +231,11 @@ app.use(VueForge, {
|
|
|
230
231
|
]"
|
|
231
232
|
/>
|
|
232
233
|
<NotificationCenter v-model="notificationsOpen" v-model:items="notificationsItems" />
|
|
234
|
+
<AppShell v-model="sidebarCollapsed">
|
|
235
|
+
<template #sidebar>Sidebar content</template>
|
|
236
|
+
<template #header>Header content</template>
|
|
237
|
+
<div>Main content</div>
|
|
238
|
+
</AppShell>
|
|
233
239
|
<Tour v-model="tourOpen" :steps="tourSteps" />
|
|
234
240
|
```
|
|
235
241
|
|
|
@@ -276,6 +282,7 @@ app.use(VueForge, {
|
|
|
276
282
|
- ContextMenu
|
|
277
283
|
- CommandPalette
|
|
278
284
|
- NotificationCenter
|
|
285
|
+
- AppShell
|
|
279
286
|
- Tour
|
|
280
287
|
- Popover
|
|
281
288
|
- Select
|
|
@@ -326,6 +333,7 @@ Input / InputGroup / Search / Password / Textarea (quick API):
|
|
|
326
333
|
- `Splitter`: resizable multi-panel container with draggable separators and `v-model` percentage sizes.
|
|
327
334
|
- `Tour`: guided step-by-step onboarding overlay anchored to target elements.
|
|
328
335
|
- `NotificationCenter`: persistent notifications inbox with read/unread state and bulk actions.
|
|
336
|
+
- `AppShell`: application layout shell with sidebar/header/main/footer regions, collapse toggle, and mobile drawer behavior.
|
|
329
337
|
- `Wizard`: multi-step flow container with linear navigation, per-step validation, and completion events.
|
|
330
338
|
- `Textarea`: multi-line control, same as Input plus `rows`.
|
|
331
339
|
- `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
|
|
@@ -2115,6 +2123,59 @@ Component tokens (override via `theme.overrides.components.notificationCenter`):
|
|
|
2115
2123
|
- `itemTitleFontSize`, `itemTitleFontWeight`, `itemMetaFontSize`, `itemMetaColor`
|
|
2116
2124
|
- `emptyPadding`, `emptyColor`
|
|
2117
2125
|
|
|
2126
|
+
## AppShell
|
|
2127
|
+
|
|
2128
|
+
Props:
|
|
2129
|
+
|
|
2130
|
+
- `modelValue?: boolean` (v-model collapsed state on desktop)
|
|
2131
|
+
- `sidebarWidth?: string` (default `16rem`)
|
|
2132
|
+
- `sidebarCollapsedWidth?: string` (default `4.25rem`)
|
|
2133
|
+
- `mobileBreakpoint?: number` (default `1024`)
|
|
2134
|
+
- `stickyHeader?: boolean` (default `true`)
|
|
2135
|
+
- `fullHeight?: boolean` (default `true`)
|
|
2136
|
+
- `showToggle?: boolean` (default `true`)
|
|
2137
|
+
- `closeOnEsc?: boolean` (default `true`)
|
|
2138
|
+
- `toggleLabel?: string` (default `Toggle sidebar`)
|
|
2139
|
+
- `closeSidebarLabel?: string` (default `Close sidebar`)
|
|
2140
|
+
- `toggleIcon?: string` (default `☰`)
|
|
2141
|
+
- `mainAriaLabel?: string` (default `Main content`)
|
|
2142
|
+
|
|
2143
|
+
Slots:
|
|
2144
|
+
|
|
2145
|
+
- `sidebar` (optional) - slot props `{ mobile, collapsed }`
|
|
2146
|
+
- `header` (optional) - slot props `{ mobile, collapsed, mobileSidebarOpen, toggleSidebar }`
|
|
2147
|
+
- `default` - main content
|
|
2148
|
+
- `footer` (optional) - slot props `{ mobile, collapsed }`
|
|
2149
|
+
|
|
2150
|
+
Events:
|
|
2151
|
+
|
|
2152
|
+
- `update:modelValue`
|
|
2153
|
+
- `sidebar-toggle`
|
|
2154
|
+
- `breakpoint-change`
|
|
2155
|
+
|
|
2156
|
+
Example:
|
|
2157
|
+
|
|
2158
|
+
```vue
|
|
2159
|
+
<AppShell v-model="collapsed">
|
|
2160
|
+
<template #sidebar>Sidebar</template>
|
|
2161
|
+
<template #header>Header</template>
|
|
2162
|
+
<div>Main</div>
|
|
2163
|
+
<template #footer>Footer</template>
|
|
2164
|
+
</AppShell>
|
|
2165
|
+
```
|
|
2166
|
+
|
|
2167
|
+
### AppShell tokens
|
|
2168
|
+
|
|
2169
|
+
Component tokens (override via `theme.overrides.components.appShell`):
|
|
2170
|
+
|
|
2171
|
+
- `gap`, `backgroundColor`, `textColor`
|
|
2172
|
+
- `sidebarBackgroundColor`, `sidebarBorderColor`
|
|
2173
|
+
- `headerHeight`, `headerPadding`, `headerGap`, `headerBackgroundColor`, `headerBorderColor`
|
|
2174
|
+
- `contentPadding`, `mainBackgroundColor`
|
|
2175
|
+
- `footerPadding`, `footerBorderColor`, `footerBackgroundColor`
|
|
2176
|
+
- `toggleSize`, `toggleBorderRadius`, `toggleBackgroundColor`, `toggleTextColor`, `toggleHoverBackgroundColor`
|
|
2177
|
+
- `overlayBackgroundColor`, `zIndex`
|
|
2178
|
+
|
|
2118
2179
|
## Tour
|
|
2119
2180
|
|
|
2120
2181
|
Props:
|
|
@@ -2859,7 +2920,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
|
|
|
2859
2920
|
Typed tokens:
|
|
2860
2921
|
|
|
2861
2922
|
- `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
|
|
2862
|
-
- `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/emptyState/input/inputGroup/inlineEdit/searchInput/mentionInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/form/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/notificationCenter/tour/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/badge/chip/filterChips/avatar/datatable/slider/splitter/stepper/wizard/rating/tree/treeselect/virtualScroller).
|
|
2923
|
+
- `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/emptyState/input/inputGroup/inlineEdit/searchInput/mentionInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/form/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/notificationCenter/appShell/tour/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/badge/chip/filterChips/avatar/datatable/slider/splitter/stepper/wizard/rating/tree/treeselect/virtualScroller).
|
|
2863
2924
|
|
|
2864
2925
|
Default core values (from `DefaultTheme`):
|
|
2865
2926
|
|