@winchsa/ui 0.1.2 → 0.1.4

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 (167) 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 +25 -25
  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/composables/useFormValidation.d.ts +0 -0
  48. package/dist/composables/useFormValidation.js +1 -0
  49. package/dist/composables/useFormValidation.mjs +0 -0
  50. package/dist/index.d.ts +38 -39
  51. package/dist/index.js +43 -36
  52. package/dist/index.mjs +71 -69
  53. package/dist/utils/hijri-date.d.ts +58 -0
  54. package/dist/utils/hijri-date.js +168 -0
  55. package/dist/utils/hijri-date.mjs +1951 -0
  56. package/dist/utils/ruleValidator.d.ts +6 -0
  57. package/dist/utils/ruleValidator.js +32 -2
  58. package/dist/utils/ruleValidator.mjs +29 -0
  59. package/package.json +8 -10
  60. package/dist/components/icons/EndMarker.vue +0 -25
  61. package/dist/components/icons/EndMarker.vue.d.ts +0 -17
  62. package/dist/components/icons/RedXIcon.vue +0 -36
  63. package/dist/components/icons/RedXIcon.vue.d.ts +0 -2
  64. package/dist/components/icons/StarFillIcon.vue +0 -28
  65. package/dist/components/icons/StarFillIcon.vue.d.ts +0 -2
  66. package/dist/components/icons/StartMarker.vue +0 -25
  67. package/dist/components/icons/StartMarker.vue.d.ts +0 -17
  68. package/dist/components/icons/WorkerIcon.vue +0 -39
  69. package/dist/components/icons/WorkerIcon.vue.d.ts +0 -2
  70. package/dist/fonts/NotoSans-Medium.ttf +0 -0
  71. package/dist/fonts/NotoSansArabic-Medium.ttf +0 -0
  72. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.eot +0 -0
  73. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.svg +0 -9
  74. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.ttf +0 -0
  75. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.woff +0 -0
  76. package/dist/fonts/saudi_riyal_symbol/saudi_riyal_symbol.woff2 +0 -0
  77. package/dist/images/successful-registration.svg +0 -15
  78. package/dist/styles/assets/scss/styles.css +0 -16099
  79. package/dist/styles/assets/scss/styles.scss +0 -246
  80. package/src/styles/@core/scss/base/_components.scss +0 -164
  81. package/src/styles/@core/scss/base/_dark.scss +0 -16
  82. package/src/styles/@core/scss/base/_default-layout-w-vertical-nav.scss +0 -106
  83. package/src/styles/@core/scss/base/_default-layout.scss +0 -16
  84. package/src/styles/@core/scss/base/_index.scss +0 -47
  85. package/src/styles/@core/scss/base/_layouts.scss +0 -63
  86. package/src/styles/@core/scss/base/_misc.scss +0 -20
  87. package/src/styles/@core/scss/base/_mixins.scss +0 -84
  88. package/src/styles/@core/scss/base/_route-transitions.scss +0 -70
  89. package/src/styles/@core/scss/base/_utilities.scss +0 -418
  90. package/src/styles/@core/scss/base/_utils.scss +0 -100
  91. package/src/styles/@core/scss/base/_variables.scss +0 -190
  92. package/src/styles/@core/scss/base/_vertical-nav.scss +0 -264
  93. package/src/styles/@core/scss/base/libs/_perfect-scrollbar.scss +0 -35
  94. package/src/styles/@core/scss/base/libs/vuetify/_index.scss +0 -1
  95. package/src/styles/@core/scss/base/libs/vuetify/_overrides.scss +0 -385
  96. package/src/styles/@core/scss/base/libs/vuetify/_variables.scss +0 -48
  97. package/src/styles/@core/scss/base/placeholders/_default-layout-vertical-nav.scss +0 -48
  98. package/src/styles/@core/scss/base/placeholders/_default-layout.scss +0 -3
  99. package/src/styles/@core/scss/base/placeholders/_index.scss +0 -5
  100. package/src/styles/@core/scss/base/placeholders/_misc.scss +0 -7
  101. package/src/styles/@core/scss/base/placeholders/_nav.scss +0 -26
  102. package/src/styles/@core/scss/base/placeholders/_vertical-nav.scss +0 -84
  103. package/src/styles/@core/scss/base/skins/_bordered.scss +0 -60
  104. package/src/styles/@core/scss/base/skins/_index.scss +0 -1
  105. package/src/styles/@core/scss/template/_components.scss +0 -1035
  106. package/src/styles/@core/scss/template/_default-layout-w-vertical-nav.scss +0 -20
  107. package/src/styles/@core/scss/template/_utilities.scss +0 -20
  108. package/src/styles/@core/scss/template/_variables.scss +0 -67
  109. package/src/styles/@core/scss/template/_vertical-nav.scss +0 -41
  110. package/src/styles/@core/scss/template/index.scss +0 -15
  111. package/src/styles/@core/scss/template/libs/apex-chart.scss +0 -99
  112. package/src/styles/@core/scss/template/libs/shepherd.scss +0 -88
  113. package/src/styles/@core/scss/template/libs/vuetify/_variables.scss +0 -461
  114. package/src/styles/@core/scss/template/libs/vuetify/index.scss +0 -1
  115. package/src/styles/@core/scss/template/pages/misc.scss +0 -20
  116. package/src/styles/@core/scss/template/placeholders/_default-layout-vertical-nav.scss +0 -9
  117. package/src/styles/@core/scss/template/placeholders/_index.scss +0 -3
  118. package/src/styles/@core/scss/template/placeholders/_nav.scss +0 -15
  119. package/src/styles/@core/scss/template/placeholders/_vertical-nav.scss +0 -18
  120. package/src/styles/@core/scss/template/skins/_bordered.scss +0 -36
  121. package/src/styles/@core/scss/template/skins/_index.scss +0 -1
  122. package/src/styles/@layouts/styles/_classes.scss +0 -3
  123. package/src/styles/@layouts/styles/_dashboard-layout.scss +0 -43
  124. package/src/styles/@layouts/styles/_global.scss +0 -10
  125. package/src/styles/@layouts/styles/_mixins.scss +0 -28
  126. package/src/styles/@layouts/styles/_placeholders.scss +0 -53
  127. package/src/styles/@layouts/styles/_rtl.scss +0 -7
  128. package/src/styles/@layouts/styles/_variables.scss +0 -22
  129. package/src/styles/@layouts/styles/index.scss +0 -2
  130. package/src/styles/assets/scss/styles.scss +0 -246
  131. package/src/styles/assets/scss/variables/_template.scss +0 -1
  132. package/src/styles/assets/scss/variables/_vuetify.scss +0 -1
  133. /package/dist/components/{core/CustomizerSection.vue → CustomizerSection.vue} +0 -0
  134. /package/dist/components/{core/CustomizerSection.vue.d.ts → CustomizerSection.vue.d.ts} +0 -0
  135. /package/dist/components/{core/DialogCloseBtn.vue.d.ts → DialogCloseBtn.vue.d.ts} +0 -0
  136. /package/dist/components/{loading/LoadingBar.vue → LoadingBar.vue} +0 -0
  137. /package/dist/components/{loading/LoadingBar.vue.d.ts → LoadingBar.vue.d.ts} +0 -0
  138. /package/dist/components/{loading/LoadingDialog.vue.d.ts → LoadingDialog.vue.d.ts} +0 -0
  139. /package/dist/components/{loading/LoadingItem.vue → LoadingItem.vue} +0 -0
  140. /package/dist/components/{loading/LoadingItem.vue.d.ts → LoadingItem.vue.d.ts} +0 -0
  141. /package/dist/components/{core/ScrollToTop.vue → ScrollToTop.vue} +0 -0
  142. /package/dist/components/{core/ScrollToTop.vue.d.ts → ScrollToTop.vue.d.ts} +0 -0
  143. /package/dist/components/{core/cards → cards}/CardStatisticsHorizontal.vue +0 -0
  144. /package/dist/components/{core/cards → cards}/CardStatisticsHorizontal.vue.d.ts +0 -0
  145. /package/dist/components/{core/app-form-elements → forms}/AppCombobox.vue +0 -0
  146. /package/dist/components/{core/app-form-elements → forms}/AppCombobox.vue.d.ts +0 -0
  147. /package/dist/components/{core → forms}/AppDrawerHeaderSection.vue +0 -0
  148. /package/dist/components/{core → forms}/AppDrawerHeaderSection.vue.d.ts +0 -0
  149. /package/dist/components/{core → forms}/AppSearchHeader.vue.d.ts +0 -0
  150. /package/dist/components/{core/app-form-elements → forms}/AppSelect.vue +0 -0
  151. /package/dist/components/{core/app-form-elements → forms}/AppSelect.vue.d.ts +0 -0
  152. /package/dist/components/{core → forms}/AppStepper.vue +0 -0
  153. /package/dist/components/{core → forms}/AppStepper.vue.d.ts +0 -0
  154. /package/dist/components/{core/app-form-elements → forms}/AppSwitch.vue +0 -0
  155. /package/dist/components/{core/app-form-elements → forms}/AppSwitch.vue.d.ts +0 -0
  156. /package/dist/components/{core/app-form-elements → forms}/AppTextField.vue +0 -0
  157. /package/dist/components/{core/app-form-elements → forms}/AppTextField.vue.d.ts +0 -0
  158. /package/dist/components/{core/app-form-elements → forms}/AppTextarea.vue +0 -0
  159. /package/dist/components/{core/app-form-elements → forms}/AppTextarea.vue.d.ts +0 -0
  160. /package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithIcon.vue +0 -0
  161. /package/dist/components/{core/app-form-elements → forms}/CustomRadiosWithImage.vue +0 -0
  162. /package/dist/composables/{use-is-mobile.d.ts → useIsMobile.d.ts} +0 -0
  163. /package/dist/composables/{use-is-mobile.js → useIsMobile.js} +0 -0
  164. /package/dist/composables/{use-is-mobile.mjs → useIsMobile.mjs} +0 -0
  165. /package/dist/composables/{use-table-filters.d.ts → useTableFilters.d.ts} +0 -0
  166. /package/dist/composables/{use-table-filters.js → useTableFilters.js} +0 -0
  167. /package/dist/composables/{use-table-filters.mjs → useTableFilters.mjs} +0 -0
@@ -1,385 +0,0 @@
1
- @use '../../utils';
2
- @use '../../../../../assets/scss/variables/template' as variables;
3
-
4
- // Application
5
- // ℹ️ We need accurate vh in mobile devices as well
6
- .v-application__wrap {
7
- /* stylelint-disable-next-line liberty/use-logical-spec */
8
- min-height: calc(var(--vh, 1vh) * 100);
9
- }
10
-
11
- // Typography
12
- h1,
13
- h2,
14
- h3,
15
- h4,
16
- h5,
17
- h6,
18
- .text-h1,
19
- .text-h2,
20
- .text-h3,
21
- .text-h4,
22
- .text-h5,
23
- .text-h6,
24
- .text-button,
25
- .text-overline,
26
- .v-card-title {
27
- color: rgba(var(--v-theme-on-background), var(--v-high-emphasis-opacity));
28
- }
29
-
30
- .v-application,
31
- .text-body-1,
32
- .text-body-2,
33
- .text-subtitle-1,
34
- .text-subtitle-2 {
35
- color: rgba(var(--v-theme-on-background), var(--v-medium-emphasis-opacity));
36
- }
37
-
38
- // Grid
39
- // Remove margin-bottom of v-input_details inside grid (validation error message)
40
- .v-row {
41
- .v-col,
42
- [class^='v-col-*'] {
43
- .v-input__details {
44
- margin-block-end: 0;
45
- }
46
- }
47
- }
48
-
49
- // Button
50
- // Update tonal variant disabled opacity
51
- .v-btn--disabled {
52
- opacity: 0.65;
53
- }
54
-
55
- @if variables.$vuetify-reduce-default-compact-button-icon-size {
56
- .v-btn--density-compact.v-btn--size-default {
57
- .v-btn__content > svg {
58
- block-size: 22px;
59
- font-size: 22px;
60
- inline-size: 22px;
61
- }
62
- }
63
- }
64
-
65
- // Card
66
- .v-card-subtitle {
67
- color: rgba(var(--v-theme-on-background), var(--v-disabled-opacity));
68
- }
69
-
70
- // Removes padding-top for immediately placed v-card-text after itself
71
- .v-card-text {
72
- & + & {
73
- padding-block-start: 0 !important;
74
- }
75
- }
76
-
77
- /*
78
- Checkbox & Radio Ripple
79
-
80
- TODO Checkbox and switch component. Remove it when vuetify resolve the extra spacing: https://github.com/vuetifyjs/vuetify/issues/15519
81
- We need this because form elements likes checkbox and switches are by default set to height of textfield height which is way big than we want
82
- Tested with checkbox & switches
83
- */
84
- .v-checkbox.v-input,
85
- .v-switch.v-input {
86
- --v-input-control-height: auto;
87
-
88
- flex: unset;
89
- }
90
-
91
- .v-selection-control--density-comfortable {
92
- &.v-checkbox-btn,
93
- &.v-radio,
94
- &.v-radio-btn {
95
- .v-selection-control__wrapper {
96
- margin-inline-start: -0.5625rem;
97
- }
98
- }
99
- }
100
-
101
- .v-selection-control--density-compact {
102
- &.v-radio,
103
- &.v-radio-btn,
104
- &.v-checkbox-btn {
105
- .v-selection-control__wrapper {
106
- margin-inline-start: -0.3125rem;
107
- }
108
- }
109
- }
110
-
111
- .v-selection-control--density-default {
112
- &.v-checkbox-btn,
113
- &.v-radio,
114
- &.v-radio-btn {
115
- .v-selection-control__wrapper {
116
- margin-inline-start: -0.6875rem;
117
- }
118
- }
119
- }
120
-
121
- .v-radio-group {
122
- .v-selection-control-group {
123
- .v-radio:not(:last-child) {
124
- margin-inline-end: 0.9rem;
125
- }
126
- }
127
- }
128
-
129
- /*
130
- Tabs
131
- Disable tab transition
132
-
133
- This is for tabs where we don't have card wrapper to tabs and have multiple cards as tab content.
134
-
135
- This class will disable transition and adds `overflow: unset` on `VWindow` to allow spreading shadow
136
- */
137
- .disable-tab-transition {
138
- overflow: unset !important;
139
-
140
- .v-window__container {
141
- block-size: auto !important;
142
- }
143
-
144
- .v-window-item:not(.v-window-item--active) {
145
- display: none !important;
146
- }
147
-
148
- .v-window__container .v-window-item {
149
- transform: none !important;
150
- }
151
- }
152
-
153
- // List
154
- .v-list {
155
- // Set icons opacity to .87
156
- .v-list-item__prepend > .v-icon,
157
- .v-list-item__append > .v-icon {
158
- opacity: 1;
159
- }
160
-
161
- .v-list-item:not(.v-list-item--active) {
162
- &:hover {
163
- background: rgb(var(--v-theme-gray-200)) !important;
164
- .v-list-item__overlay {
165
- opacity: 0;
166
- }
167
- .v-list-item__content {
168
- color: rgb(var(--v-theme-on-primary)) !important;
169
- .v-list-item-title {
170
- color: rgb(var(--v-theme-on-primary)) !important;
171
- }
172
- }
173
- }
174
- }
175
-
176
- }
177
-
178
- // Card list
179
-
180
- /*
181
- ℹ️ Custom class
182
-
183
- Remove list spacing inside card
184
-
185
- This is because card title gets padding of 20px and list item have padding of 16px. Moreover, list container have padding-bottom as well.
186
- */
187
- .card-list {
188
- --v-card-list-gap: 20px;
189
-
190
- &.v-list {
191
- padding-block: 0;
192
- }
193
-
194
- .v-list-item {
195
- min-block-size: unset;
196
- min-block-size: auto !important;
197
- padding-block: 0 !important;
198
- padding-inline: 0 !important;
199
-
200
- > .v-ripple__container {
201
- opacity: 0;
202
- }
203
-
204
- &:not(:last-child) {
205
- padding-block-end: var(--v-card-list-gap) !important;
206
- }
207
- }
208
-
209
- .v-list-item:hover,
210
- .v-list-item:focus,
211
- .v-list-item:active,
212
- .v-list-item.active {
213
- > .v-list-item__overlay {
214
- opacity: 0 !important;
215
- }
216
- }
217
- }
218
-
219
- // Divider
220
- .v-divider {
221
- color: rgb(var(--v-border-color));
222
- }
223
-
224
- // DataTable
225
- // DataTable
226
- .v-data-table {
227
- /* stylelint-disable-next-line no-descending-specificity */
228
- .v-checkbox-btn .v-selection-control__wrapper {
229
- margin-inline-start: 0 !important;
230
- }
231
-
232
- .v-selection-control {
233
- display: flex !important;
234
- }
235
-
236
- .v-pagination {
237
- color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
238
- }
239
-
240
- font-size: 13px;
241
- }
242
-
243
- .v-data-table-footer {
244
- margin-block-start: 1rem;
245
- }
246
-
247
- // v-field
248
- .v-field:hover .v-field__outline {
249
- --v-field-border-opacity: var(--v-medium-emphasis-opacity);
250
- }
251
-
252
- // VLabel
253
- .v-label {
254
- opacity: 1 !important;
255
-
256
- &:not(.v-field-label--floating) {
257
- color: rgba(var(--v-theme-on-background), var(--v-medium-emphasis-opacity));
258
- }
259
- }
260
-
261
- // Overlay
262
- .v-overlay__scrim {
263
- background: rgba(var(--v-overlay-scrim-background), var(--v-overlay-scrim-opacity)) !important;
264
- }
265
-
266
- // VMessages
267
- .v-messages {
268
- color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));
269
- opacity: 1;
270
- }
271
-
272
- // Alert close btn
273
- .v-alert__close {
274
- .v-btn--icon .v-icon {
275
- --v-icon-size-multiplier: 1.5;
276
- }
277
- }
278
-
279
- // Badge icon alignment
280
- .v-badge__badge {
281
- display: flex;
282
- align-items: center;
283
- }
284
-
285
- // Btn focus outline style removed
286
- .v-btn:focus-visible::after {
287
- opacity: 0 !important;
288
- }
289
-
290
- // .v-select chip spacing for slot
291
- .v-input:not(.v-select--chips) .v-select__selection {
292
- .v-chip {
293
- margin-block: 2px var(--select-chips-margin-bottom);
294
- }
295
- }
296
-
297
- // VCard and VList subtitle color
298
- .v-list-item-subtitle {
299
- color: rgba(var(--v-theme-on-background), var(--v-medium-emphasis-opacity));
300
- }
301
-
302
-
303
- // placeholders
304
- .v-field__input {
305
- height: 40px;
306
- font-size: 13px !important;
307
- @at-root {
308
- & input::placeholder,
309
- input#{&}::placeholder,
310
- textarea#{&}::placeholder {
311
- color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)) !important;
312
- opacity: 1 !important;
313
- }
314
- }
315
- }
316
-
317
- .v-autocomplete--multiple {
318
- .v-field__input {
319
- height: auto;
320
- }
321
- }
322
-
323
- input::-webkit-outer-spin-button,
324
- input::-webkit-inner-spin-button {
325
- -webkit-appearance: none;
326
- margin: 0;
327
- }
328
-
329
- .app-autocomplete__content,
330
- .app-inner-list,
331
- .v-autocomplete__content {
332
- box-shadow: 0 0px 9px rgba(var(--v-shadow-key-umbra-color), 0.3), 0 0 transparent, 0 0 transparent !important;
333
- .v-list-item {
334
- .v-list-item-title {
335
- font-size: 13px !important;
336
- text-transform: capitalize !important;
337
- }
338
-
339
- &.v-list-item--active {
340
- background: rgb(var(--v-nav-background)) !important;
341
- color: rgb(var(--v-theme-on-primary)) !important;
342
- }
343
- }
344
- }
345
-
346
- .v-card--variant-elevated {
347
- box-shadow: 0 0 18px rgba(var(--v-shadow-key-umbra-color), 0.12), 0 0 transparent, 0 0 transparent !important;
348
- }
349
-
350
- .otp-input {
351
- .v-field__input {
352
- direction: ltr !important;
353
- }
354
- }
355
-
356
- .v-input--disabled {
357
- .v-input__control {
358
- .v-field__field {
359
- border: 1px solid rgba(var(--v-border-color), var(--v-border-opacity)) !important;
360
- border-radius: inherit !important;
361
- }
362
- }
363
- }
364
-
365
- .v-messages[role="alert"] {
366
- color: rgb(var(--v-theme-error)) !important;
367
- }
368
-
369
- .v-input--disabled .v-input__details {
370
- opacity: 1 !important;
371
- }
372
-
373
- .v-field__input {
374
- padding-top: 2px !important;
375
- padding-bottom: 2px !important;
376
- input {
377
- margin-top: 3px !important;
378
- margin-bottom: 2px !important;
379
- }
380
- }
381
-
382
- .v-input__details {
383
- min-height: 10px !important;
384
- padding-top: 3px !important;
385
- }
@@ -1,48 +0,0 @@
1
- // Shadow opacities
2
- $shadow-key-umbra-opacity-custom: var(--v-shadow-key-umbra-opacity);
3
- $shadow-key-penumbra-opacity-custom: var(--v-shadow-key-penumbra-opacity);
4
- $shadow-key-ambient-opacity-custom: var(--v-shadow-key-ambient-opacity);
5
-
6
- // Card transition properties
7
- $card-transition-property-custom: box-shadow, opacity;
8
-
9
- @forward 'vuetify/settings' with (
10
- // General settings
11
- $color-pack: false !default,
12
-
13
- // Shadow opacity
14
- $shadow-key-umbra-opacity: $shadow-key-umbra-opacity-custom !default,
15
- $shadow-key-penumbra-opacity: $shadow-key-penumbra-opacity-custom !default,
16
- $shadow-key-ambient-opacity: $shadow-key-ambient-opacity-custom !default,
17
-
18
- // Card
19
- $card-color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)) !default,
20
- $card-elevation: 6 !default,
21
- $card-title-line-height: 1.6 !default,
22
- $card-actions-min-height: unset !default,
23
- $card-text-padding: 1.25rem !default,
24
- $card-item-padding: 1.25rem !default,
25
- $card-actions-padding: 0 12px 12px !default,
26
- $card-transition-property: $card-transition-property-custom !default,
27
- $card-subtitle-opacity: 1 !default,
28
- $card-title-font-weight: 600 !default,
29
-
30
- // Expansion Panel
31
- $expansion-panel-active-title-min-height: 48px !default,
32
-
33
- // List
34
- $list-item-icon-margin-end: 16px !default,
35
- $list-item-icon-margin-start: 16px !default,
36
- $list-item-subtitle-opacity: 1 !default,
37
-
38
- // Tooltip
39
- $tooltip-background-color: rgba(59, 55, 68, 0.9) !default,
40
- $tooltip-text-color: rgb(var(--v-theme-on-primary)) !default,
41
- $tooltip-font-size: 0.75rem !default,
42
-
43
- // VTimeline
44
- $timeline-dot-size: 34px !default,
45
-
46
- // VOverlay
47
- $overlay-opacity: 1 !default
48
- );
@@ -1,48 +0,0 @@
1
- @use '../../../../assets/scss/variables/template' as variables;
2
- @use 'misc';
3
- @use '../mixins';
4
-
5
- %default-layout-vertical-nav-scrolled-sticky-elevated-nav {
6
- background-color: rgb(var(--v-theme-surface));
7
- }
8
-
9
- %default-layout-vertical-nav-floating-navbar-and-sticky-elevated-navbar-scrolled {
10
- @include mixins.elevation(variables.$vertical-nav-navbar-elevation);
11
-
12
- // If navbar is contained => Squeeze navbar content on scroll
13
- @if variables.$layout-vertical-nav-navbar-is-contained {
14
- padding-inline: 1.2rem;
15
- }
16
- }
17
-
18
- %default-layout-vertical-nav-floating-navbar-overlay {
19
- isolation: isolate;
20
-
21
- &::after {
22
- position: absolute;
23
- z-index: -1;
24
- /* stylelint-disable property-no-vendor-prefix */
25
- -webkit-backdrop-filter: blur(10px);
26
- backdrop-filter: blur(10px);
27
- /* stylelint-enable */
28
- background: linear-gradient(
29
- 180deg,
30
- rgba(var(--v-theme-background), 70%) 44%,
31
- rgba(var(--v-theme-background), 43%) 73%,
32
- rgba(var(--v-theme-background), 0%)
33
- );
34
- background-repeat: repeat;
35
- block-size: calc(
36
- variables.$layout-vertical-nav-navbar-height + variables.$vertical-nav-floating-navbar-top +
37
- 0.5rem
38
- );
39
- content: '';
40
- inset-block-start: -(variables.$vertical-nav-floating-navbar-top);
41
- inset-inline-end: 0;
42
- inset-inline-start: 0;
43
- /* stylelint-disable property-no-vendor-prefix */
44
- -webkit-mask: linear-gradient(black, black 18%, transparent 100%);
45
- mask: linear-gradient(black, black 18%, transparent 100%);
46
- /* stylelint-enable */
47
- }
48
- }
@@ -1,3 +0,0 @@
1
- %layout-navbar {
2
- color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
3
- }
@@ -1,5 +0,0 @@
1
- @forward 'vertical-nav';
2
- @forward 'nav';
3
- @forward 'default-layout';
4
- @forward 'default-layout-vertical-nav';
5
- @forward 'misc';
@@ -1,7 +0,0 @@
1
- %blurry-bg {
2
- /* stylelint-disable property-no-vendor-prefix */
3
- -webkit-backdrop-filter: blur(6px);
4
- backdrop-filter: blur(6px);
5
- /* stylelint-enable */
6
- background-color: rgb(var(--v-theme-surface), 0.9);
7
- }
@@ -1,26 +0,0 @@
1
- @use '../mixins';
2
-
3
- // ℹ️ This is common style that needs to be applied to both navs
4
- %nav {
5
- color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
6
-
7
- .nav-item-title {
8
- letter-spacing: 0.15px;
9
- }
10
-
11
- .nav-section-title {
12
- letter-spacing: 0.4px;
13
- }
14
- }
15
-
16
- /*
17
- Active nav link styles for horizontal & vertical nav
18
-
19
- For horizontal nav it will be only applied to top level nav items
20
- For vertical nav it will be only applied to nav links (not nav groups)
21
- */
22
- %nav-link {
23
- a {
24
- color: inherit;
25
- }
26
- }
@@ -1,84 +0,0 @@
1
- @use '../mixins';
2
- @use '../../../../assets/scss/variables/template' as variables;
3
- @use 'vuetify/lib/styles/tools/states' as vuetifyStates;
4
-
5
- %nav-header-action {
6
- font-size: 1.25rem;
7
- }
8
-
9
- // Nav items styles (including section title)
10
- %vertical-nav-item {
11
- margin-block: 0;
12
- margin-inline: variables.$vertical-nav-horizontal-spacing;
13
- padding-block: 0;
14
- padding-inline: variables.$vertical-nav-horizontal-padding;
15
- white-space: nowrap;
16
- }
17
-
18
- // This is same as `%vertical-nav-item` except section title is excluded
19
- %vertical-nav-item-interactive {
20
- border-radius: 0.4rem;
21
- block-size: 2.75rem;
22
-
23
- /*
24
- ℹ️ We will use `margin-block-end` instead of `margin-block` to give more space for shadow to appear.
25
- With `margin-block`, due to small space (space gets divided between top & bottom) shadow cuts
26
- */
27
- margin-block-end: 0.375rem;
28
- }
29
-
30
- // Common styles for nav item icon styles
31
- // ℹ️ Nav group's children icon styles are not here (Adjusts height, width & margin)
32
- %vertical-nav-items-icon {
33
- flex-shrink: 0;
34
- font-size: variables.$vertical-nav-items-icon-size;
35
- margin-inline-end: variables.$vertical-nav-items-icon-margin-inline-end;
36
- }
37
-
38
- // ℹ️ Icon styling for icon nested inside another nav item (2nd level)
39
- %vertical-nav-items-nested-icon {
40
- /*
41
- ℹ️ `margin-inline` will be (normal icon font-size - small icon font-size) / 2
42
- (1.5rem - 0.9rem) / 2 => 0.6rem / 2 => 0.3rem
43
- */
44
- $vertical-nav-items-nested-icon-margin-inline: calc(
45
- (variables.$vertical-nav-items-icon-size - variables.$vertical-nav-items-nested-icon-size) / 2
46
- );
47
-
48
- font-size: variables.$vertical-nav-items-nested-icon-size;
49
- margin-inline-end: $vertical-nav-items-nested-icon-margin-inline +
50
- variables.$vertical-nav-items-icon-margin-inline-end;
51
- margin-inline-start: $vertical-nav-items-nested-icon-margin-inline;
52
- }
53
-
54
- %vertical-nav-items-icon-after-2nd-level {
55
- visibility: hidden;
56
- }
57
-
58
- // Open & Active nav group styles
59
- %vertical-nav-group-open-active {
60
- @include mixins.selected-states('&::before');
61
- }
62
-
63
- // Section title
64
- %vertical-nav-section-title {
65
- // ℹ️ Setting height will prevent jerking when text & icon is toggled
66
- block-size: 1.5rem;
67
- color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity));
68
- font-size: 0.75rem;
69
- text-transform: uppercase;
70
- }
71
-
72
- // Vertical nav item badge styles
73
- %vertical-nav-item-badge {
74
- display: inline-block;
75
- border-radius: 1.5rem;
76
- font-size: 0.8em;
77
- font-weight: 500;
78
- line-height: 1;
79
- padding-block: 0.25em;
80
- padding-inline: 0.55em;
81
- text-align: center;
82
- vertical-align: baseline;
83
- white-space: nowrap;
84
- }
@@ -1,60 +0,0 @@
1
- @use 'sass:map';
2
- @use '../mixins';
3
- @use '../../../../assets/scss/variables/template' as variables;
4
- @use '../utils';
5
-
6
- $header: '.layout-navbar';
7
-
8
- @if variables.$layout-vertical-nav-navbar-is-contained {
9
- $header: '.layout-navbar .navbar-content-container';
10
- }
11
-
12
- .skin--bordered {
13
- @include mixins.bordered-skin('.v-card:not(.v-card--flat)');
14
- @include mixins.bordered-skin(
15
- '.v-menu .v-overlay__content > .v-card, .v-menu .v-overlay__content > .v-sheet, .v-menu .v-overlay__content > .v-list'
16
- );
17
- @include mixins.bordered-skin('.popper-content');
18
-
19
- // Navbar
20
- // -- Horizontal
21
- @include mixins.bordered-skin('.layout-navbar-and-nav-container', 'border-bottom');
22
-
23
- // -- Vertical
24
- // ℹ️ We have added `.layout-navbar-sticky` as well in selector because we don't want to add borders if navbar is static
25
- @if variables.$layout-vertical-nav-navbar-is-contained {
26
- @include mixins.bordered-skin(
27
- '.layout-nav-type-vertical.window-scrolled.layout-navbar-sticky #{$header}'
28
- );
29
- .layout-nav-type-vertical.window-scrolled #{$header} {
30
- border-block-start: none !important;
31
- }
32
- } @else {
33
- @include mixins.bordered-skin(
34
- '.layout-nav-type-vertical.window-scrolled.layout-navbar-sticky #{$header}',
35
- 'border-bottom'
36
- );
37
- }
38
-
39
- // Footer
40
- // -- Vertical
41
- @include mixins.bordered-skin(
42
- '.layout-nav-type-vertical.layout-footer-sticky .layout-footer .footer-content-container'
43
- );
44
-
45
- .layout-nav-type-vertical.layout-footer-sticky .layout-footer .footer-content-container {
46
- border-block-end: none;
47
- }
48
-
49
- // -- Horizontal
50
- @include mixins.bordered-skin('.layout-nav-type-horizontal.layout-footer-sticky .layout-footer');
51
-
52
- .layout-nav-type-horizontal.layout-footer-sticky .layout-footer {
53
- border-block-end: none;
54
- }
55
-
56
- // Vertical Nav
57
- .layout-vertical-nav {
58
- border-inline-end: thin solid rgba(var(--v-border-color), var(--v-border-opacity));
59
- }
60
- }
@@ -1 +0,0 @@
1
- @use 'bordered';