@codemonster-ru/vueforge 0.59.0 → 0.60.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
@@ -27,6 +27,8 @@ import {
27
27
  DefaultTheme,
28
28
  Button,
29
29
  Input,
30
+ InputGroup,
31
+ InputAddon,
30
32
  InlineEdit,
31
33
  SearchInput,
32
34
  MentionInput,
@@ -107,6 +109,11 @@ app.use(VueForge, {
107
109
  <FormField label="Name" hint="Required field">
108
110
  <Input v-model="name" placeholder="Your name" />
109
111
  </FormField>
112
+ <InputGroup>
113
+ <InputAddon>$</InputAddon>
114
+ <NumberInput v-model="price" :min="0" :step="0.5" />
115
+ <InputAddon>.00</InputAddon>
116
+ </InputGroup>
110
117
  <InlineEdit v-model="name" placeholder="No name" />
111
118
  <SearchInput v-model="query" placeholder="Search components" clearable />
112
119
  <MentionInput v-model="message" :suggestions="mentionSuggestions" placeholder="Type @name" />
@@ -225,6 +232,8 @@ app.use(VueForge, {
225
232
  - ToastContainer
226
233
  - Alert
227
234
  - Input
235
+ - InputGroup
236
+ - InputAddon
228
237
  - InlineEdit
229
238
  - SearchInput
230
239
  - MentionInput
@@ -276,9 +285,10 @@ app.use(VueForge, {
276
285
  - TreeSelect
277
286
  - VirtualScroller
278
287
 
279
- Input / Search / Password / Textarea (quick API):
288
+ Input / InputGroup / Search / Password / Textarea (quick API):
280
289
 
281
290
  - `Input`: single-line control, supports `v-model`, `size`, `variant`, `disabled`, `readonly`.
291
+ - `InputGroup`: horizontal control combiner for field/addon/button layouts with unified corners and borders.
282
292
  - `InlineEdit`: inline value editing with view/edit states, save/cancel actions, and text/number modes.
283
293
  - `SearchInput`: search-focused control with `debounce`, `clearable`, `loading`, `size`, and `variant`.
284
294
  - `MentionInput`: text input with `@`/`#` triggers, suggestions panel, keyboard selection, and mention insertion events.
@@ -378,6 +388,43 @@ Example:
378
388
  When `error` is set, `FormField` applies invalid-state border highlighting to nested form controls.
379
389
  Customize these colors via `theme.overrides.components.formField.errorBorderColor` and `errorFocusBorderColor`.
380
390
 
391
+ ## InputGroup / InputAddon
392
+
393
+ Props (`InputGroup`):
394
+
395
+ - `size?: 'small' | 'normal' | 'large'` (default `normal`)
396
+ - `variant?: 'filled' | 'outlined'` (default `filled`)
397
+ - `disabled?: boolean` (default `false`)
398
+
399
+ Props (`InputAddon`):
400
+
401
+ - `as?: string` (default `span`)
402
+
403
+ Slots:
404
+
405
+ - `default` - group controls/addons content
406
+
407
+ Example:
408
+
409
+ ```vue
410
+ <InputGroup>
411
+ <InputAddon>$</InputAddon>
412
+ <NumberInput v-model="price" :min="0" :step="0.5" />
413
+ <Button label="Apply" />
414
+ </InputGroup>
415
+ ```
416
+
417
+ ### InputGroup tokens
418
+
419
+ Component tokens (override via `theme.overrides.components.inputGroup`):
420
+
421
+ - `gap`, `borderRadius`
422
+ - `addonPadding`, `addonFontSize`
423
+ - `addonBackgroundColor`, `addonOutlinedBackgroundColor`
424
+ - `addonTextColor`, `addonBorderColor`, `disabledOpacity`
425
+ - `small.addonPadding`, `small.addonFontSize`
426
+ - `large.addonPadding`, `large.addonFontSize`
427
+
381
428
  ## InlineEdit
382
429
 
383
430
  Props:
@@ -2512,7 +2559,7 @@ VueForge exposes design tokens as CSS variables generated from the theme preset.
2512
2559
  Typed tokens:
2513
2560
 
2514
2561
  - `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
2515
- - `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/inlineEdit/searchInput/mentionInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/form/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/badge/chip/filterChips/avatar/datatable/slider/stepper/rating/tree/treeselect/virtualScroller).
2562
+ - `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/radio/tabs/accordion/toast/alert/input/inputGroup/inlineEdit/searchInput/mentionInput/passwordInput/otpInput/colorPicker/maskedInput/numberInput/form/formField/textarea/link/breadcrumbs/menu/modal/confirmDialog/drawer/popover/dropdown/contextMenu/commandPalette/select/autocomplete/combobox/multiselect/taginput/datepicker/calendar/daterangepicker/timepicker/datetimepicker/pagination/switch/segmentedControl/tooltip/skeleton/progress/badge/chip/filterChips/avatar/datatable/slider/stepper/rating/tree/treeselect/virtualScroller).
2516
2563
 
2517
2564
  Default core values (from `DefaultTheme`):
2518
2565