@fastkit/vui 1.1.0 → 1.1.1

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 (64) hide show
  1. package/dist/vui.css +3 -3
  2. package/dist/vui.d.ts +6 -4
  3. package/dist/vui.mjs +21 -43
  4. package/dist/vui.mjs.map +1 -1
  5. package/package.json +17 -17
  6. package/src/components/VAvatar/VAvatar.scss +4 -4
  7. package/src/components/VAvatar/VAvatar.tsx +0 -1
  8. package/src/components/VBreadcrumbs/VBreadcrumbs.scss +2 -2
  9. package/src/components/VBreadcrumbs/VBreadcrumbs.tsx +1 -1
  10. package/src/components/VBusyImage/VBusyImage.scss +1 -1
  11. package/src/components/VButton/VButton.scss +3 -3
  12. package/src/components/VButton/VButton.tsx +0 -1
  13. package/src/components/VCard/VCard.scss +2 -2
  14. package/src/components/VCheckable/VCheckable.scss +1 -1
  15. package/src/components/VCheckbox/VCheckbox.scss +3 -3
  16. package/src/components/VCheckbox/VCheckbox.tsx +0 -1
  17. package/src/components/VChip/VChip.scss +4 -4
  18. package/src/components/VChip/VChip.tsx +0 -1
  19. package/src/components/VControlField/VControlField.scss +1 -1
  20. package/src/components/VControlField/VControlField.tsx +1 -2
  21. package/src/components/VDataTable/VDataTable.scss +3 -3
  22. package/src/components/VDataTable/VDataTable.tsx +0 -2
  23. package/src/components/VDialog/VDialog.scss +1 -1
  24. package/src/components/VDisabledReason/VDisabledReason.scss +1 -1
  25. package/src/components/VForm/VForm.tsx +20 -8
  26. package/src/components/VFormControl/VFormControl.scss +1 -1
  27. package/src/components/VFormControl/VFormControl.tsx +2 -6
  28. package/src/components/VFormGroup/VFormGroup.tsx +0 -1
  29. package/src/components/VGrid/schemes.ts +0 -1
  30. package/src/components/VListTile/VListTile.scss +1 -1
  31. package/src/components/VListTile/VListTile.tsx +0 -2
  32. package/src/components/VNavigation/VNavigation.tsx +1 -2
  33. package/src/components/VNavigation/VNavigationItem.tsx +1 -4
  34. package/src/components/VNumberField/VNumberField.tsx +0 -1
  35. package/src/components/VOption/VOption.scss +1 -1
  36. package/src/components/VOption/VOption.tsx +0 -1
  37. package/src/components/VPagination/VPagination.scss +2 -2
  38. package/src/components/VPagination/VPagination.tsx +1 -2
  39. package/src/components/VRadio/VRadio.scss +1 -1
  40. package/src/components/VRadio/VRadio.tsx +0 -1
  41. package/src/components/VSelect/VSelect.scss +2 -2
  42. package/src/components/VSelect/VSelect.tsx +1 -3
  43. package/src/components/VSheetModal/VSheetModal.tsx +0 -1
  44. package/src/components/VSkeltonLoader/VSkeltonLoaderBone.scss +4 -4
  45. package/src/components/VSwitch/VSwitch.scss +1 -1
  46. package/src/components/VSwitch/VSwitch.tsx +0 -1
  47. package/src/components/VTabs/VTab.scss +3 -3
  48. package/src/components/VTabs/VTabs.tsx +1 -4
  49. package/src/components/VTextField/VTextField.scss +3 -3
  50. package/src/components/VTextField/VTextField.tsx +0 -1
  51. package/src/components/VTextarea/VTextarea.scss +2 -2
  52. package/src/components/VTextarea/VTextarea.tsx +0 -1
  53. package/src/components/VToolbar/VToolbarMenu.tsx +0 -1
  54. package/src/composables/form-selector.tsx +1 -2
  55. package/src/plugin.tsx +1 -2
  56. package/src/service.tsx +0 -1
  57. package/src/styles/base.scss +2 -2
  58. package/src/styles/core/functions.scss +4 -3
  59. package/src/styles/core.scss +2 -2
  60. package/src/styles/elevation.scss +1 -1
  61. package/src/styles/group.scss +3 -3
  62. package/src/styles/index.scss +7 -7
  63. package/src/styles/typo.scss +1 -1
  64. package/src/styles/variables.scss +22 -22
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fastkit/vui",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "A simple, extensible UI kit for Vue applications.",
5
5
  "keywords": [
6
6
  "fastkit",
@@ -45,31 +45,31 @@
45
45
  ],
46
46
  "dependencies": {
47
47
  "@fastkit/color-scheme": "^2.1.0",
48
+ "@fastkit/helpers": "^0.15.0",
48
49
  "@fastkit/color-scheme-gen": "^1.1.0",
50
+ "@fastkit/icon-font": "^2.1.0",
49
51
  "@fastkit/dom": "^0.3.0",
50
- "@fastkit/helpers": "^0.15.0",
51
52
  "@fastkit/media-match": "^2.1.0",
52
- "@fastkit/media-match-gen": "^1.1.0",
53
53
  "@fastkit/tiny-logger": "^0.15.0",
54
- "@fastkit/rules": "^0.15.0",
55
- "@fastkit/vue-body-scroll-lock": "^0.3.0",
56
- "@fastkit/vue-app-layout": "^0.17.0",
54
+ "@fastkit/media-match-gen": "^1.1.0",
55
+ "@fastkit/stylebase": "^0.13.1",
57
56
  "@fastkit/vue-action": "^0.4.0",
58
- "@fastkit/vue-color-scheme": "^0.16.0",
57
+ "@fastkit/rules": "^0.15.0",
59
58
  "@fastkit/vue-click-outside": "^0.3.0",
60
- "@fastkit/vue-form-control": "^0.22.0",
61
- "@fastkit/vue-loading": "^0.16.0",
62
- "@fastkit/vue-keyboard": "^0.3.0",
63
59
  "@fastkit/vue-disabled-reason": "^0.1.0",
60
+ "@fastkit/vue-form-control": "^0.22.1",
61
+ "@fastkit/vue-body-scroll-lock": "^0.3.0",
62
+ "@fastkit/vue-keyboard": "^0.3.0",
63
+ "@fastkit/vue-loading": "^0.16.0",
64
+ "@fastkit/vue-app-layout": "^0.17.0",
64
65
  "@fastkit/vue-location": "^0.5.0",
65
- "@fastkit/vue-resize": "^0.3.0",
66
+ "@fastkit/vue-color-scheme": "^0.16.0",
66
67
  "@fastkit/vue-media-match": "^0.15.0",
67
68
  "@fastkit/vue-scroller": "^0.16.0",
69
+ "@fastkit/vue-resize": "^0.3.0",
68
70
  "@fastkit/vue-stack": "^0.18.0",
69
- "@fastkit/icon-font": "^2.1.0",
70
- "@fastkit/stylebase": "^0.13.1",
71
- "@fastkit/vue-transitions": "^0.3.0",
72
- "@fastkit/vue-utils": "^0.16.0"
71
+ "@fastkit/vue-utils": "^0.16.0",
72
+ "@fastkit/vue-transitions": "^0.3.0"
73
73
  },
74
74
  "devDependencies": {
75
75
  "vue": "^3.5.21",
@@ -93,8 +93,8 @@
93
93
  "scripts": {
94
94
  "build": "plugboy build",
95
95
  "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
96
- "eslint": "eslint . --ext ts,tsx,js,vue,html,yaml",
97
- "eslint:fix": "eslint . --ext ts,tsx,js,vue,html,yaml --fix",
96
+ "eslint": "eslint .",
97
+ "eslint:fix": "eslint . --fix",
98
98
  "format": "pnpm run \"/^(eslint:fix|stylelint:fix)$/\"",
99
99
  "lint": "pnpm run \"/^(eslint|stylelint)$/\"",
100
100
  "stub": "plugboy stub",
@@ -1,4 +1,4 @@
1
- @use '../../styles/core.scss';
1
+ @use '../../styles/core';
2
2
 
3
3
  @layer vui {
4
4
  .v-avatar {
@@ -22,15 +22,15 @@
22
22
  font-size: var(--avatar-font-size);
23
23
  font-weight: var(--avatar-font-weight);
24
24
  line-height: 1;
25
- text-align: center;
26
25
  vertical-align: bottom;
26
+ text-align: center;
27
27
  cursor: default;
28
28
  border-style: solid;
29
29
  border-width: 1px;
30
30
  border-radius: var(--avatar-radius);
31
31
 
32
- --shadow-color: rgba(0, 0, 0, 0) !important; // @TODO layer supports
33
- --focusShadow-color: rgba(0, 0, 0, 0) !important; // @TODO layer supports
32
+ --shadow-color: rgb(0, 0, 0, 0) !important; // @TODO layer supports
33
+ --focusShadow-color: rgb(0, 0, 0, 0) !important; // @TODO layer supports
34
34
  }
35
35
 
36
36
  &--clickable {
@@ -8,7 +8,6 @@ import { VBusyImage } from '../VBusyImage';
8
8
  // @TODO Unable to resolve dts for `navigationableInheritProps`.
9
9
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
10
  // @ts-ignore
11
- // eslint-disable-next-line import/order
12
11
  import { RouteLocationRaw } from 'vue-router';
13
12
 
14
13
  export const AVATAR_SIZES = ['sm', 'md', 'lg'] as const;
@@ -24,9 +24,9 @@
24
24
  &__link {
25
25
  display: inline-flex;
26
26
  align-items: center;
27
- text-decoration: none;
28
- white-space: nowrap;
29
27
  vertical-align: middle;
28
+ white-space: nowrap;
29
+ text-decoration: none;
30
30
  }
31
31
 
32
32
  &__item--disabled &__link {
@@ -62,7 +62,7 @@ export const VBreadcrumbs = defineComponent({
62
62
 
63
63
  return () => {
64
64
  if (lengthRef.value < 1) return;
65
- // eslint-disable-next-line no-shadow
65
+
66
66
  let dividerSlot: (vui: VuiService) => VNodeChild;
67
67
  const propDivider = props.divider;
68
68
  if (propDivider) {
@@ -20,7 +20,7 @@
20
20
  inset: 0;
21
21
  display: block;
22
22
  content: '';
23
- background: rgba(0, 0, 0, 0.1);
23
+ background: rgb(0, 0, 0, 0.1);
24
24
  animation: v-tiny-image-blink normal 1.5s infinite ease-in-out;
25
25
  }
26
26
 
@@ -30,17 +30,17 @@
30
30
  // font-size: calc(var(--root-em) * 0.875);
31
31
  font-weight: 500;
32
32
  line-height: 1;
33
- text-decoration: none;
33
+ vertical-align: bottom;
34
34
  text-transform: uppercase;
35
35
  letter-spacing: math.div(1.25, 14) * 1em; // 1.25px;
36
- vertical-align: bottom;
36
+ text-decoration: none;
37
37
  appearance: none;
38
38
  cursor: pointer;
39
39
  user-select: none;
40
+ outline: 0;
40
41
  border-style: solid;
41
42
  border-width: 1px;
42
43
  border-radius: var(--control-field-radius);
43
- outline: 0;
44
44
  transition:
45
45
  0.3s cubic-bezier(0.25, 0.8, 0.5, 1),
46
46
  color 1ms;
@@ -23,7 +23,6 @@ import type { IconName } from '../VIcon';
23
23
  // @TODO Unable to resolve dts for `navigationableInheritProps`.
24
24
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
25
  // @ts-ignore
26
- // eslint-disable-next-line import/order
27
26
  import { RouteLocationRaw } from 'vue-router';
28
27
 
29
28
  export type VButtonSpacer = 'left' | 'right';
@@ -1,4 +1,4 @@
1
- @use '../../styles/core.scss';
1
+ @use '../../styles/core';
2
2
 
3
3
  @layer vui {
4
4
  .v-card {
@@ -13,8 +13,8 @@
13
13
  appearance: none;
14
14
  touch-action: manipulation;
15
15
  user-select: none;
16
- border: 0;
17
16
  outline: 0;
17
+ border: 0;
18
18
  }
19
19
 
20
20
  &,
@@ -1,4 +1,4 @@
1
- @use '../../styles/core.scss';
1
+ @use '../../styles/core';
2
2
 
3
3
  @layer vui {
4
4
  .v-checkable {
@@ -15,6 +15,9 @@
15
15
  display: block;
16
16
  width: 100%;
17
17
  height: 100%;
18
+ background: var(--my-faux-bg-color);
19
+ border: solid 2px var(--my-border-color);
20
+ border-radius: var(--control-field-radius);
18
21
  clip-path: polygon(
19
22
  0 0,
20
23
  0 100%,
@@ -29,9 +32,6 @@
29
32
  88.25% 28.25%,
30
33
  100% 0
31
34
  );
32
- background: var(--my-faux-bg-color);
33
- border: solid 2px var(--my-border-color);
34
- border-radius: var(--control-field-radius);
35
35
  transition:
36
36
  border-color 0.2s,
37
37
  background-color 0.2s;
@@ -22,7 +22,6 @@ export const VCheckbox = defineComponent({
22
22
  indeterminate: Boolean,
23
23
  },
24
24
  emits,
25
- // eslint-disable-next-line no-shadow
26
25
  setup(props, ctx) {
27
26
  const nodeControl = useFormSelectorItemControl(props, ctx, {
28
27
  nodeType: VUI_CHECKBOX_SYMBOL,
@@ -1,4 +1,4 @@
1
- @use '../../styles/core.scss';
1
+ @use '../../styles/core';
2
2
 
3
3
  @layer vui {
4
4
  .v-chip {
@@ -19,16 +19,16 @@
19
19
  font-size: var(--chip-font-size);
20
20
  font-weight: var(--chip-font-weight);
21
21
  line-height: 1;
22
+ vertical-align: bottom;
22
23
  text-align: center;
23
24
  white-space: nowrap;
24
- vertical-align: bottom;
25
25
  cursor: default;
26
26
  border-style: solid;
27
27
  border-width: 1px;
28
28
  border-radius: var(--chip-radius);
29
29
 
30
- --shadow-color: rgba(0, 0, 0, 0) !important; // @TODO layer supports
31
- --focusShadow-color: rgba(0, 0, 0, 0) !important; // @TODO layer supports
30
+ --shadow-color: rgb(0, 0, 0, 0) !important; // @TODO layer supports
31
+ --focusShadow-color: rgb(0, 0, 0, 0) !important; // @TODO layer supports
32
32
  }
33
33
 
34
34
  &--clickable {
@@ -9,7 +9,6 @@ import { VIcon } from '../VIcon';
9
9
  // @TODO Unable to resolve dts for `actionableInheritProps`.
10
10
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
11
  // @ts-ignore
12
- // eslint-disable-next-line import/order
13
12
  import { RouteLocationRaw } from 'vue-router';
14
13
 
15
14
  export const CHIP_SIZES = ['xs', 'sm', 'md', 'lg', 'xl'] as const;
@@ -60,8 +60,8 @@
60
60
  &::after {
61
61
  height: 2px;
62
62
  background: var(--my-focused-color);
63
- transition: transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
64
63
  transform: scaleX(0);
64
+ transition: transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
65
65
  }
66
66
 
67
67
  &--focused,
@@ -63,10 +63,10 @@ export const VControlField = defineComponent({
63
63
  ...slots(),
64
64
  error: Boolean,
65
65
  },
66
- slots,
67
66
  emits: {
68
67
  click: (ev: MouseEvent) => true,
69
68
  },
69
+ slots,
70
70
  setup(props, ctx) {
71
71
  const parentNode = useParentFormNode();
72
72
  const control = useControl(props);
@@ -96,7 +96,6 @@ export const VControlField = defineComponent({
96
96
  },
97
97
  control.classes.value,
98
98
  colorProvider.className(
99
- // eslint-disable-next-line no-nested-ternary
100
99
  props.error
101
100
  ? 'error'
102
101
  : invalid.value && !readonly.value
@@ -118,10 +118,10 @@
118
118
 
119
119
  &__cell {
120
120
  position: relative;
121
+ vertical-align: middle;
121
122
  text-align: left;
122
123
  white-space: nowrap;
123
- vertical-align: middle;
124
- border-bottom: thin solid rgba(0, 0, 0, 0.12);
124
+ border-bottom: thin solid rgb(0, 0, 0, 0.12);
125
125
  transition: background 0.2s;
126
126
 
127
127
  &:first-child {
@@ -180,7 +180,7 @@
180
180
 
181
181
  &__header &__cell {
182
182
  user-select: none;
183
- background: rgba(255, 255, 255, 0.85);
183
+ background: rgb(255, 255, 255, 0.85);
184
184
  backdrop-filter: blur(3px);
185
185
 
186
186
  // &--active[tabindex='0'] {
@@ -213,7 +213,6 @@ export const VDataTable = defineComponent({
213
213
  const footerHeightRef = ref(0);
214
214
  const internalValues = ref<string[]>(props.modelValue.slice());
215
215
  const rowSettings = computed<DataTableRowSettingsFn>(() => {
216
- // eslint-disable-next-line no-shadow
217
216
  const { rowSettings } = props;
218
217
  if (!rowSettings) return () => ({});
219
218
  return typeof rowSettings === 'function'
@@ -689,7 +688,6 @@ export const VDataTable = defineComponent({
689
688
  }
690
689
 
691
690
  if (!cellChildren) {
692
- // eslint-disable-next-line default-case
693
691
  switch (headerKey) {
694
692
  case SELECTABLE_HEADER_SYMBOL: {
695
693
  cellChildren = [
@@ -5,8 +5,8 @@
5
5
  margin: 24px;
6
6
  text-align: left;
7
7
  pointer-events: auto;
8
- border-radius: 2px;
9
8
  outline: 0;
9
+ border-radius: 2px;
10
10
  box-shadow: var(--dialog-shadow);
11
11
 
12
12
  &__header {
@@ -1,4 +1,4 @@
1
- @use '../../styles/core.scss';
1
+ @use '../../styles/core';
2
2
 
3
3
  @layer vui {
4
4
  .v-disabled-reason {
@@ -1,4 +1,9 @@
1
- import { defineComponent, computed } from 'vue';
1
+ import {
2
+ defineComponent,
3
+ computed,
4
+ type RenderFunction,
5
+ getCurrentInstance,
6
+ } from 'vue';
2
7
  import {
3
8
  VueForm,
4
9
  createFormSettings,
@@ -12,6 +17,14 @@ const { props, emits } = createFormSettings({
12
17
  nodeType: VUI_FORM_SYMBOL,
13
18
  });
14
19
 
20
+ /**
21
+ * @TODO Externalize
22
+ */
23
+ function useRender(render: RenderFunction) {
24
+ const vm = getCurrentInstance() as any;
25
+ vm.render = render;
26
+ }
27
+
15
28
  export type VFormSlots = DefineSlotsType<{
16
29
  default?: (form: VueForm) => any;
17
30
  }>;
@@ -31,7 +44,6 @@ export const VForm = defineComponent({
31
44
  props: createVFormProps(),
32
45
  emits,
33
46
  slots: formSlots,
34
- // eslint-disable-next-line no-shadow
35
47
  setup(props, ctx) {
36
48
  const nodeControl = useForm(props, ctx as any, {
37
49
  nodeType: VUI_FORM_SYMBOL,
@@ -49,14 +61,14 @@ export const VForm = defineComponent({
49
61
  ]);
50
62
  useControl(props);
51
63
 
52
- ctx.expose({
53
- control: nodeControl,
54
- });
55
-
56
- return () => (
64
+ useRender(() => (
57
65
  <form class={classes.value} {...nodeControl.formAttrs}>
58
66
  {ctx.slots.default?.(nodeControl)}
59
67
  </form>
60
- );
68
+ ));
69
+
70
+ return {
71
+ control: nodeControl,
72
+ };
61
73
  },
62
74
  });
@@ -39,10 +39,10 @@
39
39
  font-size: 80%;
40
40
  line-height: 1;
41
41
  color: inherit;
42
+ letter-spacing: normal;
42
43
 
43
44
  // color: var(--palette-muted);
44
45
  text-decoration: none;
45
- letter-spacing: normal;
46
46
  cursor: pointer;
47
47
 
48
48
  // &:hover,
@@ -17,7 +17,6 @@ const { props, emits } = createFormNodeWrapperSettings();
17
17
 
18
18
  export function createRequiredChipRenderer(
19
19
  required: () => boolean,
20
- // eslint-disable-next-line no-shadow
21
20
  props: {
22
21
  requiredChip?: RequiredChipSource;
23
22
  },
@@ -55,9 +54,9 @@ export const VFormControl = defineComponent({
55
54
  ...slots(),
56
55
  error: Boolean,
57
56
  },
58
- slots,
59
57
  emits,
60
- // eslint-disable-next-line no-shadow
58
+ slots,
59
+
61
60
  setup(props, ctx) {
62
61
  const vui = useVui();
63
62
  const control = useFormNodeWrapper(props, ctx, {
@@ -70,7 +69,6 @@ export const VFormControl = defineComponent({
70
69
  });
71
70
 
72
71
  const hinttipDelay = computed(() => {
73
- // eslint-disable-next-line no-shadow
74
72
  let { hinttipDelay } = control;
75
73
  if (hinttipDelay == null) {
76
74
  hinttipDelay = vui.setting('hinttipDelay');
@@ -103,7 +101,6 @@ export const VFormControl = defineComponent({
103
101
  'v-form-control--valid': control.valid,
104
102
  },
105
103
  colorProvider.className(
106
- // eslint-disable-next-line no-nested-ternary
107
104
  props.error
108
105
  ? 'error'
109
106
  : control.invalid && !control.isReadonly
@@ -146,7 +143,6 @@ export const VFormControl = defineComponent({
146
143
  activator: (tooltip) => (
147
144
  <a
148
145
  class="v-form-control__label__hinttip"
149
- // eslint-disable-next-line no-script-url
150
146
  href="javascript:void(0)"
151
147
  {...tooltip.attrs}>
152
148
  {hinttip.tip}
@@ -33,7 +33,6 @@ export const VFormGroup = defineComponent({
33
33
  props: createVFormGroupProps(),
34
34
  emits,
35
35
  slots: formGroupSlots,
36
- // eslint-disable-next-line no-shadow
37
36
  setup(props, ctx) {
38
37
  const nodeControl = useFormGroup(props, ctx as any, {
39
38
  nodeType: VUI_FORM_GROUP_SYMBOL,
@@ -14,7 +14,6 @@ export function extractRawGridValueClasses<
14
14
  >(
15
15
  value: NonNullable<RawGridValue<T>>,
16
16
  prefix: string,
17
- // eslint-disable-next-line no-shadow
18
17
  getter?: (value: T) => string,
19
18
  ): string | string[] {
20
19
  if (typeof value !== 'object')
@@ -23,11 +23,11 @@
23
23
  text-decoration: none;
24
24
  appearance: none;
25
25
  user-select: none;
26
+ outline: 0;
26
27
  background: var(--tile-background);
27
28
  border: 0;
28
29
  border-left: 3px solid var(--tile-pin-color);
29
30
  border-radius: 0;
30
- outline: 0;
31
31
  transition:
32
32
  color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
33
33
  background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
@@ -15,7 +15,6 @@ import { useVui } from '../../injections';
15
15
  // @TODO Unable to resolve dts for `actionableInheritProps`.
16
16
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
17
17
  // @ts-ignore
18
- // eslint-disable-next-line import/order
19
18
  import { RouteLocationRaw } from 'vue-router';
20
19
  import { rawIconProp, resolveRawIconProp } from '../VIcon';
21
20
 
@@ -87,7 +86,6 @@ export const VListTile = defineComponent({
87
86
 
88
87
  watch(
89
88
  () => isActive.value,
90
- // eslint-disable-next-line no-shadow
91
89
  (isActive) => {
92
90
  ctx.emit('changeActive', isActive);
93
91
  },
@@ -56,7 +56,6 @@ export const VNavigation = defineComponent({
56
56
  }
57
57
 
58
58
  function onItemActivated(item: NavigationItemInput) {
59
- // eslint-disable-next-line no-shadow
60
59
  itemsRef.value.forEach(({ key, ref }) => {
61
60
  if (key === item.key) return;
62
61
  ref.close();
@@ -72,7 +71,7 @@ export const VNavigation = defineComponent({
72
71
  renderNavigationItemInput(item, {
73
72
  class: 'v-navigation__item',
74
73
  startIconEmptySpace: startIconEmptySpace.value,
75
- // eslint-disable-next-line no-shadow
74
+
76
75
  ref: (ref: any) => {
77
76
  setItemRef(item, ref);
78
77
  },
@@ -16,7 +16,6 @@ import { ScopeName } from '@fastkit/color-scheme';
16
16
  // @TODO Unable to resolve dts for `actionableInheritProps`.
17
17
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
18
18
  // @ts-ignore
19
- // eslint-disable-next-line import/no-duplicates
20
19
  import { useRoute, RouteLocationRaw } from 'vue-router';
21
20
  import { useVui } from '../../injections';
22
21
  import { createListTileProps, listTileEmits, VListTile } from '../VListTile';
@@ -34,7 +33,6 @@ export function createNavigationItemProps() {
34
33
  };
35
34
  }
36
35
 
37
- // eslint-disable-next-line @typescript-eslint/no-empty-interface
38
36
  export interface NavigationItemInput
39
37
  extends ExtractPropInput<ReturnType<typeof createNavigationItemProps>> {
40
38
  key: string | number;
@@ -98,9 +96,8 @@ export const VNavigationItem = defineComponent({
98
96
  const to = computed(() => ctx.attrs.to);
99
97
 
100
98
  const match = computed<string[] | undefined>(() => {
101
- // eslint-disable-next-line no-shadow
102
99
  const { match } = props;
103
- // eslint-disable-next-line no-shadow
100
+
104
101
  const { to } = ctx.attrs;
105
102
  if (match) {
106
103
  return (Array.isArray(match) ? match : [match]).map(trimEndSlash);
@@ -44,7 +44,6 @@ export const VNumberField = defineComponent({
44
44
  });
45
45
 
46
46
  const inputmode = computed<TextFieldInput['inputmode']>(() => {
47
- // eslint-disable-next-line no-shadow
48
47
  const { inputmode } = ctx.attrs as TextFieldInput;
49
48
  if (inputmode) return inputmode;
50
49
  return hasNumberMask.value ? 'decimal' : undefined;
@@ -1,4 +1,4 @@
1
- @use '../../styles/core.scss';
1
+ @use '../../styles/core';
2
2
 
3
3
  @layer vui {
4
4
  .v-option {
@@ -16,7 +16,6 @@ export const VOption = defineComponent({
16
16
  ...createControlProps(),
17
17
  },
18
18
  emits,
19
- // eslint-disable-next-line no-shadow
20
19
  setup(props, ctx) {
21
20
  const nodeControl = useFormSelectorItemControl(props, ctx, {
22
21
  nodeType: VUI_OPTION_SYMBOL,
@@ -1,4 +1,4 @@
1
- @use '../../styles/core.scss';
1
+ @use '../../styles/core';
2
2
 
3
3
  @layer vui {
4
4
  .v-pagination {
@@ -51,7 +51,7 @@
51
51
 
52
52
  &:hover,
53
53
  &:focus {
54
- background: rgba(0, 0, 0, 0.1);
54
+ background: rgb(0, 0, 0, 0.1);
55
55
  }
56
56
 
57
57
  &--active {
@@ -245,7 +245,6 @@ export const VPagination = defineComponent({
245
245
  function genItem(source: ItemSource, index: number) {
246
246
  const { number, page, active, disabled } = createPageInfo(source);
247
247
  const type = number ? 'num' : source;
248
- // eslint-disable-next-line no-shadow
249
248
  const classes = [
250
249
  'v-pagination__item',
251
250
  {
@@ -335,7 +334,7 @@ export const VPagination = defineComponent({
335
334
  const el = elRef.value;
336
335
  if (el) {
337
336
  const style = window.getComputedStyle(el, 'before');
338
- // eslint-disable-next-line no-shadow
337
+
339
338
  const width = style.getPropertyValue('width');
340
339
  const margin = style.getPropertyValue('margin');
341
340
  const size = parseFloat(width) + parseFloat(margin) * 0.5;
@@ -56,8 +56,8 @@
56
56
  width: 50%;
57
57
  height: 50%;
58
58
  background: currentColor;
59
- transition: transform 0.2s;
60
59
  transform: translate(-50%, -50%) scale(0);
60
+ transition: transform 0.2s;
61
61
  }
62
62
  }
63
63
 
@@ -18,7 +18,6 @@ export const VRadio = defineComponent({
18
18
  ...createControlProps(),
19
19
  },
20
20
  emits,
21
- // eslint-disable-next-line no-shadow
22
21
  setup(props, ctx) {
23
22
  const nodeControl = useFormSelectorItemControl(props, ctx, {
24
23
  nodeType: VUI_RADIO_SYMBOL,
@@ -1,4 +1,4 @@
1
- @use '../../styles/core.scss';
1
+ @use '../../styles/core';
2
2
 
3
3
  @layer vui {
4
4
  .v-select {
@@ -57,8 +57,8 @@
57
57
  display: table-cell;
58
58
  overflow: hidden;
59
59
  text-overflow: ellipsis;
60
- white-space: nowrap;
61
60
  vertical-align: middle;
61
+ white-space: nowrap;
62
62
  }
63
63
 
64
64
  .v-select--multiple & {
@@ -83,9 +83,8 @@ export const VSelect = defineComponent({
83
83
  }),
84
84
  closeOnNavigation: Boolean,
85
85
  },
86
- slots,
87
86
  emits,
88
- // eslint-disable-next-line no-shadow
87
+ slots,
89
88
  setup(props, ctx) {
90
89
  const menuRef: Ref<{ menu: MenuAPI } | null> = ref(null);
91
90
  const menuOpened = ref(false);
@@ -249,7 +248,6 @@ export const VSelect = defineComponent({
249
248
  );
250
249
 
251
250
  if (currentEl) {
252
- // eslint-disable-next-line no-shadow
253
251
  const ev = new MouseEvent('click', {
254
252
  view: window,
255
253
  bubbles: true,