@winchsa/ui 0.1.30 → 0.1.33

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 (300) hide show
  1. package/package.json +1 -1
  2. package/dist/components/Breadcrumbs.d.vue.ts +0 -7
  3. package/dist/components/Breadcrumbs.vue +0 -46
  4. package/dist/components/Breadcrumbs.vue.d.ts +0 -7
  5. package/dist/components/CustomizerSection.d.vue.ts +0 -17
  6. package/dist/components/CustomizerSection.vue +0 -19
  7. package/dist/components/CustomizerSection.vue.d.ts +0 -17
  8. package/dist/components/DialogCloseBtn.d.vue.ts +0 -7
  9. package/dist/components/DialogCloseBtn.vue +0 -20
  10. package/dist/components/DialogCloseBtn.vue.d.ts +0 -7
  11. package/dist/components/Drawer.d.vue.ts +0 -28
  12. package/dist/components/Drawer.vue +0 -60
  13. package/dist/components/Drawer.vue.d.ts +0 -28
  14. package/dist/components/IconBtn.d.vue.ts +0 -18
  15. package/dist/components/IconBtn.vue +0 -24
  16. package/dist/components/IconBtn.vue.d.ts +0 -18
  17. package/dist/components/LoadingBar.d.vue.ts +0 -6
  18. package/dist/components/LoadingBar.vue +0 -31
  19. package/dist/components/LoadingBar.vue.d.ts +0 -6
  20. package/dist/components/LoadingDialog.d.vue.ts +0 -12
  21. package/dist/components/LoadingDialog.vue +0 -41
  22. package/dist/components/LoadingDialog.vue.d.ts +0 -12
  23. package/dist/components/LoadingItem.d.vue.ts +0 -25
  24. package/dist/components/LoadingItem.vue +0 -66
  25. package/dist/components/LoadingItem.vue.d.ts +0 -25
  26. package/dist/components/Modal.d.vue.ts +0 -50
  27. package/dist/components/Modal.vue +0 -155
  28. package/dist/components/Modal.vue.d.ts +0 -50
  29. package/dist/components/MoreBtn.d.vue.ts +0 -17
  30. package/dist/components/MoreBtn.vue +0 -28
  31. package/dist/components/MoreBtn.vue.d.ts +0 -17
  32. package/dist/components/ScrollToTop.d.vue.ts +0 -3
  33. package/dist/components/ScrollToTop.vue +0 -39
  34. package/dist/components/ScrollToTop.vue.d.ts +0 -3
  35. package/dist/components/SiteTitle.d.vue.ts +0 -3
  36. package/dist/components/SiteTitle.vue +0 -14
  37. package/dist/components/SiteTitle.vue.d.ts +0 -3
  38. package/dist/components/Toaster.d.vue.ts +0 -6
  39. package/dist/components/Toaster.vue +0 -19
  40. package/dist/components/Toaster.vue.d.ts +0 -6
  41. package/dist/components/cards/AppCard.d.vue.ts +0 -18
  42. package/dist/components/cards/AppCard.vue +0 -45
  43. package/dist/components/cards/AppCard.vue.d.ts +0 -18
  44. package/dist/components/cards/AppCardActions.d.vue.ts +0 -33
  45. package/dist/components/cards/AppCardActions.vue +0 -126
  46. package/dist/components/cards/AppCardActions.vue.d.ts +0 -33
  47. package/dist/components/cards/CardStatisticsHorizontal.d.vue.ts +0 -9
  48. package/dist/components/cards/CardStatisticsHorizontal.vue +0 -29
  49. package/dist/components/cards/CardStatisticsHorizontal.vue.d.ts +0 -9
  50. package/dist/components/cards/CheckboxesCard.d.vue.ts +0 -18
  51. package/dist/components/cards/CheckboxesCard.vue +0 -108
  52. package/dist/components/cards/CheckboxesCard.vue.d.ts +0 -18
  53. package/dist/components/cards/HeaderCard.d.vue.ts +0 -9
  54. package/dist/components/cards/HeaderCard.vue +0 -31
  55. package/dist/components/cards/HeaderCard.vue.d.ts +0 -9
  56. package/dist/components/cards/ImageCard.d.vue.ts +0 -33
  57. package/dist/components/cards/ImageCard.vue +0 -73
  58. package/dist/components/cards/ImageCard.vue.d.ts +0 -33
  59. package/dist/components/cards/InputCard.d.vue.ts +0 -21
  60. package/dist/components/cards/InputCard.vue +0 -60
  61. package/dist/components/cards/InputCard.vue.d.ts +0 -21
  62. package/dist/components/cards/StaticCard.d.vue.ts +0 -21
  63. package/dist/components/cards/StaticCard.vue +0 -37
  64. package/dist/components/cards/StaticCard.vue.d.ts +0 -21
  65. package/dist/components/forms/Accordion.d.vue.ts +0 -19
  66. package/dist/components/forms/Accordion.vue +0 -43
  67. package/dist/components/forms/Accordion.vue.d.ts +0 -19
  68. package/dist/components/forms/AppBarSearch.d.vue.ts +0 -43
  69. package/dist/components/forms/AppBarSearch.vue +0 -345
  70. package/dist/components/forms/AppBarSearch.vue.d.ts +0 -43
  71. package/dist/components/forms/AppCombobox.d.vue.ts +0 -13
  72. package/dist/components/forms/AppCombobox.vue +0 -67
  73. package/dist/components/forms/AppCombobox.vue.d.ts +0 -13
  74. package/dist/components/forms/AppDrawerHeaderSection.d.vue.ts +0 -20
  75. package/dist/components/forms/AppDrawerHeaderSection.vue +0 -21
  76. package/dist/components/forms/AppDrawerHeaderSection.vue.d.ts +0 -20
  77. package/dist/components/forms/AppLabel.d.vue.ts +0 -24
  78. package/dist/components/forms/AppLabel.vue +0 -47
  79. package/dist/components/forms/AppLabel.vue.d.ts +0 -24
  80. package/dist/components/forms/AppLink.d.vue.ts +0 -19
  81. package/dist/components/forms/AppLink.vue +0 -50
  82. package/dist/components/forms/AppLink.vue.d.ts +0 -19
  83. package/dist/components/forms/AppNumberField.d.vue.ts +0 -20
  84. package/dist/components/forms/AppNumberField.vue +0 -85
  85. package/dist/components/forms/AppNumberField.vue.d.ts +0 -20
  86. package/dist/components/forms/AppOtpInput.d.vue.ts +0 -13
  87. package/dist/components/forms/AppOtpInput.vue +0 -84
  88. package/dist/components/forms/AppOtpInput.vue.d.ts +0 -13
  89. package/dist/components/forms/AppSearchHeader.d.vue.ts +0 -8
  90. package/dist/components/forms/AppSearchHeader.vue +0 -72
  91. package/dist/components/forms/AppSearchHeader.vue.d.ts +0 -8
  92. package/dist/components/forms/AppSelect.d.vue.ts +0 -17
  93. package/dist/components/forms/AppSelect.vue +0 -98
  94. package/dist/components/forms/AppSelect.vue.d.ts +0 -17
  95. package/dist/components/forms/AppStepper.d.vue.ts +0 -21
  96. package/dist/components/forms/AppStepper.vue +0 -232
  97. package/dist/components/forms/AppStepper.vue.d.ts +0 -21
  98. package/dist/components/forms/AppSwitch.d.vue.ts +0 -16
  99. package/dist/components/forms/AppSwitch.vue +0 -59
  100. package/dist/components/forms/AppSwitch.vue.d.ts +0 -16
  101. package/dist/components/forms/AppTextField.d.vue.ts +0 -13
  102. package/dist/components/forms/AppTextField.vue +0 -66
  103. package/dist/components/forms/AppTextField.vue.d.ts +0 -13
  104. package/dist/components/forms/AppTextarea.d.vue.ts +0 -13
  105. package/dist/components/forms/AppTextarea.vue +0 -69
  106. package/dist/components/forms/AppTextarea.vue.d.ts +0 -13
  107. package/dist/components/forms/AttachmentCropperInput.d.vue.ts +0 -18
  108. package/dist/components/forms/AttachmentCropperInput.vue +0 -227
  109. package/dist/components/forms/AttachmentCropperInput.vue.d.ts +0 -18
  110. package/dist/components/forms/AttachmentInput.d.vue.ts +0 -16
  111. package/dist/components/forms/AttachmentInput.vue +0 -116
  112. package/dist/components/forms/AttachmentInput.vue.d.ts +0 -16
  113. package/dist/components/forms/AutocompleteInput.d.vue.ts +0 -84
  114. package/dist/components/forms/AutocompleteInput.vue +0 -760
  115. package/dist/components/forms/AutocompleteInput.vue.d.ts +0 -84
  116. package/dist/components/forms/BankSelect.d.vue.ts +0 -21
  117. package/dist/components/forms/BankSelect.vue +0 -43
  118. package/dist/components/forms/BankSelect.vue.d.ts +0 -21
  119. package/dist/components/forms/BaseButton.d.vue.ts +0 -20
  120. package/dist/components/forms/BaseButton.vue +0 -42
  121. package/dist/components/forms/BaseButton.vue.d.ts +0 -20
  122. package/dist/components/forms/CounterInput.d.vue.ts +0 -13
  123. package/dist/components/forms/CounterInput.vue +0 -71
  124. package/dist/components/forms/CounterInput.vue.d.ts +0 -13
  125. package/dist/components/forms/CustomCheckboxes.d.vue.ts +0 -25
  126. package/dist/components/forms/CustomCheckboxes.vue +0 -69
  127. package/dist/components/forms/CustomCheckboxes.vue.d.ts +0 -25
  128. package/dist/components/forms/CustomCheckboxesWithIcon.d.vue.ts +0 -25
  129. package/dist/components/forms/CustomCheckboxesWithIcon.vue +0 -80
  130. package/dist/components/forms/CustomCheckboxesWithIcon.vue.d.ts +0 -25
  131. package/dist/components/forms/CustomCheckboxesWithImage.d.vue.ts +0 -16
  132. package/dist/components/forms/CustomCheckboxesWithImage.vue +0 -67
  133. package/dist/components/forms/CustomCheckboxesWithImage.vue.d.ts +0 -16
  134. package/dist/components/forms/CustomRadios.d.vue.ts +0 -25
  135. package/dist/components/forms/CustomRadios.vue +0 -69
  136. package/dist/components/forms/CustomRadios.vue.d.ts +0 -25
  137. package/dist/components/forms/CustomRadiosWithIcon.d.vue.ts +0 -28
  138. package/dist/components/forms/CustomRadiosWithIcon.vue +0 -98
  139. package/dist/components/forms/CustomRadiosWithIcon.vue.d.ts +0 -28
  140. package/dist/components/forms/CustomRadiosWithImage.d.vue.ts +0 -35
  141. package/dist/components/forms/CustomRadiosWithImage.vue +0 -69
  142. package/dist/components/forms/CustomRadiosWithImage.vue.d.ts +0 -35
  143. package/dist/components/forms/DatePicker.d.vue.ts +0 -29
  144. package/dist/components/forms/DatePicker.vue +0 -400
  145. package/dist/components/forms/DatePicker.vue.d.ts +0 -29
  146. package/dist/components/forms/DatePickerRange.d.vue.ts +0 -24
  147. package/dist/components/forms/DatePickerRange.vue +0 -127
  148. package/dist/components/forms/DatePickerRange.vue.d.ts +0 -24
  149. package/dist/components/forms/DraggedUploadFile.d.vue.ts +0 -11
  150. package/dist/components/forms/DraggedUploadFile.vue +0 -120
  151. package/dist/components/forms/DraggedUploadFile.vue.d.ts +0 -11
  152. package/dist/components/forms/ImageCardInput.d.vue.ts +0 -35
  153. package/dist/components/forms/ImageCardInput.vue +0 -234
  154. package/dist/components/forms/ImageCardInput.vue.d.ts +0 -35
  155. package/dist/components/forms/InputValidationWrapper.d.vue.ts +0 -26
  156. package/dist/components/forms/InputValidationWrapper.vue +0 -24
  157. package/dist/components/forms/InputValidationWrapper.vue.d.ts +0 -26
  158. package/dist/components/forms/LicensePlateInput.d.vue.ts +0 -21
  159. package/dist/components/forms/LicensePlateInput.vue +0 -175
  160. package/dist/components/forms/LicensePlateInput.vue.d.ts +0 -21
  161. package/dist/components/forms/ManualDate.d.vue.ts +0 -20
  162. package/dist/components/forms/ManualDate.vue +0 -264
  163. package/dist/components/forms/ManualDate.vue.d.ts +0 -20
  164. package/dist/components/forms/MobileInput.d.vue.ts +0 -25
  165. package/dist/components/forms/MobileInput.vue +0 -118
  166. package/dist/components/forms/MobileInput.vue.d.ts +0 -25
  167. package/dist/components/forms/PasswordInput.d.vue.ts +0 -11
  168. package/dist/components/forms/PasswordInput.vue +0 -29
  169. package/dist/components/forms/PasswordInput.vue.d.ts +0 -11
  170. package/dist/components/forms/RangeInput.d.vue.ts +0 -10
  171. package/dist/components/forms/RangeInput.vue +0 -48
  172. package/dist/components/forms/RangeInput.vue.d.ts +0 -10
  173. package/dist/components/forms/Tabs.d.vue.ts +0 -23
  174. package/dist/components/forms/Tabs.vue +0 -35
  175. package/dist/components/forms/Tabs.vue.d.ts +0 -23
  176. package/dist/components/forms/TimePicker.d.vue.ts +0 -18
  177. package/dist/components/forms/TimePicker.vue +0 -370
  178. package/dist/components/forms/TimePicker.vue.d.ts +0 -18
  179. package/dist/components/table/DataTable.d.vue.ts +0 -70
  180. package/dist/components/table/DataTable.vue +0 -361
  181. package/dist/components/table/DataTable.vue.d.ts +0 -70
  182. package/dist/components/table/EditableDataTable.d.vue.ts +0 -21
  183. package/dist/components/table/EditableDataTable.vue +0 -328
  184. package/dist/components/table/EditableDataTable.vue.d.ts +0 -21
  185. package/dist/components/table/EditableDataTableRow.d.vue.ts +0 -20
  186. package/dist/components/table/EditableDataTableRow.vue +0 -253
  187. package/dist/components/table/EditableDataTableRow.vue.d.ts +0 -20
  188. package/dist/components/table/FilterGenerator.d.vue.ts +0 -13
  189. package/dist/components/table/FilterGenerator.vue +0 -231
  190. package/dist/components/table/FilterGenerator.vue.d.ts +0 -13
  191. package/dist/components/table/StaticTable.d.vue.ts +0 -34
  192. package/dist/components/table/StaticTable.vue +0 -152
  193. package/dist/components/table/StaticTable.vue.d.ts +0 -34
  194. package/dist/components/table/TablePagination.d.vue.ts +0 -15
  195. package/dist/components/table/TablePagination.vue +0 -73
  196. package/dist/components/table/TablePagination.vue.d.ts +0 -15
  197. package/dist/composables/useIsMobile.d.ts +0 -1
  198. package/dist/composables/useIsMobile.js +0 -10
  199. package/dist/composables/useIsMobile.mjs +0 -4
  200. package/dist/composables/useTableFilters.d.ts +0 -23
  201. package/dist/composables/useTableFilters.js +0 -197
  202. package/dist/composables/useTableFilters.mjs +0 -184
  203. package/dist/images/avatar.png +0 -0
  204. package/dist/images/sa.svg +0 -1
  205. package/dist/index.d.ts +0 -65
  206. package/dist/index.js +0 -454
  207. package/dist/index.mjs +0 -130
  208. package/dist/lang/ar.json +0 -54
  209. package/dist/lang/en.json +0 -54
  210. package/dist/styles/assets/scss/variables/_template.scss +0 -1
  211. package/dist/styles/assets/scss/variables/_vuetify.scss +0 -1
  212. package/dist/styles/core/base/_components.scss +0 -164
  213. package/dist/styles/core/base/_dark.scss +0 -16
  214. package/dist/styles/core/base/_default-layout-w-vertical-nav.scss +0 -106
  215. package/dist/styles/core/base/_default-layout.scss +0 -16
  216. package/dist/styles/core/base/_index.scss +0 -47
  217. package/dist/styles/core/base/_layouts.scss +0 -63
  218. package/dist/styles/core/base/_misc.scss +0 -20
  219. package/dist/styles/core/base/_mixins.scss +0 -84
  220. package/dist/styles/core/base/_route-transitions.scss +0 -70
  221. package/dist/styles/core/base/_utilities.scss +0 -418
  222. package/dist/styles/core/base/_utils.scss +0 -100
  223. package/dist/styles/core/base/_variables.scss +0 -190
  224. package/dist/styles/core/base/_vertical-nav.scss +0 -264
  225. package/dist/styles/core/base/libs/_perfect-scrollbar.scss +0 -35
  226. package/dist/styles/core/base/libs/vuetify/_index.scss +0 -1
  227. package/dist/styles/core/base/libs/vuetify/_overrides.scss +0 -380
  228. package/dist/styles/core/base/libs/vuetify/_variables.scss +0 -48
  229. package/dist/styles/core/base/placeholders/_default-layout-vertical-nav.scss +0 -48
  230. package/dist/styles/core/base/placeholders/_default-layout.scss +0 -3
  231. package/dist/styles/core/base/placeholders/_index.scss +0 -5
  232. package/dist/styles/core/base/placeholders/_misc.scss +0 -7
  233. package/dist/styles/core/base/placeholders/_nav.scss +0 -26
  234. package/dist/styles/core/base/placeholders/_vertical-nav.scss +0 -84
  235. package/dist/styles/core/base/skins/_bordered.scss +0 -60
  236. package/dist/styles/core/base/skins/_index.scss +0 -1
  237. package/dist/styles/core/template/_components.scss +0 -1035
  238. package/dist/styles/core/template/_default-layout-w-vertical-nav.scss +0 -20
  239. package/dist/styles/core/template/_utilities.scss +0 -20
  240. package/dist/styles/core/template/_variables.scss +0 -67
  241. package/dist/styles/core/template/_vertical-nav.scss +0 -41
  242. package/dist/styles/core/template/index.css +0 -18779
  243. package/dist/styles/core/template/index.scss +0 -15
  244. package/dist/styles/core/template/libs/vuetify/_variables.scss +0 -464
  245. package/dist/styles/core/template/libs/vuetify/index.css +0 -739
  246. package/dist/styles/core/template/libs/vuetify/index.scss +0 -1
  247. package/dist/styles/core/template/pages/misc.css +0 -16
  248. package/dist/styles/core/template/pages/misc.scss +0 -20
  249. package/dist/styles/core/template/placeholders/_default-layout-vertical-nav.scss +0 -9
  250. package/dist/styles/core/template/placeholders/_index.scss +0 -3
  251. package/dist/styles/core/template/placeholders/_nav.scss +0 -15
  252. package/dist/styles/core/template/placeholders/_vertical-nav.scss +0 -18
  253. package/dist/styles/core/template/skins/_bordered.scss +0 -36
  254. package/dist/styles/core/template/skins/_index.scss +0 -1
  255. package/dist/styles/layouts/_classes.scss +0 -3
  256. package/dist/styles/layouts/_dashboard-layout.scss +0 -43
  257. package/dist/styles/layouts/_global.scss +0 -10
  258. package/dist/styles/layouts/_mixins.scss +0 -28
  259. package/dist/styles/layouts/_placeholders.scss +0 -53
  260. package/dist/styles/layouts/_rtl.scss +0 -7
  261. package/dist/styles/layouts/_variables.scss +0 -22
  262. package/dist/styles/layouts/index.css +0 -14
  263. package/dist/styles/layouts/index.scss +0 -2
  264. package/dist/types.d.ts +0 -218
  265. package/dist/utils/apiUrl.d.ts +0 -1
  266. package/dist/utils/apiUrl.js +0 -15
  267. package/dist/utils/apiUrl.mjs +0 -8
  268. package/dist/utils/client.d.ts +0 -9
  269. package/dist/utils/client.js +0 -53
  270. package/dist/utils/client.mjs +0 -39
  271. package/dist/utils/files.d.ts +0 -2
  272. package/dist/utils/files.js +0 -35
  273. package/dist/utils/files.mjs +0 -22
  274. package/dist/utils/formValidation.d.ts +0 -7
  275. package/dist/utils/formValidation.js +0 -20
  276. package/dist/utils/formValidation.mjs +0 -13
  277. package/dist/utils/formatters.d.ts +0 -12
  278. package/dist/utils/formatters.js +0 -84
  279. package/dist/utils/formatters.mjs +0 -56
  280. package/dist/utils/hijriDate.d.ts +0 -58
  281. package/dist/utils/hijriDate.js +0 -168
  282. package/dist/utils/hijriDate.mjs +0 -1951
  283. package/dist/utils/i18n.d.ts +0 -8
  284. package/dist/utils/i18n.js +0 -36
  285. package/dist/utils/i18n.mjs +0 -27
  286. package/dist/utils/index.d.ts +0 -10
  287. package/dist/utils/index.js +0 -115
  288. package/dist/utils/index.mjs +0 -10
  289. package/dist/utils/queryParams.d.ts +0 -4
  290. package/dist/utils/queryParams.js +0 -26
  291. package/dist/utils/queryParams.mjs +0 -18
  292. package/dist/utils/ruleValidator.d.ts +0 -41
  293. package/dist/utils/ruleValidator.js +0 -210
  294. package/dist/utils/ruleValidator.mjs +0 -195
  295. package/dist/utils/toaster.d.ts +0 -12
  296. package/dist/utils/toaster.js +0 -68
  297. package/dist/utils/toaster.mjs +0 -58
  298. package/dist/utils/utils.d.ts +0 -9
  299. package/dist/utils/utils.js +0 -84
  300. package/dist/utils/utils.mjs +0 -67
@@ -1,1035 +0,0 @@
1
- @use 'sass:list';
2
- @use 'sass:map';
3
- @use '../base/mixins';
4
- @use '../../layouts/mixins' as layoutsMixins;
5
- @use '../../assets/scss/variables/template' as variables;
6
- @use '../../assets/scss/variables/vuetify';
7
-
8
- // Autocomplete
9
- .v-input--density-compact .v-field--variant-plain,
10
- .v-input--density-compact .v-field--variant-underlined {
11
- --v-input-control-height: 40px !important;
12
- }
13
-
14
- // Body
15
- // set body font size 15px
16
- body {
17
- font-size: 15px !important;
18
- }
19
-
20
- // Avatar
21
- .v-avatar {
22
- font-weight: 500;
23
- }
24
-
25
- // Alert
26
- // ℹ️ custom icon styling
27
-
28
- $alert-prepend-icon-font-size: 1.125rem !important;
29
-
30
- .v-alert {
31
- font-weight: 500;
32
-
33
- &:not(.v-alert--prominent) .v-alert__prepend {
34
- .v-icon {
35
- block-size: 1.625rem !important;
36
- font-size: 1.625rem !important;
37
- inline-size: 1.625rem !important;
38
- }
39
- }
40
-
41
- .v-alert-title {
42
- margin-block-end: 0.55rem;
43
- }
44
-
45
- .v-alert__close {
46
- .v-btn--icon {
47
- --v-btn-height: 4px;
48
-
49
- font-size: 0.5rem;
50
- margin-block-end: 0.2rem;
51
-
52
- .v-btn__overlay,
53
- .v-ripple__container {
54
- opacity: 0;
55
- }
56
- }
57
- }
58
-
59
- &:not(.v-alert--prominent) {
60
- .v-alert__prepend {
61
- .v-icon {
62
- padding: 0.275rem;
63
- border-radius: 0.375rem;
64
- background-color: rgb(var(--v-theme-surface));
65
- }
66
- }
67
-
68
- &.v-alert--variant-flat,
69
- &.v-alert--variant-elevated {
70
- .v-alert__prepend {
71
- .v-icon {
72
- background-color: #fff;
73
- }
74
- }
75
- }
76
- }
77
- }
78
-
79
- .v-alert.v-alert--density-compact {
80
- border-radius: 0.25rem;
81
- }
82
-
83
- .v-alert.v-alert--density-default {
84
- border-radius: 0.5rem;
85
- }
86
-
87
- @each $color-name in variables.$theme-colors-name {
88
- .v-alert {
89
- &:not(.v-alert--prominent) {
90
- &.bg-#{$color-name},
91
- &.text-#{$color-name} {
92
- .v-alert__prepend .v-icon {
93
- color: rgb(var(--v-theme-#{$color-name})) !important;
94
- }
95
- }
96
- }
97
-
98
- &.v-alert--variant-outlined,
99
- &.v-alert--variant-text,
100
- &.v-alert--variant-plain {
101
- &:not(.v-alert--prominent) {
102
- &.text-#{$color-name},
103
- &.bg-#{$color-name} {
104
- .v-alert__prepend .v-icon {
105
- background-color: rgb(var(--v-theme-#{$color-name}));
106
- color: rgb(var(--v-theme-on-#{$color-name})) !important;
107
- }
108
- }
109
- }
110
- }
111
- }
112
- }
113
-
114
- // Button
115
- // Above map but opacity values as key and variant as value
116
- $btn-active-overlay-opacity: (
117
- 0.08: (
118
- outlined,
119
- flat,
120
- text,
121
- plain,
122
- ),
123
- 0.24: (
124
- tonal,
125
- ),
126
- );
127
- $btn-hover-overlay-opacity: (
128
- 0.1: (
129
- elevated,
130
- ),
131
- 0.08: (
132
- outlined,
133
- flat,
134
- text,
135
- plain,
136
- ),
137
- 0.24: (
138
- tonal,
139
- ),
140
- );
141
-
142
- .v-btn {
143
- transform: scale(1.001);
144
-
145
- // ℹ️ This is necessary because as we have darker overlay on hover for elevated variant, button text doesn't get dimmed
146
- // This style is already applied to `.v-icon`
147
- .v-btn__content {
148
- z-index: 0;
149
- }
150
-
151
- &:active {
152
- transform: scale(0.98);
153
- }
154
-
155
- // Set icon size to 18px for default button
156
- .v-icon {
157
- --v-icon-size-multiplier: 0.799407846;
158
- }
159
-
160
- // Add transition on hover
161
- &:not(.v-btn--loading) .v-btn__overlay {
162
- transition: opacity 0.15s ease-in-out;
163
- will-change: opacity;
164
- }
165
-
166
- /*
167
- Loop over $btn-active-overlay-opacity map and add active styles for each variant.
168
- Group variants with same opacity value.
169
- */
170
- @each $opacity, $variants in $btn-active-overlay-opacity {
171
- $selectors: ();
172
-
173
- // append each variant to selectors list
174
- @each $variant in $variants {
175
- $selectors: list.append($selectors, '&.v-btn--variant-#{$variant}:active > .v-btn__overlay,');
176
- }
177
-
178
- #{$selectors} {
179
- opacity: $opacity;
180
- }
181
- }
182
-
183
- /*
184
- Loop over $btn-hover-overlay-opacity map and add hover styles for each variant.
185
- Group variants with same opacity value.
186
- */
187
- @each $opacity, $variants in $btn-hover-overlay-opacity {
188
- $selectors: ();
189
-
190
- // append each variant to selectors list
191
- @each $variant in $variants {
192
- $selectors: list.append($selectors, '&.v-btn--variant-#{$variant}:hover > .v-btn__overlay,');
193
- }
194
-
195
- #{$selectors} {
196
- opacity: $opacity;
197
- }
198
- }
199
-
200
- // Default (elevated) button
201
- &--variant-elevated,
202
- &--variant-flat {
203
- // We want darker background on hover instead of light
204
- &:not(.v-btn--loading, .v-btn--disabled) .v-btn__overlay {
205
- background-color: black;
206
-
207
- // Disable transition because we are getting flash of black color when loading finishes
208
- transition: none;
209
- }
210
- }
211
-
212
- // Update background color of tonal button
213
- &.v-btn--variant-tonal .v-btn__underlay {
214
- opacity: 0.16;
215
- }
216
-
217
- // Button border-radius
218
- &:not(.v-btn--icon).v-btn--size-x-small {
219
- border-radius: 2px;
220
- }
221
-
222
- &:not(.v-btn--icon).v-btn--size-small {
223
- border-radius: 4px;
224
- }
225
-
226
- &:not(.v-btn--icon).v-btn--size-large {
227
- border-radius: 8px;
228
- }
229
-
230
- &:not(.v-btn--icon).v-btn--size-x-large {
231
- border-radius: 10px;
232
- }
233
-
234
- &.bg-primary {
235
- color: rgb(var(--v-theme-button-on-primary)) !important;
236
- }
237
- }
238
-
239
- // Badge
240
- .v-badge {
241
- .v-badge__badge .v-icon {
242
- font-size: 0.9375rem;
243
- }
244
- }
245
-
246
- // Checkbox
247
- .v-checkbox {
248
- .v-label {
249
- // We adjusted it to vertically align the label
250
- line-height: 21px;
251
- }
252
-
253
- .v-input__details {
254
- // Remove extra space below the label
255
- min-block-size: unset !important;
256
- padding-block-start: 0 !important;
257
- }
258
- }
259
-
260
- // Chip
261
- .v-chip {
262
- .v-chip__close {
263
- font-size: 0.8125rem;
264
- }
265
-
266
- .v-icon--start {
267
- margin-inline-start: 0 !important;
268
- }
269
- }
270
-
271
- // checkbox size and box shadow
272
- .v-checkbox-btn {
273
- &.v-selection-control--dirty {
274
- .v-selection-control__input {
275
- .v-icon.iconify--custom {
276
- // ℹ️ Using filter: drop-shadow() instead of box-shadow because box-shadow creates white background for SVG
277
- // @include mixins.elevation(2);
278
- filter: drop-shadow(map.get(vuetify.$shadow-key-umbra, 2));
279
- }
280
- }
281
- }
282
-
283
- /* stylelint-disable-next-line no-descending-specificity */
284
- .v-selection-control__input {
285
- /* stylelint-disable-next-line no-descending-specificity */
286
- .v-icon.iconify--custom {
287
- block-size: 1.125rem !important;
288
- font-size: 1.125rem !important;
289
- inline-size: 1.125rem !important;
290
- }
291
- }
292
- }
293
-
294
- // Dialog
295
- .v-dialog {
296
- // dialog custom close btn
297
- .v-dialog-close-btn {
298
- border-radius: 0.375rem;
299
- background-color: rgb(var(--v-theme-surface)) !important;
300
- block-size: 2rem;
301
- inline-size: 2rem;
302
- inset-block-start: 0;
303
- inset-inline-end: 0;
304
- transform: translate(0.5rem, -0.5rem);
305
-
306
- @include layoutsMixins.rtl {
307
- transform: translate(-0.5rem, -0.5rem);
308
- }
309
-
310
- &:hover {
311
- background-color: rgb(var(--v-theme-gray-300)) !important;
312
- }
313
- }
314
- }
315
-
316
- // Expansion panels
317
- .v-application.v-layout .v-application__wrap .v-expansion-panels {
318
- // custom style for expansion panels
319
- &.expansion-panels-width-border {
320
- border: 1px solid rgba(var(--v-border-color), var(--v-border-opacity));
321
- border-radius: 0.375rem;
322
- }
323
-
324
- .v-expansion-panel {
325
- margin-block-start: 0 !important;
326
-
327
- // expansion panel arrow font size
328
- .v-expansion-panel-title {
329
- color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity));
330
- font-weight: 500;
331
-
332
- .v-expansion-panel-title__icon {
333
- transition: transform 0.2s ease-in-out;
334
-
335
- .v-icon {
336
- font-size: 1.25rem;
337
- }
338
- }
339
- }
340
-
341
- .v-expansion-panel-title,
342
- .v-expansion-panel-title--active,
343
- .v-expansion-panel-title:hover,
344
- .v-expansion-panel-title:focus,
345
- .v-expansion-panel-title:focus-visible,
346
- .v-expansion-panel-title--active:focus,
347
- .v-expansion-panel-title--active:hover {
348
- .v-expansion-panel-title__overlay {
349
- opacity: 0 !important;
350
- }
351
- }
352
-
353
- // Set Elevation when panel open
354
- &:not(.v-expansion-panels--variant-accordion) {
355
- &.v-expansion-panel--active {
356
- .v-expansion-panel__shadow {
357
- @include mixins.elevation(7);
358
- }
359
- }
360
- }
361
- }
362
-
363
- &:not(.no-icon-rotate) {
364
- .v-expansion-panel {
365
- .v-expansion-panel-title__icon {
366
- .v-icon {
367
- @include layoutsMixins.rtl {
368
- transform: scaleX(-1);
369
- }
370
- }
371
- }
372
-
373
- &.v-expansion-panel--active {
374
- .v-expansion-panel-title__icon {
375
- transform: rotate(90deg);
376
-
377
- @include layoutsMixins.rtl {
378
- transform: rotate(-90deg);
379
- }
380
- }
381
- }
382
- }
383
- }
384
-
385
- &:not(.expansion-panels-width-border) {
386
- .v-expansion-panel {
387
- &:not(:last-child) {
388
- margin-block-end: 0.5rem;
389
- }
390
-
391
- &:not(:first-child)::after {
392
- content: none;
393
- }
394
-
395
- // ℹ️ we have to use below style of increase the specificity and override the default style
396
- /* stylelint-disable-next-line no-descending-specificity */
397
- &:first-child:not(:last-child),
398
- &:not(:first-child, :last-child),
399
- &:not(:first-child) {
400
- border-radius: 0.375rem !important;
401
- }
402
- }
403
- }
404
- }
405
-
406
- // Field
407
- .v-field__input {
408
- opacity: 1 !important;
409
- }
410
-
411
- // Label
412
- // ℹ️ We need to increase the line height for vertically aligned text
413
- .v-field {
414
- line-height: 23px;
415
- }
416
-
417
- // List
418
- .v-list-item {
419
- --v-hover-opacity: 0.08 !important;
420
- cursor: pointer;
421
-
422
- /* stylelint-disable-next-line no-descending-specificity */
423
- .v-ripple__container {
424
- display: none;
425
- }
426
-
427
- .v-checkbox-btn.v-selection-control--density-compact {
428
- margin-inline-end: 0.5rem;
429
- }
430
-
431
- .v-list-item__overlay {
432
- transition: none;
433
- }
434
-
435
- /* stylelint-disable-next-line no-descending-specificity */
436
- &.v-list-item--density-comfortable .v-icon {
437
- font-size: 1.25rem;
438
- }
439
-
440
- /* stylelint-disable-next-line no-descending-specificity */
441
- &.v-list-item--density-compact .v-icon {
442
- font-size: 1.125rem;
443
- }
444
-
445
- // Without this, we get light primary due to the opacity of currentColor (active list item has white color)
446
- &.v-list-item--active > .v-list-item__overlay {
447
- opacity: 0 !important;
448
- }
449
-
450
- &.v-list-item--active:not(.v-list-group__header) {
451
- background-color: rgb(var(--v-nav-background));
452
- color: rgb(var(--v-theme-on-primary));
453
-
454
- .v-list-item-subtitle {
455
- color: rgb(var(--v-theme-on-primary));
456
- }
457
- }
458
-
459
- &[tabindex='0']:not(.v-list-item--active) {
460
- &:hover,
461
- &:focus-visible {
462
- color: rgba(var(--v-theme-on-primary));
463
-
464
- .v-list-item-subtitle {
465
- color: rgb(var(--v-theme-primary));
466
- }
467
- }
468
- }
469
-
470
- &.v-list-item--active.v-list-group__header {
471
- color: rgb(var(--v-theme-primary));
472
- }
473
-
474
- &.v-list-item--active {
475
- .v-list-item__prepend {
476
- .v-checkbox,
477
- .v-checkbox-btn {
478
- .v-selection-control__input > .v-icon {
479
- rect {
480
- fill: white;
481
-
482
- + path {
483
- stroke: rgb(var(--v-theme-primary));
484
- }
485
- }
486
- }
487
- }
488
- }
489
- }
490
- }
491
-
492
- // Menu
493
- // Menu custom style
494
- .v-menu.v-overlay {
495
- .v-overlay__content {
496
- .v-list {
497
- .v-list-item {
498
- border-radius: 0.375rem;
499
- margin-block: 0.25rem;
500
- margin-inline: 0.5rem;
501
- min-block-size: 2.375rem;
502
-
503
- &:first-child {
504
- margin-block-start: 0;
505
- }
506
-
507
- &:last-child {
508
- margin-block-end: 0;
509
- }
510
- }
511
-
512
- .v-list-item--density-default:not(.v-list-item--nav).v-list-item--one-line {
513
- padding-block: 0.5rem;
514
- }
515
- }
516
- }
517
- }
518
-
519
- // Pagination
520
- .v-pagination {
521
- .v-pagination__list .v-pagination__item--is-active {
522
- .v-btn {
523
- background-color: rgb(var(--v-theme-primary));
524
-
525
- .v-btn__underlay {
526
- opacity: 1 !important;
527
- }
528
-
529
- .v-btn__content {
530
- color: rgb(var(--v-theme-button-on-primary)) !important;
531
- }
532
- }
533
- }
534
-
535
- // Disable scale animation for button
536
- .v-pagination__item {
537
- .v-btn {
538
- transform: scale(1) !important;
539
-
540
- // We disabled transition because it looks ugly 🤮
541
- transition-duration: 0s;
542
-
543
- &:active {
544
- transform: scale(1);
545
- }
546
- }
547
- }
548
-
549
- /* stylelint-disable-next-line no-descending-specificity */
550
- .v-pagination__next,
551
- .v-pagination__prev {
552
- /* stylelint-disable-next-line no-descending-specificity */
553
- .v-btn--icon .v-icon {
554
- --v-icon-size-multiplier: 0.889;
555
- }
556
- }
557
- }
558
-
559
- // Radio
560
- .v-radio,
561
- .v-radio-btn {
562
- .v-selection-control__input {
563
- .iconify--custom {
564
- border-radius: 5rem;
565
- block-size: 1.125rem !important;
566
- font-size: 1.125rem !important;
567
- inline-size: 1.125rem !important;
568
- }
569
- }
570
-
571
- &.v-selection-control--dirty {
572
- .v-selection-control__input {
573
- .iconify--custom {
574
- @include mixins.elevation(2);
575
- }
576
- }
577
- }
578
-
579
- .v-label {
580
- line-height: 22px;
581
- }
582
- }
583
-
584
- // Radio, Checkbox
585
- .v-radio,
586
- .v-checkbox-btn {
587
- &:not(.v-selection-control--dirty) {
588
- .v-selection-control__input > svg {
589
- color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity));
590
- }
591
- }
592
- }
593
-
594
- // Rating
595
- .v-rating {
596
- .v-rating__wrapper {
597
- .v-btn .v-icon {
598
- --v-icon-size-multiplier: 1;
599
- }
600
-
601
- .v-btn--density-default {
602
- --v-btn-height: 26px;
603
- }
604
-
605
- .v-btn--density-compact {
606
- --v-btn-height: 30px;
607
- }
608
-
609
- .v-btn--density-comfortable {
610
- --v-btn-height: 32px;
611
- }
612
- }
613
- }
614
-
615
- // switch
616
- .v-switch.v-switch--inset {
617
- .v-switch__track,
618
- .v-selection-control__wrapper {
619
- block-size: calc(1.125rem * 1.5);
620
- inline-size: calc(1.875rem * 1.5);
621
- }
622
-
623
- .v-ripple__container {
624
- opacity: 0;
625
- }
626
-
627
- &:not(.v-input--disabled) .v-switch__track {
628
- border: 1px solid rgba(var(--v-border-color), var(--v-switch-opacity));
629
- background-color: rgb(var(--v-theme-surface));
630
- opacity: 1;
631
- }
632
-
633
- .v-selection-control__input {
634
- transform: translateX(-8px);
635
-
636
- --v-selection-control-size: 1.5rem;
637
-
638
- .v-switch__thumb {
639
- background: rgba(var(--v-theme-on-surface), var(--v-switch-opacity));
640
- block-size: 1rem;
641
- inline-size: 1rem;
642
- }
643
- }
644
-
645
- .v-selection-control--dirty {
646
- .v-switch__track {
647
- border-color: rgba(var(--v-border-color), var(--v-switch-opacity));
648
- }
649
-
650
- @each $color-name in variables.$theme-colors-name {
651
- .text-#{$color-name} {
652
- .v-switch__track {
653
- border-color: rgb(var(--v-theme-#{$color-name}));
654
- background-color: rgb(var(--v-theme-#{$color-name}));
655
- }
656
- }
657
- }
658
-
659
- .v-selection-control__input {
660
- transform: translateX(10px);
661
-
662
- .v-switch__thumb {
663
- background-color: #fff;
664
- }
665
- }
666
- }
667
-
668
- // disabled
669
- &.v-input--disabled {
670
- &:not(.v-input--dirty) {
671
- .v-selection-control__input .v-switch__thumb {
672
- background: rgba(var(--v-theme-on-surface), var(--v-switch-disabled-thumb-opacity));
673
- }
674
-
675
- .v-switch__track {
676
- background-color: rgba(var(--v-theme-on-surface), var(--v-switch-disabled-track-opacity));
677
- }
678
- }
679
-
680
- &.v-input--dirty {
681
- .v-selection-control--disabled {
682
- opacity: var(--v-switch-checked-disabled-opacity);
683
- }
684
- }
685
- }
686
- }
687
-
688
- .v-switch.v-input,
689
- .v-checkbox-btn,
690
- .v-radio-btn,
691
- .v-radio {
692
- --v-input-control-height: auto;
693
-
694
- flex: unset;
695
- }
696
-
697
- // Slider
698
- .v-slider-thumb {
699
- border: 3px solid rgb(var(--v-theme-surface));
700
- border-radius: 5rem;
701
-
702
- @include mixins.elevation(3);
703
- }
704
-
705
- .v-slider-thumb__label {
706
- background: vuetify.$tooltip-background-color !important;
707
- color: rgb(var(--v-theme-on-primary)) !important;
708
- font-weight: 500;
709
- }
710
-
711
- .v-slider.v-input--horizontal .v-slider-thumb__label::before {
712
- border-block-start-color: vuetify.$tooltip-background-color !important;
713
- }
714
-
715
- .v-slider.v-input--vertical .v-slider-thumb__label::before {
716
- border-inline-end-color: vuetify.$tooltip-background-color !important;
717
- }
718
-
719
- // slider track opacity
720
- .v-slider-track__background--opacity {
721
- opacity: 1 !important;
722
- }
723
-
724
- // Table
725
- .v-table {
726
- --v-table-row-height: 70px;
727
- --v-table-header-height: 60px !important;
728
-
729
- color: rgb(var(--v-theme-on-surface)) !important;
730
-
731
- th {
732
- color: rgb(var(--v-theme-on-surface)) !important;
733
- font-weight: 600 !important;
734
- letter-spacing: 0.0625rem;
735
- text-transform: uppercase;
736
-
737
- .v-data-table-header__content {
738
- display: flex;
739
- justify-content: space-between;
740
- }
741
- }
742
- }
743
-
744
- // Tabs
745
- // v-tab with pill support
746
- .v-tabs {
747
- &.v-tabs--vertical {
748
- --v-tabs-height: 38px !important;
749
-
750
- &:not(.v-tabs-pill) {
751
- block-size: 100%;
752
- border-inline-end: 1px solid rgba(var(--v-border-color), var(--v-border-opacity));
753
- }
754
- }
755
-
756
- &.v-tabs--horizontal:not(.v-tabs-pill) {
757
- border-block-end: 1px solid rgba(var(--v-border-color), var(--v-border-opacity));
758
-
759
- .v-tab__slider {
760
- block-size: 3px;
761
- }
762
- }
763
-
764
- /* stylelint-disable-next-line no-descending-specificity */
765
- .v-btn {
766
- font-weight: 400;
767
- transform: none !important;
768
-
769
- &.v-btn--stacked {
770
- /* stylelint-disable-next-line no-descending-specificity */
771
- .v-icon {
772
- --v-icon-size-multiplier: 1.1428571429;
773
- }
774
- }
775
-
776
- /* stylelint-disable-next-line no-descending-specificity */
777
- .v-btn__overlay,
778
- .v-ripple__container {
779
- opacity: 0 !important;
780
- }
781
-
782
- /* stylelint-disable-next-line no-descending-specificity */
783
- .v-tab__slider {
784
- inset-inline-end: 0;
785
- inset-inline-start: unset;
786
- }
787
- }
788
- }
789
-
790
- // Tab Pill
791
- .v-tabs.v-tabs-pill {
792
- .v-tab--selected {
793
- @include mixins.elevation(2);
794
- }
795
-
796
- &.v-slide-group,
797
- .v-slide-group__container {
798
- box-sizing: content-box;
799
- padding: 1rem;
800
- margin: -1rem;
801
- }
802
-
803
- .v-tab.v-btn {
804
- &:hover {
805
- color: rgba(var(--v-theme-primary));
806
- }
807
- }
808
- }
809
-
810
- // Timeline
811
- .v-timeline {
812
- .v-timeline-divider__dot {
813
- background: none !important;
814
-
815
- .v-timeline-divider__inner-dot {
816
- box-shadow: 0 0 0 0.1875rem rgb(var(--v-theme-on-surface-variant));
817
-
818
- @each $color-name in variables.$theme-colors-name {
819
- &.bg-#{$color-name} {
820
- box-shadow: 0 0 0 0.1875rem rgba(var(--v-theme-#{$color-name}), 0.12);
821
- }
822
- }
823
- }
824
- }
825
-
826
- // timeline icon only
827
- &.v-timeline-icon-only {
828
- .v-timeline-divider__dot {
829
- .v-timeline-divider__inner-dot {
830
- background: none;
831
- box-shadow: none;
832
-
833
- /* stylelint-disable-next-line no-descending-specificity */
834
- .v-icon {
835
- background: rgb(var(--v-theme-background));
836
- }
837
- }
838
- }
839
- }
840
-
841
- // we have to override the default bg-color of the timeline dot in the card
842
- .v-card:not(.v-card--variant-text, .v-card--variant-plain, .v-card--variant-outlined) & {
843
- &.v-timeline-icon-only {
844
- .v-timeline-divider__dot {
845
- .v-timeline-divider__inner-dot {
846
- /* stylelint-disable-next-line no-descending-specificity */
847
- .v-icon {
848
- background: rgb(var(--v-theme-surface));
849
- }
850
- }
851
- }
852
- }
853
- }
854
-
855
- .v-card.v-card--variant-tonal & {
856
- &.v-timeline-icon-only {
857
- .v-timeline-divider__dot {
858
- .v-timeline-divider__inner-dot {
859
- /* stylelint-disable-next-line no-descending-specificity */
860
- .v-icon {
861
- background: none;
862
- }
863
- }
864
- }
865
- }
866
- }
867
- }
868
- .v-field--variant-outlined.v-field--focused .v-field__outline {
869
- --v-field-border-width: 1px !important;
870
- }
871
- // TextField, Select, AutoComplete, ComboBox, Textarea
872
- // ℹ️ We added .v-application to increase the specificity of the selector
873
- .v-application {
874
- .app-text-field,
875
- .app-select,
876
- .app-autocomplete,
877
- .app-combobox,
878
- .app-textarea,
879
- .app-picker-field {
880
- .v-text-field .v-input__details {
881
- padding-inline-start: 0;
882
- }
883
-
884
- .v-field--variant-outlined.v-field--focused .v-field__outline {
885
- --v-field-border-width: 1px !important;
886
- }
887
-
888
- // Label
889
- // .v-input {
890
- // line-height: 22px !important;
891
- // }
892
-
893
- // Settings 22px line height causes vertical alignment issues so we need to adjust the input line height
894
- // .v-field__input {
895
- // line-height: 21px;
896
- // }
897
-
898
- // Density: comfortable
899
- .v-input--density-comfortable {
900
- .v-field {
901
- input,
902
- .v-select__selection-text {
903
- font-size: 1.125rem;
904
- }
905
- }
906
- }
907
-
908
- // Density: default
909
- .v-input--density-default {
910
- .v-field {
911
- input,
912
- .v-select__selection-text {
913
- font-size: 1.375rem;
914
- }
915
- }
916
- }
917
-
918
- // Placeholder transition
919
- .v-field {
920
- input,
921
- .v-field__input {
922
- &::placeholder {
923
- transition: transform 0.2s ease-out;
924
- }
925
- }
926
- }
927
-
928
- .v-field--focused {
929
- // @include elevation.elevation(1);
930
- box-shadow: 0 2px 4px rgba(var(--v-shadow-key-umbra-color), 0.12);
931
- }
932
- }
933
-
934
- @mixin style-selectable-component($component-name) {
935
- .app-#{$component-name} {
936
- .v-#{$component-name}__selection {
937
- line-height: 24px;
938
- margin-block: 0 !important;
939
- }
940
-
941
- // Vertical alignment of placeholder & text
942
- .v-#{$component-name} .v-field .v-field__input > input {
943
- align-self: center;
944
- }
945
-
946
- // Chips
947
- // .v-#{$component-name}.v-#{$component-name}--chips.v-#{$component-name}--selected {
948
- .v-#{$component-name}.v-#{$component-name}--chips.v-input--dirty {
949
- .v-#{$component-name}__selection {
950
- margin: 0;
951
- }
952
-
953
- .v-field__input {
954
- gap: 3px;
955
- }
956
-
957
- &.v-input--density-compact {
958
- .v-field__input {
959
- padding-inline-start: 0.5rem;
960
- }
961
- }
962
-
963
- &.v-input--density-comfortable {
964
- .v-field__input {
965
- padding-inline-start: 0.75rem;
966
- }
967
- }
968
-
969
- &.v-input--density-default {
970
- .v-field__input {
971
- padding-inline-start: 1rem;
972
- }
973
- }
974
- }
975
- }
976
- }
977
-
978
- @include style-selectable-component('autocomplete');
979
- @include style-selectable-component('select');
980
- @include style-selectable-component('combobox');
981
-
982
- .v-input--density-compact {
983
- .v-field__clearable,
984
- .v-field__append-inner {
985
- svg {
986
- block-size: 0.8em;
987
- inline-size: 0.8em;
988
- margin-block-start: 0.15em;
989
-
990
- // transform: scale(0.75);
991
- // transform-origin: center;
992
- }
993
- }
994
- }
995
-
996
- // AutoComplete
997
- @at-root {
998
- .app-autocomplete__content {
999
- .v-list-item--active {
1000
- .v-autocomplete__mask {
1001
- background: rgb(var(--v-theme-gray-300));
1002
- }
1003
- }
1004
-
1005
- .v-theme--dark {
1006
- .v-list-item:not(.v-list-item--active) {
1007
- .v-autocomplete__mask {
1008
- background: #3b405c;
1009
- }
1010
- }
1011
- }
1012
- }
1013
- }
1014
- }
1015
-
1016
- // Style list differently when it's used in a components like select, menu etc
1017
- .v-menu {
1018
- .v-list-item {
1019
- // Adjust padding of list item inside menu
1020
- padding-block: 8px !important;
1021
- padding-inline: 16px !important;
1022
- }
1023
- }
1024
-
1025
- .app-inner-list {
1026
- // Hide checkboxes
1027
- .v-selection-control {
1028
- display: none;
1029
- }
1030
- }
1031
-
1032
- // Hide resizer
1033
- ::-webkit-resizer {
1034
- background: transparent;
1035
- }