@winchsa/ui 0.1.3 → 0.1.5
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 +3 -113
- package/dist/components/{core/DialogCloseBtn.vue → DialogCloseBtn.vue} +1 -1
- package/dist/components/Drawer.vue +1 -1
- package/dist/components/Drawer.vue.d.ts +1 -1
- package/dist/components/{loading/LoadingDialog.vue → LoadingDialog.vue} +1 -1
- package/dist/components/Modal.vue +2 -2
- package/dist/components/{core/MoreBtn.vue → MoreBtn.vue} +1 -1
- package/dist/components/{core/MoreBtn.vue.d.ts → MoreBtn.vue.d.ts} +1 -1
- package/dist/components/{core/cards → cards}/AppCard.vue +1 -1
- package/dist/components/{core/cards → cards}/AppCard.vue.d.ts +1 -1
- package/dist/components/{core/cards → cards}/AppCardActions.vue +1 -1
- package/dist/components/{core/cards → cards}/AppCardActions.vue.d.ts +5 -5
- package/dist/components/cards/CheckboxesCard.vue +1 -1
- package/dist/components/cards/ImageCard.vue +1 -1
- package/dist/components/cards/ImageCard.vue.d.ts +1 -1
- package/dist/components/cards/InputCard.vue +1 -1
- package/dist/components/cards/InputCard.vue.d.ts +1 -1
- package/dist/components/cards/StaticCard.vue +1 -1
- package/dist/components/cards/StaticCard.vue.d.ts +1 -1
- package/dist/components/{core → forms}/AppBarSearch.vue +1 -1
- package/dist/components/{core → forms}/AppBarSearch.vue.d.ts +17 -17
- package/dist/components/forms/AppLink.vue +1 -1
- package/dist/components/forms/AppOtpInput.vue +1 -1
- package/dist/components/{core → forms}/AppSearchHeader.vue +2 -2
- package/dist/components/forms/AutocompleteInput.vue +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomCheckboxes.vue +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomCheckboxes.vue.d.ts +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomCheckboxesWithIcon.vue +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomCheckboxesWithIcon.vue.d.ts +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomCheckboxesWithImage.vue +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomCheckboxesWithImage.vue.d.ts +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomRadios.vue +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomRadios.vue.d.ts +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithIcon.vue.d.ts +1 -1
- package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithImage.vue.d.ts +1 -1
- package/dist/components/forms/DatePickerRange.vue +1 -1
- package/dist/components/forms/ManualDate.vue +2 -2
- package/dist/components/forms/PasswordInput.vue +1 -1
- package/dist/components/forms/RangeInput.vue +1 -1
- package/dist/components/table/DataTable.vue +4 -4
- package/dist/components/table/EditableDataTable.vue +1 -1
- package/dist/components/table/EditableDataTable.vue.d.ts +1 -1
- package/dist/components/table/EditableDataTableRow.vue +2 -2
- package/dist/components/table/FilterGenerator.vue +3 -3
- package/dist/components/table/StaticTable.vue +1 -1
- package/dist/components/table/TablePagination.vue +1 -1
- package/dist/index.d.ts +38 -39
- package/dist/index.js +43 -36
- package/dist/index.mjs +71 -69
- package/dist/lang/ar.json +54 -0
- package/dist/lang/en.json +54 -0
- package/dist/types.d.ts +1 -15
- package/dist/utils/client.js +14 -0
- package/dist/utils/client.mjs +14 -0
- package/dist/utils/hijriDate.d.ts +58 -0
- package/dist/utils/hijriDate.js +168 -0
- package/dist/utils/hijriDate.mjs +1951 -0
- package/dist/utils/i18n.d.ts +8 -0
- package/dist/utils/i18n.js +36 -0
- package/dist/utils/i18n.mjs +27 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +11 -0
- package/dist/utils/index.mjs +1 -0
- package/dist/utils/ruleValidator.d.ts +6 -0
- package/dist/utils/ruleValidator.js +32 -2
- package/dist/utils/ruleValidator.mjs +29 -0
- package/dist/utils/toaster.js +5 -8
- package/dist/utils/toaster.mjs +5 -6
- package/dist/utils/utils.d.ts +1 -0
- package/dist/utils/utils.js +16 -2
- package/dist/utils/utils.mjs +11 -0
- package/package.json +10 -12
- package/dist/components/icons/EndMarker.vue +0 -25
- package/dist/components/icons/EndMarker.vue.d.ts +0 -17
- package/dist/components/icons/RedXIcon.vue +0 -36
- package/dist/components/icons/RedXIcon.vue.d.ts +0 -2
- package/dist/components/icons/StarFillIcon.vue +0 -28
- package/dist/components/icons/StarFillIcon.vue.d.ts +0 -2
- package/dist/components/icons/StartMarker.vue +0 -25
- package/dist/components/icons/StartMarker.vue.d.ts +0 -17
- package/dist/components/icons/WorkerIcon.vue +0 -39
- package/dist/components/icons/WorkerIcon.vue.d.ts +0 -2
- package/dist/fonts/NotoSans-Medium.ttf +0 -0
- package/dist/fonts/NotoSansArabic-Medium.ttf +0 -0
- package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.eot +0 -0
- package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.svg +0 -9
- package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.ttf +0 -0
- package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.woff +0 -0
- package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.woff2 +0 -0
- package/dist/images/successful-registration.svg +0 -15
- package/dist/styles/@core/scss/template/libs/apex-chart.css +0 -90
- package/dist/styles/@core/scss/template/libs/apex-chart.scss +0 -99
- package/dist/styles/@core/scss/template/libs/shepherd.css +0 -82
- package/dist/styles/@core/scss/template/libs/shepherd.scss +0 -88
- package/dist/styles/assets/scss/styles.css +0 -16099
- package/dist/styles/assets/scss/styles.scss +0 -246
- package/src/styles/@core/scss/base/_components.scss +0 -164
- package/src/styles/@core/scss/base/_dark.scss +0 -16
- package/src/styles/@core/scss/base/_default-layout-w-vertical-nav.scss +0 -106
- package/src/styles/@core/scss/base/_default-layout.scss +0 -16
- package/src/styles/@core/scss/base/_index.scss +0 -47
- package/src/styles/@core/scss/base/_layouts.scss +0 -63
- package/src/styles/@core/scss/base/_misc.scss +0 -20
- package/src/styles/@core/scss/base/_mixins.scss +0 -84
- package/src/styles/@core/scss/base/_route-transitions.scss +0 -70
- package/src/styles/@core/scss/base/_utilities.scss +0 -418
- package/src/styles/@core/scss/base/_utils.scss +0 -100
- package/src/styles/@core/scss/base/_variables.scss +0 -190
- package/src/styles/@core/scss/base/_vertical-nav.scss +0 -264
- package/src/styles/@core/scss/base/libs/_perfect-scrollbar.scss +0 -35
- package/src/styles/@core/scss/base/libs/vuetify/_index.scss +0 -1
- package/src/styles/@core/scss/base/libs/vuetify/_overrides.scss +0 -385
- package/src/styles/@core/scss/base/libs/vuetify/_variables.scss +0 -48
- package/src/styles/@core/scss/base/placeholders/_default-layout-vertical-nav.scss +0 -48
- package/src/styles/@core/scss/base/placeholders/_default-layout.scss +0 -3
- package/src/styles/@core/scss/base/placeholders/_index.scss +0 -5
- package/src/styles/@core/scss/base/placeholders/_misc.scss +0 -7
- package/src/styles/@core/scss/base/placeholders/_nav.scss +0 -26
- package/src/styles/@core/scss/base/placeholders/_vertical-nav.scss +0 -84
- package/src/styles/@core/scss/base/skins/_bordered.scss +0 -60
- package/src/styles/@core/scss/base/skins/_index.scss +0 -1
- package/src/styles/@core/scss/template/_components.scss +0 -1035
- package/src/styles/@core/scss/template/_default-layout-w-vertical-nav.scss +0 -20
- package/src/styles/@core/scss/template/_utilities.scss +0 -20
- package/src/styles/@core/scss/template/_variables.scss +0 -67
- package/src/styles/@core/scss/template/_vertical-nav.scss +0 -41
- package/src/styles/@core/scss/template/index.scss +0 -15
- package/src/styles/@core/scss/template/libs/apex-chart.scss +0 -99
- package/src/styles/@core/scss/template/libs/shepherd.scss +0 -88
- package/src/styles/@core/scss/template/libs/vuetify/_variables.scss +0 -461
- package/src/styles/@core/scss/template/libs/vuetify/index.scss +0 -1
- package/src/styles/@core/scss/template/pages/misc.scss +0 -20
- package/src/styles/@core/scss/template/placeholders/_default-layout-vertical-nav.scss +0 -9
- package/src/styles/@core/scss/template/placeholders/_index.scss +0 -3
- package/src/styles/@core/scss/template/placeholders/_nav.scss +0 -15
- package/src/styles/@core/scss/template/placeholders/_vertical-nav.scss +0 -18
- package/src/styles/@core/scss/template/skins/_bordered.scss +0 -36
- package/src/styles/@core/scss/template/skins/_index.scss +0 -1
- package/src/styles/@layouts/styles/_classes.scss +0 -3
- package/src/styles/@layouts/styles/_dashboard-layout.scss +0 -43
- package/src/styles/@layouts/styles/_global.scss +0 -10
- package/src/styles/@layouts/styles/_mixins.scss +0 -28
- package/src/styles/@layouts/styles/_placeholders.scss +0 -53
- package/src/styles/@layouts/styles/_rtl.scss +0 -7
- package/src/styles/@layouts/styles/_variables.scss +0 -22
- package/src/styles/@layouts/styles/index.scss +0 -2
- package/src/styles/assets/scss/styles.scss +0 -246
- package/src/styles/assets/scss/variables/_template.scss +0 -1
- package/src/styles/assets/scss/variables/_vuetify.scss +0 -1
- /package/dist/components/{core/CustomizerSection.vue → CustomizerSection.vue} +0 -0
- /package/dist/components/{core/CustomizerSection.vue.d.ts → CustomizerSection.vue.d.ts} +0 -0
- /package/dist/components/{core/DialogCloseBtn.vue.d.ts → DialogCloseBtn.vue.d.ts} +0 -0
- /package/dist/components/{loading/LoadingBar.vue → LoadingBar.vue} +0 -0
- /package/dist/components/{loading/LoadingBar.vue.d.ts → LoadingBar.vue.d.ts} +0 -0
- /package/dist/components/{loading/LoadingDialog.vue.d.ts → LoadingDialog.vue.d.ts} +0 -0
- /package/dist/components/{loading/LoadingItem.vue → LoadingItem.vue} +0 -0
- /package/dist/components/{loading/LoadingItem.vue.d.ts → LoadingItem.vue.d.ts} +0 -0
- /package/dist/components/{core/ScrollToTop.vue → ScrollToTop.vue} +0 -0
- /package/dist/components/{core/ScrollToTop.vue.d.ts → ScrollToTop.vue.d.ts} +0 -0
- /package/dist/components/{core/cards → cards}/CardStatisticsHorizontal.vue +0 -0
- /package/dist/components/{core/cards → cards}/CardStatisticsHorizontal.vue.d.ts +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppCombobox.vue +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppCombobox.vue.d.ts +0 -0
- /package/dist/components/{core → forms}/AppDrawerHeaderSection.vue +0 -0
- /package/dist/components/{core → forms}/AppDrawerHeaderSection.vue.d.ts +0 -0
- /package/dist/components/{core → forms}/AppSearchHeader.vue.d.ts +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppSelect.vue +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppSelect.vue.d.ts +0 -0
- /package/dist/components/{core → forms}/AppStepper.vue +0 -0
- /package/dist/components/{core → forms}/AppStepper.vue.d.ts +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppSwitch.vue +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppSwitch.vue.d.ts +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppTextField.vue +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppTextField.vue.d.ts +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppTextarea.vue +0 -0
- /package/dist/components/{core/app-form-elements → forms}/AppTextarea.vue.d.ts +0 -0
- /package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithIcon.vue +0 -0
- /package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithImage.vue +0 -0
- /package/dist/composables/{use-is-mobile.d.ts → useIsMobile.d.ts} +0 -0
- /package/dist/composables/{use-is-mobile.js → useIsMobile.js} +0 -0
- /package/dist/composables/{use-is-mobile.mjs → useIsMobile.mjs} +0 -0
- /package/dist/composables/{use-table-filters.d.ts → useTableFilters.d.ts} +0 -0
- /package/dist/composables/{use-table-filters.js → useTableFilters.js} +0 -0
- /package/dist/composables/{use-table-filters.mjs → useTableFilters.mjs} +0 -0
package/README.md
CHANGED
|
@@ -1,66 +1,10 @@
|
|
|
1
|
+
<p><img src="http://winch.sa/assets/site/images/Logo.svg" width="250"></p>
|
|
2
|
+
|
|
1
3
|
# Winch UI
|
|
2
4
|
|
|
3
5
|
A Vue 3 + Vuetify UI component library for Winch SA.
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## 📦 Publishing Workflow
|
|
8
|
-
|
|
9
|
-
### Prerequisites
|
|
10
|
-
|
|
11
|
-
1. **NPM Token**: Add `NPM_TOKEN` secret to your GitHub repository settings
|
|
12
|
-
- Go to [npmjs.com](https://www.npmjs.com) → Account Settings → Access Tokens
|
|
13
|
-
- Create a new token with "Automation" type
|
|
14
|
-
- Add it as `NPM_TOKEN` in your repository secrets
|
|
15
|
-
|
|
16
|
-
2. **Personal Account**: This test version uses your personal npm account
|
|
17
|
-
|
|
18
|
-
### Publishing Options
|
|
19
|
-
|
|
20
|
-
#### Option 1: Automatic Publishing (Recommended)
|
|
21
|
-
The package automatically publishes when you push to the main branch:
|
|
22
|
-
|
|
23
|
-
- **Every commit** to main triggers an automatic patch version bump and release
|
|
24
|
-
- **Manual workflow** can be triggered from GitHub Actions tab for specific version bumps
|
|
25
|
-
- **Git tags** starting with `v` trigger immediate releases
|
|
26
|
-
|
|
27
|
-
#### Option 2: Manual Version Bumps
|
|
28
|
-
```bash
|
|
29
|
-
# For patch releases (0.1.0 → 0.1.1)
|
|
30
|
-
pnpm run publish:patch
|
|
31
|
-
|
|
32
|
-
# For minor releases (0.1.0 → 0.2.0)
|
|
33
|
-
pnpm run publish:minor
|
|
34
|
-
|
|
35
|
-
# For major releases (0.1.0 → 1.0.0)
|
|
36
|
-
pnpm run publish:major
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
#### Option 3: GitHub Actions Manual Trigger
|
|
40
|
-
1. Go to your repository's "Actions" tab
|
|
41
|
-
2. Select "Release" workflow
|
|
42
|
-
3. Click "Run workflow"
|
|
43
|
-
4. Choose version type (patch/minor/major)
|
|
44
|
-
5. Click "Run workflow"
|
|
45
|
-
|
|
46
|
-
#### Option 4: Git Tags
|
|
47
|
-
Create a git tag to trigger immediate release:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
git tag v0.1.1
|
|
51
|
-
git push origin v0.1.1
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
#### Option 5: Direct Publishing
|
|
55
|
-
```bash
|
|
56
|
-
# Build and publish directly
|
|
57
|
-
pnpm run release
|
|
58
|
-
|
|
59
|
-
# Dry run to test publishing without publishing
|
|
60
|
-
pnpm run release:dry-run
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## 🚀 Installation in Projects (TESTING)
|
|
7
|
+
## 🚀 Installation in Projects
|
|
64
8
|
|
|
65
9
|
```bash
|
|
66
10
|
# Using pnpm
|
|
@@ -110,57 +54,3 @@ pnpm run lint:fix
|
|
|
110
54
|
pnpm run test
|
|
111
55
|
```
|
|
112
56
|
|
|
113
|
-
## 🔄 GitHub Actions Workflows
|
|
114
|
-
|
|
115
|
-
### CI Workflow (`ci.yml`)
|
|
116
|
-
- Runs on every push and pull request
|
|
117
|
-
- Lints code, runs tests, and builds the package
|
|
118
|
-
- Ensures code quality before merging
|
|
119
|
-
|
|
120
|
-
### Auto Version Bump (`auto-version.yml`)
|
|
121
|
-
- Automatically bumps patch version on commits to main
|
|
122
|
-
- Skips version bumps for documentation changes
|
|
123
|
-
- Prevents infinite loops on version bump commits
|
|
124
|
-
|
|
125
|
-
### Release Workflow (`release.yml`)
|
|
126
|
-
- Publishes to npm when version changes
|
|
127
|
-
- Creates GitHub releases for tagged versions
|
|
128
|
-
- Handles both automatic and manual version bumps
|
|
129
|
-
- Checks for duplicate versions before publishing
|
|
130
|
-
|
|
131
|
-
## 📋 Release Notes
|
|
132
|
-
|
|
133
|
-
The workflow will automatically:
|
|
134
|
-
- ✅ Run CI checks (lint, test, build)
|
|
135
|
-
- ✅ Bump version automatically on commits
|
|
136
|
-
- ✅ Build the library
|
|
137
|
-
- ✅ Check if version already exists on npm
|
|
138
|
-
- ✅ Publish to npm with public access (personal account)
|
|
139
|
-
- ✅ Create GitHub releases for tagged versions
|
|
140
|
-
- ✅ Skip publishing if version already exists
|
|
141
|
-
- ✅ Handle manual version bumps via GitHub Actions
|
|
142
|
-
|
|
143
|
-
## 🔓 Public Package (Testing)
|
|
144
|
-
|
|
145
|
-
This test version is published with public access to your personal npm account.
|
|
146
|
-
|
|
147
|
-
## 🚨 Troubleshooting
|
|
148
|
-
|
|
149
|
-
### Version Already Exists
|
|
150
|
-
If you get an error that a version already exists:
|
|
151
|
-
1. Check the current version in `package.json`
|
|
152
|
-
2. Use a different version type (patch/minor/major)
|
|
153
|
-
3. Or manually edit the version in `package.json`
|
|
154
|
-
|
|
155
|
-
### Publishing Fails
|
|
156
|
-
1. Ensure `NPM_TOKEN` is set in repository secrets
|
|
157
|
-
2. Check that you have publish permissions to `@winchsa/ui`
|
|
158
|
-
3. Verify the package builds successfully locally
|
|
159
|
-
|
|
160
|
-
## 🔄 Moving to Organization
|
|
161
|
-
|
|
162
|
-
When ready to move to the organization:
|
|
163
|
-
1. Change package name back to `@winchsa/ui`
|
|
164
|
-
2. Update access to `restricted` in both `package.json` and `.npmrc`
|
|
165
|
-
3. Update GitHub Actions workflows
|
|
166
|
-
4. Ensure organization has paid npm plan for private packages
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { VIcon } from "vuetify/components";
|
|
3
|
-
import IconBtn from "
|
|
3
|
+
import IconBtn from "./IconBtn.vue";
|
|
4
4
|
defineProps({
|
|
5
5
|
icon: { type: String, required: false, default: "tabler-x" },
|
|
6
6
|
iconSize: { type: String, required: false, default: "22" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { VCardTitle, VDialog, VCardActions, VCardText } from "vuetify/components";
|
|
3
|
-
import AppCard from "./
|
|
3
|
+
import AppCard from "./cards/AppCard.vue";
|
|
4
4
|
import IconBtn from "./IconBtn.vue";
|
|
5
5
|
defineProps({
|
|
6
6
|
isAppRtl: { type: Boolean, required: true }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed } from "vue";
|
|
3
3
|
import { VDialog, VCardItem, VProgressLinear } from "vuetify/components";
|
|
4
|
-
import AppCard from "
|
|
4
|
+
import AppCard from "./cards/AppCard.vue";
|
|
5
5
|
const props = defineProps({
|
|
6
6
|
modelValue: { type: Boolean, required: true },
|
|
7
7
|
title: { type: String, required: true },
|
|
@@ -4,9 +4,9 @@ import { useDisplay } from "vuetify";
|
|
|
4
4
|
import { computed, nextTick, ref } from "vue";
|
|
5
5
|
import { VDialog, VCol, VRow, VIcon } from "vuetify/components";
|
|
6
6
|
import { useI18n } from "vue-i18n";
|
|
7
|
-
import AppCard from "
|
|
7
|
+
import AppCard from "./cards/AppCard.vue";
|
|
8
8
|
import BaseButton from "./forms/BaseButton.vue";
|
|
9
|
-
import DialogCloseBtn from "./
|
|
9
|
+
import DialogCloseBtn from "./DialogCloseBtn.vue";
|
|
10
10
|
const { xs } = useDisplay();
|
|
11
11
|
const { t } = useI18n();
|
|
12
12
|
const props = defineProps({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, useSlots } from "vue";
|
|
3
3
|
import { VCard } from "vuetify/components";
|
|
4
|
-
import LoadingBar from "
|
|
4
|
+
import LoadingBar from "../LoadingBar.vue";
|
|
5
5
|
defineProps({
|
|
6
6
|
isLoading: { type: Boolean, required: false }
|
|
7
7
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { ref } from "vue";
|
|
3
3
|
import { VCard, VCardItem, VIcon, VOverlay, VExpandTransition, VProgressCircular, VCardTitle, VBtn } from "vuetify/components";
|
|
4
|
-
import IconBtn from "
|
|
4
|
+
import IconBtn from "../IconBtn.vue";
|
|
5
5
|
const props = defineProps({
|
|
6
6
|
collapsed: { type: Boolean, required: false, default: false },
|
|
7
7
|
noActions: { type: Boolean, required: false, default: false },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VCard, VCardItem, VIcon, VOverlay, VExpandTransition, VProgressCircular, VCardTitle } from 'vuetify/components';
|
|
2
|
-
import IconBtn from '
|
|
2
|
+
import IconBtn from '../IconBtn.vue';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
collapsed?: boolean;
|
|
5
5
|
noActions?: boolean;
|
|
@@ -39,12 +39,12 @@ declare const __VLS_self: import("vue").DefineComponent<__VLS_Props, {
|
|
|
39
39
|
triggerRefresh: typeof triggerRefresh;
|
|
40
40
|
triggeredRemove: typeof triggeredRemove;
|
|
41
41
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
42
|
-
refresh: (hideOverlay: () => void) => any;
|
|
43
42
|
collapsed: (isContentCollapsed: boolean) => any;
|
|
43
|
+
refresh: (hideOverlay: () => void) => any;
|
|
44
44
|
trash: () => any;
|
|
45
45
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
46
|
-
onRefresh?: ((hideOverlay: () => void) => any) | undefined;
|
|
47
46
|
onCollapsed?: ((isContentCollapsed: boolean) => any) | undefined;
|
|
47
|
+
onRefresh?: ((hideOverlay: () => void) => any) | undefined;
|
|
48
48
|
onTrash?: (() => any) | undefined;
|
|
49
49
|
}>, {
|
|
50
50
|
title: string;
|
|
@@ -55,12 +55,12 @@ declare const __VLS_self: import("vue").DefineComponent<__VLS_Props, {
|
|
|
55
55
|
actionRemove: boolean;
|
|
56
56
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
57
57
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
58
|
-
refresh: (hideOverlay: () => void) => any;
|
|
59
58
|
collapsed: (isContentCollapsed: boolean) => any;
|
|
59
|
+
refresh: (hideOverlay: () => void) => any;
|
|
60
60
|
trash: () => any;
|
|
61
61
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
62
|
-
onRefresh?: ((hideOverlay: () => void) => any) | undefined;
|
|
63
62
|
onCollapsed?: ((isContentCollapsed: boolean) => any) | undefined;
|
|
63
|
+
onRefresh?: ((hideOverlay: () => void) => any) | undefined;
|
|
64
64
|
onTrash?: (() => any) | undefined;
|
|
65
65
|
}>, {
|
|
66
66
|
title: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { onMounted, reactive, watch } from "vue";
|
|
3
3
|
import { VCardItem, VCheckbox, VDivider } from "vuetify/components";
|
|
4
|
-
import AppCard from "
|
|
4
|
+
import AppCard from "./AppCard.vue";
|
|
5
5
|
const props = defineProps({
|
|
6
6
|
id: { type: [String, Number], required: false, default: "" },
|
|
7
7
|
title: { type: String, required: false, default: "" },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { VCardItem, VAvatar, VImg } from "vuetify/components";
|
|
3
3
|
import AppLink from "../forms/AppLink.vue";
|
|
4
|
-
import AppCard from "
|
|
4
|
+
import AppCard from "./AppCard.vue";
|
|
5
5
|
defineProps({
|
|
6
6
|
title: { type: Object, required: false, default: () => ({
|
|
7
7
|
text: ""
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed } from "vue";
|
|
3
3
|
import { VLabel } from "vuetify/components";
|
|
4
|
-
import AppCard from "
|
|
4
|
+
import AppCard from "./AppCard.vue";
|
|
5
5
|
import AppLink from "../forms/AppLink.vue";
|
|
6
6
|
const props = defineProps({
|
|
7
7
|
title: { type: String, required: false, default: "" },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { VCardItem } from "vuetify/components";
|
|
3
|
-
import AppCard from "
|
|
3
|
+
import AppCard from "./AppCard.vue";
|
|
4
4
|
defineProps({
|
|
5
5
|
title: { type: String, required: true, default: "" },
|
|
6
6
|
subTitle: { type: String, required: false },
|
|
@@ -4,7 +4,7 @@ import { useMagicKeys } from "@vueuse/core";
|
|
|
4
4
|
import { ref, toRaw, watch, watchEffect } from "vue";
|
|
5
5
|
import { VList, VListItem, VListSubheader, VListItemTitle, VCardText, VDialog, VIcon, VDivider, VCol, VRow, VTextField, VBtn } from "vuetify/components";
|
|
6
6
|
import IconBtn from "../IconBtn.vue";
|
|
7
|
-
import AppCard from "
|
|
7
|
+
import AppCard from "../cards/AppCard.vue";
|
|
8
8
|
const props = defineProps({
|
|
9
9
|
isDialogVisible: { type: Boolean, required: true },
|
|
10
10
|
searchQuery: { type: String, required: true },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PerfectScrollbar } from 'vue3-perfect-scrollbar';
|
|
2
2
|
import { VList, VListItem, VListSubheader, VListItemTitle, VCardText, VDialog, VIcon, VDivider, VCol, VRow, VTextField } from 'vuetify/components';
|
|
3
3
|
import IconBtn from '../IconBtn.vue';
|
|
4
|
-
import AppCard from '
|
|
4
|
+
import AppCard from '../cards/AppCard.vue';
|
|
5
5
|
type Suggestion = {
|
|
6
6
|
icon: string;
|
|
7
7
|
title: string;
|
|
@@ -550,7 +550,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
550
550
|
} & {
|
|
551
551
|
item: unknown;
|
|
552
552
|
}) => import("vue").VNodeChild) | undefined;
|
|
553
|
-
|
|
553
|
+
append?: ((arg: {
|
|
554
554
|
isActive: boolean;
|
|
555
555
|
isSelected: boolean;
|
|
556
556
|
isIndeterminate: boolean;
|
|
@@ -558,7 +558,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
558
558
|
} & {
|
|
559
559
|
item: unknown;
|
|
560
560
|
}) => import("vue").VNodeChild) | undefined;
|
|
561
|
-
|
|
561
|
+
prepend?: ((arg: {
|
|
562
562
|
isActive: boolean;
|
|
563
563
|
isSelected: boolean;
|
|
564
564
|
isIndeterminate: boolean;
|
|
@@ -607,7 +607,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
607
607
|
} & {
|
|
608
608
|
item: unknown;
|
|
609
609
|
}) => import("vue").VNodeChild) | undefined;
|
|
610
|
-
|
|
610
|
+
append?: false | ((arg: {
|
|
611
611
|
isActive: boolean;
|
|
612
612
|
isSelected: boolean;
|
|
613
613
|
isIndeterminate: boolean;
|
|
@@ -615,7 +615,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
615
615
|
} & {
|
|
616
616
|
item: unknown;
|
|
617
617
|
}) => import("vue").VNodeChild) | undefined;
|
|
618
|
-
|
|
618
|
+
prepend?: false | ((arg: {
|
|
619
619
|
isActive: boolean;
|
|
620
620
|
isSelected: boolean;
|
|
621
621
|
isIndeterminate: boolean;
|
|
@@ -664,7 +664,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
664
664
|
} & {
|
|
665
665
|
item: unknown;
|
|
666
666
|
}) => import("vue").VNodeChild) | undefined;
|
|
667
|
-
"v-slot:
|
|
667
|
+
"v-slot:append"?: false | ((arg: {
|
|
668
668
|
isActive: boolean;
|
|
669
669
|
isSelected: boolean;
|
|
670
670
|
isIndeterminate: boolean;
|
|
@@ -672,7 +672,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
672
672
|
} & {
|
|
673
673
|
item: unknown;
|
|
674
674
|
}) => import("vue").VNodeChild) | undefined;
|
|
675
|
-
"v-slot:
|
|
675
|
+
"v-slot:prepend"?: false | ((arg: {
|
|
676
676
|
isActive: boolean;
|
|
677
677
|
isSelected: boolean;
|
|
678
678
|
isIndeterminate: boolean;
|
|
@@ -721,7 +721,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
721
721
|
} & {
|
|
722
722
|
item: unknown;
|
|
723
723
|
}) => import("vue").VNode[];
|
|
724
|
-
|
|
724
|
+
append: (arg: {
|
|
725
725
|
isActive: boolean;
|
|
726
726
|
isSelected: boolean;
|
|
727
727
|
isIndeterminate: boolean;
|
|
@@ -729,7 +729,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
729
729
|
} & {
|
|
730
730
|
item: unknown;
|
|
731
731
|
}) => import("vue").VNode[];
|
|
732
|
-
|
|
732
|
+
prepend: (arg: {
|
|
733
733
|
isActive: boolean;
|
|
734
734
|
isSelected: boolean;
|
|
735
735
|
isIndeterminate: boolean;
|
|
@@ -1299,7 +1299,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
1299
1299
|
} & {
|
|
1300
1300
|
item: unknown;
|
|
1301
1301
|
}) => import("vue").VNodeChild) | undefined;
|
|
1302
|
-
|
|
1302
|
+
append?: ((arg: {
|
|
1303
1303
|
isActive: boolean;
|
|
1304
1304
|
isSelected: boolean;
|
|
1305
1305
|
isIndeterminate: boolean;
|
|
@@ -1307,7 +1307,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
1307
1307
|
} & {
|
|
1308
1308
|
item: unknown;
|
|
1309
1309
|
}) => import("vue").VNodeChild) | undefined;
|
|
1310
|
-
|
|
1310
|
+
prepend?: ((arg: {
|
|
1311
1311
|
isActive: boolean;
|
|
1312
1312
|
isSelected: boolean;
|
|
1313
1313
|
isIndeterminate: boolean;
|
|
@@ -1356,7 +1356,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
1356
1356
|
} & {
|
|
1357
1357
|
item: unknown;
|
|
1358
1358
|
}) => import("vue").VNodeChild) | undefined;
|
|
1359
|
-
|
|
1359
|
+
append?: false | ((arg: {
|
|
1360
1360
|
isActive: boolean;
|
|
1361
1361
|
isSelected: boolean;
|
|
1362
1362
|
isIndeterminate: boolean;
|
|
@@ -1364,7 +1364,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
1364
1364
|
} & {
|
|
1365
1365
|
item: unknown;
|
|
1366
1366
|
}) => import("vue").VNodeChild) | undefined;
|
|
1367
|
-
|
|
1367
|
+
prepend?: false | ((arg: {
|
|
1368
1368
|
isActive: boolean;
|
|
1369
1369
|
isSelected: boolean;
|
|
1370
1370
|
isIndeterminate: boolean;
|
|
@@ -1413,7 +1413,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
1413
1413
|
} & {
|
|
1414
1414
|
item: unknown;
|
|
1415
1415
|
}) => import("vue").VNodeChild) | undefined;
|
|
1416
|
-
"v-slot:
|
|
1416
|
+
"v-slot:append"?: false | ((arg: {
|
|
1417
1417
|
isActive: boolean;
|
|
1418
1418
|
isSelected: boolean;
|
|
1419
1419
|
isIndeterminate: boolean;
|
|
@@ -1421,7 +1421,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
1421
1421
|
} & {
|
|
1422
1422
|
item: unknown;
|
|
1423
1423
|
}) => import("vue").VNodeChild) | undefined;
|
|
1424
|
-
"v-slot:
|
|
1424
|
+
"v-slot:prepend"?: false | ((arg: {
|
|
1425
1425
|
isActive: boolean;
|
|
1426
1426
|
isSelected: boolean;
|
|
1427
1427
|
isIndeterminate: boolean;
|
|
@@ -1470,7 +1470,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
1470
1470
|
} & {
|
|
1471
1471
|
item: unknown;
|
|
1472
1472
|
}) => import("vue").VNode[];
|
|
1473
|
-
|
|
1473
|
+
append: (arg: {
|
|
1474
1474
|
isActive: boolean;
|
|
1475
1475
|
isSelected: boolean;
|
|
1476
1476
|
isIndeterminate: boolean;
|
|
@@ -1478,7 +1478,7 @@ declare const refSearchList: import("vue").Ref<({
|
|
|
1478
1478
|
} & {
|
|
1479
1479
|
item: unknown;
|
|
1480
1480
|
}) => import("vue").VNode[];
|
|
1481
|
-
|
|
1481
|
+
prepend: (arg: {
|
|
1482
1482
|
isActive: boolean;
|
|
1483
1483
|
isSelected: boolean;
|
|
1484
1484
|
isIndeterminate: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { onMounted, ref } from "vue";
|
|
3
3
|
import { useI18n } from "vue-i18n";
|
|
4
|
-
import AppTextField from "
|
|
4
|
+
import AppTextField from "./AppTextField.vue";
|
|
5
5
|
const props = defineProps({
|
|
6
6
|
totalInput: { type: Number, required: false, default: 4 },
|
|
7
7
|
modelValue: { type: String, required: false, default: "" },
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { VCardText, VIcon } from "vuetify/components";
|
|
3
3
|
import AppSearchHeaderBg from "../../images/avatar.png";
|
|
4
|
-
import AppTextField from "./
|
|
5
|
-
import AppCard from "
|
|
4
|
+
import AppTextField from "./AppTextField.vue";
|
|
5
|
+
import AppCard from "../cards/AppCard.vue";
|
|
6
6
|
defineProps({
|
|
7
7
|
title: { type: String, required: false },
|
|
8
8
|
subtitle: { type: String, required: false },
|
|
@@ -6,7 +6,7 @@ import { VLabel, VValidation, VListItem, VMessages, VIcon } from "vuetify/compon
|
|
|
6
6
|
import { client } from "../../utils/client";
|
|
7
7
|
import { generateUniqueId } from "../../utils/utils";
|
|
8
8
|
import { buildQueryString } from "../../utils/queryParams";
|
|
9
|
-
import LoadingBar from "../
|
|
9
|
+
import LoadingBar from "../LoadingBar.vue";
|
|
10
10
|
const { t } = useI18n();
|
|
11
11
|
const guid = generateUniqueId();
|
|
12
12
|
const props = defineProps({
|
|
@@ -4,7 +4,7 @@ import { VLabel, VCheckbox, VSpacer, VCol, VRow } from "vuetify/components";
|
|
|
4
4
|
const props = defineProps({
|
|
5
5
|
selectedCheckbox: { type: Array, required: true },
|
|
6
6
|
checkboxContent: { type: Array, required: true },
|
|
7
|
-
gridColumn: { type:
|
|
7
|
+
gridColumn: { type: Object, required: false }
|
|
8
8
|
});
|
|
9
9
|
const emit = defineEmits(["update:selectedCheckbox"]);
|
|
10
10
|
const selectedOption = ref(structuredClone(toRaw(props.selectedCheckbox)));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VLabel, VCheckbox, VSpacer, VCol, VRow } from 'vuetify/components';
|
|
2
|
-
import type { CustomInputContent, GridColumn } from '
|
|
2
|
+
import type { CustomInputContent, GridColumn } from '../../types';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
selectedCheckbox: string[];
|
|
5
5
|
checkboxContent: CustomInputContent[];
|
|
@@ -4,7 +4,7 @@ import { VLabel, VCheckbox, VIcon, VCol, VRow } from "vuetify/components";
|
|
|
4
4
|
const props = defineProps({
|
|
5
5
|
selectedCheckbox: { type: Array, required: true },
|
|
6
6
|
checkboxContent: { type: Array, required: true },
|
|
7
|
-
gridColumn: { type:
|
|
7
|
+
gridColumn: { type: Object, required: false }
|
|
8
8
|
});
|
|
9
9
|
const emit = defineEmits(["update:selectedCheckbox"]);
|
|
10
10
|
const selectedOption = ref(structuredClone(toRaw(props.selectedCheckbox)));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VLabel, VCheckbox, VIcon, VCol, VRow } from 'vuetify/components';
|
|
2
|
-
import type { CustomInputContent, GridColumn } from '
|
|
2
|
+
import type { CustomInputContent, GridColumn } from '../../types';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
selectedCheckbox: string[];
|
|
5
5
|
checkboxContent: CustomInputContent[];
|
|
@@ -4,7 +4,7 @@ import { VLabel, VCheckbox, VCol, VRow } from "vuetify/components";
|
|
|
4
4
|
const props = defineProps({
|
|
5
5
|
selectedCheckbox: { type: Array, required: true },
|
|
6
6
|
checkboxContent: { type: Array, required: true },
|
|
7
|
-
gridColumn: { type:
|
|
7
|
+
gridColumn: { type: Object, required: false }
|
|
8
8
|
});
|
|
9
9
|
const emit = defineEmits(["update:selectedCheckbox"]);
|
|
10
10
|
const selectedOption = ref(structuredClone(toRaw(props.selectedCheckbox)));
|
|
@@ -4,7 +4,7 @@ import { VLabel, VRadio, VSpacer, VRadioGroup, VCol, VRow } from "vuetify/compon
|
|
|
4
4
|
const props = defineProps({
|
|
5
5
|
selectedRadio: { type: String, required: true },
|
|
6
6
|
radioContent: { type: Array, required: true },
|
|
7
|
-
gridColumn: { type:
|
|
7
|
+
gridColumn: { type: Object, required: false }
|
|
8
8
|
});
|
|
9
9
|
const emit = defineEmits(["update:selectedRadio"]);
|
|
10
10
|
const selectedOption = ref(structuredClone(toRaw(props.selectedRadio)));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VLabel, VRadio, VSpacer, VRadioGroup, VCol, VRow } from 'vuetify/components';
|
|
2
|
-
import type { CustomInputContent, GridColumn } from '
|
|
2
|
+
import type { CustomInputContent, GridColumn } from '../../types';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
selectedRadio: string;
|
|
5
5
|
radioContent: CustomInputContent[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VLabel, VRadio, VRadioGroup, VCol, VRow, VIcon } from 'vuetify/components';
|
|
2
|
-
import type { CustomInputContent, GridColumn } from '
|
|
2
|
+
import type { CustomInputContent, GridColumn } from '../../types';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
selectedRadio: string | number;
|
|
5
5
|
label?: string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { computed, ref, watch } from "vue";
|
|
3
3
|
import { useI18n } from "vue-i18n";
|
|
4
4
|
import { VCol } from "vuetify/components";
|
|
5
|
-
import { useIsMobile } from "../../composables/
|
|
5
|
+
import { useIsMobile } from "../../composables/useIsMobile";
|
|
6
6
|
import DatePicker from "./DatePicker.vue";
|
|
7
7
|
const { t } = useI18n();
|
|
8
8
|
const props = defineProps({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import
|
|
2
|
+
import { HijriJS } from "../../utils/hijriDate";
|
|
3
3
|
import { computed, ref, watch } from "vue";
|
|
4
4
|
import { useI18n } from "vue-i18n";
|
|
5
5
|
import { VLabel, VIcon, VValidation, VMessages } from "vuetify/components";
|
|
@@ -91,7 +91,7 @@ const onYearInput = (e) => {
|
|
|
91
91
|
input.value = date.value.year;
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
94
|
-
const currentYear = props.type === "hijri" ?
|
|
94
|
+
const currentYear = props.type === "hijri" ? HijriJS.today().year : (/* @__PURE__ */ new Date()).getFullYear();
|
|
95
95
|
if (parseInt(input.value) > currentYear) {
|
|
96
96
|
date.value.year = String(currentYear);
|
|
97
97
|
input.value = String(currentYear);
|