vueless 0.0.373 → 0.0.375

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 (42) hide show
  1. package/composables/useUI.js +4 -2
  2. package/package.json +1 -1
  3. package/ui.button-link/storybook/stories.js +3 -3
  4. package/ui.button-link/useAttrs.js +23 -52
  5. package/ui.button-toggle/useAttrs.js +4 -25
  6. package/ui.button-toggle-item/config.js +9 -20
  7. package/ui.button-toggle-item/useAttrs.js +14 -23
  8. package/ui.container-accordion/config.js +1 -3
  9. package/ui.container-accordion/useAttrs.js +10 -21
  10. package/ui.container-card/useAttrs.js +14 -33
  11. package/ui.container-col/useAttrs.js +3 -25
  12. package/ui.container-divider/useAttrs.js +3 -26
  13. package/ui.container-group/useAttrs.js +3 -25
  14. package/ui.container-modal/useAttrs.js +14 -45
  15. package/ui.container-modal-confirm/useAttrs.js +4 -26
  16. package/ui.container-page/useAttrs.js +20 -46
  17. package/ui.container-row/useAttrs.js +4 -25
  18. package/ui.dropdown-badge/useAttrs.js +12 -34
  19. package/ui.dropdown-link/useAttrs.js +12 -34
  20. package/ui.dropdown-list/UDropdownList.vue +13 -17
  21. package/ui.dropdown-list/useAttrs.js +14 -38
  22. package/ui.form-input/useAttrs.js +8 -25
  23. package/ui.form-input-file/useAttrs.js +7 -25
  24. package/ui.form-input-money/useAttrs.js +4 -25
  25. package/ui.form-input-number/useAttrs.js +3 -25
  26. package/ui.form-input-rating/useAttrs.js +3 -25
  27. package/ui.form-input-search/useAttrs.js +4 -25
  28. package/ui.form-label/useAttrs.js +7 -25
  29. package/ui.form-radio/useAttrs.js +9 -27
  30. package/ui.form-radio-group/useAttrs.js +3 -26
  31. package/ui.form-select/USelect.vue +8 -7
  32. package/ui.text-alert/useAttrs.js +3 -26
  33. package/ui.text-badge/useAttrs.js +8 -28
  34. package/ui.text-block/useAttrs.js +3 -25
  35. package/ui.text-empty/useAttrs.js +3 -25
  36. package/ui.text-file/UFile.vue +2 -6
  37. package/ui.text-file/useAttrs.js +4 -27
  38. package/ui.text-files/useAttrs.js +3 -26
  39. package/ui.text-header/useAttrs.js +3 -26
  40. package/ui.text-money/useAttrs.js +3 -26
  41. package/ui.text-notify/useAttrs.js +4 -25
  42. package/web-types.json +2 -8
@@ -1,62 +1,36 @@
1
+ import { computed } from "vue";
1
2
  import useUI from "../composables/useUI.js";
2
- import { cva, cx } from "../utils/utilUI.js";
3
3
  import { isMobileApp } from "../utils/utilPlatform.js";
4
4
 
5
5
  import defaultConfig from "./config.js";
6
- import { computed } from "vue";
7
6
 
8
7
  export default function useAttrs(props, { isMobileBreakpoint }) {
9
- const { config, getAttrs, hasSlotContent, isSystemKey, isCVA } = useUI(
8
+ const { config, getKeysAttrs, hasSlotContent, getExtendingKeysClasses } = useUI(
10
9
  defaultConfig,
11
10
  () => props.config,
12
11
  );
13
- const attrs = {};
14
-
15
- for (const key in defaultConfig) {
16
- if (isSystemKey(key)) continue;
17
-
18
- const classes = computed(() => {
19
- let value = config.value[key];
20
-
21
- if (isCVA(value)) {
22
- value = cva(value)({
23
- ...props,
24
- });
25
- }
26
-
27
- return value;
28
- });
29
-
30
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
31
-
32
- if (key === "wrapper") {
33
- const wrapperAttrs = attrs[`${key}Attrs`];
34
-
35
- attrs[`${key}Attrs`] = computed(() => ({
36
- ...wrapperAttrs.value,
37
- class: cx([
38
- wrapperAttrs.value.class,
39
- isMobileBreakpoint.value && !isMobileApp && config.value.wrapperMobile,
40
- ]),
41
- }));
42
- }
43
-
44
- if (key === "footer") {
45
- const footerAttrs = attrs[`${key}Attrs`];
46
12
 
47
- attrs[`${key}Attrs`] = computed(() => ({
48
- ...footerAttrs.value,
49
- class: cx([
50
- footerAttrs.value.class,
51
- props.mobileFooterReverse && isMobileBreakpoint.value && config.value.footerMobileReverse,
52
- ]),
53
- }));
54
- }
55
- }
13
+ const extendingKeys = ["wrapperMobile", "footerMobileReverse"];
14
+ const extendingKeysClasses = getExtendingKeysClasses(extendingKeys);
15
+
16
+ const keysAttrs = getKeysAttrs({}, extendingKeys, {
17
+ wrapper: {
18
+ extend: computed(() => [
19
+ isMobileBreakpoint.value && !isMobileApp && extendingKeysClasses.wrapperMobile.value,
20
+ ]),
21
+ },
22
+ footer: {
23
+ extend: computed(() => [
24
+ props.mobileFooterReverse &&
25
+ isMobileBreakpoint.value &&
26
+ extendingKeysClasses.footerMobileReverse.value,
27
+ ]),
28
+ },
29
+ });
56
30
 
57
31
  return {
58
- ...attrs,
59
32
  config,
33
+ ...keysAttrs,
60
34
  hasSlotContent,
61
35
  };
62
36
  }
@@ -1,36 +1,15 @@
1
1
  import useUI from "../composables/useUI.js";
2
+
2
3
  import defaultConfig from "./config.js";
3
- import { cva } from "../utils/utilUI.js";
4
- import { computed } from "vue";
5
4
 
6
5
  export default function useAttrs(props) {
7
- const { config, getAttrs, isSystemKey, hasSlotContent, isCVA } = useUI(
8
- defaultConfig,
9
- () => props.config,
10
- );
11
- const attrs = {};
12
-
13
- for (const key in defaultConfig) {
14
- if (isSystemKey(key)) continue;
15
-
16
- const classes = computed(() => {
17
- let value = config.value[key];
18
-
19
- if (isCVA(value)) {
20
- value = cva(value)({
21
- ...props,
22
- });
23
- }
24
-
25
- return value;
26
- });
6
+ const { config, getKeysAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
27
7
 
28
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
29
- }
8
+ const keysAttrs = getKeysAttrs();
30
9
 
31
10
  return {
32
- ...attrs,
33
11
  config,
12
+ ...keysAttrs,
34
13
  hasSlotContent,
35
14
  };
36
15
  }
@@ -1,50 +1,28 @@
1
+ import { computed } from "vue";
1
2
  import useUI from "../composables/useUI.js";
2
- import { cva, cx } from "../utils/utilUI.js";
3
3
 
4
4
  import defaultConfig from "./config.js";
5
- import { computed } from "vue";
6
5
 
7
6
  export default function useAttrs(props, { isShownOptions }) {
8
- const { config, getColor, setColor, getAttrs, hasSlotContent, isSystemKey, isCVA } = useUI(
7
+ const { config, getKeysAttrs, hasSlotContent, getExtendingKeysClasses } = useUI(
9
8
  defaultConfig,
10
9
  () => props.config,
11
10
  );
12
- const attrs = {};
13
-
14
- for (const key in defaultConfig) {
15
- if (isSystemKey(key)) continue;
16
-
17
- const classes = computed(() => {
18
- let value = config.value[key];
19
-
20
- if (isCVA(value)) {
21
- value = cva(value)({
22
- ...props,
23
- color: getColor(props.color),
24
- });
25
- }
26
-
27
- return setColor(value, props.color);
28
- });
29
-
30
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
31
11
 
32
- if (key === "dropdownBadge") {
33
- const badgeAttrs = attrs[`${key}Attrs`];
12
+ const extendingKeys = ["dropdownBadgeActive"];
13
+ const extendingKeysClasses = getExtendingKeysClasses(extendingKeys);
34
14
 
35
- attrs[`${key}Attrs`] = computed(() => ({
36
- ...badgeAttrs.value,
37
- class: cx([
38
- badgeAttrs.value.class,
39
- isShownOptions.value && setColor(config.value.dropdownBadgeActive, props.color),
40
- ]),
41
- }));
42
- }
43
- }
15
+ const keysAttrs = getKeysAttrs({}, extendingKeys, {
16
+ dropdownBadge: {
17
+ extend: computed(() => [
18
+ isShownOptions.value && extendingKeysClasses.dropdownBadgeActive.value,
19
+ ]),
20
+ },
21
+ });
44
22
 
45
23
  return {
46
- ...attrs,
47
24
  config,
25
+ ...keysAttrs,
48
26
  hasSlotContent,
49
27
  };
50
28
  }
@@ -1,50 +1,28 @@
1
+ import { computed } from "vue";
1
2
  import useUI from "../composables/useUI.js";
2
- import { cva, cx } from "../utils/utilUI.js";
3
3
 
4
4
  import defaultConfig from "./config.js";
5
- import { computed } from "vue";
6
5
 
7
6
  export default function useAttrs(props, { isShownOptions }) {
8
- const { config, getColor, setColor, getAttrs, hasSlotContent, isSystemKey, isCVA } = useUI(
7
+ const { config, getKeysAttrs, hasSlotContent, getExtendingKeysClasses } = useUI(
9
8
  defaultConfig,
10
9
  () => props.config,
11
10
  );
12
- const attrs = {};
13
-
14
- for (const key in defaultConfig) {
15
- if (isSystemKey(key)) continue;
16
-
17
- const classes = computed(() => {
18
- let value = config.value[key];
19
-
20
- if (isCVA(value)) {
21
- value = cva(value)({
22
- ...props,
23
- color: getColor(props.color),
24
- });
25
- }
26
-
27
- return setColor(value, props.color);
28
- });
29
-
30
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
31
11
 
32
- if (key === "dropdownLink") {
33
- const linkAttrs = attrs[`${key}Attrs`];
12
+ const extendingKeys = ["dropdownLinkActive"];
13
+ const extendingKeysClasses = getExtendingKeysClasses(extendingKeys);
34
14
 
35
- attrs[`${key}Attrs`] = computed(() => ({
36
- ...linkAttrs.value,
37
- class: cx([
38
- linkAttrs.value.class,
39
- isShownOptions.value && setColor(config.value.dropdownLinkActive, props.color),
40
- ]),
41
- }));
42
- }
43
- }
15
+ const keysAttrs = getKeysAttrs({}, extendingKeys, {
16
+ dropdownLink: {
17
+ extend: computed(() => [
18
+ isShownOptions.value && extendingKeysClasses.dropdownLinkActive.value,
19
+ ]),
20
+ },
21
+ });
44
22
 
45
23
  return {
46
- ...attrs,
47
24
  config,
25
+ ...keysAttrs,
48
26
  hasSlotContent,
49
27
  };
50
28
  }
@@ -34,10 +34,10 @@
34
34
  <slot name="before-option" :option="option" :index="index" />
35
35
 
36
36
  <!--
37
- @slot Use it to add something instead of the option.
38
- @binding {object} option
39
- @binding {number} index
40
- -->
37
+ @slot Use it to add something instead of the option.
38
+ @binding {object} option
39
+ @binding {number} index
40
+ -->
41
41
  <slot name="option" :option="option" :index="index">
42
42
  <span
43
43
  :style="getMarginForSubCategory(option.level)"
@@ -47,10 +47,10 @@
47
47
  </slot>
48
48
 
49
49
  <!--
50
- @slot Use it to add something after the option.
51
- @binding {object} option
52
- @binding {number} index
53
- -->
50
+ @slot Use it to add something after the option.
51
+ @binding {object} option
52
+ @binding {number} index
53
+ -->
54
54
  <slot name="after-option" :option="option" :index="index" />
55
55
  </span>
56
56
 
@@ -67,15 +67,12 @@
67
67
  </template>
68
68
  </li>
69
69
 
70
- <!--
71
- @slot Use it to add something instead of empty state.
72
- @binding {string} emptyStyles
73
- -->
74
- <slot name="empty" :empty-styles="optionClasses">
75
- <span v-if="!options.length" v-bind="optionAttrs">
70
+ <div v-if="!options.length" v-bind="optionAttrs">
71
+ <!-- @slot Use it to add something instead of empty state. -->
72
+ <slot name="empty">
76
73
  <span v-bind="optionContentAttrs" v-text="currentLocale.noDataToShow" />
77
- </span>
78
- </slot>
74
+ </slot>
75
+ </div>
79
76
 
80
77
  <!-- Add button -->
81
78
  <template v-if="addOption">
@@ -229,7 +226,6 @@ const {
229
226
  optionAttrs,
230
227
  subGroupAttrs,
231
228
  groupAttrs,
232
- optionClasses,
233
229
  optionContentAttrs,
234
230
  } = useAttrs(props);
235
231
 
@@ -1,53 +1,29 @@
1
+ import { computed } from "vue";
1
2
  import useUI from "../composables/useUI.js";
2
- import { cva, cx } from "../utils/utilUI.js";
3
3
 
4
4
  import defaultConfig from "./config.js";
5
- import { computed } from "vue";
6
5
 
7
6
  export default function useAttrs(props) {
8
- const { config, getAttrs, hasSlotContent, isSystemKey, isCVA } = useUI(
7
+ const { config, getKeysAttrs, hasSlotContent, getExtendingKeysClasses } = useUI(
9
8
  defaultConfig,
10
9
  () => props.config,
11
10
  );
12
- const attrs = {};
13
-
14
- const optionClasses = computed(() =>
15
- cva(config.value.option)({
16
- ...props,
17
- }),
18
- );
19
-
20
- for (const key in defaultConfig) {
21
- if (isSystemKey(key)) continue;
22
-
23
- const classes = computed(() => {
24
- let value = config.value[key];
25
11
 
26
- if (isCVA(value)) {
27
- value = cva(value)({
28
- ...props,
29
- });
30
- }
12
+ const extendingKeys = ["option"];
13
+ const extendingKeysClasses = getExtendingKeysClasses(extendingKeys);
31
14
 
32
- return value;
33
- });
34
-
35
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
36
-
37
- if (key === "group" || key === "subGroup") {
38
- const keyAttrs = attrs[`${key}Attrs`];
39
-
40
- attrs[`${key}Attrs`] = computed(() => ({
41
- ...keyAttrs.value,
42
- class: cx([optionClasses.value, keyAttrs.value.class]),
43
- }));
44
- }
45
- }
15
+ const keysAttrs = getKeysAttrs({}, [], {
16
+ group: {
17
+ base: computed(() => [extendingKeysClasses.option.value]),
18
+ },
19
+ subGroup: {
20
+ base: computed(() => [extendingKeysClasses.option.value]),
21
+ },
22
+ });
46
23
 
47
24
  return {
48
- ...attrs,
49
- optionClasses,
50
- hasSlotContent,
51
25
  config,
26
+ ...keysAttrs,
27
+ hasSlotContent,
52
28
  };
53
29
  }
@@ -1,38 +1,21 @@
1
1
  import { computed } from "vue";
2
2
  import useUI from "../composables/useUI.js";
3
- import { cva } from "../utils/utilUI.js";
3
+
4
4
  import defaultConfig from "./config.js";
5
5
 
6
6
  export default function useAttrs(props) {
7
- const { config, getAttrs, hasSlotContent, isSystemKey, isCVA } = useUI(
8
- defaultConfig,
9
- () => props.config,
10
- );
11
- const attrs = {};
12
-
13
- for (const key in defaultConfig) {
14
- if (isSystemKey(key)) continue;
15
-
16
- const classes = computed(() => {
17
- let value = config.value[key];
18
-
19
- if (isCVA(value)) {
20
- value = cva(value)({
21
- ...props,
22
- error: Boolean(props.error),
23
- label: Boolean(props.label),
24
- });
25
- }
7
+ const { config, getKeysAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
26
8
 
27
- return value;
28
- });
9
+ const mutatedProps = computed(() => ({
10
+ error: Boolean(props.error),
11
+ label: Boolean(props.label),
12
+ }));
29
13
 
30
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
31
- }
14
+ const keysAttrs = getKeysAttrs(mutatedProps);
32
15
 
33
16
  return {
34
- ...attrs,
35
17
  config,
18
+ ...keysAttrs,
36
19
  hasSlotContent,
37
20
  };
38
21
  }
@@ -1,39 +1,21 @@
1
1
  import { computed } from "vue";
2
2
  import useUI from "../composables/useUI.js";
3
- import { cva } from "../utils/utilUI.js";
4
3
 
5
4
  import defaultConfig from "./config.js";
6
5
 
7
6
  export default function useAttrs(props) {
8
- const { config, getAttrs, isSystemKey, hasSlotContent, isCVA } = useUI(
9
- defaultConfig,
10
- () => props.config,
11
- );
12
- const attrs = {};
7
+ const { config, getKeysAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
13
8
 
14
- for (const key in defaultConfig) {
15
- if (isSystemKey(key)) continue;
9
+ const mutatedProps = computed(() => ({
10
+ error: Boolean(props.error),
11
+ label: Boolean(props.label),
12
+ }));
16
13
 
17
- const classes = computed(() => {
18
- let value = config.value[key];
19
-
20
- if (isCVA(value)) {
21
- value = cva(value)({
22
- ...props,
23
- error: Boolean(props.error),
24
- label: Boolean(props.label),
25
- });
26
- }
27
-
28
- return value;
29
- });
30
-
31
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
32
- }
14
+ const keysAttrs = getKeysAttrs(mutatedProps);
33
15
 
34
16
  return {
35
- ...attrs,
36
17
  config,
18
+ ...keysAttrs,
37
19
  hasSlotContent,
38
20
  };
39
21
  }
@@ -1,36 +1,15 @@
1
1
  import useUI from "../composables/useUI.js";
2
- import { computed } from "vue";
3
- import { cva } from "../utils/utilUI.js";
2
+
4
3
  import defaultConfig from "./config.js";
5
4
 
6
5
  export default function useAttrs(props) {
7
- const { config, getAttrs, isSystemKey, hasSlotContent, isCVA } = useUI(
8
- defaultConfig,
9
- () => props.config,
10
- );
11
- const attrs = {};
12
-
13
- for (const key in defaultConfig) {
14
- if (isSystemKey(key)) continue;
15
-
16
- const classes = computed(() => {
17
- let value = config.value[key];
18
-
19
- if (isCVA(value)) {
20
- value = cva(value)({
21
- ...props,
22
- });
23
- }
24
-
25
- return value;
26
- });
6
+ const { config, getKeysAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
27
7
 
28
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
29
- }
8
+ const keysAttrs = getKeysAttrs();
30
9
 
31
10
  return {
32
- ...attrs,
33
11
  config,
12
+ ...keysAttrs,
34
13
  hasSlotContent,
35
14
  };
36
15
  }
@@ -1,37 +1,15 @@
1
1
  import useUI from "../composables/useUI.js";
2
- import { cva } from "../utils/utilUI.js";
3
2
 
4
3
  import defaultConfig from "./config.js";
5
- import { computed } from "vue";
6
4
 
7
5
  export default function useAttrs(props) {
8
- const { config, getAttrs, isSystemKey, hasSlotContent, isCVA } = useUI(
9
- defaultConfig,
10
- () => props.config,
11
- );
12
- const attrs = {};
6
+ const { config, getKeysAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
13
7
 
14
- for (const key in defaultConfig) {
15
- if (isSystemKey(key)) continue;
16
-
17
- const classes = computed(() => {
18
- let value = config.value[key];
19
-
20
- if (isCVA(value)) {
21
- value = cva(value)({
22
- ...props,
23
- });
24
- }
25
-
26
- return value;
27
- });
28
-
29
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
30
- }
8
+ const keysAttrs = getKeysAttrs();
31
9
 
32
10
  return {
33
- ...attrs,
34
11
  config,
12
+ ...keysAttrs,
35
13
  hasSlotContent,
36
14
  };
37
15
  }
@@ -1,36 +1,14 @@
1
- import { computed } from "vue";
2
1
  import useUI from "../composables/useUI.js";
3
- import { cva } from "../utils/utilUI.js";
4
2
  import defaultConfig from "./config.js";
5
3
 
6
4
  export default function useAttrs(props) {
7
- const { config, getAttrs, hasSlotContent, isSystemKey, isCVA } = useUI(
8
- defaultConfig,
9
- () => props.config,
10
- );
11
- const attrs = {};
5
+ const { config, getKeysAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
12
6
 
13
- for (const key in defaultConfig) {
14
- if (isSystemKey(key)) continue;
15
-
16
- const classes = computed(() => {
17
- let value = config.value[key];
18
-
19
- if (isCVA(value)) {
20
- value = cva(value)({
21
- ...props,
22
- });
23
- }
24
-
25
- return value;
26
- });
27
-
28
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
29
- }
7
+ const keysAttrs = getKeysAttrs();
30
8
 
31
9
  return {
32
- ...attrs,
33
10
  config,
11
+ ...keysAttrs,
34
12
  hasSlotContent,
35
13
  };
36
14
  }
@@ -1,36 +1,15 @@
1
- import { computed } from "vue";
2
1
  import useUI from "../composables/useUI.js";
3
- import { cva } from "../utils/utilUI.js";
2
+
4
3
  import defaultConfig from "./config.js";
5
4
 
6
5
  export default function useAttrs(props) {
7
- const { config, getAttrs, hasSlotContent, isSystemKey, isCVA } = useUI(
8
- defaultConfig,
9
- () => props.config,
10
- );
11
- const attrs = {};
12
-
13
- for (const key in defaultConfig) {
14
- if (isSystemKey(key)) continue;
15
-
16
- const classes = computed(() => {
17
- let value = config.value[key];
18
-
19
- if (isCVA(value)) {
20
- value = cva(value)({
21
- ...props,
22
- });
23
- }
24
-
25
- return value;
26
- });
6
+ const { config, getKeysAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
27
7
 
28
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
29
- }
8
+ const keysAttrs = getKeysAttrs();
30
9
 
31
10
  return {
32
- ...attrs,
33
11
  config,
12
+ ...keysAttrs,
34
13
  hasSlotContent,
35
14
  };
36
15
  }
@@ -1,38 +1,20 @@
1
+ import { computed } from "vue";
1
2
  import useUI from "../composables/useUI.js";
2
- import { cva } from "../utils/utilUI.js";
3
3
 
4
4
  import defaultConfig from "./config.js";
5
- import { computed } from "vue";
6
5
 
7
6
  export default function useAttrs(props) {
8
- const { config, getAttrs, hasSlotContent, isSystemKey, isCVA } = useUI(
9
- defaultConfig,
10
- () => props.config,
11
- );
12
- const attrs = {};
13
-
14
- for (const key in defaultConfig) {
15
- if (isSystemKey(key)) continue;
16
-
17
- const classes = computed(() => {
18
- let value = config.value[key];
19
-
20
- if (isCVA(value)) {
21
- value = cva(value)({
22
- ...props,
23
- error: Boolean(props.error),
24
- });
25
- }
7
+ const { config, getKeysAttrs, hasSlotContent } = useUI(defaultConfig, () => props.config);
26
8
 
27
- return value;
28
- });
9
+ const mutatedProps = computed(() => ({
10
+ error: Boolean(props.error),
11
+ }));
29
12
 
30
- attrs[`${key}Attrs`] = getAttrs(key, { classes });
31
- }
13
+ const keysAttrs = getKeysAttrs(mutatedProps);
32
14
 
33
15
  return {
34
- ...attrs,
35
16
  config,
17
+ ...keysAttrs,
36
18
  hasSlotContent,
37
19
  };
38
20
  }