@velkymx/vibeui 0.8.2 → 0.9.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.
Files changed (88) hide show
  1. package/README.md +171 -9
  2. package/dist/components/VibeAlert.vue.d.ts +12 -2
  3. package/dist/components/VibeAutocomplete.vue.d.ts +46 -0
  4. package/dist/components/VibeButton.vue.d.ts +4 -4
  5. package/dist/components/VibeDataTable.vue.d.ts +6 -6
  6. package/dist/components/VibeDatePicker.vue.d.ts +122 -0
  7. package/dist/components/VibeDraggable.vue.d.ts +81 -0
  8. package/dist/components/VibeDroppable.vue.d.ts +74 -0
  9. package/dist/components/VibeFileInput.vue.d.ts +133 -0
  10. package/dist/components/VibeFormCheckbox.vue.d.ts +1 -1
  11. package/dist/components/VibeFormDatepicker.vue.d.ts +1 -1
  12. package/dist/components/VibeFormGroup.vue.d.ts +1 -1
  13. package/dist/components/VibeFormInput.vue.d.ts +1 -1
  14. package/dist/components/VibeFormRadio.vue.d.ts +1 -1
  15. package/dist/components/VibeFormSelect.vue.d.ts +1 -1
  16. package/dist/components/VibeFormSpinbutton.vue.d.ts +1 -1
  17. package/dist/components/VibeFormSwitch.vue.d.ts +1 -1
  18. package/dist/components/VibeFormTextarea.vue.d.ts +1 -1
  19. package/dist/components/VibeFormWysiwyg.vue.d.ts +2 -2
  20. package/dist/components/VibeResizable.vue.d.ts +144 -0
  21. package/dist/components/VibeSkeleton.vue.d.ts +53 -0
  22. package/dist/components/VibeSlider.vue.d.ts +78 -0
  23. package/dist/components/VibeSortable.vue.d.ts +40 -0
  24. package/dist/components/VibeStepper.vue.d.ts +132 -0
  25. package/dist/components/VibeTab.vue.d.ts +45 -0
  26. package/dist/components/VibeTabs.vue.d.ts +82 -0
  27. package/dist/components/VibeToast.vue.d.ts +11 -0
  28. package/dist/components/VibeToastHost.vue.d.ts +15 -0
  29. package/dist/components/dndStore.d.ts +6 -0
  30. package/dist/components/index.d.ts +14 -1
  31. package/dist/composables/useForm.d.ts +22 -0
  32. package/dist/composables/usePosition.d.ts +20 -0
  33. package/dist/composables/useToast.d.ts +52 -0
  34. package/dist/directives/vTooltip.d.ts +25 -0
  35. package/dist/index.d.ts +6 -0
  36. package/dist/types.d.ts +11 -4
  37. package/dist/vibeui.css +1 -1
  38. package/dist/vibeui.es.js +4256 -1827
  39. package/dist/vibeui.umd.js +1 -1
  40. package/package.json +4 -5
  41. package/CLAUDE.md +0 -48
  42. package/docs/README.md +0 -153
  43. package/docs/components/advanced/popover.md +0 -150
  44. package/docs/components/advanced/scrollspy.md +0 -64
  45. package/docs/components/advanced/tooltip.md +0 -111
  46. package/docs/components/card/card.md +0 -215
  47. package/docs/components/core/alert.md +0 -72
  48. package/docs/components/core/badge.md +0 -81
  49. package/docs/components/core/button-group.md +0 -105
  50. package/docs/components/core/button.md +0 -127
  51. package/docs/components/core/close-button.md +0 -82
  52. package/docs/components/core/link.md +0 -36
  53. package/docs/components/core/placeholder.md +0 -135
  54. package/docs/components/core/spinner.md +0 -109
  55. package/docs/components/data/datatable.md +0 -416
  56. package/docs/components/interactive/accordion.md +0 -92
  57. package/docs/components/interactive/carousel.md +0 -97
  58. package/docs/components/interactive/collapse.md +0 -105
  59. package/docs/components/interactive/dropdown.md +0 -93
  60. package/docs/components/interactive/modal.md +0 -148
  61. package/docs/components/interactive/offcanvas.md +0 -89
  62. package/docs/components/interactive/toast.md +0 -114
  63. package/docs/components/layout/col.md +0 -123
  64. package/docs/components/layout/container.md +0 -59
  65. package/docs/components/layout/row.md +0 -113
  66. package/docs/components/list/list-group.md +0 -221
  67. package/docs/components/navigation/breadcrumb.md +0 -116
  68. package/docs/components/navigation/nav.md +0 -88
  69. package/docs/components/navigation/navbar.md +0 -106
  70. package/docs/components/navigation/pagination.md +0 -146
  71. package/docs/components/progress/progress.md +0 -182
  72. package/docs/composables/back-button.md +0 -28
  73. package/docs/composables/breakpoints.md +0 -54
  74. package/docs/composables/color-mode.md +0 -141
  75. package/docs/forms/README.md +0 -88
  76. package/docs/forms/form-checkbox.md +0 -50
  77. package/docs/forms/form-datepicker.md +0 -50
  78. package/docs/forms/form-group.md +0 -80
  79. package/docs/forms/form-input.md +0 -55
  80. package/docs/forms/form-radio.md +0 -58
  81. package/docs/forms/form-select.md +0 -54
  82. package/docs/forms/form-spinbutton.md +0 -55
  83. package/docs/forms/form-switch.md +0 -47
  84. package/docs/forms/form-textarea.md +0 -51
  85. package/docs/forms/form-wysiwyg.md +0 -64
  86. package/docs/forms/input-group.md +0 -51
  87. package/docs/forms/validation.md +0 -599
  88. package/llms.txt +0 -422
@@ -1,47 +0,0 @@
1
- # VibeFormSwitch
2
-
3
- Toggle switch component for boolean values.
4
-
5
- ## Basic Usage
6
-
7
- ```vue
8
- <script setup lang="ts">
9
- import { ref } from 'vue'
10
- const isEnabled = ref(false)
11
- </script>
12
-
13
- <template>
14
- <VibeFormSwitch
15
- v-model="isEnabled"
16
- label="Enable notifications"
17
- />
18
- </template>
19
- ```
20
-
21
- ## Props
22
-
23
- | Prop | Type | Default | Description |
24
- |------|------|---------|-------------|
25
- | `modelValue` | `Boolean` | `false` | The toggle state (v-model) |
26
- | `id` | `String` | `Auto-generated` | Unique identifier |
27
- | `label` | `String` | `undefined` | Label text |
28
- | `disabled` | `Boolean` | `false` | Disable the switch |
29
- | `required` | `Boolean` | `false` | Mark as required |
30
- | `inline` | `Boolean` | `false` | Display inline |
31
- | `validationState` | `'valid' \| 'invalid' \| null` | `null` | Validation state |
32
- | `validationMessage` | `String` | `undefined` | Validation message |
33
- | `validateOn` | `'change' \| 'blur'` | `'change'` | When to validate |
34
- | `helpText` | `String` | `undefined` | Help text |
35
-
36
- ## Important Notes
37
-
38
- **Automatic ID Generation:** This component automatically generates a unique ID if one is not provided.
39
-
40
- **Automatic ID Injection:** When used inside a `VibeFormGroup`, this component will automatically inherit the group's ID to ensure proper label association and accessibility.
41
-
42
- ## Bootstrap CSS Classes
43
-
44
- - `.form-check`, `.form-switch`
45
- - `.form-check-input`
46
- - `.form-check-label`
47
- - `.is-valid`, `.is-invalid`
@@ -1,51 +0,0 @@
1
- # VibeFormTextarea
2
-
3
- Multi-line text input component.
4
-
5
- ## Basic Usage
6
-
7
- ```vue
8
- <script setup lang="ts">
9
- import { ref } from 'vue'
10
- const text = ref('')
11
- </script>
12
-
13
- <template>
14
- <VibeFormTextarea
15
- v-model="text"
16
- label="Comments"
17
- placeholder="Enter your comments here..."
18
- />
19
- </template>
20
- ```
21
-
22
- ## Props
23
-
24
- | Prop | Type | Default | Description |
25
- |------|------|---------|-------------|
26
- | `modelValue` | `String` | `''` | The textarea value (v-model) |
27
- | `id` | `String` | `Auto-generated` | Unique identifier |
28
- | `label` | `String` | `undefined` | Label text |
29
- | `placeholder` | `String` | `undefined` | Placeholder text |
30
- | `rows` | `Number \| String` | `3` | Number of visible rows |
31
- | `disabled` | `Boolean` | `false` | Disable the textarea |
32
- | `readonly` | `Boolean` | `false` | Make readonly |
33
- | `required` | `Boolean` | `false` | Mark as required |
34
- | `size` | `'sm' \| 'lg'` | `undefined` | Textarea size |
35
- | `validationState` | `'valid' \| 'invalid' \| null` | `null` | Validation state |
36
- | `validationMessage` | `String` | `undefined` | Validation message |
37
- | `validateOn` | `'input' \| 'blur' \| 'change'` | `'blur'` | When to validate |
38
- | `helpText` | `String` | `undefined` | Help text |
39
- | `noResize` | `Boolean` | `false` | Disable resizing |
40
-
41
- ## Important Notes
42
-
43
- **Automatic ID Generation:** This component automatically generates a unique ID if one is not provided.
44
-
45
- **Automatic ID Injection:** When used inside a `VibeFormGroup`, this component will automatically inherit the group's ID to ensure proper label association and accessibility.
46
-
47
- ## Bootstrap CSS Classes
48
-
49
- - `.form-control`
50
- - `.form-control-{size}`
51
- - `.is-valid`, `.is-invalid`
@@ -1,64 +0,0 @@
1
- # VibeFormWysiwyg
2
-
3
- WYSIWYG (What You See Is What You Get) editor component powered by QuillJS.
4
-
5
- ## Installation
6
-
7
- First, install Quill as a dependency:
8
-
9
- ```bash
10
- npm install quill
11
- ```
12
-
13
- ## Basic Usage
14
-
15
- ```vue
16
- <script setup lang="ts">
17
- import { ref } from 'vue'
18
- const content = ref('')
19
- </script>
20
-
21
- <template>
22
- <VibeFormWysiwyg
23
- v-model="content"
24
- label="Content"
25
- placeholder="Write something amazing..."
26
- />
27
- </template>
28
- ```
29
-
30
- ## Props
31
-
32
- | Prop | Type | Default | Description |
33
- |------|------|---------|-------------|
34
- | `modelValue` | `String` | `''` | The HTML content (v-model) |
35
- | `id` | `String` | `Auto-generated` | Unique identifier |
36
- | `label` | `String` | `undefined` | Label text |
37
- | `placeholder` | `String` | `'Write something...'` | Placeholder text |
38
- | `disabled` | `Boolean` | `false` | Disable the editor |
39
- | `readonly` | `Boolean` | `false` | Make readonly |
40
- | `required` | `Boolean` | `false` | Mark as required |
41
- | `theme` | `'snow' \| 'bubble'` | `'snow'` | Quill theme |
42
- | `toolbar` | `Array \| String \| Boolean` | default toolbar | Full toolbar configuration |
43
- | `mobileToolbar` | `Array \| String \| Boolean` | default mobile toolbar | Simplified toolbar for small screens |
44
- | `height` | `String` | `'200px'` | Minimum height |
45
- | `validationState` | `'valid' \| 'invalid' \| null` | `null` | Validation state |
46
- | `validationMessage` | `String` | `undefined` | Validation message |
47
- | `validationRules` | `ValidationRule[] \| ValidatorFunction` | `undefined` | Validation rules |
48
- | `validateOn` | `'change' \| 'blur'` | `'blur'` | When to validate |
49
- | `helpText` | `String` | `undefined` | Help text |
50
-
51
- ## Important Notes
52
-
53
- **Automatic Initialization:** This component dynamically imports Quill and initializes it when mounted. If Quill is not installed in your project, it will display a helpful error message.
54
-
55
- **Lifecycle Management:** VibeFormWysiwyg automatically cleans up its internal Quill instance and removes orphaned toolbar elements from the DOM on unmount to prevent memory leaks.
56
-
57
- **Automatic ID Injection:** When used inside a `VibeFormGroup`, this component will automatically inherit the group's ID for proper label association.
58
-
59
- ## Bootstrap CSS Classes
60
-
61
- - `.vibe-wysiwyg-container`
62
- - `.is-valid`
63
- - `.is-invalid`
64
- - Uses native Quill CSS classes internally.
@@ -1,51 +0,0 @@
1
- # VibeInputGroup
2
-
3
- Input groups allow you to prepend or append text, buttons, or other elements to your input fields.
4
-
5
- ## Basic Usage
6
-
7
- ```vue
8
- <VibeInputGroup prepend="@">
9
- <VibeFormInput noWrapper v-model="username" placeholder="Username" />
10
- </VibeInputGroup>
11
-
12
- <VibeInputGroup append=".00">
13
- <VibeFormInput noWrapper v-model="price" placeholder="Price" />
14
- </VibeInputGroup>
15
- ```
16
-
17
- ## Props
18
-
19
- | Prop | Type | Default | Description |
20
- |------|------|---------|-------------|
21
- | `prepend` | `String` | `undefined` | Shorthand for prepending text |
22
- | `append` | `String` | `undefined` | Shorthand for appending text |
23
- | `size` | `'sm' \| 'lg'` | `undefined` | Size of the input group |
24
- | `tag` | `String` | `'div'` | HTML tag to use for the container |
25
-
26
- ## Slots
27
-
28
- | Slot | Description |
29
- |------|-------------|
30
- | `default` | The main content, usually a `VibeFormInput` with the `noWrapper` prop |
31
- | `prepend` | Slot for complex prepend content (e.g., icons or buttons) |
32
- | `append` | Slot for complex append content |
33
-
34
- ## Advanced Example
35
-
36
- ```vue
37
- <VibeInputGroup>
38
- <template #prepend>
39
- <VibeButton variant="outline-secondary">Search</VibeButton>
40
- </template>
41
- <VibeFormInput noWrapper v-model="query" />
42
- <template #append>
43
- <span class="input-group-text">
44
- <VibeIcon name="search" />
45
- </span>
46
- </template>
47
- </VibeInputGroup>
48
- ```
49
-
50
- ## Mobile Note
51
- Input groups work seamlessly with the `noWrapper` prop on `VibeFormInput`, ensuring that the Bootstrap `.input-group` classes apply correctly without extra wrapping divs breaking the layout.