@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.
Files changed (184) hide show
  1. package/README.md +3 -113
  2. package/dist/components/{core/DialogCloseBtn.vue → DialogCloseBtn.vue} +1 -1
  3. package/dist/components/Drawer.vue +1 -1
  4. package/dist/components/Drawer.vue.d.ts +1 -1
  5. package/dist/components/{loading/LoadingDialog.vue → LoadingDialog.vue} +1 -1
  6. package/dist/components/Modal.vue +2 -2
  7. package/dist/components/{core/MoreBtn.vue → MoreBtn.vue} +1 -1
  8. package/dist/components/{core/MoreBtn.vue.d.ts → MoreBtn.vue.d.ts} +1 -1
  9. package/dist/components/{core/cards → cards}/AppCard.vue +1 -1
  10. package/dist/components/{core/cards → cards}/AppCard.vue.d.ts +1 -1
  11. package/dist/components/{core/cards → cards}/AppCardActions.vue +1 -1
  12. package/dist/components/{core/cards → cards}/AppCardActions.vue.d.ts +5 -5
  13. package/dist/components/cards/CheckboxesCard.vue +1 -1
  14. package/dist/components/cards/ImageCard.vue +1 -1
  15. package/dist/components/cards/ImageCard.vue.d.ts +1 -1
  16. package/dist/components/cards/InputCard.vue +1 -1
  17. package/dist/components/cards/InputCard.vue.d.ts +1 -1
  18. package/dist/components/cards/StaticCard.vue +1 -1
  19. package/dist/components/cards/StaticCard.vue.d.ts +1 -1
  20. package/dist/components/{core → forms}/AppBarSearch.vue +1 -1
  21. package/dist/components/{core → forms}/AppBarSearch.vue.d.ts +17 -17
  22. package/dist/components/forms/AppLink.vue +1 -1
  23. package/dist/components/forms/AppOtpInput.vue +1 -1
  24. package/dist/components/{core → forms}/AppSearchHeader.vue +2 -2
  25. package/dist/components/forms/AutocompleteInput.vue +1 -1
  26. package/dist/components/{core/app-form-elements → forms}/CustomCheckboxes.vue +1 -1
  27. package/dist/components/{core/app-form-elements → forms}/CustomCheckboxes.vue.d.ts +1 -1
  28. package/dist/components/{core/app-form-elements → forms}/CustomCheckboxesWithIcon.vue +1 -1
  29. package/dist/components/{core/app-form-elements → forms}/CustomCheckboxesWithIcon.vue.d.ts +1 -1
  30. package/dist/components/{core/app-form-elements → forms}/CustomCheckboxesWithImage.vue +1 -1
  31. package/dist/components/{core/app-form-elements → forms}/CustomCheckboxesWithImage.vue.d.ts +1 -1
  32. package/dist/components/{core/app-form-elements → forms}/CustomRadios.vue +1 -1
  33. package/dist/components/{core/app-form-elements → forms}/CustomRadios.vue.d.ts +1 -1
  34. package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithIcon.vue.d.ts +1 -1
  35. package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithImage.vue.d.ts +1 -1
  36. package/dist/components/forms/DatePickerRange.vue +1 -1
  37. package/dist/components/forms/ManualDate.vue +2 -2
  38. package/dist/components/forms/PasswordInput.vue +1 -1
  39. package/dist/components/forms/RangeInput.vue +1 -1
  40. package/dist/components/table/DataTable.vue +4 -4
  41. package/dist/components/table/EditableDataTable.vue +1 -1
  42. package/dist/components/table/EditableDataTable.vue.d.ts +1 -1
  43. package/dist/components/table/EditableDataTableRow.vue +2 -2
  44. package/dist/components/table/FilterGenerator.vue +3 -3
  45. package/dist/components/table/StaticTable.vue +1 -1
  46. package/dist/components/table/TablePagination.vue +1 -1
  47. package/dist/index.d.ts +38 -39
  48. package/dist/index.js +43 -36
  49. package/dist/index.mjs +71 -69
  50. package/dist/lang/ar.json +54 -0
  51. package/dist/lang/en.json +54 -0
  52. package/dist/types.d.ts +1 -15
  53. package/dist/utils/client.js +14 -0
  54. package/dist/utils/client.mjs +14 -0
  55. package/dist/utils/hijriDate.d.ts +58 -0
  56. package/dist/utils/hijriDate.js +168 -0
  57. package/dist/utils/hijriDate.mjs +1951 -0
  58. package/dist/utils/i18n.d.ts +8 -0
  59. package/dist/utils/i18n.js +36 -0
  60. package/dist/utils/i18n.mjs +27 -0
  61. package/dist/utils/index.d.ts +1 -0
  62. package/dist/utils/index.js +11 -0
  63. package/dist/utils/index.mjs +1 -0
  64. package/dist/utils/ruleValidator.d.ts +6 -0
  65. package/dist/utils/ruleValidator.js +32 -2
  66. package/dist/utils/ruleValidator.mjs +29 -0
  67. package/dist/utils/toaster.js +5 -8
  68. package/dist/utils/toaster.mjs +5 -6
  69. package/dist/utils/utils.d.ts +1 -0
  70. package/dist/utils/utils.js +16 -2
  71. package/dist/utils/utils.mjs +11 -0
  72. package/package.json +10 -12
  73. package/dist/components/icons/EndMarker.vue +0 -25
  74. package/dist/components/icons/EndMarker.vue.d.ts +0 -17
  75. package/dist/components/icons/RedXIcon.vue +0 -36
  76. package/dist/components/icons/RedXIcon.vue.d.ts +0 -2
  77. package/dist/components/icons/StarFillIcon.vue +0 -28
  78. package/dist/components/icons/StarFillIcon.vue.d.ts +0 -2
  79. package/dist/components/icons/StartMarker.vue +0 -25
  80. package/dist/components/icons/StartMarker.vue.d.ts +0 -17
  81. package/dist/components/icons/WorkerIcon.vue +0 -39
  82. package/dist/components/icons/WorkerIcon.vue.d.ts +0 -2
  83. package/dist/fonts/NotoSans-Medium.ttf +0 -0
  84. package/dist/fonts/NotoSansArabic-Medium.ttf +0 -0
  85. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.eot +0 -0
  86. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.svg +0 -9
  87. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.ttf +0 -0
  88. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.woff +0 -0
  89. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.woff2 +0 -0
  90. package/dist/images/successful-registration.svg +0 -15
  91. package/dist/styles/@core/scss/template/libs/apex-chart.css +0 -90
  92. package/dist/styles/@core/scss/template/libs/apex-chart.scss +0 -99
  93. package/dist/styles/@core/scss/template/libs/shepherd.css +0 -82
  94. package/dist/styles/@core/scss/template/libs/shepherd.scss +0 -88
  95. package/dist/styles/assets/scss/styles.css +0 -16099
  96. package/dist/styles/assets/scss/styles.scss +0 -246
  97. package/src/styles/@core/scss/base/_components.scss +0 -164
  98. package/src/styles/@core/scss/base/_dark.scss +0 -16
  99. package/src/styles/@core/scss/base/_default-layout-w-vertical-nav.scss +0 -106
  100. package/src/styles/@core/scss/base/_default-layout.scss +0 -16
  101. package/src/styles/@core/scss/base/_index.scss +0 -47
  102. package/src/styles/@core/scss/base/_layouts.scss +0 -63
  103. package/src/styles/@core/scss/base/_misc.scss +0 -20
  104. package/src/styles/@core/scss/base/_mixins.scss +0 -84
  105. package/src/styles/@core/scss/base/_route-transitions.scss +0 -70
  106. package/src/styles/@core/scss/base/_utilities.scss +0 -418
  107. package/src/styles/@core/scss/base/_utils.scss +0 -100
  108. package/src/styles/@core/scss/base/_variables.scss +0 -190
  109. package/src/styles/@core/scss/base/_vertical-nav.scss +0 -264
  110. package/src/styles/@core/scss/base/libs/_perfect-scrollbar.scss +0 -35
  111. package/src/styles/@core/scss/base/libs/vuetify/_index.scss +0 -1
  112. package/src/styles/@core/scss/base/libs/vuetify/_overrides.scss +0 -385
  113. package/src/styles/@core/scss/base/libs/vuetify/_variables.scss +0 -48
  114. package/src/styles/@core/scss/base/placeholders/_default-layout-vertical-nav.scss +0 -48
  115. package/src/styles/@core/scss/base/placeholders/_default-layout.scss +0 -3
  116. package/src/styles/@core/scss/base/placeholders/_index.scss +0 -5
  117. package/src/styles/@core/scss/base/placeholders/_misc.scss +0 -7
  118. package/src/styles/@core/scss/base/placeholders/_nav.scss +0 -26
  119. package/src/styles/@core/scss/base/placeholders/_vertical-nav.scss +0 -84
  120. package/src/styles/@core/scss/base/skins/_bordered.scss +0 -60
  121. package/src/styles/@core/scss/base/skins/_index.scss +0 -1
  122. package/src/styles/@core/scss/template/_components.scss +0 -1035
  123. package/src/styles/@core/scss/template/_default-layout-w-vertical-nav.scss +0 -20
  124. package/src/styles/@core/scss/template/_utilities.scss +0 -20
  125. package/src/styles/@core/scss/template/_variables.scss +0 -67
  126. package/src/styles/@core/scss/template/_vertical-nav.scss +0 -41
  127. package/src/styles/@core/scss/template/index.scss +0 -15
  128. package/src/styles/@core/scss/template/libs/apex-chart.scss +0 -99
  129. package/src/styles/@core/scss/template/libs/shepherd.scss +0 -88
  130. package/src/styles/@core/scss/template/libs/vuetify/_variables.scss +0 -461
  131. package/src/styles/@core/scss/template/libs/vuetify/index.scss +0 -1
  132. package/src/styles/@core/scss/template/pages/misc.scss +0 -20
  133. package/src/styles/@core/scss/template/placeholders/_default-layout-vertical-nav.scss +0 -9
  134. package/src/styles/@core/scss/template/placeholders/_index.scss +0 -3
  135. package/src/styles/@core/scss/template/placeholders/_nav.scss +0 -15
  136. package/src/styles/@core/scss/template/placeholders/_vertical-nav.scss +0 -18
  137. package/src/styles/@core/scss/template/skins/_bordered.scss +0 -36
  138. package/src/styles/@core/scss/template/skins/_index.scss +0 -1
  139. package/src/styles/@layouts/styles/_classes.scss +0 -3
  140. package/src/styles/@layouts/styles/_dashboard-layout.scss +0 -43
  141. package/src/styles/@layouts/styles/_global.scss +0 -10
  142. package/src/styles/@layouts/styles/_mixins.scss +0 -28
  143. package/src/styles/@layouts/styles/_placeholders.scss +0 -53
  144. package/src/styles/@layouts/styles/_rtl.scss +0 -7
  145. package/src/styles/@layouts/styles/_variables.scss +0 -22
  146. package/src/styles/@layouts/styles/index.scss +0 -2
  147. package/src/styles/assets/scss/styles.scss +0 -246
  148. package/src/styles/assets/scss/variables/_template.scss +0 -1
  149. package/src/styles/assets/scss/variables/_vuetify.scss +0 -1
  150. /package/dist/components/{core/CustomizerSection.vue → CustomizerSection.vue} +0 -0
  151. /package/dist/components/{core/CustomizerSection.vue.d.ts → CustomizerSection.vue.d.ts} +0 -0
  152. /package/dist/components/{core/DialogCloseBtn.vue.d.ts → DialogCloseBtn.vue.d.ts} +0 -0
  153. /package/dist/components/{loading/LoadingBar.vue → LoadingBar.vue} +0 -0
  154. /package/dist/components/{loading/LoadingBar.vue.d.ts → LoadingBar.vue.d.ts} +0 -0
  155. /package/dist/components/{loading/LoadingDialog.vue.d.ts → LoadingDialog.vue.d.ts} +0 -0
  156. /package/dist/components/{loading/LoadingItem.vue → LoadingItem.vue} +0 -0
  157. /package/dist/components/{loading/LoadingItem.vue.d.ts → LoadingItem.vue.d.ts} +0 -0
  158. /package/dist/components/{core/ScrollToTop.vue → ScrollToTop.vue} +0 -0
  159. /package/dist/components/{core/ScrollToTop.vue.d.ts → ScrollToTop.vue.d.ts} +0 -0
  160. /package/dist/components/{core/cards → cards}/CardStatisticsHorizontal.vue +0 -0
  161. /package/dist/components/{core/cards → cards}/CardStatisticsHorizontal.vue.d.ts +0 -0
  162. /package/dist/components/{core/app-form-elements → forms}/AppCombobox.vue +0 -0
  163. /package/dist/components/{core/app-form-elements → forms}/AppCombobox.vue.d.ts +0 -0
  164. /package/dist/components/{core → forms}/AppDrawerHeaderSection.vue +0 -0
  165. /package/dist/components/{core → forms}/AppDrawerHeaderSection.vue.d.ts +0 -0
  166. /package/dist/components/{core → forms}/AppSearchHeader.vue.d.ts +0 -0
  167. /package/dist/components/{core/app-form-elements → forms}/AppSelect.vue +0 -0
  168. /package/dist/components/{core/app-form-elements → forms}/AppSelect.vue.d.ts +0 -0
  169. /package/dist/components/{core → forms}/AppStepper.vue +0 -0
  170. /package/dist/components/{core → forms}/AppStepper.vue.d.ts +0 -0
  171. /package/dist/components/{core/app-form-elements → forms}/AppSwitch.vue +0 -0
  172. /package/dist/components/{core/app-form-elements → forms}/AppSwitch.vue.d.ts +0 -0
  173. /package/dist/components/{core/app-form-elements → forms}/AppTextField.vue +0 -0
  174. /package/dist/components/{core/app-form-elements → forms}/AppTextField.vue.d.ts +0 -0
  175. /package/dist/components/{core/app-form-elements → forms}/AppTextarea.vue +0 -0
  176. /package/dist/components/{core/app-form-elements → forms}/AppTextarea.vue.d.ts +0 -0
  177. /package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithIcon.vue +0 -0
  178. /package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithImage.vue +0 -0
  179. /package/dist/composables/{use-is-mobile.d.ts → useIsMobile.d.ts} +0 -0
  180. /package/dist/composables/{use-is-mobile.js → useIsMobile.js} +0 -0
  181. /package/dist/composables/{use-is-mobile.mjs → useIsMobile.mjs} +0 -0
  182. /package/dist/composables/{use-table-filters.d.ts → useTableFilters.d.ts} +0 -0
  183. /package/dist/composables/{use-table-filters.js → useTableFilters.js} +0 -0
  184. /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
- **🚧 TESTING VERSION** - This is a test version published to personal npm account.
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 "../IconBtn.vue";
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 "./core/cards/AppCard.vue";
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,5 +1,5 @@
1
1
  import { VCardTitle, VDialog, VCardActions, VCardText } from 'vuetify/components';
2
- import AppCard from './core/cards/AppCard.vue';
2
+ import AppCard from './cards/AppCard.vue';
3
3
  import IconBtn from './IconBtn.vue';
4
4
  type __VLS_Props = {
5
5
  isAppRtl: boolean;
@@ -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 "../core/cards/AppCard.vue";
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 "../components/core/cards/AppCard.vue";
7
+ import AppCard from "./cards/AppCard.vue";
8
8
  import BaseButton from "./forms/BaseButton.vue";
9
- import DialogCloseBtn from "./core/DialogCloseBtn.vue";
9
+ import DialogCloseBtn from "./DialogCloseBtn.vue";
10
10
  const { xs } = useDisplay();
11
11
  const { t } = useI18n();
12
12
  const props = defineProps({
@@ -1,6 +1,6 @@
1
1
  <script setup>
2
2
  import { VIcon, VList, VMenu } from "vuetify/components";
3
- import IconBtn from "../IconBtn.vue";
3
+ import IconBtn from "./IconBtn.vue";
4
4
  defineProps({
5
5
  menuList: { type: Array, required: false },
6
6
  itemProps: { type: Boolean, required: false }
@@ -1,5 +1,5 @@
1
1
  import { VIcon, VList, VMenu } from 'vuetify/components';
2
- import IconBtn from '../IconBtn.vue';
2
+ import IconBtn from './IconBtn.vue';
3
3
  type __VLS_Props = {
4
4
  menuList?: unknown[];
5
5
  itemProps?: boolean;
@@ -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 "../../loading/LoadingBar.vue";
4
+ import LoadingBar from "../LoadingBar.vue";
5
5
  defineProps({
6
6
  isLoading: { type: Boolean, required: false }
7
7
  });
@@ -1,5 +1,5 @@
1
1
  import { VCard } from 'vuetify/components';
2
- import LoadingBar from '../../loading/LoadingBar.vue';
2
+ import LoadingBar from '../LoadingBar.vue';
3
3
  type __VLS_Props = {
4
4
  isLoading?: boolean;
5
5
  };
@@ -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 "../../IconBtn.vue";
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 '../../IconBtn.vue';
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 "../core/cards/AppCard.vue";
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 "../core/cards/AppCard.vue";
4
+ import AppCard from "./AppCard.vue";
5
5
  defineProps({
6
6
  title: { type: Object, required: false, default: () => ({
7
7
  text: ""
@@ -1,6 +1,6 @@
1
1
  import { VCardItem, VAvatar, VImg } from 'vuetify/components';
2
2
  import AppLink from '../forms/AppLink.vue';
3
- import AppCard from '../core/cards/AppCard.vue';
3
+ import AppCard from './AppCard.vue';
4
4
  type __VLS_Props = {
5
5
  title?: {
6
6
  text: string;
@@ -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 "../core/cards/AppCard.vue";
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,5 +1,5 @@
1
1
  import { VLabel } from 'vuetify/components';
2
- import AppCard from '../core/cards/AppCard.vue';
2
+ import AppCard from './AppCard.vue';
3
3
  import AppLink from '../forms/AppLink.vue';
4
4
  type __VLS_Props = {
5
5
  title?: string;
@@ -1,6 +1,6 @@
1
1
  <script setup>
2
2
  import { VCardItem } from "vuetify/components";
3
- import AppCard from "../core/cards/AppCard.vue";
3
+ import AppCard from "./AppCard.vue";
4
4
  defineProps({
5
5
  title: { type: String, required: true, default: "" },
6
6
  subTitle: { type: String, required: false },
@@ -1,5 +1,5 @@
1
1
  import { VCardItem } from 'vuetify/components';
2
- import AppCard from '../core/cards/AppCard.vue';
2
+ import AppCard from './AppCard.vue';
3
3
  type __VLS_Props = {
4
4
  title: string;
5
5
  subTitle?: string;
@@ -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 "./cards/AppCard.vue";
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 './cards/AppCard.vue';
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
- prepend?: ((arg: {
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
- append?: ((arg: {
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
- prepend?: false | ((arg: {
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
- append?: false | ((arg: {
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:prepend"?: false | ((arg: {
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:append"?: false | ((arg: {
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
- prepend: (arg: {
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
- append: (arg: {
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
- prepend?: ((arg: {
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
- append?: ((arg: {
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
- prepend?: false | ((arg: {
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
- append?: false | ((arg: {
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:prepend"?: false | ((arg: {
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:append"?: false | ((arg: {
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
- prepend: (arg: {
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
- append: (arg: {
1481
+ prepend: (arg: {
1482
1482
  isActive: boolean;
1483
1483
  isSelected: boolean;
1484
1484
  isIndeterminate: boolean;
@@ -5,7 +5,7 @@ defineOptions({
5
5
  inheritAttrs: false
6
6
  });
7
7
  const props = defineProps({
8
- // add @ts-ignore if using TypeScript
8
+ // @ts-ignore
9
9
  ...RouterLink.props,
10
10
  to: {
11
11
  type: [String, Object],
@@ -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 "../core/app-form-elements/AppTextField.vue";
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 "./app-form-elements/AppTextField.vue";
5
- import AppCard from "./cards/AppCard.vue";
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 "../loading/LoadingBar.vue";
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: null, required: false }
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 '../../../types/core';
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: null, required: false }
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 '../../../types/core';
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: null, required: false }
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,4 +1,4 @@
1
- import type { GridColumn } from '../../../types/core';
1
+ import type { GridColumn } from '../../types';
2
2
  type __VLS_Props = {
3
3
  selectedCheckbox: string[];
4
4
  checkboxContent: {
@@ -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: null, required: false }
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 '../../../types/core';
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 '../../../types';
2
+ import type { CustomInputContent, GridColumn } from '../../types';
3
3
  type __VLS_Props = {
4
4
  selectedRadio: string | number;
5
5
  label?: string;
@@ -1,5 +1,5 @@
1
1
  import { VRadioGroup, VRow, VCol, VLabel, VRadio } from 'vuetify/components';
2
- import type { GridColumn } from '../../../types';
2
+ import type { GridColumn } from '../../types';
3
3
  type __VLS_Props = {
4
4
  selectedRadio: string;
5
5
  radioContent: {
@@ -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/use-is-mobile";
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 momentHijri from "moment-hijri";
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" ? momentHijri().iYear() : (/* @__PURE__ */ new Date()).getFullYear();
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);