@codemonster-ru/vueforge 0.67.0 → 0.68.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
@@ -40,6 +40,7 @@ import {
40
40
  Form,
41
41
  FormField,
42
42
  Textarea,
43
+ RichTextEditor,
43
44
  FileUpload,
44
45
  Breadcrumbs,
45
46
  Select,
@@ -132,6 +133,7 @@ app.use(VueForge, {
132
133
  <MaskedInput v-model="phone" mask="+7 (###) ###-##-##" />
133
134
  <NumberInput v-model="age" :min="0" :max="120" :step="1" />
134
135
  <Textarea v-model="bio" placeholder="Tell us about yourself" />
136
+ <RichTextEditor v-model="article" />
135
137
  <FileUpload v-model="resume" accept=".pdf,.doc,.docx" />
136
138
  <Breadcrumbs :items="breadcrumbItems" />
137
139
  <Select v-model="role" :options="roles" placeholder="Choose role" />
@@ -272,6 +274,7 @@ app.use(VueForge, {
272
274
  - Form
273
275
  - FormField
274
276
  - Textarea
277
+ - RichTextEditor
275
278
  - FileUpload
276
279
  - Link
277
280
  - Breadcrumbs
@@ -338,11 +341,12 @@ Input / InputGroup / Search / Password / Textarea (quick API):
338
341
  - `NotificationCenter`: persistent notifications inbox with read/unread state and bulk actions.
339
342
  - `AppShell`: application layout shell with sidebar/header/main/footer regions, collapse toggle, and mobile drawer behavior.
340
343
  - `KanbanBoard`: task board with draggable cards, customizable column/card slots, and move events.
344
+ - `RichTextEditor`: formatting editor with toolbar actions and Markdown/HTML output.
341
345
  - `Wizard`: multi-step flow container with linear navigation, per-step validation, and completion events.
342
346
  - `Textarea`: multi-line control, same as Input plus `rows`.
343
347
  - `TagInput`: token/tag control, supports `v-model` (array), suggestions, custom tags, `maxTags`, `clearable`, `size`, `variant`.
344
348
  - `FilterChips`: compact chip-based filter toggles with single/multiple selection modes and optional clear action.
345
- - `SearchInput`, `MentionInput`, `InlineEdit`, `OtpInput`, `ColorPicker`, `MaskedInput`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `Calendar`, `DateRangePicker`, `DateTimePicker`, `Pagination`, `DataTable`, `SegmentedControl`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
349
+ - `SearchInput`, `MentionInput`, `InlineEdit`, `OtpInput`, `ColorPicker`, `MaskedInput`, `RichTextEditor`, `Checkbox`, `Select`, `Autocomplete`, `MultiSelect`, `TagInput`, `DatePicker`, `Calendar`, `DateRangePicker`, `DateTimePicker`, `Pagination`, `DataTable`, `SegmentedControl`, and `TreeSelect` also support `variant: 'filled' | 'outlined'`.
346
350
 
347
351
  ## Form
348
352
 
@@ -1120,6 +1124,45 @@ Example:
1120
1124
  <Textarea v-model="bio" placeholder="Tell us about yourself" rows="4" />
1121
1125
  ```
1122
1126
 
1127
+ ## RichTextEditor
1128
+
1129
+ Props:
1130
+
1131
+ - `modelValue?: string` (v-model)
1132
+ - `placeholder?: string`
1133
+ - `disabled?: boolean`
1134
+ - `readonly?: boolean`
1135
+ - `size?: 'small' | 'normal' | 'large'` (default `normal`)
1136
+ - `variant?: 'filled' | 'outlined'` (default `filled`)
1137
+ - `format?: 'markdown' | 'html'` (default `markdown`)
1138
+ - `rows?: number` (default `6`)
1139
+ - `maxLength?: number` (default `0`, disabled when `0`)
1140
+ - `showToolbar?: boolean` (default `true`)
1141
+ - `toolbar?: Array<'bold' | 'italic' | 'underline' | 'link' | 'bulletList' | 'orderedList' | 'code'>`
1142
+ - `toolbarLabel?: string` (default `Text formatting toolbar`)
1143
+ - `ariaLabel?: string` (default `Rich text editor`)
1144
+
1145
+ Events:
1146
+
1147
+ - `update:modelValue`
1148
+ - `input`
1149
+ - `change`
1150
+ - `focus`
1151
+ - `blur`
1152
+ - `action` (payload: `action`, `nextValue`)
1153
+
1154
+ Example:
1155
+
1156
+ ```vue
1157
+ <RichTextEditor
1158
+ v-model="article"
1159
+ format="markdown"
1160
+ :rows="8"
1161
+ :max-length="2000"
1162
+ :toolbar="['bold', 'italic', 'link', 'bulletList', 'code']"
1163
+ />
1164
+ ```
1165
+
1123
1166
  ## FileUpload
1124
1167
 
1125
1168
  Props:
@@ -1762,6 +1805,24 @@ Component tokens (override via `theme.overrides.components.textarea`):
1762
1805
  - `small.fontSize`, `small.padding`
1763
1806
  - `large.fontSize`, `large.padding`
1764
1807
 
1808
+ ### RichTextEditor tokens
1809
+
1810
+ Component tokens (override via `theme.overrides.components.richTextEditor`):
1811
+
1812
+ - `gap`, `fontSize`, `padding`
1813
+ - `borderRadius`, `borderColor`
1814
+ - `backgroundColor`, `textColor`, `placeholderColor`
1815
+ - `focusBorderColor`, `focusRingShadow`, `hoverBorderColor`
1816
+ - `disabledOpacity`
1817
+ - `minHeight`, `resize`
1818
+ - `toolbarGap`, `toolbarPadding`, `toolbarBorderColor`, `toolbarBackgroundColor`
1819
+ - `toolbarButtonMinWidth`, `toolbarButtonPadding`, `toolbarButtonRadius`
1820
+ - `toolbarButtonBorderColor`, `toolbarButtonBackgroundColor`, `toolbarButtonTextColor`
1821
+ - `toolbarButtonHoverBackgroundColor`, `toolbarButtonActiveBackgroundColor`
1822
+ - `counterFontSize`, `counterColor`, `counterDangerColor`
1823
+ - `small.fontSize`, `small.padding`, `small.toolbarButtonPadding`
1824
+ - `large.fontSize`, `large.padding`, `large.toolbarButtonPadding`
1825
+
1765
1826
  ## Modal
1766
1827
 
1767
1828
  Props:
@@ -2970,7 +3031,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
2970
3031
  Typed tokens:
2971
3032
 
2972
3033
  - `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
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).
3034
+ - `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/richTextEditor/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).
2974
3035
 
2975
3036
  Default core values (from `DefaultTheme`):
2976
3037