@velkymx/vibeui 0.2.0 → 0.4.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 (71) hide show
  1. package/README.md +592 -1
  2. package/dist/App.vue.d.ts +2 -0
  3. package/dist/components/HelloWorld.vue.d.ts +5 -0
  4. package/dist/components/VibeAccordion.vue.d.ts +51 -0
  5. package/dist/components/VibeAccordionItem.vue.d.ts +57 -0
  6. package/dist/components/VibeAlert.vue.d.ts +61 -0
  7. package/dist/components/VibeBadge.vue.d.ts +52 -0
  8. package/dist/components/VibeBreadcrumb.vue.d.ts +43 -0
  9. package/dist/components/VibeBreadcrumbItem.vue.d.ts +51 -0
  10. package/dist/components/VibeButton.vue.d.ts +99 -0
  11. package/dist/components/VibeButtonGroup.vue.d.ts +61 -0
  12. package/dist/components/VibeCard.vue.d.ts +126 -0
  13. package/dist/components/VibeCardBody.vue.d.ts +34 -0
  14. package/dist/components/VibeCardFooter.vue.d.ts +34 -0
  15. package/dist/components/VibeCardHeader.vue.d.ts +34 -0
  16. package/dist/components/VibeCardImg.vue.d.ts +44 -0
  17. package/dist/components/VibeCardText.vue.d.ts +33 -0
  18. package/dist/components/VibeCardTitle.vue.d.ts +33 -0
  19. package/dist/components/VibeCarousel.vue.d.ts +137 -0
  20. package/dist/components/VibeCarouselSlide.vue.d.ts +80 -0
  21. package/dist/components/VibeCloseButton.vue.d.ts +38 -0
  22. package/dist/components/VibeCol.vue.d.ts +206 -0
  23. package/dist/components/VibeCollapse.vue.d.ts +70 -0
  24. package/dist/components/VibeContainer.vue.d.ts +44 -0
  25. package/dist/components/VibeDataTable.vue.d.ts +261 -0
  26. package/dist/components/VibeDropdown.vue.d.ts +96 -0
  27. package/dist/components/VibeDropdownItem.vue.d.ts +81 -0
  28. package/dist/components/VibeFormCheckbox.vue.d.ts +134 -0
  29. package/dist/components/VibeFormDatepicker.vue.d.ts +154 -0
  30. package/dist/components/VibeFormGroup.vue.d.ts +112 -0
  31. package/dist/components/VibeFormInput.vue.d.ts +154 -0
  32. package/dist/components/VibeFormRadio.vue.d.ts +132 -0
  33. package/dist/components/VibeFormSelect.vue.d.ts +167 -0
  34. package/dist/components/VibeFormSpinbutton.vue.d.ts +176 -0
  35. package/dist/components/VibeFormSwitch.vue.d.ts +107 -0
  36. package/dist/components/VibeFormTextarea.vue.d.ts +163 -0
  37. package/dist/components/VibeFormWysiwyg.vue.d.ts +156 -0
  38. package/dist/components/VibeIcon.vue.d.ts +83 -0
  39. package/dist/components/VibeListGroup.vue.d.ts +63 -0
  40. package/dist/components/VibeListGroupItem.vue.d.ts +90 -0
  41. package/dist/components/VibeModal.vue.d.ts +126 -0
  42. package/dist/components/VibeNav.vue.d.ts +81 -0
  43. package/dist/components/VibeNavItem.vue.d.ts +80 -0
  44. package/dist/components/VibeNavbar.vue.d.ts +71 -0
  45. package/dist/components/VibeNavbarBrand.vue.d.ts +42 -0
  46. package/dist/components/VibeNavbarNav.vue.d.ts +36 -0
  47. package/dist/components/VibeNavbarToggle.vue.d.ts +26 -0
  48. package/dist/components/VibeOffcanvas.vue.d.ts +89 -0
  49. package/dist/components/VibePagination.vue.d.ts +72 -0
  50. package/dist/components/VibePaginationItem.vue.d.ts +62 -0
  51. package/dist/components/VibePlaceholder.vue.d.ts +70 -0
  52. package/dist/components/VibePopover.vue.d.ts +69 -0
  53. package/dist/components/VibeProgress.vue.d.ts +33 -0
  54. package/dist/components/VibeProgressBar.vue.d.ts +88 -0
  55. package/dist/components/VibeRow.vue.d.ts +269 -0
  56. package/dist/components/VibeScrollspy.vue.d.ts +71 -0
  57. package/dist/components/VibeSpinner.vue.d.ts +55 -0
  58. package/dist/components/VibeTabContent.vue.d.ts +44 -0
  59. package/dist/components/VibeTabPane.vue.d.ts +70 -0
  60. package/dist/components/VibeToast.vue.d.ts +90 -0
  61. package/dist/components/VibeTooltip.vue.d.ts +60 -0
  62. package/dist/components/index.d.ts +63 -0
  63. package/dist/composables/useFormValidation.d.ts +26 -0
  64. package/dist/index.d.ts +3 -0
  65. package/dist/main.d.ts +0 -0
  66. package/dist/types/index.d.ts +2 -0
  67. package/dist/types.d.ts +100 -0
  68. package/dist/vibeui.css +1 -1
  69. package/dist/vibeui.es.js +1936 -704
  70. package/dist/vibeui.umd.js +1 -1
  71. package/package.json +14 -4
@@ -0,0 +1,63 @@
1
+ import { default as VibeAlert } from './VibeAlert.vue';
2
+ import { default as VibeBadge } from './VibeBadge.vue';
3
+ import { default as VibeButton } from './VibeButton.vue';
4
+ import { default as VibeButtonGroup } from './VibeButtonGroup.vue';
5
+ import { default as VibeCloseButton } from './VibeCloseButton.vue';
6
+ import { default as VibeSpinner } from './VibeSpinner.vue';
7
+ import { default as VibePlaceholder } from './VibePlaceholder.vue';
8
+ import { default as VibeContainer } from './VibeContainer.vue';
9
+ import { default as VibeRow } from './VibeRow.vue';
10
+ import { default as VibeCol } from './VibeCol.vue';
11
+ import { default as VibeCard } from './VibeCard.vue';
12
+ import { default as VibeCardHeader } from './VibeCardHeader.vue';
13
+ import { default as VibeCardBody } from './VibeCardBody.vue';
14
+ import { default as VibeCardFooter } from './VibeCardFooter.vue';
15
+ import { default as VibeCardImg } from './VibeCardImg.vue';
16
+ import { default as VibeCardTitle } from './VibeCardTitle.vue';
17
+ import { default as VibeCardText } from './VibeCardText.vue';
18
+ import { default as VibeBreadcrumb } from './VibeBreadcrumb.vue';
19
+ import { default as VibeBreadcrumbItem } from './VibeBreadcrumbItem.vue';
20
+ import { default as VibeNav } from './VibeNav.vue';
21
+ import { default as VibeNavItem } from './VibeNavItem.vue';
22
+ import { default as VibeNavbar } from './VibeNavbar.vue';
23
+ import { default as VibeNavbarBrand } from './VibeNavbarBrand.vue';
24
+ import { default as VibeNavbarToggle } from './VibeNavbarToggle.vue';
25
+ import { default as VibeNavbarNav } from './VibeNavbarNav.vue';
26
+ import { default as VibePagination } from './VibePagination.vue';
27
+ import { default as VibePaginationItem } from './VibePaginationItem.vue';
28
+ import { default as VibeTabContent } from './VibeTabContent.vue';
29
+ import { default as VibeTabPane } from './VibeTabPane.vue';
30
+ import { default as VibeListGroup } from './VibeListGroup.vue';
31
+ import { default as VibeListGroupItem } from './VibeListGroupItem.vue';
32
+ import { default as VibeProgress } from './VibeProgress.vue';
33
+ import { default as VibeProgressBar } from './VibeProgressBar.vue';
34
+ import { default as VibeAccordion } from './VibeAccordion.vue';
35
+ import { default as VibeAccordionItem } from './VibeAccordionItem.vue';
36
+ import { default as VibeCollapse } from './VibeCollapse.vue';
37
+ import { default as VibeDropdown } from './VibeDropdown.vue';
38
+ import { default as VibeDropdownItem } from './VibeDropdownItem.vue';
39
+ import { default as VibeModal } from './VibeModal.vue';
40
+ import { default as VibeOffcanvas } from './VibeOffcanvas.vue';
41
+ import { default as VibeToast } from './VibeToast.vue';
42
+ import { default as VibeCarousel } from './VibeCarousel.vue';
43
+ import { default as VibeCarouselSlide } from './VibeCarouselSlide.vue';
44
+ import { default as VibeTooltip } from './VibeTooltip.vue';
45
+ import { default as VibePopover } from './VibePopover.vue';
46
+ import { default as VibeScrollspy } from './VibeScrollspy.vue';
47
+ import { default as VibeIcon } from './VibeIcon.vue';
48
+ import { default as VibeDataTable } from './VibeDataTable.vue';
49
+ import { default as VibeFormInput } from './VibeFormInput.vue';
50
+ import { default as VibeFormSelect } from './VibeFormSelect.vue';
51
+ import { default as VibeFormTextarea } from './VibeFormTextarea.vue';
52
+ import { default as VibeFormSpinbutton } from './VibeFormSpinbutton.vue';
53
+ import { default as VibeFormDatepicker } from './VibeFormDatepicker.vue';
54
+ import { default as VibeFormCheckbox } from './VibeFormCheckbox.vue';
55
+ import { default as VibeFormRadio } from './VibeFormRadio.vue';
56
+ import { default as VibeFormSwitch } from './VibeFormSwitch.vue';
57
+ import { default as VibeFormGroup } from './VibeFormGroup.vue';
58
+ import { default as VibeFormWysiwyg } from './VibeFormWysiwyg.vue';
59
+ export { VibeAlert, VibeBadge, VibeButton, VibeButtonGroup, VibeCloseButton, VibeSpinner, VibePlaceholder, VibeContainer, VibeRow, VibeCol, VibeCard, VibeCardHeader, VibeCardBody, VibeCardFooter, VibeCardImg, VibeCardTitle, VibeCardText, VibeBreadcrumb, VibeBreadcrumbItem, VibeNav, VibeNavItem, VibeNavbar, VibeNavbarBrand, VibeNavbarToggle, VibeNavbarNav, VibePagination, VibePaginationItem, VibeTabContent, VibeTabPane, VibeListGroup, VibeListGroupItem, VibeProgress, VibeProgressBar, VibeAccordion, VibeAccordionItem, VibeCollapse, VibeDropdown, VibeDropdownItem, VibeModal, VibeOffcanvas, VibeToast, VibeCarousel, VibeCarouselSlide, VibeTooltip, VibePopover, VibeScrollspy, VibeIcon, VibeDataTable, VibeFormInput, VibeFormSelect, VibeFormTextarea, VibeFormSpinbutton, VibeFormDatepicker, VibeFormCheckbox, VibeFormRadio, VibeFormSwitch, VibeFormGroup, VibeFormWysiwyg };
60
+ declare const _default: {
61
+ install(app: any): void;
62
+ };
63
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import { ValidationState, ValidationRule, ValidatorFunction, FormValidationResult } from '../types';
2
+ export declare function useFormValidation(initialValue?: any): {
3
+ value: import('vue').Ref<any, any>;
4
+ validationState: import('vue').Ref<ValidationState, ValidationState>;
5
+ validationMessage: import('vue').Ref<string, string>;
6
+ isDirty: import('vue').Ref<boolean, boolean>;
7
+ isTouched: import('vue').Ref<boolean, boolean>;
8
+ isValidating: import('vue').Ref<boolean, boolean>;
9
+ isValid: import('vue').ComputedRef<boolean>;
10
+ isInvalid: import('vue').ComputedRef<boolean>;
11
+ validate: (rules: ValidationRule[] | ValidatorFunction | undefined) => Promise<FormValidationResult>;
12
+ reset: () => void;
13
+ markAsTouched: () => void;
14
+ markAsDirty: () => void;
15
+ };
16
+ export declare const validators: {
17
+ required: (message?: string) => ValidationRule;
18
+ email: (message?: string) => ValidationRule;
19
+ minLength: (min: number, message?: string) => ValidationRule;
20
+ maxLength: (max: number, message?: string) => ValidationRule;
21
+ min: (min: number, message?: string) => ValidationRule;
22
+ max: (max: number, message?: string) => ValidationRule;
23
+ pattern: (regex: RegExp, message?: string) => ValidationRule;
24
+ url: (message?: string) => ValidationRule;
25
+ async: (validatorFn: (value: any) => Promise<boolean | string>) => ValidationRule;
26
+ };
@@ -0,0 +1,3 @@
1
+ export * from './components';
2
+ export * from './types';
3
+ export * from './composables/useFormValidation';
package/dist/main.d.ts ADDED
File without changes
@@ -0,0 +1,2 @@
1
+ export * from '../index'
2
+ export {}
@@ -0,0 +1,100 @@
1
+ export type Variant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark';
2
+ export type Size = 'sm' | 'lg';
3
+ export type ButtonType = 'button' | 'submit' | 'reset';
4
+ export type Placement = 'top' | 'bottom' | 'start' | 'end';
5
+ export type Tag = 'div' | 'span' | 'section' | 'article' | 'nav' | 'aside' | 'header' | 'footer' | 'main';
6
+ export type Direction = 'up' | 'down' | 'start' | 'end';
7
+ export type SpinnerType = 'border' | 'grow';
8
+ export type PlaceholderAnimation = 'glow' | 'wave';
9
+ export type OffcanvasPlacement = 'start' | 'end' | 'top' | 'bottom';
10
+ export type ToastPlacement = 'top-start' | 'top-center' | 'top-end' | 'middle-start' | 'middle-center' | 'middle-end' | 'bottom-start' | 'bottom-center' | 'bottom-end';
11
+ export type NavbarPosition = 'fixed-top' | 'fixed-bottom' | 'sticky-top';
12
+ export type ContainerType = 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
13
+ export type ColSize = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'auto';
14
+ export type GutterSize = 0 | 1 | 2 | 3 | 4 | 5;
15
+ export type RowColsSize = 1 | 2 | 3 | 4 | 5 | 6;
16
+ export type OrderValue = 0 | 1 | 2 | 3 | 4 | 5 | 'first' | 'last';
17
+ export type AlignItems = 'start' | 'center' | 'end' | 'baseline' | 'stretch';
18
+ export type JustifyContent = 'start' | 'center' | 'end' | 'around' | 'between' | 'evenly';
19
+ export type SortDirection = 'asc' | 'desc' | null;
20
+ export interface DataTableColumn {
21
+ key: string;
22
+ label: string;
23
+ sortable?: boolean;
24
+ searchable?: boolean;
25
+ formatter?: (value: any, row: any) => string | number;
26
+ class?: string;
27
+ headerClass?: string;
28
+ thStyle?: Record<string, string>;
29
+ tdStyle?: Record<string, string>;
30
+ }
31
+ export interface DataTableSort {
32
+ key: string;
33
+ direction: 'asc' | 'desc';
34
+ }
35
+ export interface BreadcrumbItem {
36
+ text: string;
37
+ href?: string;
38
+ to?: string | object;
39
+ active?: boolean;
40
+ }
41
+ export interface NavItem {
42
+ text: string;
43
+ href?: string;
44
+ to?: string | object;
45
+ active?: boolean;
46
+ disabled?: boolean;
47
+ }
48
+ export interface PaginationItem {
49
+ page: number;
50
+ text?: string;
51
+ active?: boolean;
52
+ disabled?: boolean;
53
+ }
54
+ export interface ListGroupItem {
55
+ text: string;
56
+ href?: string;
57
+ to?: string | object;
58
+ active?: boolean;
59
+ disabled?: boolean;
60
+ variant?: Variant;
61
+ }
62
+ export interface AccordionItem {
63
+ id: string;
64
+ title: string;
65
+ content: string;
66
+ show?: boolean;
67
+ }
68
+ export interface DropdownItem {
69
+ text?: string;
70
+ href?: string;
71
+ to?: string | object;
72
+ active?: boolean;
73
+ disabled?: boolean;
74
+ divider?: boolean;
75
+ header?: boolean;
76
+ }
77
+ export interface CarouselItem {
78
+ src: string;
79
+ alt?: string;
80
+ caption?: string;
81
+ captionText?: string;
82
+ active?: boolean;
83
+ interval?: number;
84
+ }
85
+ export type InputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time' | 'datetime-local' | 'month' | 'week' | 'color';
86
+ export type ValidationState = 'valid' | 'invalid' | null;
87
+ export type ValidatorFunction = (value: any) => boolean | string | Promise<boolean | string>;
88
+ export interface ValidationRule {
89
+ validator: ValidatorFunction;
90
+ message?: string;
91
+ }
92
+ export interface FormValidationResult {
93
+ valid: boolean;
94
+ message?: string;
95
+ }
96
+ export interface FormSelectOption {
97
+ value: string | number;
98
+ text: string;
99
+ disabled?: boolean;
100
+ }
package/dist/vibeui.css CHANGED
@@ -1 +1 @@
1
- .vibe-datatable[data-v-48221c7b]{width:100%}.datatable-info[data-v-48221c7b]{padding:.5rem 0;color:#6c757d}
1
+ .vibe-datatable[data-v-48221c7b]{width:100%}.datatable-info[data-v-48221c7b]{padding:.5rem 0;color:#6c757d}.input-group-vertical[data-v-e706d3dc]{flex-direction:column}.input-group-vertical[data-v-e706d3dc]>*{width:100%}.vibe-wysiwyg-container[data-v-2eb8f4ff]{border:1px solid #ced4da;border-radius:.375rem}.vibe-wysiwyg-container.is-valid[data-v-2eb8f4ff]{border-color:#198754}.vibe-wysiwyg-container.is-invalid[data-v-2eb8f4ff]{border-color:#dc3545}.vibe-wysiwyg-container.disabled[data-v-2eb8f4ff]{background-color:#e9ecef;opacity:.6;cursor:not-allowed}.vibe-wysiwyg-container[data-v-2eb8f4ff] .ql-container{border:none;font-size:1rem}.vibe-wysiwyg-container[data-v-2eb8f4ff] .ql-toolbar{border:none;border-bottom:1px solid #ced4da;border-top-left-radius:.375rem;border-top-right-radius:.375rem}.vibe-wysiwyg-container[data-v-2eb8f4ff] .ql-editor{min-height:150px}