@velkymx/vibeui 0.8.1 → 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 (40) 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 +4257 -1827
  39. package/dist/vibeui.umd.js +1 -1
  40. package/package.json +3 -1
package/README.md CHANGED
@@ -39,9 +39,41 @@ import 'bootstrap/dist/css/bootstrap.min.css';
39
39
  createApp(App).use(VibeUI).mount('#app');
40
40
  ```
41
41
 
42
+ ## What's New in v0.9
43
+
44
+ A big release driven by real-app migration feedback and a jQuery UI parity push.
45
+
46
+ **New components**
47
+ - `VibeFileInput` — file picker with drag-drop, accept enforcement, size limit
48
+ - `VibeSkeleton` — text / rect / circle / card loading placeholders with shimmer
49
+ - `VibeDatePicker` — calendar popover with single + range mode, keyboard nav
50
+ - `VibeAutocomplete` — search-as-you-type, sync or async source, debounced
51
+ - `VibeTabs` / `VibeTab` — tab container with content switching, lazy mode
52
+ - `VibeStepper` — multi-step wizard with sync/async guards
53
+ - `VibeSortable` — drag-to-reorder list
54
+ - `VibeDraggable` / `VibeDroppable` — kanban / builder primitives
55
+ - `VibeResizable` — corner / edge handle resizing with aspect / grid
56
+ - `VibeSlider` — single + range slider with handle swap, track click, keyboard
57
+ - `VibeToastHost` — host component for the new toast service
58
+
59
+ **New composables / directive**
60
+ - `useForm` — multi-field forms with reactive `fields`, `errors`, `touched`
61
+ - `useToast` — `toast.success() / error() / warn() / info() / dismiss()`
62
+ - `usePosition` — floating-ui-backed anchor positioning
63
+ - `v-vibe-tooltip` — inline tooltip directive
64
+
65
+ **API improvements**
66
+ - `VibeAlert`: rich slot content; `dismissible` (correctly spelled) alias
67
+ - `VibeButton`: `variant="link"`
68
+ - `VibeDataTable`: generic columns (`DataTableColumn<MyRow>`)
69
+ - `VibeFormSelect`: typed primitive option values (`null`, `undefined`, `boolean`)
70
+ - `VibeFormWysiwyg`: toolbar string presets (`'minimal' | 'standard' | 'full'`)
71
+
72
+ **Dependency**: `@floating-ui/dom` added (used by `usePosition`).
73
+
42
74
  ## Advanced Interactivity
43
75
 
44
- VibeUI v0.8.0 is optimized for mobile and hybrid apps, and fully abstracts Bootstrap's JavaScript. You no longer need to manually initialize tooltips, modals, or collapses.
76
+ VibeUI fully abstracts Bootstrap's JavaScript you don't manually initialize tooltips, modals, or collapses. Touch devices get sensible defaults out of the box.
45
77
 
46
78
  ```vue
47
79
  <template>
@@ -51,6 +83,9 @@ VibeUI v0.8.0 is optimized for mobile and hybrid apps, and fully abstracts Boots
51
83
  <VibeButton>Hover or Tap Me</VibeButton>
52
84
  </VibeTooltip>
53
85
 
86
+ <!-- Or as a directive (v0.9) -->
87
+ <VibeButton v-vibe-tooltip="'Inline tooltip'">Save</VibeButton>
88
+
54
89
  <!-- Full v-model support for Modals with Android back button support -->
55
90
  <VibeModal v-model="showModal" title="Hello!">
56
91
  Fully reactive, automated, and hybrid-ready.
@@ -70,23 +105,150 @@ VibeUI handles accessibility and IDs for you.
70
105
  <VibeFormInput v-model="email" type="email" />
71
106
  </VibeFormGroup>
72
107
 
73
- <!-- New in v0.8.0: Input Groups -->
74
108
  <VibeInputGroup prepend="@">
75
109
  <VibeFormInput v-model="username" noWrapper />
76
110
  </VibeInputGroup>
111
+
112
+ <!-- New in v0.9: useForm composable for multi-field state -->
113
+ <script setup>
114
+ import { useForm, validators } from '@velkymx/vibeui'
115
+ const { fields, errors, validate, isDirty } = useForm({ name: '', email: '' })
116
+ </script>
77
117
  </template>
78
118
  ```
79
119
 
120
+ ## Toasts (v0.9 service form)
121
+
122
+ ```ts
123
+ import { useToast } from '@velkymx/vibeui'
124
+
125
+ const toast = useToast()
126
+ toast.success('Saved')
127
+ toast.error('Network error', { delay: 8000 })
128
+ ```
129
+
130
+ Mount `<VibeToastHost />` once at the root and dispatch from anywhere.
131
+
80
132
  ## Components
81
133
 
82
- VibeUI includes all major Bootstrap 5.3 components, fully wrapped for Vue 3:
134
+ VibeUI ships every major Bootstrap 5.3 component plus an interaction suite (drag/drop, sortable, resizable, slider, calendar) that fills the gap left by jQuery UI.
135
+
136
+ ### Layout
137
+
138
+ | Component | Description |
139
+ |-----------|-------------|
140
+ | `VibeContainer` | Bootstrap container w/ breakpoints |
141
+ | `VibeRow` | Grid row |
142
+ | `VibeCol` | Grid column |
143
+
144
+ ### Core
145
+
146
+ | Component | Doc |
147
+ |-----------|-----|
148
+ | `VibeAlert` | [docs](./docs/components/core/alert.md) |
149
+ | `VibeBadge` | [docs](./docs/components/core/badge.md) |
150
+ | `VibeButton` | [docs](./docs/components/core/button.md) |
151
+ | `VibeButtonGroup` | [docs](./docs/components/core/button-group.md) |
152
+ | `VibeCloseButton` | [docs](./docs/components/core/close-button.md) |
153
+ | `VibeIcon` | Bootstrap-icons wrapper |
154
+ | `VibeLink` | [docs](./docs/components/core/link.md) |
155
+ | `VibePlaceholder` | [docs](./docs/components/core/placeholder.md) |
156
+ | `VibeSkeleton` *(v0.9)* | [docs](./docs/components/core/skeleton.md) |
157
+ | `VibeSpinner` | [docs](./docs/components/core/spinner.md) |
158
+
159
+ ### Navigation
160
+
161
+ | Component | Doc |
162
+ |-----------|-----|
163
+ | `VibeBreadcrumb` | [docs](./docs/components/navigation/breadcrumb.md) |
164
+ | `VibeNav` | [docs](./docs/components/navigation/nav.md) |
165
+ | `VibeNavbar` (+ `Brand`, `Toggle`, `Nav`) | [docs](./docs/components/navigation/navbar.md) |
166
+ | `VibePagination` | [docs](./docs/components/navigation/pagination.md) |
167
+ | `VibeScrollspy` | [docs](./docs/components/advanced/scrollspy.md) |
168
+
169
+ ### Layout containers
170
+
171
+ | Component | Doc |
172
+ |-----------|-----|
173
+ | `VibeCard` | [docs](./docs/components/card/card.md) |
174
+ | `VibeListGroup` | [docs](./docs/components/list/list-group.md) |
175
+
176
+ ### Interactive
177
+
178
+ | Component | Doc |
179
+ |-----------|-----|
180
+ | `VibeAccordion` | [docs](./docs/components/interactive/accordion.md) |
181
+ | `VibeCarousel` | [docs](./docs/components/interactive/carousel.md) |
182
+ | `VibeCollapse` | [docs](./docs/components/interactive/collapse.md) |
183
+ | `VibeDatePicker` *(v0.9)* | [docs](./docs/components/interactive/date-picker.md) |
184
+ | `VibeDraggable` *(v0.9)* | [docs](./docs/components/interactive/draggable.md) |
185
+ | `VibeDroppable` *(v0.9)* | [docs](./docs/components/interactive/draggable.md) |
186
+ | `VibeDropdown` | [docs](./docs/components/interactive/dropdown.md) |
187
+ | `VibeModal` | [docs](./docs/components/interactive/modal.md) |
188
+ | `VibeOffcanvas` | [docs](./docs/components/interactive/offcanvas.md) |
189
+ | `VibeResizable` *(v0.9)* | [docs](./docs/components/interactive/resizable.md) |
190
+ | `VibeSlider` *(v0.9)* | [docs](./docs/components/interactive/slider.md) |
191
+ | `VibeSortable` *(v0.9)* | [docs](./docs/components/interactive/sortable.md) |
192
+ | `VibeStepper` *(v0.9)* | [docs](./docs/components/interactive/stepper.md) |
193
+ | `VibeTabs` / `VibeTab` *(v0.9)* | [docs](./docs/components/interactive/tabs.md) |
194
+ | `VibeToast` / `VibeToastHost` *(v0.9)* | [component](./docs/components/interactive/toast.md), [service](./docs/composables/use-toast.md) |
195
+
196
+ ### Tooltips & Popovers
197
+
198
+ | Component | Doc |
199
+ |-----------|-----|
200
+ | `VibePopover` | [docs](./docs/components/advanced/popover.md) |
201
+ | `VibeTooltip` | [docs](./docs/components/advanced/tooltip.md) |
202
+
203
+ ### Data
204
+
205
+ | Component | Doc |
206
+ |-----------|-----|
207
+ | `VibeDataTable` | [docs](./docs/components/data/datatable.md) |
208
+ | `VibeProgress` | [docs](./docs/components/progress/progress.md) |
209
+
210
+ ### Forms
211
+
212
+ | Component | Doc |
213
+ |-----------|-----|
214
+ | `VibeAutocomplete` *(v0.9)* | [docs](./docs/forms/autocomplete.md) |
215
+ | `VibeFileInput` *(v0.9)* | [docs](./docs/forms/file-input.md) |
216
+ | `VibeFormCheckbox` | [docs](./docs/forms/form-checkbox.md) |
217
+ | `VibeFormDatepicker` (native) | [docs](./docs/forms/form-datepicker.md) |
218
+ | `VibeFormGroup` | [docs](./docs/forms/form-group.md) |
219
+ | `VibeFormInput` | [docs](./docs/forms/form-input.md) |
220
+ | `VibeFormRadio` | [docs](./docs/forms/form-radio.md) |
221
+ | `VibeFormSelect` | [docs](./docs/forms/form-select.md) |
222
+ | `VibeFormSpinbutton` | [docs](./docs/forms/form-spinbutton.md) |
223
+ | `VibeFormSwitch` | [docs](./docs/forms/form-switch.md) |
224
+ | `VibeFormTextarea` | [docs](./docs/forms/form-textarea.md) |
225
+ | `VibeFormWysiwyg` | [docs](./docs/forms/form-wysiwyg.md) |
226
+ | `VibeInputGroup` | [docs](./docs/forms/input-group.md) |
227
+ | Validation rules | [docs](./docs/forms/validation.md) |
228
+
229
+ ### Composables
230
+
231
+ | Composable | Doc |
232
+ |------------|-----|
233
+ | `useBackButton` | [docs](./docs/composables/back-button.md) |
234
+ | `useBreakpoints` | [docs](./docs/composables/breakpoints.md) |
235
+ | `useColorMode` | [docs](./docs/composables/color-mode.md) |
236
+ | `useForm` *(v0.9)* | [docs](./docs/composables/use-form.md) |
237
+ | `useFormValidation` | [docs](./docs/forms/validation.md) |
238
+ | `usePosition` *(v0.9)* | [docs](./docs/composables/use-position.md) |
239
+ | `useToast` *(v0.9)* | [docs](./docs/composables/use-toast.md) |
240
+
241
+ ### Directives
242
+
243
+ | Directive | Doc |
244
+ |-----------|-----|
245
+ | `v-vibe-tooltip` *(v0.9)* | [docs](./docs/directives/v-tooltip.md) |
246
+
247
+ ### Utilities
83
248
 
84
- * **Layout**: Container, Row, Col
85
- * **Core**: Alert, Badge, Button, ButtonGroup, CloseButton, Spinner, Placeholder, Icon, Link
86
- * **Navigation**: Breadcrumb, Nav, Navbar, Pagination, Scrollspy
87
- * **Interactive**: Accordion, Collapse, Dropdown, Modal, Offcanvas, Toast, Carousel
88
- * **Data**: DataTable (with mobile Stack mode)
89
- * **Forms**: Input, InputGroup, Select, Textarea, Spinbutton, Datepicker, Checkbox, Radio, Switch, Wysiwyg, FormGroup
249
+ | Topic | Doc |
250
+ |-------|-----|
251
+ | Position utility classes | [docs](./docs/utilities/position.md) |
90
252
 
91
253
  ## Full Documentation
92
254
 
@@ -26,9 +26,13 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
26
26
  type: BooleanConstructor;
27
27
  default: boolean;
28
28
  };
29
+ dismissible: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
29
33
  message: {
30
34
  type: StringConstructor;
31
- required: true;
35
+ default: string;
32
36
  };
33
37
  fade: {
34
38
  type: BooleanConstructor;
@@ -56,9 +60,13 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
56
60
  type: BooleanConstructor;
57
61
  default: boolean;
58
62
  };
63
+ dismissible: {
64
+ type: BooleanConstructor;
65
+ default: boolean;
66
+ };
59
67
  message: {
60
68
  type: StringConstructor;
61
- required: true;
69
+ default: string;
62
70
  };
63
71
  fade: {
64
72
  type: BooleanConstructor;
@@ -74,6 +82,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
74
82
  subtle: boolean;
75
83
  modelValue: boolean;
76
84
  dismissable: boolean;
85
+ dismissible: boolean;
86
+ message: string;
77
87
  fade: boolean;
78
88
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
79
89
  alertRef: HTMLDivElement;
@@ -0,0 +1,46 @@
1
+ declare const _default: <T = string>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2
+ props: __VLS_PrettifyLocal<Pick<Partial<{
3
+ modelValue: string;
4
+ label: string;
5
+ disabled: boolean;
6
+ placeholder: string;
7
+ id: string;
8
+ minChars: number;
9
+ debounce: number;
10
+ itemText: (item: T) => string;
11
+ maxResults: number;
12
+ }> & Omit<{
13
+ readonly modelValue: string;
14
+ readonly source: T[] | ((query: string) => T[] | Promise<T[]>);
15
+ readonly disabled: boolean;
16
+ readonly placeholder: string;
17
+ readonly minChars: number;
18
+ readonly debounce: number;
19
+ readonly maxResults: number;
20
+ readonly label?: string | undefined;
21
+ readonly id?: string | undefined;
22
+ readonly itemText?: ((item: T) => string) | undefined;
23
+ readonly "onUpdate:modelValue"?: ((value: string) => any) | undefined;
24
+ readonly onSelect?: ((item: T) => any) | undefined;
25
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "modelValue" | "label" | "disabled" | "placeholder" | "id" | "minChars" | "debounce" | "itemText" | "maxResults">, "onUpdate:modelValue" | "source" | "onSelect" | ("modelValue" | "label" | "disabled" | "placeholder" | "id" | "minChars" | "debounce" | "itemText" | "maxResults")> & {} & Partial<{}>> & import('vue').PublicProps;
26
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
27
+ attrs: any;
28
+ slots: {
29
+ item?(_: {
30
+ item: T;
31
+ index: number;
32
+ label: string;
33
+ }): any;
34
+ empty?(_: {}): any;
35
+ };
36
+ emit: {
37
+ (e: "update:modelValue", value: string): void;
38
+ (e: "select", item: T): void;
39
+ };
40
+ }>) => import('vue').VNode & {
41
+ __ctx?: Awaited<typeof __VLS_setup>;
42
+ };
43
+ export default _default;
44
+ type __VLS_PrettifyLocal<T> = {
45
+ [K in keyof T]: T[K];
46
+ } & {};
@@ -1,4 +1,4 @@
1
- import { Variant, Size, ButtonType } from '../types';
1
+ import { ButtonVariant, Size, ButtonType } from '../types';
2
2
  declare function __VLS_template(): {
3
3
  attrs: Partial<{}>;
4
4
  slots: {
@@ -10,7 +10,7 @@ declare function __VLS_template(): {
10
10
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
11
  declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
12
12
  variant: {
13
- type: () => Variant;
13
+ type: () => ButtonVariant;
14
14
  default: string;
15
15
  };
16
16
  size: {
@@ -50,7 +50,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
50
50
  click: (...args: any[]) => void;
51
51
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
52
52
  variant: {
53
- type: () => Variant;
53
+ type: () => ButtonVariant;
54
54
  default: string;
55
55
  };
56
56
  size: {
@@ -89,7 +89,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
89
89
  "onComponent-error"?: ((...args: any[]) => any) | undefined;
90
90
  onClick?: ((...args: any[]) => any) | undefined;
91
91
  }>, {
92
- variant: Variant;
92
+ variant: ButtonVariant;
93
93
  type: ButtonType;
94
94
  size: Size;
95
95
  outline: boolean;
@@ -4,13 +4,13 @@ declare const _default: <T extends Record<string, unknown>>(__VLS_props: NonNull
4
4
  variant: string;
5
5
  small: boolean;
6
6
  items: T[];
7
+ stack: boolean;
7
8
  hover: boolean;
8
9
  rowKey: string;
9
10
  striped: boolean;
10
11
  bordered: boolean;
11
12
  borderless: boolean;
12
13
  responsive: boolean;
13
- stack: boolean;
14
14
  searchable: boolean;
15
15
  sortable: boolean;
16
16
  paginated: boolean;
@@ -26,14 +26,14 @@ declare const _default: <T extends Record<string, unknown>>(__VLS_props: NonNull
26
26
  }> & Omit<{
27
27
  readonly small: boolean;
28
28
  readonly items: T[];
29
+ readonly stack: boolean;
29
30
  readonly hover: boolean;
30
- readonly columns: DataTableColumn[];
31
+ readonly columns: DataTableColumn<T>[];
31
32
  readonly rowKey: string;
32
33
  readonly striped: boolean;
33
34
  readonly bordered: boolean;
34
35
  readonly borderless: boolean;
35
36
  readonly responsive: boolean;
36
- readonly stack: boolean;
37
37
  readonly searchable: boolean;
38
38
  readonly sortable: boolean;
39
39
  readonly paginated: boolean;
@@ -53,7 +53,7 @@ declare const _default: <T extends Record<string, unknown>>(__VLS_props: NonNull
53
53
  readonly "onUpdate:sortBy"?: ((value: string | undefined) => any) | undefined;
54
54
  readonly "onUpdate:sortDesc"?: ((value: boolean) => any) | undefined;
55
55
  readonly "onRow-clicked"?: ((...args: any[]) => any) | undefined;
56
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "variant" | "small" | "items" | "hover" | "rowKey" | "striped" | "bordered" | "borderless" | "responsive" | "stack" | "searchable" | "sortable" | "paginated" | "searchPlaceholder" | "searchDebounce" | "showEmpty" | "emptyText" | "showPerPage" | "showInfo" | "infoText" | "filteredInfoText" | "perPageOptions">, "onComponent-error" | "onUpdate:currentPage" | "columns" | "onUpdate:perPage" | "onUpdate:sortBy" | "onUpdate:sortDesc" | "onRow-clicked" | ("variant" | "small" | "items" | "hover" | "rowKey" | "striped" | "bordered" | "borderless" | "responsive" | "stack" | "searchable" | "sortable" | "paginated" | "searchPlaceholder" | "searchDebounce" | "showEmpty" | "emptyText" | "showPerPage" | "showInfo" | "infoText" | "filteredInfoText" | "perPageOptions")> & {
56
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "variant" | "small" | "items" | "stack" | "hover" | "rowKey" | "striped" | "bordered" | "borderless" | "responsive" | "searchable" | "sortable" | "paginated" | "searchPlaceholder" | "searchDebounce" | "showEmpty" | "emptyText" | "showPerPage" | "showInfo" | "infoText" | "filteredInfoText" | "perPageOptions">, "onComponent-error" | "onUpdate:currentPage" | "columns" | "onUpdate:perPage" | "onUpdate:sortBy" | "onUpdate:sortDesc" | "onRow-clicked" | ("variant" | "small" | "items" | "stack" | "hover" | "rowKey" | "striped" | "bordered" | "borderless" | "responsive" | "searchable" | "sortable" | "paginated" | "searchPlaceholder" | "searchDebounce" | "showEmpty" | "emptyText" | "showPerPage" | "showInfo" | "infoText" | "filteredInfoText" | "perPageOptions")> & {
57
57
  currentPage?: number;
58
58
  perPage?: number;
59
59
  sortBy?: string | undefined;
@@ -61,9 +61,9 @@ declare const _default: <T extends Record<string, unknown>>(__VLS_props: NonNull
61
61
  } & Partial<{}>> & import('vue').PublicProps;
62
62
  expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
63
63
  attrs: any;
64
- slots: Partial<Record<`cell(${string})`, (_: {
64
+ slots: Partial<Record<`cell(${keyof T & string})`, (_: {
65
65
  item: T;
66
- value: unknown;
66
+ value: T[keyof T & string];
67
67
  index: number;
68
68
  }) => any>>;
69
69
  emit: ((event: "component-error" | "row-clicked", ...args: any[]) => void) & (((evt: "update:currentPage", value: number) => void) & ((evt: "update:perPage", value: number) => void) & ((evt: "update:sortBy", value: string | undefined) => void) & ((evt: "update:sortDesc", value: boolean) => void));
@@ -0,0 +1,122 @@
1
+ import { PropType } from 'vue';
2
+ type IsoDate = string;
3
+ type DateValue = IsoDate | null;
4
+ type RangeValue = [DateValue, DateValue];
5
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
6
+ modelValue: {
7
+ type: PropType<DateValue | RangeValue>;
8
+ default: null;
9
+ };
10
+ range: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ min: {
15
+ type: PropType<IsoDate>;
16
+ default: undefined;
17
+ };
18
+ max: {
19
+ type: PropType<IsoDate>;
20
+ default: undefined;
21
+ };
22
+ disabledDates: {
23
+ type: PropType<IsoDate[]>;
24
+ default: () => never[];
25
+ };
26
+ format: {
27
+ type: PropType<(iso: IsoDate) => string>;
28
+ default: undefined;
29
+ };
30
+ placeholder: {
31
+ type: StringConstructor;
32
+ default: string;
33
+ };
34
+ weekStart: {
35
+ type: NumberConstructor;
36
+ default: number;
37
+ };
38
+ id: {
39
+ type: StringConstructor;
40
+ default: undefined;
41
+ };
42
+ label: {
43
+ type: StringConstructor;
44
+ default: undefined;
45
+ };
46
+ disabled: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ }>, {
51
+ open: () => void;
52
+ close: () => void;
53
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
54
+ "update:modelValue": (value: DateValue | RangeValue) => any;
55
+ close: () => any;
56
+ open: () => any;
57
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
58
+ modelValue: {
59
+ type: PropType<DateValue | RangeValue>;
60
+ default: null;
61
+ };
62
+ range: {
63
+ type: BooleanConstructor;
64
+ default: boolean;
65
+ };
66
+ min: {
67
+ type: PropType<IsoDate>;
68
+ default: undefined;
69
+ };
70
+ max: {
71
+ type: PropType<IsoDate>;
72
+ default: undefined;
73
+ };
74
+ disabledDates: {
75
+ type: PropType<IsoDate[]>;
76
+ default: () => never[];
77
+ };
78
+ format: {
79
+ type: PropType<(iso: IsoDate) => string>;
80
+ default: undefined;
81
+ };
82
+ placeholder: {
83
+ type: StringConstructor;
84
+ default: string;
85
+ };
86
+ weekStart: {
87
+ type: NumberConstructor;
88
+ default: number;
89
+ };
90
+ id: {
91
+ type: StringConstructor;
92
+ default: undefined;
93
+ };
94
+ label: {
95
+ type: StringConstructor;
96
+ default: undefined;
97
+ };
98
+ disabled: {
99
+ type: BooleanConstructor;
100
+ default: boolean;
101
+ };
102
+ }>> & Readonly<{
103
+ "onUpdate:modelValue"?: ((value: DateValue | RangeValue) => any) | undefined;
104
+ onClose?: (() => any) | undefined;
105
+ onOpen?: (() => any) | undefined;
106
+ }>, {
107
+ modelValue: DateValue | RangeValue;
108
+ label: string;
109
+ disabled: boolean;
110
+ placeholder: string;
111
+ id: string;
112
+ range: boolean;
113
+ min: string;
114
+ max: string;
115
+ disabledDates: string[];
116
+ format: (iso: IsoDate) => string;
117
+ weekStart: number;
118
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
119
+ rootRef: HTMLDivElement;
120
+ popoverRef: HTMLDivElement;
121
+ }, HTMLDivElement>;
122
+ export default _default;
@@ -0,0 +1,81 @@
1
+ import { PropType } from 'vue';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {
6
+ isDragging: boolean;
7
+ }): any;
8
+ };
9
+ refs: {};
10
+ rootEl: any;
11
+ };
12
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
14
+ payload: {
15
+ type: PropType<unknown>;
16
+ default: undefined;
17
+ };
18
+ group: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ disabled: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ tag: {
27
+ type: StringConstructor;
28
+ default: string;
29
+ };
30
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
31
+ dragend: (payload: {
32
+ payload: unknown;
33
+ group: string;
34
+ event: DragEvent;
35
+ }) => any;
36
+ dragstart: (payload: {
37
+ payload: unknown;
38
+ group: string;
39
+ event: DragEvent;
40
+ }) => any;
41
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
42
+ payload: {
43
+ type: PropType<unknown>;
44
+ default: undefined;
45
+ };
46
+ group: {
47
+ type: StringConstructor;
48
+ default: string;
49
+ };
50
+ disabled: {
51
+ type: BooleanConstructor;
52
+ default: boolean;
53
+ };
54
+ tag: {
55
+ type: StringConstructor;
56
+ default: string;
57
+ };
58
+ }>> & Readonly<{
59
+ onDragend?: ((payload: {
60
+ payload: unknown;
61
+ group: string;
62
+ event: DragEvent;
63
+ }) => any) | undefined;
64
+ onDragstart?: ((payload: {
65
+ payload: unknown;
66
+ group: string;
67
+ event: DragEvent;
68
+ }) => any) | undefined;
69
+ }>, {
70
+ tag: string;
71
+ disabled: boolean;
72
+ group: string;
73
+ payload: undefined;
74
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
75
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
76
+ export default _default;
77
+ type __VLS_WithTemplateSlots<T, S> = T & {
78
+ new (): {
79
+ $slots: S;
80
+ };
81
+ };
@@ -0,0 +1,74 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {
5
+ isOver: boolean;
6
+ }): any;
7
+ };
8
+ refs: {};
9
+ rootEl: any;
10
+ };
11
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
12
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
13
+ group: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ acceptGroups: {
18
+ type: () => string[];
19
+ default: undefined;
20
+ };
21
+ disabled: {
22
+ type: BooleanConstructor;
23
+ default: boolean;
24
+ };
25
+ tag: {
26
+ type: StringConstructor;
27
+ default: string;
28
+ };
29
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
30
+ dragenter: (event: DragEvent) => any;
31
+ dragleave: (event: DragEvent) => any;
32
+ drop: (payload: {
33
+ payload: unknown;
34
+ group: string;
35
+ event: DragEvent;
36
+ }) => any;
37
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
38
+ group: {
39
+ type: StringConstructor;
40
+ default: string;
41
+ };
42
+ acceptGroups: {
43
+ type: () => string[];
44
+ default: undefined;
45
+ };
46
+ disabled: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ tag: {
51
+ type: StringConstructor;
52
+ default: string;
53
+ };
54
+ }>> & Readonly<{
55
+ onDragenter?: ((event: DragEvent) => any) | undefined;
56
+ onDragleave?: ((event: DragEvent) => any) | undefined;
57
+ onDrop?: ((payload: {
58
+ payload: unknown;
59
+ group: string;
60
+ event: DragEvent;
61
+ }) => any) | undefined;
62
+ }>, {
63
+ tag: string;
64
+ disabled: boolean;
65
+ group: string;
66
+ acceptGroups: string[];
67
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
68
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
69
+ export default _default;
70
+ type __VLS_WithTemplateSlots<T, S> = T & {
71
+ new (): {
72
+ $slots: S;
73
+ };
74
+ };