@codemonster-ru/vueforge 0.71.0 → 0.73.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 CHANGED
@@ -25,6 +25,7 @@ import { createApp } from 'vue';
25
25
  import {
26
26
  VueForge,
27
27
  DefaultTheme,
28
+ Container,
28
29
  Button,
29
30
  ButtonGroup,
30
31
  Input,
@@ -45,6 +46,7 @@ import {
45
46
  FileUpload,
46
47
  Breadcrumbs,
47
48
  Divider,
49
+ PageHeader,
48
50
  Select,
49
51
  Autocomplete,
50
52
  Combobox,
@@ -145,6 +147,12 @@ app.use(VueForge, {
145
147
  <FileUpload v-model="resume" accept=".pdf,.doc,.docx" />
146
148
  <Breadcrumbs :items="breadcrumbItems" />
147
149
  <Divider label="OR" />
150
+ <PageHeader title="Projects" subtitle="Manage active projects and team workload.">
151
+ <template #actions>
152
+ <Button label="Import" variant="outlined" severity="secondary" />
153
+ <Button label="New project" icon="plus" />
154
+ </template>
155
+ </PageHeader>
148
156
  <Select v-model="role" :options="roles" placeholder="Choose role" />
149
157
  <Autocomplete v-model="country" :options="countries" placeholder="Find country" />
150
158
  <Combobox v-model="countryId" :options="countries" placeholder="Pick country" clearable />
@@ -258,6 +266,7 @@ app.use(VueForge, {
258
266
  - Button
259
267
  - ButtonGroup
260
268
  - Card
269
+ - Container
261
270
  - Checkbox
262
271
  - RadioGroup
263
272
  - RadioButton
@@ -290,6 +299,7 @@ app.use(VueForge, {
290
299
  - Link
291
300
  - Breadcrumbs
292
301
  - Divider
302
+ - PageHeader
293
303
  - Menu
294
304
  - Modal
295
305
  - ConfirmDialog
@@ -358,6 +368,7 @@ Input / InputGroup / Search / Password / Textarea (quick API):
358
368
  - `RichTextEditor`: formatting editor with toolbar actions and Markdown/HTML output.
359
369
  - `Divider`: horizontal/vertical visual separator with optional label and style variants.
360
370
  - `Spinner`: lightweight loading indicator with inline/overlay variants and severity colors.
371
+ - `PageHeader`: page-level heading block with breadcrumbs/meta/actions slots for dashboard screens.
361
372
  - `Wizard`: multi-step flow container with linear navigation, per-step validation, and completion events.
362
373
  - `Textarea`: multi-line control, same as Input plus `rows`.
363
374
  - `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
@@ -1547,6 +1558,37 @@ Component tokens (override via `theme.overrides.components.buttonGroup`):
1547
1558
 
1548
1559
  - `gap`, `borderRadius`, `disabledOpacity`
1549
1560
 
1561
+ ## Container
1562
+
1563
+ Props:
1564
+
1565
+ - `as?: string` (default `div`)
1566
+ - `size?: 'sm' | 'md' | 'lg' | 'xl' | 'full'` (default `lg`)
1567
+ - `maxWidth?: string` (optional runtime override)
1568
+ - `paddingX?: string` (optional runtime override)
1569
+
1570
+ Slots:
1571
+
1572
+ - `default`
1573
+
1574
+ Example:
1575
+
1576
+ ```vue
1577
+ <Container size="xl">
1578
+ <PageHeader title="Projects" subtitle="Manage active projects and team workload." />
1579
+ </Container>
1580
+ <Container as="main" max-width="90rem" padding-x="2rem">
1581
+ <div>Custom width and horizontal padding</div>
1582
+ </Container>
1583
+ ```
1584
+
1585
+ ### Container tokens
1586
+
1587
+ Component tokens (override via `theme.overrides.components.container`):
1588
+
1589
+ - `maxWidth`, `maxWidthSm`, `maxWidthMd`, `maxWidthLg`, `maxWidthXl`
1590
+ - `paddingX`, `paddingXSm`, `paddingXLg`
1591
+
1550
1592
  ## Breadcrumbs
1551
1593
 
1552
1594
  Props:
@@ -1613,6 +1655,53 @@ Component tokens (override via `theme.overrides.components.divider`):
1613
1655
  - `gap`, `inset`
1614
1656
  - `labelPadding`, `labelFontSize`
1615
1657
 
1658
+ ## PageHeader
1659
+
1660
+ Props:
1661
+
1662
+ - `title?: string`
1663
+ - `subtitle?: string`
1664
+ - `size?: 'small' | 'normal' | 'large'` (default `normal`)
1665
+ - `divider?: boolean` (default `false`)
1666
+
1667
+ Slots:
1668
+
1669
+ - `breadcrumbs` (optional)
1670
+ - `title` (optional) - replaces `title` prop rendering
1671
+ - `subtitle` (optional) - replaces `subtitle` prop rendering
1672
+ - `meta` (optional)
1673
+ - `actions` (optional)
1674
+ - `default` (optional) - additional body content
1675
+
1676
+ Example:
1677
+
1678
+ ```vue
1679
+ <PageHeader title="Projects" subtitle="Manage active projects and team workload.">
1680
+ <template #breadcrumbs>
1681
+ <Breadcrumbs :items="breadcrumbItems" />
1682
+ </template>
1683
+ <template #meta>
1684
+ <Badge severity="info" variant="soft">24 active</Badge>
1685
+ <Chip label="Last sync: 2m ago" />
1686
+ </template>
1687
+ <template #actions>
1688
+ <Button label="Import" variant="outlined" severity="secondary" />
1689
+ <Button label="New project" icon="plus" />
1690
+ </template>
1691
+ </PageHeader>
1692
+ ```
1693
+
1694
+ ### PageHeader tokens
1695
+
1696
+ Component tokens (override via `theme.overrides.components.pageHeader`):
1697
+
1698
+ - `gap`, `contentGap`, `breadcrumbGap`, `actionsGap`, `metaGap`
1699
+ - `padding`, `borderRadius`, `borderColor`, `backgroundColor`, `textColor`, `dividerColor`
1700
+ - `titleFontSize`, `titleLineHeight`, `titleFontWeight`
1701
+ - `subtitleFontSize`, `subtitleColor`
1702
+ - `small.padding`, `small.titleFontSize`, `small.subtitleFontSize`
1703
+ - `large.padding`, `large.titleFontSize`, `large.subtitleFontSize`
1704
+
1616
1705
  ## SegmentedControl
1617
1706
 
1618
1707
  Props:
@@ -3146,7 +3235,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
3146
3235
  Typed tokens:
3147
3236
 
3148
3237
  - `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
3149
- - `components.*` accepts component-specific tokens (typed keys: button/buttonGroup/card/checkbox/radio/tabs/accordion/toast/alert/emptyState/input/inputGroup/inlineEdit/searchInput/mentionInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/form/formField/textarea/richTextEditor/link/breadcrumbs/divider/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/notificationCenter/appShell/kanbanBoard/tour/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/spinner/badge/chip/filterChips/avatar/datatable/slider/splitter/stepper/wizard/rating/tree/treeselect/virtualScroller).
3238
+ - `components.*` accepts component-specific tokens (typed keys: button/buttonGroup/card/container/checkbox/radio/tabs/accordion/toast/alert/emptyState/input/inputGroup/inlineEdit/searchInput/mentionInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/form/formField/textarea/richTextEditor/link/breadcrumbs/divider/pageHeader/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/notificationCenter/appShell/kanbanBoard/tour/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/spinner/badge/chip/filterChips/avatar/datatable/slider/splitter/stepper/wizard/rating/tree/treeselect/virtualScroller).
3150
3239
 
3151
3240
  Default core values (from `DefaultTheme`):
3152
3241