@codemonster-ru/vueforge 0.66.0 → 0.67.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
@@ -85,6 +85,7 @@ import {
85
85
  CommandPalette,
86
86
  NotificationCenter,
87
87
  AppShell,
88
+ KanbanBoard,
88
89
  Tour,
89
90
  } from '@codemonster-ru/vueforge';
90
91
  import '@codemonster-ru/vueforge/dist/index.css';
@@ -236,6 +237,7 @@ app.use(VueForge, {
236
237
  <template #header>Header content</template>
237
238
  <div>Main content</div>
238
239
  </AppShell>
240
+ <KanbanBoard v-model:items="kanbanItems" :columns="kanbanColumns" />
239
241
  <Tour v-model="tourOpen" :steps="tourSteps" />
240
242
  ```
241
243
 
@@ -283,6 +285,7 @@ app.use(VueForge, {
283
285
  - CommandPalette
284
286
  - NotificationCenter
285
287
  - AppShell
288
+ - KanbanBoard
286
289
  - Tour
287
290
  - Popover
288
291
  - Select
@@ -334,6 +337,7 @@ Input / InputGroup / Search / Password / Textarea (quick API):
334
337
  - `Tour`: guided step-by-step onboarding overlay anchored to target elements.
335
338
  - `NotificationCenter`: persistent notifications inbox with read/unread state and bulk actions.
336
339
  - `AppShell`: application layout shell with sidebar/header/main/footer regions, collapse toggle, and mobile drawer behavior.
340
+ - `KanbanBoard`: task board with draggable cards, customizable column/card slots, and move events.
337
341
  - `Wizard`: multi-step flow container with linear navigation, per-step validation, and completion events.
338
342
  - `Textarea`: multi-line control, same as Input plus `rows`.
339
343
  - `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
@@ -2176,6 +2180,52 @@ Component tokens (override via `theme.overrides.components.appShell`):
2176
2180
  - `toggleSize`, `toggleBorderRadius`, `toggleBackgroundColor`, `toggleTextColor`, `toggleHoverBackgroundColor`
2177
2181
  - `overlayBackgroundColor`, `zIndex`
2178
2182
 
2183
+ ## KanbanBoard
2184
+
2185
+ Props:
2186
+
2187
+ - `columns?: Array<{ id: string | number; title: string }>`
2188
+ - `items?: Array<{ id: string | number; columnId: string | number; title: string; description?: string; assignee?: string; priority?: 'low' | 'medium' | 'high'; tags?: string[] }>`
2189
+ - `ariaLabel?: string` (default `Kanban board`)
2190
+ - `emptyColumnText?: string` (default `Drop cards here`)
2191
+
2192
+ Slots:
2193
+
2194
+ - `column-header` (optional) - slot props `{ column, items }`
2195
+ - `card` (optional) - slot props `{ item, column, index }`
2196
+ - `column-footer` (optional) - slot props `{ column, items }`
2197
+ - `empty-column` (optional) - slot props `{ column }`
2198
+
2199
+ Events:
2200
+
2201
+ - `update:items`
2202
+ - `move`
2203
+ - `click`
2204
+
2205
+ Example:
2206
+
2207
+ ```vue
2208
+ <KanbanBoard v-model:items="items" :columns="columns" @move="onMove" />
2209
+ ```
2210
+
2211
+ ### KanbanBoard tokens
2212
+
2213
+ Component tokens (override via `theme.overrides.components.kanbanBoard`):
2214
+
2215
+ - `gap`, `columnMinWidth`, `columnGap`
2216
+ - `columnBorderColor`, `columnBorderRadius`, `columnBackgroundColor`
2217
+ - `columnHeaderPadding`, `columnHeaderBorderColor`
2218
+ - `columnTitleFontSize`, `columnTitleFontWeight`, `columnCountFontSize`, `columnCountColor`
2219
+ - `bodyPadding`
2220
+ - `cardGap`, `cardPadding`, `cardBorderRadius`, `cardBorderColor`, `cardBackgroundColor`, `cardHoverBorderColor`
2221
+ - `cardTitleFontSize`, `cardTitleFontWeight`, `cardDescriptionFontSize`, `cardDescriptionColor`
2222
+ - `priorityLowColor`, `priorityMediumColor`, `priorityHighColor`
2223
+ - `tagGap`, `tagPadding`, `tagBorderRadius`, `tagBackgroundColor`, `tagTextColor`
2224
+ - `assigneeFontSize`, `assigneeColor`
2225
+ - `emptyPadding`, `emptyColor`
2226
+ - `columnFooterPadding`, `columnFooterBorderColor`
2227
+ - `dragOpacity`
2228
+
2179
2229
  ## Tour
2180
2230
 
2181
2231
  Props:
@@ -2920,7 +2970,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
2920
2970
  Typed tokens:
2921
2971
 
2922
2972
  - `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
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).
2973
+ - `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/kanbanBoard/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).
2924
2974
 
2925
2975
  Default core values (from `DefaultTheme`):
2926
2976