@amirjalili1374/ui-kit 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +275 -0
- package/dist/_redirects +1 -0
- package/dist/components/Loading.vue.d.ts +3 -0
- package/dist/components/Loading.vue.d.ts.map +1 -0
- package/dist/components/common/AppStepper.vue.d.ts +75 -0
- package/dist/components/common/AppStepper.vue.d.ts.map +1 -0
- package/dist/components/shared/BaseBreadcrumb.vue.d.ts +18 -0
- package/dist/components/shared/BaseBreadcrumb.vue.d.ts.map +1 -0
- package/dist/components/shared/BaseIcon.vue.d.ts +33 -0
- package/dist/components/shared/BaseIcon.vue.d.ts.map +1 -0
- package/dist/components/shared/ConfirmDialog.vue.d.ts +38 -0
- package/dist/components/shared/ConfirmDialog.vue.d.ts.map +1 -0
- package/dist/components/shared/CustomAutocomplete.vue.d.ts +81 -0
- package/dist/components/shared/CustomAutocomplete.vue.d.ts.map +1 -0
- package/dist/components/shared/CustomDataTable.vue.d.ts +59 -0
- package/dist/components/shared/CustomDataTable.vue.d.ts.map +1 -0
- package/dist/components/shared/DescriptionInput.vue.d.ts +34 -0
- package/dist/components/shared/DescriptionInput.vue.d.ts.map +1 -0
- package/dist/components/shared/DownloadButton.vue.d.ts +25 -0
- package/dist/components/shared/DownloadButton.vue.d.ts.map +1 -0
- package/dist/components/shared/MoneyInput.vue.d.ts +127 -0
- package/dist/components/shared/MoneyInput.vue.d.ts.map +1 -0
- package/dist/components/shared/PdfViewer.vue.d.ts +67 -0
- package/dist/components/shared/PdfViewer.vue.d.ts.map +1 -0
- package/dist/components/shared/ShamsiDatePicker.vue.d.ts +48 -0
- package/dist/components/shared/ShamsiDatePicker.vue.d.ts.map +1 -0
- package/dist/components/shared/UiChildCard.vue.d.ts +14 -0
- package/dist/components/shared/UiChildCard.vue.d.ts.map +1 -0
- package/dist/components/shared/UiParentCard.vue.d.ts +18 -0
- package/dist/components/shared/UiParentCard.vue.d.ts.map +1 -0
- package/dist/components/shared/VPriceTextField.vue.d.ts +30 -0
- package/dist/components/shared/VPriceTextField.vue.d.ts.map +1 -0
- package/dist/composables/useDataTable.d.ts +36 -0
- package/dist/composables/useDataTable.d.ts.map +1 -0
- package/dist/composables/useTableActions.d.ts +294 -0
- package/dist/composables/useTableActions.d.ts.map +1 -0
- package/dist/composables/useTableHeaders.d.ts +80 -0
- package/dist/composables/useTableHeaders.d.ts.map +1 -0
- package/dist/composables/useTableSelection.d.ts +32 -0
- package/dist/composables/useTableSelection.d.ts.map +1 -0
- package/dist/constants/enums/booleanEnum.d.ts +13 -0
- package/dist/constants/enums/booleanEnum.d.ts.map +1 -0
- package/dist/directives/v-digit-limit.d.ts +6 -0
- package/dist/directives/v-digit-limit.d.ts.map +1 -0
- package/dist/directives/v-permission.d.ts +3 -0
- package/dist/directives/v-permission.d.ts.map +1 -0
- package/dist/favicon.svg +13 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/persian.json +1 -0
- package/dist/plugins/mdi-icon.d.ts +16 -0
- package/dist/plugins/mdi-icon.d.ts.map +1 -0
- package/dist/services/apiService.d.ts +21 -0
- package/dist/services/apiService.d.ts.map +1 -0
- package/dist/services/axiosInstance.d.ts +11 -0
- package/dist/services/axiosInstance.d.ts.map +1 -0
- package/dist/stores/customizer.d.ts +47 -0
- package/dist/stores/customizer.d.ts.map +1 -0
- package/dist/stores/permissions.d.ts +47 -0
- package/dist/stores/permissions.d.ts.map +1 -0
- package/dist/style.css +5 -0
- package/dist/types/componentTypes/DataTableType.d.ts +14 -0
- package/dist/types/componentTypes/DataTableType.d.ts.map +1 -0
- package/dist/types/componentTypes/DataTableTypes.d.ts +120 -0
- package/dist/types/componentTypes/DataTableTypes.d.ts.map +1 -0
- package/dist/ui-kit.cjs.js +2 -0
- package/dist/ui-kit.cjs.js.map +1 -0
- package/dist/ui-kit.es.js +36840 -0
- package/dist/ui-kit.es.js.map +1 -0
- package/dist/utils/NationalCodeValidator.d.ts +4 -0
- package/dist/utils/NationalCodeValidator.d.ts.map +1 -0
- package/dist/utils/date-convertor.d.ts +5 -0
- package/dist/utils/date-convertor.d.ts.map +1 -0
- package/dist/utils/greetingUtils.d.ts +35 -0
- package/dist/utils/greetingUtils.d.ts.map +1 -0
- package/dist/utils/helpers/fetch-wrapper.d.ts +23 -0
- package/dist/utils/helpers/fetch-wrapper.d.ts.map +1 -0
- package/dist/utils/number-formatter.d.ts +16 -0
- package/dist/utils/number-formatter.d.ts.map +1 -0
- package/dist/validators/nationalCodeRule.d.ts +2 -0
- package/dist/validators/nationalCodeRule.d.ts.map +1 -0
- package/package.json +134 -0
- package/src/assets/fonts/A Massir Spray.ttf +0 -0
- package/src/assets/fonts/BYekan.ttf +0 -0
- package/src/assets/fonts/BYekan.woff +0 -0
- package/src/assets/fonts/BYekan.woff2 +0 -0
- package/src/assets/fonts/Dima Shekasteh 2 Free.ttf +0 -0
- package/src/assets/fonts/Dima Shekasteh Free Regular.ttf +0 -0
- package/src/assets/fonts/IRANSansWeb.ts +1 -0
- package/src/assets/fonts/IRANSansWeb.ttf +0 -0
- package/src/assets/fonts/IRANSansXBlack.ttf +0 -0
- package/src/assets/fonts/IRANSansXBold.ttf +0 -0
- package/src/assets/fonts/IRANSansXDemiBold.ttf +0 -0
- package/src/assets/fonts/IRANSansXExtraBold.ttf +0 -0
- package/src/assets/fonts/IRANSansXLight.ttf +0 -0
- package/src/assets/fonts/IRANSansXMedium.ttf +0 -0
- package/src/assets/fonts/IRANSansXRegular.ttf +0 -0
- package/src/assets/fonts/IRANSansXThin.ttf +0 -0
- package/src/assets/fonts/IRANSansXUltraLight.ttf +0 -0
- package/src/assets/fonts/IranNastaliq.ttf +0 -0
- package/src/assets/fonts/Vazir-Medium-FD.ttf +0 -0
- package/src/assets/fonts/Vazir-Medium-FD.woff +0 -0
- package/src/assets/fonts/Vazir-Medium-FD.woff2 +0 -0
- package/src/assets/fonts/Vazir-Regular-FD.eot +0 -0
- package/src/assets/fonts/kalamehBold.woff +0 -0
- package/src/assets/fonts/kalamehBold.woff2 +0 -0
- package/src/assets/fonts/kalamehHeavy.woff +0 -0
- package/src/assets/fonts/kalamehHeavy.woff2 +0 -0
- package/src/assets/fonts/kalamehLight.woff +0 -0
- package/src/assets/fonts/kalamehLight.woff2 +0 -0
- package/src/assets/fonts/kalamehRegular.woff +0 -0
- package/src/assets/fonts/kalamehRegular.woff2 +0 -0
- package/src/assets/images/auth/social-google.svg +6 -0
- package/src/assets/images/favicon.svg +18 -0
- package/src/assets/images/icons/icon-card.svg +5 -0
- package/src/assets/images/logos/logo.svg +12 -0
- package/src/assets/images/logos/logolight.svg +12 -0
- package/src/assets/images/maintenance/img-error-bg.svg +34 -0
- package/src/assets/images/maintenance/img-error-blue.svg +43 -0
- package/src/assets/images/maintenance/img-error-purple.svg +42 -0
- package/src/assets/images/maintenance/img-error-text.svg +27 -0
- package/src/assets/images/profile/profile-user-account-svgrepo-com.svg +12 -0
- package/src/assets/images/profile/user-round.svg +15 -0
- package/src/assets/images/template/template-01.ts +1 -0
- package/src/assets/images/vectors/colorized-bg.svg +40 -0
- package/src/assets/images/vectors/logo_stroke_1px.svg +26 -0
- package/src/assets/images/vectors/logo_stroke_2px.svg +26 -0
- package/src/assets/scss/components/_approval-sections.scss +75 -0
- package/src/assets/styles/fonts.scss +77 -0
- package/src/components/Loading.vue +88 -0
- package/src/components/common/AppStepper.vue +139 -0
- package/src/components/shared/BaseBreadcrumb.vue +55 -0
- package/src/components/shared/BaseIcon.vue +27 -0
- package/src/components/shared/ConfirmDialog.vue +72 -0
- package/src/components/shared/CustomAutocomplete.vue +306 -0
- package/src/components/shared/CustomDataTable.vue +1859 -0
- package/src/components/shared/DescriptionInput.vue +204 -0
- package/src/components/shared/DownloadButton.vue +169 -0
- package/src/components/shared/MoneyInput.vue +105 -0
- package/src/components/shared/PdfViewer.vue +645 -0
- package/src/components/shared/ShamsiDatePicker.vue +444 -0
- package/src/components/shared/UiChildCard.vue +17 -0
- package/src/components/shared/UiParentCard.vue +21 -0
- package/src/components/shared/VPriceTextField.vue +136 -0
- package/src/composables/useDataTable.ts +152 -0
- package/src/composables/usePermissions.ts +90 -0
- package/src/composables/useRouteGuard.ts +36 -0
- package/src/composables/useTableActions.ts +207 -0
- package/src/composables/useTableHeaders.ts +172 -0
- package/src/composables/useTableSelection.ts +201 -0
- package/src/constants/enums/approval.ts +13 -0
- package/src/constants/enums/booleanEnum.ts +11 -0
- package/src/constants/enums/contractType.ts +11 -0
- package/src/constants/enums/lcProductType.ts +21 -0
- package/src/constants/enums/repaymentType.ts +11 -0
- package/src/directives/v-digit-limit.ts +15 -0
- package/src/directives/v-permission.ts +31 -0
- package/src/features/index.ts +48 -0
- package/src/index.ts +119 -0
- package/src/plugins/key-clock.ts +39 -0
- package/src/plugins/mdi-icon.ts +31 -0
- package/src/plugins/vuetify.ts +74 -0
- package/src/scss/_override.scss +72 -0
- package/src/scss/_variables.scss +124 -0
- package/src/scss/components/_VButtons.scss +23 -0
- package/src/scss/components/_VCard.scss +20 -0
- package/src/scss/components/_VCustomDataTable.scss +282 -0
- package/src/scss/components/_VField.scss +9 -0
- package/src/scss/components/_VInput.scss +17 -0
- package/src/scss/components/_VNavigationDrawer.scss +3 -0
- package/src/scss/components/_VShadow.scss +3 -0
- package/src/scss/components/_VStepper.scss +235 -0
- package/src/scss/components/_VTabs.scss +11 -0
- package/src/scss/components/_VTextField.scss +40 -0
- package/src/scss/components/_approval.scss +128 -0
- package/src/scss/layout/_container.scss +147 -0
- package/src/scss/layout/_sidebar.scss +138 -0
- package/src/scss/layout/_topbar.scss +39 -0
- package/src/scss/pages/_dashboards.scss +97 -0
- package/src/scss/style.scss +21 -0
- package/src/services/apiService.ts +59 -0
- package/src/services/axiosInstance.ts +14 -0
- package/src/stores/customizer.ts +55 -0
- package/src/stores/permissions.ts +237 -0
- package/src/theme/darkThemes/DarkModernTheme.ts +54 -0
- package/src/theme/darkThemes/DarkOrangeTheme.ts +53 -0
- package/src/theme/darkThemes/DarkPurpleTheme.ts +54 -0
- package/src/theme/darkThemes/DarkRedTheme.ts +54 -0
- package/src/theme/darkThemes/DarkSilverTheme.ts +53 -0
- package/src/theme/darkThemes/DarkSteelTealGreen.ts +53 -0
- package/src/theme/darkThemes/DarkTealTheme.ts +52 -0
- package/src/theme/lightThemes/ModernTheme.ts +55 -0
- package/src/theme/lightThemes/OrangeTheme.ts +54 -0
- package/src/theme/lightThemes/PurpleTheme.ts +54 -0
- package/src/theme/lightThemes/RedTheme.ts +55 -0
- package/src/theme/lightThemes/SilverTheme.ts +55 -0
- package/src/theme/lightThemes/SteelTealGreen.ts +54 -0
- package/src/theme/lightThemes/TealTheme.ts +54 -0
- package/src/types/approval/approvalType.ts +473 -0
- package/src/types/cartable/cartableTypes.ts +169 -0
- package/src/types/componentTypes/DataTableType.ts +14 -0
- package/src/types/componentTypes/DataTableTypes.ts +130 -0
- package/src/types/enums/global.ts +267 -0
- package/src/types/jalaali-js.d.ts +6 -0
- package/src/types/models/Base.ts +4 -0
- package/src/types/models/env.d.ts +10 -0
- package/src/types/models/person.ts +13 -0
- package/src/types/models/userInfo.ts +29 -0
- package/src/types/preApproval/preApprovalTypes.ts +67 -0
- package/src/types/shims-tabler-icons.d.ts +58 -0
- package/src/types/themeTypes/ThemeType.ts +47 -0
- package/src/types/vue-apexcharts.d.ts +1 -0
- package/src/types/vue3-print-nb.d.ts +1 -0
- package/src/types/vue_tabler_icon.d.ts +10 -0
- package/src/utils/NationalCodeValidator.ts +33 -0
- package/src/utils/date-convertor.ts +40 -0
- package/src/utils/greetingUtils.ts +97 -0
- package/src/utils/helpers/fake-backend.ts +68 -0
- package/src/utils/helpers/fetch-wrapper.ts +86 -0
- package/src/utils/number-formatter.ts +33 -0
- package/src/validators/nationalCodeRule.ts +6 -0
package/README.md
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# @jalili/ui-kit
|
|
2
|
+
|
|
3
|
+
A reusable UI component library built with Vue 3, Vuetify 3, and TypeScript. This library provides a comprehensive set of components, composables, utilities, and directives for building modern web applications.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- 🎨 Built with Vue 3 Composition API
|
|
8
|
+
- 🎯 TypeScript support
|
|
9
|
+
- 🎭 Vuetify 3 components
|
|
10
|
+
- 🔧 Composable utilities
|
|
11
|
+
- 📦 Tree-shakeable exports
|
|
12
|
+
- 🎪 Multiple build formats (ES, CJS, UMD)
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @jalili/ui-kit
|
|
18
|
+
# or
|
|
19
|
+
yarn add @jalili/ui-kit
|
|
20
|
+
# or
|
|
21
|
+
pnpm add @jalili/ui-kit
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Peer Dependencies
|
|
25
|
+
|
|
26
|
+
This library requires the following peer dependencies to be installed in your project:
|
|
27
|
+
|
|
28
|
+
- `vue` >= 3.5.0
|
|
29
|
+
- `vuetify` >= 3.10.0
|
|
30
|
+
- `@vueuse/core` >= 13.0.0 (optional)
|
|
31
|
+
- `axios` >= 1.8.0 (optional)
|
|
32
|
+
|
|
33
|
+
## Usage
|
|
34
|
+
|
|
35
|
+
### Basic Setup
|
|
36
|
+
|
|
37
|
+
First, make sure you have Vuetify installed and configured in your Vue application.
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
// main.ts
|
|
41
|
+
import { createApp } from 'vue';
|
|
42
|
+
import { createVuetify } from 'vuetify';
|
|
43
|
+
import * as components from 'vuetify/components';
|
|
44
|
+
import * as directives from 'vuetify/directives';
|
|
45
|
+
import '@jalili/ui-kit/dist/style.css'; // Import styles
|
|
46
|
+
|
|
47
|
+
import UiKit from '@jalili/ui-kit';
|
|
48
|
+
|
|
49
|
+
const vuetify = createVuetify({
|
|
50
|
+
components,
|
|
51
|
+
directives,
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const app = createApp(App);
|
|
55
|
+
app.use(vuetify);
|
|
56
|
+
app.use(UiKit); // Install UI Kit (registers directives globally)
|
|
57
|
+
app.mount('#app');
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Import Components
|
|
61
|
+
|
|
62
|
+
You can import components individually for better tree-shaking:
|
|
63
|
+
|
|
64
|
+
```vue
|
|
65
|
+
<script setup lang="ts">
|
|
66
|
+
import { CustomDataTable, BaseIcon, ShamsiDatePicker } from '@jalili/ui-kit';
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<template>
|
|
70
|
+
<CustomDataTable :headers="headers" :items="items" />
|
|
71
|
+
<ShamsiDatePicker v-model="date" />
|
|
72
|
+
</template>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Use Composables
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
import { useDataTable, useTableActions, useTableSelection } from '@jalili/ui-kit';
|
|
79
|
+
|
|
80
|
+
const { items, loading, fetchData } = useDataTable({
|
|
81
|
+
apiResource: '/api/users',
|
|
82
|
+
pageSize: 10,
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
const { dialog, openDialog, resetDialogs } = useTableActions({
|
|
86
|
+
actions: ['create', 'edit', 'delete']
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Use Stores
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
import { useCustomizerStore } from '@jalili/ui-kit';
|
|
94
|
+
|
|
95
|
+
const customizer = useCustomizerStore();
|
|
96
|
+
customizer.SET_THEME('dark');
|
|
97
|
+
customizer.SET_LOADING(true);
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Use Directives
|
|
101
|
+
|
|
102
|
+
Directives are automatically registered when you install the plugin:
|
|
103
|
+
|
|
104
|
+
```vue
|
|
105
|
+
<template>
|
|
106
|
+
<input v-digit-limit="10" />
|
|
107
|
+
</template>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Use Utilities
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
import { DateConverter, formatNumberWithCommas } from '@jalili/ui-kit';
|
|
114
|
+
|
|
115
|
+
// Date conversion
|
|
116
|
+
const shamsiDate = DateConverter.gregorianToShamsi(new Date());
|
|
117
|
+
|
|
118
|
+
// Number formatting
|
|
119
|
+
const formatted = formatNumberWithCommas(1234567); // "1,234,567"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Available Components
|
|
123
|
+
|
|
124
|
+
### Shared Components
|
|
125
|
+
- `BaseBreadcrumb` - Breadcrumb navigation component
|
|
126
|
+
- `BaseIcon` - Icon component wrapper
|
|
127
|
+
- `ConfirmDialog` - Confirmation dialog
|
|
128
|
+
- `CustomAutocomplete` - Enhanced autocomplete input
|
|
129
|
+
- `CustomDataTable` - Feature-rich data table with pagination, filtering, etc.
|
|
130
|
+
- `DescriptionInput` - Text area input for descriptions
|
|
131
|
+
- `DownloadButton` - Button with download functionality
|
|
132
|
+
- `MoneyInput` - Currency/money input field
|
|
133
|
+
- `PdfViewer` - PDF viewer component
|
|
134
|
+
- `ShamsiDatePicker` - Persian (Shamsi) date picker
|
|
135
|
+
- `UiChildCard` - Child card container
|
|
136
|
+
- `UiParentCard` - Parent card container
|
|
137
|
+
- `VPriceTextField` - Price text field with formatting
|
|
138
|
+
|
|
139
|
+
### Common Components
|
|
140
|
+
- `AppStepper` - Step-by-step wizard component
|
|
141
|
+
- `Loading` - Loading overlay component
|
|
142
|
+
|
|
143
|
+
## Available Composables
|
|
144
|
+
|
|
145
|
+
- `useDataTable` - Server-side data table with pagination and filtering
|
|
146
|
+
- `useTableActions` - Table action handlers
|
|
147
|
+
- `useTableHeaders` - Table header utilities
|
|
148
|
+
- `useTableSelection` - Table row selection management
|
|
149
|
+
|
|
150
|
+
**Note:** `usePermissions` and `useRouteGuard` are app-specific and not exported from the library.
|
|
151
|
+
|
|
152
|
+
## Available Stores
|
|
153
|
+
|
|
154
|
+
- `useCustomizerStore` - Global UI customization store (theme, layout, etc.)
|
|
155
|
+
|
|
156
|
+
**Note:** `usePermissionsStore` contains app-specific menu permissions and is not exported from the library.
|
|
157
|
+
|
|
158
|
+
## Available Directives
|
|
159
|
+
|
|
160
|
+
- `v-digit-limit` - Limit input to specific number of digits
|
|
161
|
+
|
|
162
|
+
**Note:** `v-permission` directive contains app-specific logic and is not exported from the library.
|
|
163
|
+
|
|
164
|
+
## Available Utils
|
|
165
|
+
|
|
166
|
+
- `DateConverter` - Convert between Gregorian and Shamsi (Persian) dates
|
|
167
|
+
- `formatNumberWithCommas` - Format numbers with thousand separators
|
|
168
|
+
- `NationalCodeValidator` - Validate Iranian national codes
|
|
169
|
+
- `fetchWrapper` - Generic HTTP request wrapper
|
|
170
|
+
|
|
171
|
+
## Available Types
|
|
172
|
+
|
|
173
|
+
- `Header`, `TableItem`, `DataTableProps` - Types for CustomDataTable component
|
|
174
|
+
- `CustomAction`, `CustomButtonAction` - Types for table actions
|
|
175
|
+
- `SelectionOptions`, `GroupedItems` - Types for table selection
|
|
176
|
+
- `BooleanEnum`, `BooleanStatus` - Generic boolean enum types
|
|
177
|
+
|
|
178
|
+
**Note:** This library exports only generic, reusable types. App-specific business logic types are excluded.
|
|
179
|
+
|
|
180
|
+
## Building the Library
|
|
181
|
+
|
|
182
|
+
To build the library for distribution:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
npm run build:lib
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
This will:
|
|
189
|
+
1. Run TypeScript type checking
|
|
190
|
+
2. Build the library in multiple formats (ES, CJS, UMD)
|
|
191
|
+
3. Generate TypeScript declaration files
|
|
192
|
+
|
|
193
|
+
Output files will be in the `dist` directory:
|
|
194
|
+
- `ui-kit.es.js` - ES module format
|
|
195
|
+
- `ui-kit.cjs.js` - CommonJS format
|
|
196
|
+
- `ui-kit.umd.js` - UMD format (browser)
|
|
197
|
+
- `style.css` - Compiled CSS
|
|
198
|
+
- `index.d.ts` - TypeScript declarations
|
|
199
|
+
|
|
200
|
+
## Publishing
|
|
201
|
+
|
|
202
|
+
To publish the library to npm:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
npm login
|
|
206
|
+
npm publish
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
The `prepublishOnly` script will automatically build the library before publishing.
|
|
210
|
+
|
|
211
|
+
## Development
|
|
212
|
+
|
|
213
|
+
### Run Development Server
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
npm run dev
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Type Checking
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
npm run typecheck
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Linting
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
npm run lint
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Formatting
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
npm run format
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Updating the Library
|
|
238
|
+
|
|
239
|
+
To update and republish the library:
|
|
240
|
+
|
|
241
|
+
1. Make your changes to components, composables, or utilities
|
|
242
|
+
2. Update the version in `package.json`
|
|
243
|
+
3. Build the library: `npm run build:lib`
|
|
244
|
+
4. Test locally if possible
|
|
245
|
+
5. Publish: `npm publish`
|
|
246
|
+
|
|
247
|
+
For npm scoped packages, make sure you have the correct permissions.
|
|
248
|
+
|
|
249
|
+
## What's Included vs Excluded
|
|
250
|
+
|
|
251
|
+
### ✅ Included (Generic & Reusable)
|
|
252
|
+
- Global UI components
|
|
253
|
+
- Generic composables (data table, selection, etc.)
|
|
254
|
+
- Generic utilities (date conversion, number formatting, etc.)
|
|
255
|
+
- Generic directives (digit-limit)
|
|
256
|
+
- Global stores (customizer only)
|
|
257
|
+
- Component types (DataTable, etc.)
|
|
258
|
+
- Generic enums (boolean, etc.)
|
|
259
|
+
|
|
260
|
+
### ❌ Excluded (App-Specific Logic)
|
|
261
|
+
- Business logic types (approval, cartable, etc.)
|
|
262
|
+
- App-specific stores (permissions, approval, base, customerInfo, auth, etc.)
|
|
263
|
+
- App-specific composables (usePermissions, useRouteGuard)
|
|
264
|
+
- App-specific directives (v-permission with hardcoded menu permissions)
|
|
265
|
+
- App-specific enums (contract types, LC types, etc.)
|
|
266
|
+
- Service modules (API calls, etc.)
|
|
267
|
+
|
|
268
|
+
## License
|
|
269
|
+
|
|
270
|
+
MIT
|
|
271
|
+
|
|
272
|
+
## Contributing
|
|
273
|
+
|
|
274
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
275
|
+
|
package/dist/_redirects
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* /index.html 200
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=Loading.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Loading.vue.d.ts","sourceRoot":"","sources":["../../src/components/Loading.vue"],"names":[],"mappings":";AAiMA,wBAKG"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import '@/scss/components/_VStepper.scss';
|
|
2
|
+
import type { Component } from 'vue';
|
|
3
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
steps: {
|
|
5
|
+
type: () => {
|
|
6
|
+
title: string;
|
|
7
|
+
section: Component;
|
|
8
|
+
}[];
|
|
9
|
+
required: true;
|
|
10
|
+
};
|
|
11
|
+
modelValue: {
|
|
12
|
+
type: NumberConstructor;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
contentMinHeight: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
default: any;
|
|
18
|
+
};
|
|
19
|
+
disableClick: {
|
|
20
|
+
type: BooleanConstructor;
|
|
21
|
+
default: boolean;
|
|
22
|
+
};
|
|
23
|
+
stepProps: {
|
|
24
|
+
type: ObjectConstructor;
|
|
25
|
+
default: () => {};
|
|
26
|
+
};
|
|
27
|
+
}>, {
|
|
28
|
+
currentStepComponentRef: import("vue").Ref<any, any>;
|
|
29
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
30
|
+
"update:modelValue": (...args: any[]) => void;
|
|
31
|
+
"step-click": (...args: any[]) => void;
|
|
32
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
33
|
+
steps: {
|
|
34
|
+
type: () => {
|
|
35
|
+
title: string;
|
|
36
|
+
section: Component;
|
|
37
|
+
}[];
|
|
38
|
+
required: true;
|
|
39
|
+
};
|
|
40
|
+
modelValue: {
|
|
41
|
+
type: NumberConstructor;
|
|
42
|
+
required: true;
|
|
43
|
+
};
|
|
44
|
+
contentMinHeight: {
|
|
45
|
+
type: StringConstructor;
|
|
46
|
+
default: any;
|
|
47
|
+
};
|
|
48
|
+
disableClick: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
52
|
+
stepProps: {
|
|
53
|
+
type: ObjectConstructor;
|
|
54
|
+
default: () => {};
|
|
55
|
+
};
|
|
56
|
+
}>> & Readonly<{
|
|
57
|
+
"onUpdate:modelValue"?: (...args: any[]) => any;
|
|
58
|
+
"onStep-click"?: (...args: any[]) => any;
|
|
59
|
+
}>, {
|
|
60
|
+
contentMinHeight: string;
|
|
61
|
+
disableClick: boolean;
|
|
62
|
+
stepProps: Record<string, any>;
|
|
63
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
|
|
64
|
+
badge?: (props: {
|
|
65
|
+
status: string;
|
|
66
|
+
index: number;
|
|
67
|
+
}) => any;
|
|
68
|
+
}>;
|
|
69
|
+
export default _default;
|
|
70
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
71
|
+
new (): {
|
|
72
|
+
$slots: S;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=AppStepper.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppStepper.vue.d.ts","sourceRoot":"","sources":["../../../src/components/common/AppStepper.vue"],"names":[],"mappings":"AA4IA,OAAO,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAA2B,MAAM,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmR9D,wBAA0E;AAE1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
type Breadcrumb = {
|
|
3
|
+
title: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
href?: string;
|
|
6
|
+
to?: any;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
9
|
+
title: StringConstructor;
|
|
10
|
+
breadcrumbs: PropType<Breadcrumb[]>;
|
|
11
|
+
icon: StringConstructor;
|
|
12
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
13
|
+
title: StringConstructor;
|
|
14
|
+
breadcrumbs: PropType<Breadcrumb[]>;
|
|
15
|
+
icon: StringConstructor;
|
|
16
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
17
|
+
export default _default;
|
|
18
|
+
//# sourceMappingURL=BaseBreadcrumb.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseBreadcrumb.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/BaseBreadcrumb.vue"],"names":[],"mappings":"AA0DA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAEpC,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,GAAG,CAAC;CACV,CAAC;;;;;;;;;;AAmMF,wBAUG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
icon: {
|
|
3
|
+
type: StringConstructor;
|
|
4
|
+
required: false;
|
|
5
|
+
};
|
|
6
|
+
buttonClass: {
|
|
7
|
+
type: StringConstructor;
|
|
8
|
+
default: string;
|
|
9
|
+
};
|
|
10
|
+
emitFunc: {
|
|
11
|
+
type: FunctionConstructor;
|
|
12
|
+
required: true;
|
|
13
|
+
};
|
|
14
|
+
rowData: ObjectConstructor;
|
|
15
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
16
|
+
icon: {
|
|
17
|
+
type: StringConstructor;
|
|
18
|
+
required: false;
|
|
19
|
+
};
|
|
20
|
+
buttonClass: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
default: string;
|
|
23
|
+
};
|
|
24
|
+
emitFunc: {
|
|
25
|
+
type: FunctionConstructor;
|
|
26
|
+
required: true;
|
|
27
|
+
};
|
|
28
|
+
rowData: ObjectConstructor;
|
|
29
|
+
}>> & Readonly<{}>, {
|
|
30
|
+
buttonClass: string;
|
|
31
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
32
|
+
export default _default;
|
|
33
|
+
//# sourceMappingURL=BaseIcon.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseIcon.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/BaseIcon.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgHA,wBAoBG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue: boolean;
|
|
3
|
+
title?: string;
|
|
4
|
+
message?: string;
|
|
5
|
+
confirmText?: string;
|
|
6
|
+
cancelText?: string;
|
|
7
|
+
color?: string;
|
|
8
|
+
persistent?: boolean;
|
|
9
|
+
loading?: boolean;
|
|
10
|
+
width?: string | number;
|
|
11
|
+
};
|
|
12
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
13
|
+
cancel: () => any;
|
|
14
|
+
"update:modelValue": (value: boolean) => any;
|
|
15
|
+
confirm: () => any;
|
|
16
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
onCancel?: () => any;
|
|
18
|
+
"onUpdate:modelValue"?: (value: boolean) => any;
|
|
19
|
+
onConfirm?: () => any;
|
|
20
|
+
}>, {
|
|
21
|
+
title: string;
|
|
22
|
+
color: string;
|
|
23
|
+
width: string | number;
|
|
24
|
+
message: string;
|
|
25
|
+
confirmText: string;
|
|
26
|
+
cancelText: string;
|
|
27
|
+
persistent: boolean;
|
|
28
|
+
loading: boolean;
|
|
29
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
30
|
+
default?: (props: {}) => any;
|
|
31
|
+
}>;
|
|
32
|
+
export default _default;
|
|
33
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
34
|
+
new (): {
|
|
35
|
+
$slots: S;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=ConfirmDialog.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmDialog.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/ConfirmDialog.vue"],"names":[],"mappings":"AA4EA,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACxB,CAAC;;;;;;;;;;;;;;;;;;;;;AA0MF,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
type DisplayStyle = 'compact' | 'detailed';
|
|
2
|
+
interface TooltipFn<T = any> {
|
|
3
|
+
(item: T): string;
|
|
4
|
+
}
|
|
5
|
+
interface SubtitleFn<T = any> {
|
|
6
|
+
(item: T): string | undefined;
|
|
7
|
+
}
|
|
8
|
+
type __VLS_Props = {
|
|
9
|
+
fields?: {
|
|
10
|
+
title?: string | ((item: any) => string);
|
|
11
|
+
value?: string | ((item: any) => unknown);
|
|
12
|
+
subtitle?: string | SubtitleFn;
|
|
13
|
+
group?: string;
|
|
14
|
+
isMainGroup?: string;
|
|
15
|
+
};
|
|
16
|
+
modelValue: any;
|
|
17
|
+
items: any[];
|
|
18
|
+
itemTitle?: string | ((item: any) => string);
|
|
19
|
+
itemValue?: string | ((item: any) => unknown);
|
|
20
|
+
displayStyle?: DisplayStyle;
|
|
21
|
+
multiple?: boolean;
|
|
22
|
+
clearable?: boolean;
|
|
23
|
+
label?: string;
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
density?: 'default' | 'comfortable' | 'compact';
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
loading?: boolean;
|
|
28
|
+
error?: boolean;
|
|
29
|
+
rules?: ((v: any) => true | string)[];
|
|
30
|
+
returnObject?: boolean;
|
|
31
|
+
chips?: boolean;
|
|
32
|
+
maxWidth?: string | number;
|
|
33
|
+
itemSubtitle?: string | SubtitleFn;
|
|
34
|
+
tooltip?: string | TooltipFn;
|
|
35
|
+
tooltipLocation?: 'top' | 'bottom' | 'start' | 'end';
|
|
36
|
+
tooltipOpenDelay?: number;
|
|
37
|
+
tooltipCloseDelay?: number;
|
|
38
|
+
groupField?: string;
|
|
39
|
+
isMainGroupField?: string;
|
|
40
|
+
};
|
|
41
|
+
declare var __VLS_18: {
|
|
42
|
+
item: any;
|
|
43
|
+
}, __VLS_20: {
|
|
44
|
+
item: any;
|
|
45
|
+
groupMembers: any[];
|
|
46
|
+
}, __VLS_26: {
|
|
47
|
+
item: any;
|
|
48
|
+
};
|
|
49
|
+
type __VLS_Slots = {} & {
|
|
50
|
+
'item-append'?: (props: typeof __VLS_18) => any;
|
|
51
|
+
} & {
|
|
52
|
+
tooltip?: (props: typeof __VLS_20) => any;
|
|
53
|
+
} & {
|
|
54
|
+
'item-append'?: (props: typeof __VLS_26) => any;
|
|
55
|
+
};
|
|
56
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
57
|
+
"update:modelValue": (value: any) => any;
|
|
58
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
59
|
+
"onUpdate:modelValue"?: (value: any) => any;
|
|
60
|
+
}>, {
|
|
61
|
+
itemTitle: string | ((item: any) => string);
|
|
62
|
+
itemValue: string | ((item: any) => unknown);
|
|
63
|
+
displayStyle: DisplayStyle;
|
|
64
|
+
multiple: boolean;
|
|
65
|
+
clearable: boolean;
|
|
66
|
+
density: "default" | "compact" | "comfortable";
|
|
67
|
+
returnObject: boolean;
|
|
68
|
+
chips: boolean;
|
|
69
|
+
tooltipLocation: "end" | "top" | "bottom" | "start";
|
|
70
|
+
tooltipOpenDelay: number;
|
|
71
|
+
tooltipCloseDelay: number;
|
|
72
|
+
groupField: string;
|
|
73
|
+
isMainGroupField: string;
|
|
74
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
|
|
75
|
+
export default _default;
|
|
76
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
77
|
+
new (): {
|
|
78
|
+
$slots: S;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=CustomAutocomplete.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomAutocomplete.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/CustomAutocomplete.vue"],"names":[],"mappings":"AAsTA,KAAK,YAAY,GAAG,SAAS,GAAG,UAAU,CAAA;AAE1C,UAAU,SAAS,CAAC,CAAC,GAAG,GAAG;IACzB,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAA;CAClB;AAED,UAAU,UAAU,CAAC,CAAC,GAAG,GAAG;IAC1B,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,CAAA;CAC9B;AAED,KAAK,WAAW,GAAG;IAEjB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,CAAA;QACxC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAA;QACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,UAAU,EAAE,GAAG,CAAA;IACf,KAAK,EAAE,GAAG,EAAE,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC,CAAA;IAC5C,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAA;IAC7C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAA;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,CAAC,EAAE,CAAA;IACrC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE1B,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;IAElC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAE5B,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAA;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAC;AA8VF,QAAA,IAAI,QAAQ;;CAAW,EAAE,QAAQ;;;CAAW,EAAE,QAAQ;;CAAY,CAAE;AACpE,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GACnD;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,GAC7C;IAAE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;;;;;;;;;;;;;;;;;;;;AAqCtD,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Ref } from 'vue';
|
|
2
|
+
import type { DataTableProps, TableItem } from '@/types/componentTypes/DataTableTypes';
|
|
3
|
+
/**
|
|
4
|
+
* Component props - using proper types from DataTableTypes
|
|
5
|
+
*/
|
|
6
|
+
interface Props extends Omit<DataTableProps, 'routes'> {
|
|
7
|
+
routes?: Record<string, string> | ((item: TableItem) => Record<string, string>);
|
|
8
|
+
enableGroupDelete?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: import("vue").DefineComponent<Props, {
|
|
11
|
+
fetchData: (queryParams?: Record<string, unknown>) => Promise<void>;
|
|
12
|
+
items: Ref<{
|
|
13
|
+
[x: string]: unknown;
|
|
14
|
+
id?: string | number;
|
|
15
|
+
}[], TableItem[] | {
|
|
16
|
+
[x: string]: unknown;
|
|
17
|
+
id?: string | number;
|
|
18
|
+
}[]>;
|
|
19
|
+
selectedItems: Ref<TableItem[], TableItem[]>;
|
|
20
|
+
getSelectedItems: () => TableItem[];
|
|
21
|
+
clearSelection: () => void;
|
|
22
|
+
groupedItems: Ref<{
|
|
23
|
+
groupKey: string | number;
|
|
24
|
+
groupLabel: string;
|
|
25
|
+
items: any[];
|
|
26
|
+
isExpanded: boolean;
|
|
27
|
+
count: number;
|
|
28
|
+
}[], {
|
|
29
|
+
groupKey: string | number;
|
|
30
|
+
groupLabel: string;
|
|
31
|
+
items: any[];
|
|
32
|
+
isExpanded: boolean;
|
|
33
|
+
count: number;
|
|
34
|
+
}[]>;
|
|
35
|
+
toggleGroup: (groupKey: string | number) => void;
|
|
36
|
+
expandAllGroups: () => void;
|
|
37
|
+
collapseAllGroups: () => void;
|
|
38
|
+
formModel: Ref<Record<string, any>, Record<string, any>>;
|
|
39
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
40
|
+
"update:selectedItems": (items: TableItem[]) => any;
|
|
41
|
+
"selection-change": (items: TableItem[]) => any;
|
|
42
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
43
|
+
"onUpdate:selectedItems"?: (items: TableItem[]) => any;
|
|
44
|
+
"onSelection-change"?: (items: TableItem[]) => any;
|
|
45
|
+
}>, {
|
|
46
|
+
autoFetch: boolean;
|
|
47
|
+
showPagination: boolean;
|
|
48
|
+
showRefreshButton: boolean;
|
|
49
|
+
selectable: boolean;
|
|
50
|
+
multiSelect: boolean;
|
|
51
|
+
selectedItems: TableItem[];
|
|
52
|
+
uniqueKey: string | ((item: TableItem) => string | number);
|
|
53
|
+
pageSize: number;
|
|
54
|
+
defaultExpanded: boolean;
|
|
55
|
+
dateWithTimezone: boolean;
|
|
56
|
+
bulkMode: boolean;
|
|
57
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
58
|
+
export default _default;
|
|
59
|
+
//# sourceMappingURL=CustomDataTable.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomDataTable.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/CustomDataTable.vue"],"names":[],"mappings":"AA+1DA,OAAO,KAAK,EAAa,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1C,OAAO,KAAK,EAGV,cAAc,EAEd,SAAS,EACV,MAAM,uCAAuC,CAAC;AAe/C;;GAEG;AACH,UAAU,KAAM,SAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0+GD,wBASG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
modelValue?: string;
|
|
3
|
+
label?: string;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
rows?: number;
|
|
6
|
+
maxlength?: number;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
readonly?: boolean;
|
|
9
|
+
clearable?: boolean;
|
|
10
|
+
showCounter?: boolean;
|
|
11
|
+
autoNumbering?: boolean;
|
|
12
|
+
startNumber?: number;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
15
|
+
change: (value: string) => any;
|
|
16
|
+
"update:modelValue": (value: string) => any;
|
|
17
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
18
|
+
onChange?: (value: string) => any;
|
|
19
|
+
"onUpdate:modelValue"?: (value: string) => any;
|
|
20
|
+
}>, {
|
|
21
|
+
label: string;
|
|
22
|
+
modelValue: string;
|
|
23
|
+
disabled: boolean;
|
|
24
|
+
clearable: boolean;
|
|
25
|
+
placeholder: string;
|
|
26
|
+
readonly: boolean;
|
|
27
|
+
rows: number;
|
|
28
|
+
maxlength: number;
|
|
29
|
+
showCounter: boolean;
|
|
30
|
+
autoNumbering: boolean;
|
|
31
|
+
startNumber: number;
|
|
32
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
33
|
+
export default _default;
|
|
34
|
+
//# sourceMappingURL=DescriptionInput.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DescriptionInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/shared/DescriptionInput.vue"],"names":[],"mappings":"AAgNA,UAAU,KAAK;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;;;;;;;;;;;;;;;;AAmQD,wBAQG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
url: string;
|
|
3
|
+
title?: string;
|
|
4
|
+
icon?: string;
|
|
5
|
+
iconStart?: boolean;
|
|
6
|
+
iconEnd?: boolean;
|
|
7
|
+
filename?: string;
|
|
8
|
+
method?: 'anchor' | 'fetch';
|
|
9
|
+
}
|
|
10
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
11
|
+
error: (error: Error) => any;
|
|
12
|
+
download: (url: string) => any;
|
|
13
|
+
success: (filename: string) => any;
|
|
14
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
15
|
+
onError?: (error: Error) => any;
|
|
16
|
+
onDownload?: (url: string) => any;
|
|
17
|
+
onSuccess?: (filename: string) => any;
|
|
18
|
+
}>, {
|
|
19
|
+
title: string;
|
|
20
|
+
method: "anchor" | "fetch";
|
|
21
|
+
iconStart: boolean;
|
|
22
|
+
iconEnd: boolean;
|
|
23
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
export default _default;
|
|
25
|
+
//# sourceMappingURL=DownloadButton.vue.d.ts.map
|