@ertugrulozcan97/apexui 0.1.0 → 0.1.2

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 (36) hide show
  1. package/README.md +131 -22
  2. package/dist/index.d.ts +6 -0
  3. package/dist/src/components/UBadge.vue.d.ts +21 -0
  4. package/dist/src/components/UButton.vue.d.ts +30 -0
  5. package/dist/src/components/UCheckbox.vue.d.ts +23 -0
  6. package/dist/src/components/UDialog.vue.d.ts +47 -0
  7. package/dist/src/components/UDialogProvider.vue.d.ts +3 -0
  8. package/dist/src/components/UDrawer.vue.d.ts +33 -0
  9. package/dist/src/components/UDropzone.vue.d.ts +16 -0
  10. package/dist/src/components/UEmptyState.vue.d.ts +27 -0
  11. package/dist/src/components/UFormRow.vue.d.ts +13 -0
  12. package/dist/src/components/UIcon.vue.d.ts +15 -0
  13. package/dist/src/components/UIconButton.vue.d.ts +31 -0
  14. package/dist/src/components/UInput.vue.d.ts +36 -0
  15. package/dist/src/components/UListCard.vue.d.ts +20 -0
  16. package/dist/src/components/UListCardCell.vue.d.ts +24 -0
  17. package/dist/src/components/ULogoMark.vue.d.ts +8 -0
  18. package/dist/src/components/UModal.vue.d.ts +28 -0
  19. package/dist/src/components/UPageLayout.vue.d.ts +38 -0
  20. package/dist/src/components/URadio.vue.d.ts +20 -0
  21. package/dist/src/components/USelect.vue.d.ts +64 -0
  22. package/dist/src/components/USidebar.vue.d.ts +48 -0
  23. package/dist/src/components/UStatCard.vue.d.ts +24 -0
  24. package/dist/src/components/USwitch.vue.d.ts +21 -0
  25. package/dist/src/components/UTable.vue.d.ts +120 -0
  26. package/dist/src/components/UTableColumnToggle.vue.d.ts +18 -0
  27. package/dist/src/components/UTablePager.vue.d.ts +20 -0
  28. package/dist/src/components/UTableRow.vue.d.ts +27 -0
  29. package/dist/src/components/UTabs.vue.d.ts +17 -0
  30. package/dist/src/components/UToastProvider.vue.d.ts +13 -0
  31. package/dist/src/components/UTopBar.vue.d.ts +28 -0
  32. package/dist/src/components/index.d.ts +48 -0
  33. package/dist/src/composables/useDialog.d.ts +35 -0
  34. package/dist/src/composables/useToast.d.ts +33 -0
  35. package/dist/src/main.d.ts +0 -0
  36. package/package.json +3 -3
package/README.md CHANGED
@@ -1,38 +1,147 @@
1
- # .
1
+ # ApexUI
2
2
 
3
- This template should help get you started developing with Vue 3 in Vite.
3
+ A Vue 3 UI component library built with Tailwind CSS v4 and TypeScript.
4
4
 
5
- ## Recommended IDE Setup
5
+ ## Requirements
6
6
 
7
- [VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
7
+ - Vue 3.4
8
+ - Tailwind CSS ≥ 4.0 (with `@tailwindcss/vite`)
9
+ - `@lucide/vue` ≥ 1.0
8
10
 
9
- ## Recommended Browser Setup
11
+ ## Installation
10
12
 
11
- - Chromium-based browsers (Chrome, Edge, Brave, etc.):
12
- - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
13
- - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters)
14
- - Firefox:
15
- - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)
16
- - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/)
13
+ ```bash
14
+ npm install @ertugrulozcan97/apexui
15
+ ```
16
+
17
+ ## Setup
18
+
19
+ ### 1. Import styles
20
+
21
+ In your `main.css` (or equivalent), import the library's design tokens and your Tailwind base **before** your own styles:
22
+
23
+ ```css
24
+ @import "tailwindcss";
25
+ @import "@ertugrulozcan97/apexui/style";
26
+ ```
27
+
28
+ ### 2. Register the plugin
29
+
30
+ ```ts
31
+ // main.ts
32
+ import { createApp } from "vue"
33
+ import App from "./App.vue"
34
+ import ApexUI from "@ertugrulozcan97/apexui"
35
+
36
+ const app = createApp(App)
37
+ app.use(ApexUI)
38
+ app.mount("#app")
39
+ ```
40
+
41
+ ### 3. Add providers
42
+
43
+ Place these once in your root `App.vue` template. They are required for toasts and dialogs to work:
44
+
45
+ ```vue
46
+ <template>
47
+ <UToastProvider />
48
+ <UDialogProvider />
49
+ <RouterView />
50
+ </template>
51
+ ```
17
52
 
18
- ## Customize configuration
53
+ ## À la carte usage
19
54
 
20
- See [Vite Configuration Reference](https://vite.dev/config/).
55
+ Import only what you need instead of registering the full plugin:
21
56
 
22
- ## Project Setup
57
+ ```ts
58
+ import { UButton, UInput, useToast, useDialog } from "@ertugrulozcan97/apexui"
59
+ ```
60
+
61
+ ## Components
62
+
63
+ | Component | Description |
64
+ | -------------------- | ----------------------------------------------------------------------------------- |
65
+ | `UBadge` | Status badge with variants: `success`, `warning`, `danger`, `info`, `neutral` |
66
+ | `UButton` | Button with variants `primary`, `secondary`, `danger`, `ghost` and sizes `md`, `sm` |
67
+ | `UCheckbox` | Checkbox with label and v-model support |
68
+ | `UDialog` | Programmatic confirmation dialog (used with `useDialog`) |
69
+ | `UDialogProvider` | Required provider — mount once in root |
70
+ | `UDrawer` | Slide-over panel, supports `left`, `right`, `top`, `bottom` sides |
71
+ | `UDropzone` | File drag-and-drop upload area |
72
+ | `UEmptyState` | Empty state placeholder with icon, title, and description |
73
+ | `UFormRow` | Form field wrapper with label and hint |
74
+ | `UIcon` | Lucide icon wrapper with color and size props |
75
+ | `UIconButton` | Square icon-only button |
76
+ | `UInput` | Text input, textarea, or select — controlled via `v-model` |
77
+ | `UListCard` | Card container for list items |
78
+ | `UListCardCell` | Cell inside a `UListCard` |
79
+ | `ULogoMark` | Brand logo mark |
80
+ | `UModal` | Modal dialog with slot-based content |
81
+ | `UPageLayout` | Two-column page layout (sidebar + content) |
82
+ | `URadio` | Radio button with label |
83
+ | `USelect` | Dropdown select with `v-model` |
84
+ | `USidebar` | Navigation sidebar with sections, items, and nested children |
85
+ | `UStatCard` | Statistic card with label, value, and trend |
86
+ | `USwitch` | Toggle switch with sizes `md`, `sm` |
87
+ | `UTabs` | Tab bar with active tab tracking |
88
+ | `UTable` | Data table with sorting, pagination, and column toggling |
89
+ | `UTableColumnToggle` | Popover to show/hide table columns |
90
+ | `UTablePager` | Pagination controls for `UTable` |
91
+ | `UTableRow` | Row wrapper for `UTable` |
92
+ | `UToastProvider` | Required provider — mount once in root |
93
+ | `UTopBar` | Top navigation bar |
94
+
95
+ ## Composables
96
+
97
+ ### `useToast`
98
+
99
+ ```ts
100
+ import { useToast } from "@ertugrulozcan97/apexui"
101
+
102
+ const toast = useToast()
23
103
 
24
- ```sh
25
- npm install
104
+ toast.success("Saved successfully")
105
+ toast.error("Something went wrong")
106
+ toast.warning("Check your input")
107
+ toast.info("New update available")
26
108
  ```
27
109
 
28
- ### Compile and Hot-Reload for Development
110
+ ### `useDialog`
29
111
 
30
- ```sh
31
- npm run dev
112
+ ```ts
113
+ import { useDialog } from "@ertugrulozcan97/apexui"
114
+
115
+ const dialog = useDialog()
116
+
117
+ const confirmed = await dialog.confirm({
118
+ title: "Delete item",
119
+ message: "This action cannot be undone.",
120
+ variant: "danger",
121
+ })
32
122
  ```
33
123
 
34
- ### Compile and Minify for Production
124
+ ## Example
125
+
126
+ ```vue
127
+ <script setup lang="ts">
128
+ import { ref } from "vue"
129
+ import { UButton, UInput, useToast } from "@ertugrulozcan97/apexui"
130
+
131
+ const name = ref("")
132
+ const toast = useToast()
35
133
 
36
- ```sh
37
- npm run build
134
+ function submit() {
135
+ toast.success(`Hello, ${name.value}!`)
136
+ }
137
+ </script>
138
+
139
+ <template>
140
+ <UInput v-model="name" label="Name" placeholder="Enter your name" />
141
+ <UButton @click="submit">Submit</UButton>
142
+ </template>
38
143
  ```
144
+
145
+ ## License
146
+
147
+ MIT
@@ -0,0 +1,6 @@
1
+ export * from './src/components/index'
2
+ export {}
3
+ import ApexUI from './src/components/index'
4
+ export default ApexUI
5
+ export * from './src/components/index'
6
+ export {}
@@ -0,0 +1,21 @@
1
+ export type BadgeVariant = 'success' | 'warning' | 'danger' | 'info' | 'neutral';
2
+ type __VLS_Props = {
3
+ variant?: BadgeVariant;
4
+ dot?: boolean;
5
+ };
6
+ declare var __VLS_1: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_1) => any;
9
+ };
10
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
11
+ variant: BadgeVariant;
12
+ dot: boolean;
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
17
+ type __VLS_WithSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -0,0 +1,30 @@
1
+ export type ButtonVariant = 'primary' | 'secondary' | 'danger' | 'ghost';
2
+ export type ButtonSize = 'md' | 'sm';
3
+ type __VLS_Props = {
4
+ variant?: ButtonVariant;
5
+ size?: ButtonSize;
6
+ disabled?: boolean;
7
+ type?: 'button' | 'submit' | 'reset';
8
+ };
9
+ declare var __VLS_1: {};
10
+ type __VLS_Slots = {} & {
11
+ default?: (props: typeof __VLS_1) => any;
12
+ };
13
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ click: (event: MouseEvent) => any;
15
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ onClick?: ((event: MouseEvent) => any) | undefined;
17
+ }>, {
18
+ variant: ButtonVariant;
19
+ type: "button" | "submit" | "reset";
20
+ size: ButtonSize;
21
+ disabled: boolean;
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
23
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
26
+ type __VLS_WithSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1,23 @@
1
+ type ModelValue = boolean | unknown[];
2
+ type __VLS_Props = {
3
+ modelValue?: ModelValue;
4
+ value?: unknown;
5
+ label?: string;
6
+ hint?: string;
7
+ disabled?: boolean;
8
+ indeterminate?: boolean;
9
+ };
10
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ "update:modelValue": (value: ModelValue) => any;
12
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ "onUpdate:modelValue"?: ((value: ModelValue) => any) | undefined;
14
+ }>, {
15
+ label: string;
16
+ disabled: boolean;
17
+ modelValue: ModelValue;
18
+ value: undefined;
19
+ hint: string;
20
+ indeterminate: boolean;
21
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
@@ -0,0 +1,47 @@
1
+ import { DialogVariant } from '../composables/useDialog.ts';
2
+ type __VLS_Props = {
3
+ modelValue?: boolean;
4
+ title?: string;
5
+ message?: string;
6
+ variant?: DialogVariant;
7
+ confirmLabel?: string;
8
+ cancelLabel?: string;
9
+ hideCancelButton?: boolean;
10
+ loading?: boolean;
11
+ width?: string;
12
+ };
13
+ declare var __VLS_19: {}, __VLS_26: {}, __VLS_28: {};
14
+ type __VLS_Slots = {} & {
15
+ icon?: (props: typeof __VLS_19) => any;
16
+ } & {
17
+ default?: (props: typeof __VLS_26) => any;
18
+ } & {
19
+ footer?: (props: typeof __VLS_28) => any;
20
+ };
21
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ "update:modelValue": (value: boolean) => any;
23
+ confirm: () => any;
24
+ cancel: () => any;
25
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
26
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
27
+ onConfirm?: (() => any) | undefined;
28
+ onCancel?: (() => any) | undefined;
29
+ }>, {
30
+ variant: DialogVariant;
31
+ title: string;
32
+ modelValue: boolean;
33
+ width: string;
34
+ message: string;
35
+ confirmLabel: string;
36
+ cancelLabel: string;
37
+ hideCancelButton: boolean;
38
+ loading: boolean;
39
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
40
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
41
+ declare const _default: typeof __VLS_export;
42
+ export default _default;
43
+ type __VLS_WithSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,33 @@
1
+ export type DrawerSide = 'left' | 'right';
2
+ type __VLS_Props = {
3
+ modelValue?: boolean;
4
+ title?: string;
5
+ /** CSS width of the drawer panel */
6
+ width?: string;
7
+ /** Which edge the drawer slides in from */
8
+ side?: DrawerSide;
9
+ };
10
+ declare var __VLS_24: {}, __VLS_26: {};
11
+ type __VLS_Slots = {} & {
12
+ default?: (props: typeof __VLS_24) => any;
13
+ } & {
14
+ footer?: (props: typeof __VLS_26) => any;
15
+ };
16
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
17
+ "update:modelValue": (value: boolean) => any;
18
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
20
+ }>, {
21
+ title: string;
22
+ modelValue: boolean;
23
+ width: string;
24
+ side: DrawerSide;
25
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
26
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
+ declare const _default: typeof __VLS_export;
28
+ export default _default;
29
+ type __VLS_WithSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -0,0 +1,16 @@
1
+ type __VLS_Props = {
2
+ label?: string;
3
+ subtext?: string;
4
+ accept?: string;
5
+ };
6
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ change: (files: FileList | null) => any;
8
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ onChange?: ((files: FileList | null) => any) | undefined;
10
+ }>, {
11
+ label: string;
12
+ subtext: string;
13
+ accept: string;
14
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
@@ -0,0 +1,27 @@
1
+ import { Component } from 'vue';
2
+ type __VLS_Props = {
3
+ icon?: Component;
4
+ iconColor?: string;
5
+ title?: string;
6
+ message?: string;
7
+ noBorder?: boolean;
8
+ };
9
+ declare var __VLS_6: {};
10
+ type __VLS_Slots = {} & {
11
+ action?: (props: typeof __VLS_6) => any;
12
+ };
13
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
+ title: string;
15
+ message: string;
16
+ icon: Component;
17
+ iconColor: string;
18
+ noBorder: boolean;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
+ declare const _default: typeof __VLS_export;
22
+ export default _default;
23
+ type __VLS_WithSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
@@ -0,0 +1,13 @@
1
+ declare var __VLS_1: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_1) => any;
4
+ };
5
+ declare const __VLS_base: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
9
+ type __VLS_WithSlots<T, S> = T & {
10
+ new (): {
11
+ $slots: S;
12
+ };
13
+ };
@@ -0,0 +1,15 @@
1
+ import { Component } from 'vue';
2
+ export type IconColor = 'neutral' | 'primary' | 'success' | 'warning' | 'error';
3
+ type __VLS_Props = {
4
+ icon: Component;
5
+ iconColor?: IconColor;
6
+ size?: number;
7
+ strokeWidth?: number;
8
+ };
9
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
10
+ size: number;
11
+ strokeWidth: number;
12
+ iconColor: IconColor;
13
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
@@ -0,0 +1,31 @@
1
+ export type IconButtonSize = 'md' | 'sm';
2
+ type __VLS_Props = {
3
+ ariaLabel?: string;
4
+ dot?: boolean;
5
+ danger?: boolean;
6
+ filled?: boolean;
7
+ size?: IconButtonSize;
8
+ };
9
+ declare var __VLS_1: {};
10
+ type __VLS_Slots = {} & {
11
+ default?: (props: typeof __VLS_1) => any;
12
+ };
13
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ click: (event: MouseEvent) => any;
15
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ onClick?: ((event: MouseEvent) => any) | undefined;
17
+ }>, {
18
+ danger: boolean;
19
+ dot: boolean;
20
+ size: IconButtonSize;
21
+ ariaLabel: string;
22
+ filled: boolean;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
24
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
+ declare const _default: typeof __VLS_export;
26
+ export default _default;
27
+ type __VLS_WithSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,36 @@
1
+ type __VLS_Props = {
2
+ modelValue?: string | number;
3
+ label?: string;
4
+ hint?: string;
5
+ type?: string;
6
+ as?: 'input' | 'textarea' | 'select';
7
+ placeholder?: string;
8
+ disabled?: boolean;
9
+ rows?: number;
10
+ };
11
+ declare var __VLS_1: {};
12
+ type __VLS_Slots = {} & {
13
+ options?: (props: typeof __VLS_1) => any;
14
+ };
15
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ "update:modelValue": (value: string | number) => any;
17
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
19
+ }>, {
20
+ label: string;
21
+ type: string;
22
+ disabled: boolean;
23
+ modelValue: string | number;
24
+ hint: string;
25
+ as: "input" | "textarea" | "select";
26
+ placeholder: string;
27
+ rows: number;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
29
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
30
+ declare const _default: typeof __VLS_export;
31
+ export default _default;
32
+ type __VLS_WithSlots<T, S> = T & {
33
+ new (): {
34
+ $slots: S;
35
+ };
36
+ };
@@ -0,0 +1,20 @@
1
+ type __VLS_Props = {
2
+ columns?: string;
3
+ header?: boolean;
4
+ };
5
+ declare var __VLS_1: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_1) => any;
8
+ };
9
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
10
+ header: boolean;
11
+ columns: string;
12
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,24 @@
1
+ type __VLS_Props = {
2
+ label?: string;
3
+ value?: string;
4
+ align?: 'left' | 'right';
5
+ color?: string;
6
+ };
7
+ declare var __VLS_1: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ };
11
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
+ label: string;
13
+ value: string;
14
+ color: string;
15
+ align: "left" | "right";
16
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,8 @@
1
+ type __VLS_Props = {
2
+ size?: number;
3
+ };
4
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
5
+ size: number;
6
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,28 @@
1
+ type __VLS_Props = {
2
+ modelValue?: boolean;
3
+ title?: string;
4
+ width?: string;
5
+ };
6
+ declare var __VLS_18: {}, __VLS_20: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_18) => any;
9
+ } & {
10
+ footer?: (props: typeof __VLS_20) => any;
11
+ };
12
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "update:modelValue": (value: boolean) => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
16
+ }>, {
17
+ title: string;
18
+ modelValue: boolean;
19
+ width: string;
20
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
21
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -0,0 +1,38 @@
1
+ type __VLS_Props = {
2
+ active?: string;
3
+ pageTitle?: string;
4
+ pageSubtitle?: string;
5
+ userName?: string;
6
+ userInitials?: string;
7
+ notification?: boolean;
8
+ };
9
+ declare var __VLS_17: {};
10
+ type __VLS_Slots = {} & {
11
+ default?: (props: typeof __VLS_17) => any;
12
+ };
13
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ search: (query: string) => any;
15
+ navigate: (key: string) => any;
16
+ "notification-click": () => any;
17
+ "user-click": () => any;
18
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ onSearch?: ((query: string) => any) | undefined;
20
+ onNavigate?: ((key: string) => any) | undefined;
21
+ "onNotification-click"?: (() => any) | undefined;
22
+ "onUser-click"?: (() => any) | undefined;
23
+ }>, {
24
+ active: string;
25
+ userName: string;
26
+ userInitials: string;
27
+ notification: boolean;
28
+ pageTitle: string;
29
+ pageSubtitle: string;
30
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
31
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
32
+ declare const _default: typeof __VLS_export;
33
+ export default _default;
34
+ type __VLS_WithSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,20 @@
1
+ type __VLS_Props = {
2
+ modelValue?: unknown;
3
+ value?: unknown;
4
+ label?: string;
5
+ hint?: string;
6
+ disabled?: boolean;
7
+ };
8
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ "update:modelValue": (value: unknown) => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
12
+ }>, {
13
+ label: string;
14
+ disabled: boolean;
15
+ modelValue: undefined;
16
+ value: undefined;
17
+ hint: string;
18
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
@@ -0,0 +1,64 @@
1
+ type SelectOption = Record<string, unknown> | string | number | null;
2
+ type __VLS_Props = {
3
+ modelValue?: unknown;
4
+ options?: SelectOption[];
5
+ /** Key to use as display label when options are objects */
6
+ labelKey?: string | null;
7
+ /** Key to use for value comparison when options are objects */
8
+ valueKey?: string | null;
9
+ searchable?: boolean;
10
+ placeholder?: string;
11
+ searchPlaceholder?: string;
12
+ disabled?: boolean;
13
+ clearable?: boolean;
14
+ label?: string;
15
+ hint?: string;
16
+ noResultsText?: string;
17
+ };
18
+ declare var __VLS_1: {
19
+ selected: unknown;
20
+ placeholder: string;
21
+ }, __VLS_24: {}, __VLS_26: {
22
+ option: SelectOption;
23
+ active: boolean;
24
+ selected: boolean;
25
+ };
26
+ type __VLS_Slots = {} & {
27
+ trigger?: (props: typeof __VLS_1) => any;
28
+ } & {
29
+ 'no-results'?: (props: typeof __VLS_24) => any;
30
+ } & {
31
+ option?: (props: typeof __VLS_26) => any;
32
+ };
33
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
34
+ search: (query: string) => any;
35
+ "update:modelValue": (value: unknown) => any;
36
+ open: () => any;
37
+ close: () => any;
38
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
39
+ onSearch?: ((query: string) => any) | undefined;
40
+ "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
41
+ onOpen?: (() => any) | undefined;
42
+ onClose?: (() => any) | undefined;
43
+ }>, {
44
+ label: string;
45
+ disabled: boolean;
46
+ modelValue: undefined;
47
+ hint: string;
48
+ placeholder: string;
49
+ searchPlaceholder: string;
50
+ options: SelectOption[];
51
+ labelKey: string | null;
52
+ valueKey: string | null;
53
+ searchable: boolean;
54
+ clearable: boolean;
55
+ noResultsText: string;
56
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
57
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
58
+ declare const _default: typeof __VLS_export;
59
+ export default _default;
60
+ type __VLS_WithSlots<T, S> = T & {
61
+ new (): {
62
+ $slots: S;
63
+ };
64
+ };
@@ -0,0 +1,48 @@
1
+ import { Component } from 'vue';
2
+ export interface SidebarChildItem {
3
+ key: string;
4
+ label: string;
5
+ icon?: Component;
6
+ }
7
+ export interface SidebarItem {
8
+ key: string;
9
+ label: string;
10
+ icon?: Component;
11
+ children?: SidebarChildItem[];
12
+ }
13
+ export interface SidebarSection {
14
+ group?: string;
15
+ key?: string;
16
+ items?: SidebarItem[];
17
+ label?: string;
18
+ icon?: Component;
19
+ children?: SidebarChildItem[];
20
+ }
21
+ type __VLS_Props = {
22
+ active?: string;
23
+ items?: SidebarSection[];
24
+ };
25
+ declare var __VLS_1: {}, __VLS_43: {};
26
+ type __VLS_Slots = {} & {
27
+ logo?: (props: typeof __VLS_1) => any;
28
+ } & {
29
+ cta?: (props: typeof __VLS_43) => any;
30
+ };
31
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
32
+ navigate: (key: string) => any;
33
+ "cta-click": () => any;
34
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
35
+ onNavigate?: ((key: string) => any) | undefined;
36
+ "onCta-click"?: (() => any) | undefined;
37
+ }>, {
38
+ active: string;
39
+ items: SidebarSection[];
40
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
41
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
42
+ declare const _default: typeof __VLS_export;
43
+ export default _default;
44
+ type __VLS_WithSlots<T, S> = T & {
45
+ new (): {
46
+ $slots: S;
47
+ };
48
+ };
@@ -0,0 +1,24 @@
1
+ type __VLS_Props = {
2
+ eyebrow?: string;
3
+ metric?: string;
4
+ delta?: string;
5
+ deltaDown?: boolean;
6
+ };
7
+ declare var __VLS_1: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ };
11
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
+ eyebrow: string;
13
+ metric: string;
14
+ delta: string;
15
+ deltaDown: boolean;
16
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_WithSlots<T, S> = T & {
21
+ new (): {
22
+ $slots: S;
23
+ };
24
+ };
@@ -0,0 +1,21 @@
1
+ export type SwitchSize = 'md' | 'sm';
2
+ type __VLS_Props = {
3
+ modelValue?: boolean;
4
+ label?: string;
5
+ hint?: string;
6
+ disabled?: boolean;
7
+ size?: SwitchSize;
8
+ };
9
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ "update:modelValue": (value: boolean) => any;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
13
+ }>, {
14
+ label: string;
15
+ size: SwitchSize;
16
+ disabled: boolean;
17
+ modelValue: boolean;
18
+ hint: string;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
@@ -0,0 +1,120 @@
1
+ import { Component } from 'vue';
2
+ export type ColumnFixed = 'left' | 'right';
3
+ export type ColumnAlign = 'left' | 'center' | 'right';
4
+ export type SortDir = 'asc' | 'desc';
5
+ export interface TableColumn {
6
+ key: string;
7
+ label: string;
8
+ width?: string;
9
+ fixed?: ColumnFixed;
10
+ align?: ColumnAlign;
11
+ sortable?: boolean;
12
+ sortFn?: (a: Record<string, unknown>, b: Record<string, unknown>) => number;
13
+ }
14
+ export interface FetchParams {
15
+ page: number;
16
+ pageSize: number;
17
+ sort: {
18
+ key: string;
19
+ dir: SortDir;
20
+ } | null;
21
+ search?: string;
22
+ }
23
+ export interface FetchResult {
24
+ items: Record<string, unknown>[];
25
+ total: number;
26
+ }
27
+ type __VLS_Props = {
28
+ columns: TableColumn[];
29
+ columnToggle?: boolean;
30
+ hiddenColumns?: string[] | null;
31
+ items?: Record<string, unknown>[];
32
+ rowKey?: string;
33
+ modelValue?: unknown[];
34
+ selectable?: boolean;
35
+ expandable?: boolean;
36
+ remote?: boolean;
37
+ fetch?: ((params: FetchParams) => Promise<FetchResult>) | null;
38
+ total?: number | null;
39
+ pager?: boolean;
40
+ pageSize?: number;
41
+ pageSizeOptions?: number[];
42
+ loading?: boolean;
43
+ striped?: boolean;
44
+ search?: string;
45
+ emptyIcon?: Component;
46
+ emptyTitle?: string;
47
+ emptyMessage?: string;
48
+ };
49
+ declare var __VLS_59: `cell-${string}`, __VLS_60: {
50
+ value: unknown;
51
+ row: Record<string, unknown>;
52
+ index: number;
53
+ }, __VLS_62: {
54
+ row: Record<string, unknown>;
55
+ index: number;
56
+ }, __VLS_65: `cell-${string}`, __VLS_66: {
57
+ value: never;
58
+ row: never;
59
+ index: never;
60
+ }, __VLS_68: {
61
+ row: Record<string, unknown>;
62
+ index: number;
63
+ collapse: () => void;
64
+ }, __VLS_70: {};
65
+ type __VLS_Slots = {} & {
66
+ [K in NonNullable<typeof __VLS_59>]?: (props: typeof __VLS_60) => any;
67
+ } & {
68
+ [K in NonNullable<typeof __VLS_65>]?: (props: typeof __VLS_66) => any;
69
+ } & {
70
+ 'row-actions'?: (props: typeof __VLS_62) => any;
71
+ } & {
72
+ expand?: (props: typeof __VLS_68) => any;
73
+ } & {
74
+ empty?: (props: typeof __VLS_70) => any;
75
+ };
76
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
77
+ sort: (sort: {
78
+ key: string;
79
+ dir: SortDir;
80
+ }) => any;
81
+ "update:modelValue": (value: unknown[]) => any;
82
+ fetch: (params: FetchParams) => any;
83
+ "row-click": (row: Record<string, unknown>) => any;
84
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
85
+ onSort?: ((sort: {
86
+ key: string;
87
+ dir: SortDir;
88
+ }) => any) | undefined;
89
+ "onUpdate:modelValue"?: ((value: unknown[]) => any) | undefined;
90
+ onFetch?: ((params: FetchParams) => any) | undefined;
91
+ "onRow-click"?: ((row: Record<string, unknown>) => any) | undefined;
92
+ }>, {
93
+ search: string;
94
+ modelValue: unknown[];
95
+ loading: boolean;
96
+ items: Record<string, unknown>[];
97
+ pageSize: number;
98
+ total: number | null;
99
+ pageSizeOptions: number[];
100
+ columnToggle: boolean;
101
+ hiddenColumns: string[] | null;
102
+ rowKey: string;
103
+ selectable: boolean;
104
+ expandable: boolean;
105
+ remote: boolean;
106
+ fetch: ((params: FetchParams) => Promise<FetchResult>) | null;
107
+ pager: boolean;
108
+ striped: boolean;
109
+ emptyIcon: Component;
110
+ emptyTitle: string;
111
+ emptyMessage: string;
112
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
113
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
114
+ declare const _default: typeof __VLS_export;
115
+ export default _default;
116
+ type __VLS_WithSlots<T, S> = T & {
117
+ new (): {
118
+ $slots: S;
119
+ };
120
+ };
@@ -0,0 +1,18 @@
1
+ export interface TableColumn {
2
+ key: string;
3
+ label: string;
4
+ [key: string]: unknown;
5
+ }
6
+ type __VLS_Props = {
7
+ columns: TableColumn[];
8
+ modelValue?: string[];
9
+ };
10
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ "update:modelValue": (value: string[]) => any;
12
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
14
+ }>, {
15
+ modelValue: string[];
16
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
@@ -0,0 +1,20 @@
1
+ type __VLS_Props = {
2
+ page?: number;
3
+ pageSize?: number;
4
+ total?: number;
5
+ pageSizeOptions?: number[];
6
+ };
7
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ "update:page": (page: number) => any;
9
+ "update:pageSize": (size: number) => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ "onUpdate:page"?: ((page: number) => any) | undefined;
12
+ "onUpdate:pageSize"?: ((size: number) => any) | undefined;
13
+ }>, {
14
+ page: number;
15
+ pageSize: number;
16
+ total: number;
17
+ pageSizeOptions: number[];
18
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
@@ -0,0 +1,27 @@
1
+ type __VLS_Props = {
2
+ gridTemplate: string;
3
+ selected?: boolean;
4
+ header?: boolean;
5
+ clickable?: boolean;
6
+ };
7
+ declare var __VLS_1: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_1) => any;
10
+ };
11
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ click: () => any;
13
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ onClick?: (() => any) | undefined;
15
+ }>, {
16
+ header: boolean;
17
+ selected: boolean;
18
+ clickable: boolean;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
+ declare const _default: typeof __VLS_export;
22
+ export default _default;
23
+ type __VLS_WithSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
@@ -0,0 +1,17 @@
1
+ export interface Tab {
2
+ key: string;
3
+ label: string;
4
+ }
5
+ type __VLS_Props = {
6
+ modelValue?: string;
7
+ tabs: Tab[];
8
+ };
9
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ "update:modelValue": (value: string) => any;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
13
+ }>, {
14
+ modelValue: string;
15
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
@@ -0,0 +1,13 @@
1
+ export type ToastPosition = 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' | 'bottom-right';
2
+ type __VLS_Props = {
3
+ /**
4
+ * top-left | top | top-right
5
+ * bottom-left | bottom | bottom-right
6
+ */
7
+ position?: ToastPosition;
8
+ };
9
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
10
+ position: ToastPosition;
11
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,28 @@
1
+ type __VLS_Props = {
2
+ title?: string;
3
+ subtitle?: string;
4
+ userName?: string;
5
+ userInitials?: string;
6
+ notification?: boolean;
7
+ searchPlaceholder?: string;
8
+ };
9
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ search: (query: string) => any;
11
+ "notification-click": () => any;
12
+ "user-click": () => any;
13
+ "menu-click": () => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ onSearch?: ((query: string) => any) | undefined;
16
+ "onNotification-click"?: (() => any) | undefined;
17
+ "onUser-click"?: (() => any) | undefined;
18
+ "onMenu-click"?: (() => any) | undefined;
19
+ }>, {
20
+ title: string;
21
+ subtitle: string;
22
+ userName: string;
23
+ userInitials: string;
24
+ notification: boolean;
25
+ searchPlaceholder: string;
26
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
27
+ declare const _default: typeof __VLS_export;
28
+ export default _default;
@@ -0,0 +1,48 @@
1
+ import { App } from 'vue';
2
+ export { default as UBadge } from './UBadge.vue';
3
+ export { default as UButton } from './UButton.vue';
4
+ export { default as UCheckbox } from './UCheckbox.vue';
5
+ export { default as UDialog } from './UDialog.vue';
6
+ export { default as UDrawer } from './UDrawer.vue';
7
+ export { default as UDialogProvider } from './UDialogProvider.vue';
8
+ export { default as UDropzone } from './UDropzone.vue';
9
+ export { default as UEmptyState } from './UEmptyState.vue';
10
+ export { default as UFormRow } from './UFormRow.vue';
11
+ export { default as UIcon } from './UIcon.vue';
12
+ export { default as UIconButton } from './UIconButton.vue';
13
+ export { default as UInput } from './UInput.vue';
14
+ export { default as UListCard } from './UListCard.vue';
15
+ export { default as UListCardCell } from './UListCardCell.vue';
16
+ export { default as ULogoMark } from './ULogoMark.vue';
17
+ export { default as UModal } from './UModal.vue';
18
+ export { default as UPageLayout } from './UPageLayout.vue';
19
+ export { default as URadio } from './URadio.vue';
20
+ export { default as USelect } from './USelect.vue';
21
+ export { default as USidebar } from './USidebar.vue';
22
+ export { default as UStatCard } from './UStatCard.vue';
23
+ export { default as USwitch } from './USwitch.vue';
24
+ export { default as UTabs } from './UTabs.vue';
25
+ export { default as UTable } from './UTable.vue';
26
+ export { default as UTableColumnToggle } from './UTableColumnToggle.vue';
27
+ export { default as UTableRow } from './UTableRow.vue';
28
+ export { default as UTablePager } from './UTablePager.vue';
29
+ export { default as UToastProvider } from './UToastProvider.vue';
30
+ export { default as UTopBar } from './UTopBar.vue';
31
+ export { useToast } from '../composables/useToast.ts';
32
+ export { useDialog } from '../composables/useDialog.ts';
33
+ export type { BadgeVariant } from './UBadge.vue';
34
+ export type { ButtonVariant, ButtonSize } from './UButton.vue';
35
+ export type { DrawerSide } from './UDrawer.vue';
36
+ export type { IconColor } from './UIcon.vue';
37
+ export type { IconButtonSize } from './UIconButton.vue';
38
+ export type { SwitchSize } from './USwitch.vue';
39
+ export type { Tab } from './UTabs.vue';
40
+ export type { SidebarSection, SidebarItem, SidebarChildItem } from './USidebar.vue';
41
+ export type { TableColumn, ColumnFixed, ColumnAlign, SortDir, FetchParams, FetchResult } from './UTable.vue';
42
+ export type { TableColumn as ToggleTableColumn } from './UTableColumnToggle.vue';
43
+ export type { ToastVariant, ToastOptions, Toast } from '../composables/useToast.ts';
44
+ export type { DialogVariant, DialogOptions } from '../composables/useDialog.ts';
45
+ declare const _default: {
46
+ install(app: App): void;
47
+ };
48
+ export default _default;
@@ -0,0 +1,35 @@
1
+ export type DialogVariant = 'default' | 'danger' | 'warning' | 'success';
2
+ export interface DialogOptions {
3
+ title?: string;
4
+ message?: string;
5
+ variant?: DialogVariant;
6
+ confirmLabel?: string;
7
+ cancelLabel?: string;
8
+ hideCancelButton?: boolean;
9
+ }
10
+ export interface DialogState {
11
+ open: boolean;
12
+ title: string;
13
+ message: string;
14
+ variant: DialogVariant;
15
+ confirmLabel: string;
16
+ cancelLabel: string;
17
+ hideCancelButton: boolean;
18
+ loading: boolean;
19
+ _resolve: ((value: boolean) => void) | null;
20
+ }
21
+ export declare const dialogState: {
22
+ open: boolean;
23
+ title: string;
24
+ message: string;
25
+ variant: DialogVariant;
26
+ confirmLabel: string;
27
+ cancelLabel: string;
28
+ hideCancelButton: boolean;
29
+ loading: boolean;
30
+ _resolve: ((value: boolean) => void) | null;
31
+ };
32
+ export declare function useDialog(): {
33
+ confirm: (opts?: DialogOptions) => Promise<boolean>;
34
+ alert: (opts?: DialogOptions) => Promise<boolean>;
35
+ };
@@ -0,0 +1,33 @@
1
+ export interface ToastAction {
2
+ label: string;
3
+ onClick: () => void;
4
+ }
5
+ export type ToastVariant = 'default' | 'success' | 'error' | 'warning' | 'info';
6
+ export interface Toast {
7
+ id: number;
8
+ message: string;
9
+ variant: ToastVariant;
10
+ title: string | null;
11
+ action: ToastAction | null;
12
+ _timeout?: ReturnType<typeof setTimeout>;
13
+ _remaining?: number;
14
+ _start?: number;
15
+ }
16
+ export interface ToastOptions {
17
+ variant?: ToastVariant;
18
+ duration?: number;
19
+ title?: string;
20
+ action?: ToastAction;
21
+ message?: string;
22
+ }
23
+ export declare function useToast(): {
24
+ toasts: import('vue').Reactive<Toast[]>;
25
+ show: (message: string | ToastOptions, opts?: ToastOptions) => number;
26
+ dismiss: (id: number) => void;
27
+ pause: (id: number) => void;
28
+ resume: (id: number) => void;
29
+ success: (msg: string, opts?: ToastOptions) => number;
30
+ error: (msg: string, opts?: ToastOptions) => number;
31
+ warning: (msg: string, opts?: ToastOptions) => number;
32
+ info: (msg: string, opts?: ToastOptions) => number;
33
+ };
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ertugrulozcan97/apexui",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "files": [
@@ -9,6 +9,7 @@
9
9
  ],
10
10
  "main": "./dist/apexui.umd.js",
11
11
  "module": "./dist/apexui.es.js",
12
+ "types": "./dist/index.d.ts",
12
13
  "exports": {
13
14
  ".": {
14
15
  "import": "./dist/apexui.es.js",
@@ -27,7 +28,6 @@
27
28
  "tailwindcss": ">=4.0.0",
28
29
  "vue": ">=3.4.0"
29
30
  },
30
- "dependencies": {},
31
31
  "devDependencies": {
32
32
  "@lucide/vue": "^1.14.0",
33
33
  "@tailwindcss/vite": "^4.3.0",
@@ -36,7 +36,7 @@
36
36
  "tailwindcss": "^4.3.0",
37
37
  "typescript": "^6.0.3",
38
38
  "vite": "^8.0.8",
39
- "vite-plugin-vue-devtools": "^8.1.1",
39
+ "vite-plugin-dts": "^5.0.0",
40
40
  "vue": "^3.5.32",
41
41
  "vue-tsc": "^3.2.8"
42
42
  },