vueless 0.0.287 → 0.0.288

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 (79) hide show
  1. package/composable.ui/index.js +3 -2
  2. package/constants/index.js +2 -1
  3. package/directive.tooltip/index.js +1 -2
  4. package/package.json +3 -3
  5. package/service.ui/index.js +3 -6
  6. package/ui.button/configs/default.config.js +1 -1
  7. package/ui.button/index.vue +1 -1
  8. package/ui.button-link/composables/attrs.composable.js +18 -28
  9. package/ui.button-link/configs/default.config.js +8 -6
  10. package/ui.button-link/index.stories.js +20 -1
  11. package/ui.button-link/index.vue +19 -24
  12. package/ui.button-toggle/configs/default.config.js +1 -1
  13. package/ui.button-toggle-item/configs/default.config.js +1 -1
  14. package/ui.container-accordion/configs/default.config.js +1 -1
  15. package/ui.container-card/configs/default.config.js +1 -1
  16. package/ui.container-card/index.stories.js +2 -2
  17. package/ui.container-col/configs/default.config.js +1 -1
  18. package/ui.container-divider/configs/default.config.js +1 -1
  19. package/ui.container-group/configs/default.config.js +1 -1
  20. package/ui.container-modal/configs/default.config.js +1 -1
  21. package/ui.container-modal/index.vue +1 -1
  22. package/ui.container-modal-confirm/configs/default.config.js +1 -1
  23. package/ui.container-page/configs/default.config.js +2 -2
  24. package/ui.container-page/index.stories.js +2 -2
  25. package/ui.container-page/index.vue +22 -11
  26. package/ui.container-row/configs/default.config.js +1 -1
  27. package/ui.data-list/configs/default.config.js +1 -1
  28. package/ui.data-table/configs/default.config.js +1 -1
  29. package/ui.data-table/index.stories.js +1 -1
  30. package/ui.dropdown-badge/configs/default.config.js +1 -1
  31. package/ui.dropdown-button/configs/default.config.js +1 -1
  32. package/ui.dropdown-link/configs/default.config.js +1 -1
  33. package/ui.dropdown-list/configs/default.config.js +1 -1
  34. package/ui.form-calendar/configs/default.config.js +1 -1
  35. package/ui.form-checkbox/configs/default.config.js +1 -1
  36. package/ui.form-checkbox-group/configs/default.config.js +1 -1
  37. package/ui.form-checkbox-multi-state/configs/default.config.js +1 -1
  38. package/ui.form-color-picker/configs/default.config.js +1 -1
  39. package/ui.form-date-picker/configs/default.config.js +1 -1
  40. package/ui.form-date-picker-range/configs/default.config.js +1 -1
  41. package/ui.form-input/configs/default.config.js +1 -1
  42. package/ui.form-input-file/configs/default.config.js +2 -2
  43. package/ui.form-input-file/index.vue +14 -13
  44. package/ui.form-input-money/configs/default.config.js +1 -1
  45. package/ui.form-input-number/configs/default.config.js +1 -1
  46. package/ui.form-input-rating/configs/default.config.js +1 -1
  47. package/ui.form-input-search/configs/default.config.js +1 -1
  48. package/ui.form-label/configs/default.config.js +1 -1
  49. package/ui.form-radio/configs/default.config.js +1 -1
  50. package/ui.form-radio-group/configs/default.config.js +1 -1
  51. package/ui.form-select/configs/default.config.js +1 -1
  52. package/ui.form-switch/configs/default.config.js +1 -1
  53. package/ui.form-textarea/configs/default.config.js +1 -1
  54. package/ui.image-avatar/configs/default.config.js +1 -1
  55. package/ui.image-icon/configs/default.config.js +4 -48
  56. package/ui.image-icon/index.stories.js +0 -3
  57. package/ui.image-icon/index.vue +13 -42
  58. package/ui.loader/configs/default.config.js +1 -1
  59. package/ui.loader-rendering/configs/default.config.js +1 -1
  60. package/ui.loader-top/configs/default.config.js +1 -1
  61. package/ui.navigation-pagination/configs/default.config.js +1 -1
  62. package/ui.navigation-progress/configs/default.config.js +1 -1
  63. package/ui.navigation-tab/configs/default.config.js +1 -1
  64. package/ui.navigation-tabs/configs/default.config.js +1 -1
  65. package/ui.other-dot/configs/default.config.js +1 -1
  66. package/ui.text-alert/configs/default.config.js +1 -1
  67. package/ui.text-badge/configs/default.config.js +1 -1
  68. package/ui.text-block/configs/default.config.js +1 -1
  69. package/ui.text-empty/configs/default.config.js +14 -4
  70. package/ui.text-empty/index.stories.js +0 -1
  71. package/ui.text-empty/index.vue +19 -10
  72. package/ui.text-file/configs/default.config.js +2 -2
  73. package/ui.text-file/index.vue +1 -1
  74. package/ui.text-files/configs/default.config.js +1 -1
  75. package/ui.text-header/configs/default.config.js +1 -1
  76. package/ui.text-money/configs/default.config.js +1 -1
  77. package/ui.text-notify/configs/default.config.js +1 -1
  78. package/ui.text-notify/index.vue +2 -2
  79. package/web-types.json +16 -24
@@ -123,7 +123,7 @@ export default /*tw*/ {
123
123
  timeLabel: "Time",
124
124
  okLabel: "Ok",
125
125
  },
126
- defaultVariants: {
126
+ defaults: {
127
127
  userFormat: "F j, Y",
128
128
  range: false,
129
129
  timepicker: false,
@@ -43,7 +43,7 @@ export default /*tw*/ {
43
43
  icon: "{UIcon}",
44
44
  partialIconName: "remove",
45
45
  selectedIconName: "check",
46
- defaultVariants: {
46
+ defaults: {
47
47
  color: "brand",
48
48
  size: "md",
49
49
  labelAlign: "right",
@@ -11,7 +11,7 @@ export default /*tw*/ {
11
11
  },
12
12
  },
13
13
  },
14
- defaultVariants: {
14
+ defaults: {
15
15
  color: "brand",
16
16
  size: "md",
17
17
  disabled: false,
@@ -1,6 +1,6 @@
1
1
  export default /*tw*/ {
2
2
  checkbox: "{UCheckbox}",
3
- defaultVariants: {
3
+ defaults: {
4
4
  color: "brand",
5
5
  size: "md",
6
6
  placement: "left",
@@ -24,7 +24,7 @@ export default /*tw*/ {
24
24
  disabled:border-{color}-400 disabled:bg-{color}-400
25
25
  `,
26
26
  },
27
- defaultVariants: {
27
+ defaults: {
28
28
  size: "md",
29
29
  name: "colorPicker",
30
30
  disabled: false,
@@ -107,7 +107,7 @@ export default /*tw*/ {
107
107
  timeLabel: "Time",
108
108
  okLabel: "Ok",
109
109
  },
110
- defaultVariants: {
110
+ defaults: {
111
111
  userFormat: "F j, Y",
112
112
  size: "md",
113
113
  openDirectionX: "auto",
@@ -155,7 +155,7 @@ export default /*tw*/ {
155
155
  },
156
156
  },
157
157
  },
158
- defaultVariants: {
158
+ defaults: {
159
159
  size: "md",
160
160
  variant: "button",
161
161
  openDirectionX: "auto",
@@ -54,7 +54,7 @@ export default /*tw*/ {
54
54
  { labelAlign: "topInside", label: true, size: "lg", class: "pt-7" },
55
55
  ],
56
56
  },
57
- defaultVariants: {
57
+ defaults: {
58
58
  size: "md",
59
59
  type: "text",
60
60
  inputmode: "text",
@@ -56,7 +56,7 @@ export default /*tw*/ {
56
56
  chooseFileIconName: "attach_file",
57
57
  clearButton: "{UButton}",
58
58
  clearIconName: "close",
59
- removeItemIcon: "{UIcon} ml-2",
59
+ removeItemButton: "{UButton} ml-2",
60
60
  removeItemIconName: "close",
61
61
  dropzoneWrapperHover: "border-gray-400 border-dashed",
62
62
  dropzoneWrapperError: "hover:border-red-400 border-dashed border-red-300",
@@ -69,7 +69,7 @@ export default /*tw*/ {
69
69
  noFile: "No file selected",
70
70
  uploadFile: "Choose file",
71
71
  },
72
- defaultVariants: {
72
+ defaults: {
73
73
  size: "md",
74
74
  labelAlign: "topInside",
75
75
  allowedFileTypes: [],
@@ -23,16 +23,18 @@
23
23
 
24
24
  <UFiles :size="size" v-bind="fileListAttrs" :file-list="fileList">
25
25
  <template #right="{ file }">
26
- <UIcon
26
+ <UButton
27
27
  v-if="props.multiple && !disabled"
28
28
  round
29
- internal
30
- interactive
31
- color="brand"
32
- :size="removeItemIconSize"
33
- :name="config.removeItemIconName"
29
+ filled
30
+ square
31
+ no-ring
32
+ variant="thirdary"
33
+ :size="removeItemButtonSize"
34
+ :left-icon="config.removeItemIconName"
35
+ :disabled="disabled"
36
+ v-bind="removeItemButtonAttrs"
34
37
  :data-test="`${dataTest}-remove-item`"
35
- v-bind="removeItemIconAttrs"
36
38
  @click.stop.prevent="onClickRemoveItem(file.id)"
37
39
  />
38
40
  </template>
@@ -95,7 +97,6 @@ import { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from "vue"
95
97
  import { merge } from "lodash-es";
96
98
 
97
99
  import UText from "../ui.text-block";
98
- import UIcon from "../ui.image-icon";
99
100
  import ULabel from "../ui.form-label";
100
101
  import UButton from "../ui.button";
101
102
  import UFiles from "../ui.text-files";
@@ -249,7 +250,7 @@ const {
249
250
  inputAttrs,
250
251
  fileListAttrs,
251
252
  buttonWrapperAttrs,
252
- removeItemIconAttrs,
253
+ removeItemButtonAttrs,
253
254
  hasSlotContent,
254
255
  } = useAttrs(props);
255
256
 
@@ -297,11 +298,11 @@ const fileList = computed(() => {
297
298
  return currentFiles.value ? [currentFiles.value] : [];
298
299
  });
299
300
 
300
- const removeItemIconSize = computed(() => {
301
+ const removeItemButtonSize = computed(() => {
301
302
  const sizes = {
302
- sm: "4xs",
303
- md: "3xs",
304
- lg: "2xs",
303
+ sm: "2xs",
304
+ md: "xs",
305
+ lg: "sm",
305
306
  };
306
307
 
307
308
  return sizes[props.size];
@@ -1,6 +1,6 @@
1
1
  export default /*tw*/ {
2
2
  input: "{UInput}",
3
- defaultVariants: {
3
+ defaults: {
4
4
  symbol: "$",
5
5
  size: "md",
6
6
  decimalScale: 2,
@@ -27,7 +27,7 @@ export default /*tw*/ {
27
27
  },
28
28
  },
29
29
  },
30
- defaultVariants: {
30
+ defaults: {
31
31
  size: "md",
32
32
  },
33
33
  };
@@ -32,7 +32,7 @@ export default /*tw*/ {
32
32
  },
33
33
  },
34
34
  },
35
- defaultVariants: {
35
+ defaults: {
36
36
  labelAlign: "top",
37
37
  size: "md",
38
38
  stars: 5,
@@ -5,7 +5,7 @@ export default /*tw*/ {
5
5
  searchIcon: "{UIcon}",
6
6
  searchIconName: "search",
7
7
  button: "{UButton} rounded-l-none ml-1 outline outline-1 outline-gray-900",
8
- defaultVariants: {
8
+ defaults: {
9
9
  size: "md",
10
10
  labelAlign: "topInside",
11
11
  debounce: 300,
@@ -97,7 +97,7 @@ export default /*tw*/ {
97
97
  { align: "topInside", size: "lg", class: "mt-2.5" },
98
98
  ],
99
99
  },
100
- defaultVariants: {
100
+ defaults: {
101
101
  align: "top",
102
102
  size: "md",
103
103
  error: false,
@@ -19,7 +19,7 @@ export default /*tw*/ {
19
19
  },
20
20
  },
21
21
  },
22
- defaultVariants: {
22
+ defaults: {
23
23
  color: "brand",
24
24
  labelAlign: "right",
25
25
  size: "md",
@@ -11,7 +11,7 @@ export default /*tw*/ {
11
11
  },
12
12
  },
13
13
  },
14
- defaultVariants: {
14
+ defaults: {
15
15
  color: "brand",
16
16
  size: "md",
17
17
  disabled: false,
@@ -117,7 +117,7 @@ export default /*tw*/ {
117
117
  clear: "clear",
118
118
  addMore: "Add more...",
119
119
  },
120
- defaultVariants: {
120
+ defaults: {
121
121
  size: "md",
122
122
  labelAlign: "topInside",
123
123
  openDirection: "auto",
@@ -58,7 +58,7 @@ export default /*tw*/ {
58
58
  inactive: "Off",
59
59
  active: "On",
60
60
  },
61
- defaultVariants: {
61
+ defaults: {
62
62
  color: "brand",
63
63
  size: "md",
64
64
  labelAlign: "right",
@@ -40,7 +40,7 @@ export default /*tw*/ {
40
40
  },
41
41
  },
42
42
  },
43
- defaultVariants: {
43
+ defaults: {
44
44
  rows: "3",
45
45
  size: "md",
46
46
  type: "text",
@@ -34,7 +34,7 @@ export default /*tw*/ {
34
34
  },
35
35
  },
36
36
  icon: "{UIcon}",
37
- defaultVariants: {
37
+ defaults: {
38
38
  color: "grayscale",
39
39
  rounded: "md",
40
40
  size: "md",
@@ -1,45 +1,7 @@
1
1
  export default /*tw*/ {
2
- wrapper: {
3
- base: "flex w-fit",
4
- variants: {
5
- round: {
6
- true: "rounded-full bg-{color}-600/5",
7
- },
8
- },
9
- compoundVariants: [
10
- { round: true, size: "4xs", class: "p-0.5" },
11
- { round: true, size: "3xs", class: "p-1" },
12
- { round: true, size: "2xs", class: "p-1" },
13
- { round: true, size: "xs", class: "p-2" },
14
- { round: true, size: "sm", class: "p-2" },
15
- { round: true, size: "md", class: "p-3" },
16
- { round: true, size: "lg", class: "p-3" },
17
- { round: true, size: "xl", class: "p-4" },
18
- { round: true, size: "2xl", class: "p-4" },
19
- { round: true, size: "3xl", class: "p-4" },
20
- { round: true, size: "4xl", class: "p-5" },
21
- { round: true, size: "5xl", class: "p-5" },
22
- { round: true, color: "white", class: "bg-white/5" },
23
- { round: true, color: "grayscale", class: "bg-gray-700/5" },
24
- ],
25
- },
26
- container: {
27
- base: "fill-current outline-0",
2
+ icon: {
3
+ base: "flex w-fit fill-current outline-0",
28
4
  variants: {
29
- size: {
30
- "4xs": "size-2.5",
31
- "3xs": "size-3",
32
- "2xs": "size-3.5",
33
- xs: "size-4",
34
- sm: "size-5",
35
- md: "size-6",
36
- lg: "size-8",
37
- xl: "size-10",
38
- "2xl": "size-12",
39
- "3xl": "size-14",
40
- "4xl": "size-16",
41
- "5xl": "size-20",
42
- },
43
5
  variant: {
44
6
  light: "text-{color}-400",
45
7
  default: "text-{color}-600",
@@ -50,12 +12,8 @@ export default /*tw*/ {
50
12
  grayscale: "text-gray-900",
51
13
  },
52
14
  interactive: {
53
- true: "cursor-pointer hover:opacity-50 active:opacity-50",
15
+ true: "cursor-pointer",
54
16
  },
55
- },
56
- },
57
- icon: {
58
- variants: {
59
17
  size: {
60
18
  "4xs": "size-2.5",
61
19
  "3xs": "size-3",
@@ -72,7 +30,7 @@ export default /*tw*/ {
72
30
  },
73
31
  },
74
32
  },
75
- defaultVariants: {
33
+ defaults: {
76
34
  name: "",
77
35
  library: "@material-symbols",
78
36
  weight: 500,
@@ -81,10 +39,8 @@ export default /*tw*/ {
81
39
  size: "md",
82
40
  variant: "default",
83
41
  interactive: false,
84
- round: false,
85
42
  },
86
43
  safelist: (colors) => [
87
- { pattern: `bg-(${colors})-600` },
88
44
  { pattern: `text-(${colors})-400` },
89
45
  { pattern: `text-(${colors})-600` },
90
46
  { pattern: `text-(${colors})-800` },
@@ -69,6 +69,3 @@ tooltip.args = { tooltip: "Some text" };
69
69
 
70
70
  export const interactive = DefaultTemplate.bind({});
71
71
  interactive.args = { interactive: true };
72
-
73
- export const round = EnumVariantTemplate.bind({});
74
- round.args = { enum: "color", round: true };
@@ -1,16 +1,11 @@
1
1
  <template>
2
- <div
2
+ <component
3
+ :is="dynamicComponent"
3
4
  v-tooltip="tooltipConfig"
5
+ v-bind="iconAttrs"
4
6
  :data-test="dataTest"
5
- v-bind="wrapperAttrs"
6
- @focus="onFocus"
7
- @blur="onBlur"
8
7
  @click="onClick"
9
- >
10
- <div v-bind="containerAttrs">
11
- <component :is="dynamicComponent" v-bind="iconAttrs" />
12
- </div>
13
- </div>
8
+ />
14
9
  </template>
15
10
 
16
11
  <script setup>
@@ -64,14 +59,6 @@ const props = defineProps({
64
59
  default: getDefault(defaultConfig, UIcon).size,
65
60
  },
66
61
 
67
- /**
68
- * Set round mild semi-transparent background and solid colour icon.
69
- */
70
- round: {
71
- type: Boolean,
72
- default: getDefault(defaultConfig, UIcon).round,
73
- },
74
-
75
62
  /**
76
63
  * Icon variant.
77
64
  * @values light, default, dark
@@ -137,19 +124,9 @@ const emit = defineEmits([
137
124
  * Triggers when the icon is clicked.
138
125
  */
139
126
  "click",
140
-
141
- /**
142
- * Triggers when the icon is focused.
143
- */
144
- "focus",
145
-
146
- /**
147
- * Triggers when the icon loses focus.
148
- */
149
- "blur",
150
127
  ]);
151
128
 
152
- const { config, wrapperAttrs, containerAttrs, iconAttrs } = useAttrs(props);
129
+ const { config, iconAttrs } = useAttrs(props);
153
130
 
154
131
  const generatedIcons = computed(() => {
155
132
  return (
@@ -163,11 +140,11 @@ const dynamicComponent = computed(() => {
163
140
  const FILL_SUFFIX = "-fill";
164
141
 
165
142
  const isDefaultIcon = Boolean(generatedIcons.value.find(([path]) => path.includes(props.name)));
166
- const userLibrary = config.value.defaultVariants.library;
143
+ const userLibrary = config.value.defaults.library;
167
144
 
168
145
  const library = props.internal && isDefaultIcon ? "vueless" : userLibrary;
169
- const weight = config.value.defaultVariants.weight;
170
- const style = config.value.defaultVariants.style;
146
+ const weight = config.value.defaults.weight;
147
+ const style = config.value.defaults.style;
171
148
  const isFill = props.name.endsWith(FILL_SUFFIX);
172
149
  const name = props.name;
173
150
  const src = props.src;
@@ -219,19 +196,13 @@ const dynamicComponent = computed(() => {
219
196
  return defineAsyncComponent(libraries[library]);
220
197
  });
221
198
 
222
- const tooltipConfig = computed(() => {
223
- return { onShow: () => !!props.tooltip, ...props.tooltipSettings, content: props.tooltip };
224
- });
199
+ const tooltipConfig = computed(() => ({
200
+ onShow: () => !!props.tooltip,
201
+ ...props.tooltipSettings,
202
+ content: props.tooltip,
203
+ }));
225
204
 
226
205
  function onClick(event) {
227
206
  emit("click", event);
228
207
  }
229
-
230
- function onFocus() {
231
- emit("focus");
232
- }
233
-
234
- function onBlur(event) {
235
- emit("blur", event);
236
- }
237
208
  </script>
@@ -48,7 +48,7 @@ export default /*tw*/ {
48
48
  enterFromClass: "opacity-0",
49
49
  leaveToClass: "opacity-0",
50
50
  },
51
- defaultVariants: {
51
+ defaults: {
52
52
  color: "brand",
53
53
  size: "md",
54
54
  loading: false,
@@ -19,7 +19,7 @@ export default /*tw*/ {
19
19
  enterFromClass: "scale-110 transform",
20
20
  leaveActiveClass: "scale-110 transform",
21
21
  },
22
- defaultVariants: {
22
+ defaults: {
23
23
  color: "brand",
24
24
  },
25
25
  safelist: (colors) => [{ pattern: `bg-(${colors})-600` }],
@@ -12,7 +12,7 @@ export default /*tw*/ {
12
12
  },
13
13
  },
14
14
  progressMobile: "mt-safe-top mx-3 rounded max-w-[calc(100%-1.5rem)]",
15
- defaultVariants: {
15
+ defaults: {
16
16
  color: "brand",
17
17
  },
18
18
  safelist: (colors) => [{ pattern: `bg-(${colors})-500` }],
@@ -11,7 +11,7 @@ export default /*tw*/ {
11
11
  hover:!text-brand-900 !hover:bg-brand-900/15 disabled:hover:bg-brand-900/15
12
12
  focus:outline-none
13
13
  `,
14
- defaultVariants: {
14
+ defaults: {
15
15
  limit: 5,
16
16
  perPage: 20,
17
17
  prevLabel: "&lsaquo;",
@@ -94,7 +94,7 @@ export default /*tw*/ {
94
94
  },
95
95
  },
96
96
  },
97
- defaultVariants: {
97
+ defaults: {
98
98
  color: "brand",
99
99
  size: "md",
100
100
  variant: "progress",
@@ -15,7 +15,7 @@ export default /*tw*/ {
15
15
  },
16
16
  },
17
17
  },
18
- defaultVariants: {
18
+ defaults: {
19
19
  size: "md",
20
20
  disabled: false,
21
21
  },
@@ -13,7 +13,7 @@ export default /*tw*/ {
13
13
  },
14
14
  },
15
15
  tab: "{UTab}",
16
- defaultVariants: {
16
+ defaults: {
17
17
  size: "md",
18
18
  underlined: false,
19
19
  },
@@ -15,7 +15,7 @@ export default /*tw*/ {
15
15
  },
16
16
  },
17
17
  },
18
- defaultVariants: {
18
+ defaults: {
19
19
  color: "brand",
20
20
  size: "md",
21
21
  },
@@ -48,7 +48,7 @@ export default /*tw*/ {
48
48
  },
49
49
  icon: "{UIcon}",
50
50
  iconName: "close",
51
- defaultVariants: {
51
+ defaults: {
52
52
  variant: "primary",
53
53
  color: "brand",
54
54
  size: "md",
@@ -39,7 +39,7 @@ export default /*tw*/ {
39
39
  },
40
40
  leftIcon: "{UIcon}",
41
41
  rightIcon: "{UIcon}",
42
- defaultVariants: {
42
+ defaults: {
43
43
  color: "brand",
44
44
  size: "md",
45
45
  weight: "medium",
@@ -27,7 +27,7 @@ export default /*tw*/ {
27
27
  },
28
28
  },
29
29
  html: "",
30
- defaultVariants: {
30
+ defaults: {
31
31
  size: "md",
32
32
  align: "left",
33
33
  line: false,
@@ -10,10 +10,19 @@ export default /*tw*/ {
10
10
  },
11
11
  },
12
12
  },
13
- icon: "{UIcon}",
14
- iconName: "emoji_food_beverage",
15
- footer: "mt-4 flex justify-center",
13
+ emptyIconWrapper: {
14
+ base: "rounded-full bg-gray-700/5",
15
+ variants: {
16
+ size: {
17
+ sm: "p-4",
18
+ md: "p-5",
19
+ lg: "p-6",
20
+ },
21
+ },
22
+ },
23
+ emptyIcon: "{UIcon}",
16
24
  title: "{UHeader}",
25
+ footer: "mt-4 flex justify-center",
17
26
  description: {
18
27
  base: "text-center",
19
28
  variants: {
@@ -24,7 +33,8 @@ export default /*tw*/ {
24
33
  },
25
34
  },
26
35
  },
27
- defaultVariants: {
36
+ defaults: {
28
37
  size: "md",
38
+ emptyIcon: "emoji_food_beverage",
29
39
  },
30
40
  };
@@ -70,7 +70,6 @@ slotHeader.args = {
70
70
  name="person"
71
71
  color="blue"
72
72
  size="2xl"
73
- round
74
73
  />
75
74
  </template>
76
75
  `,
@@ -3,14 +3,15 @@
3
3
  <div v-bind="headerAttrs">
4
4
  <!-- @slot Use it to add something to the header. -->
5
5
  <slot name="header">
6
- <UIcon
7
- internal
8
- :name="config.iconName"
9
- color="gray"
10
- :size="iconSize"
11
- round
12
- v-bind="iconAttrs"
13
- />
6
+ <div v-bind="emptyIconWrapperAttrs">
7
+ <UIcon
8
+ internal
9
+ :name="config.defaults.emptyIcon"
10
+ color="gray"
11
+ :size="iconSize"
12
+ v-bind="emptyIconAttrs"
13
+ />
14
+ </div>
14
15
  </slot>
15
16
  </div>
16
17
 
@@ -84,8 +85,16 @@ const props = defineProps({
84
85
  },
85
86
  });
86
87
 
87
- const { config, titleAttrs, descriptionAttrs, wrapperAttrs, headerAttrs, footerAttrs, iconAttrs } =
88
- useAttrs(props);
88
+ const {
89
+ config,
90
+ titleAttrs,
91
+ descriptionAttrs,
92
+ wrapperAttrs,
93
+ headerAttrs,
94
+ footerAttrs,
95
+ emptyIconWrapperAttrs,
96
+ emptyIconAttrs,
97
+ } = useAttrs(props);
89
98
 
90
99
  const iconSize = computed(() => {
91
100
  const sizes = {
@@ -1,5 +1,5 @@
1
1
  export default /*tw*/ {
2
- file: "{UFile}",
2
+ file: "{ULink}",
3
3
  info: {
4
4
  base: "flex items-center",
5
5
  variants: {
@@ -26,7 +26,7 @@ export default /*tw*/ {
26
26
  },
27
27
  },
28
28
  },
29
- defaultVariants: {
29
+ defaults: {
30
30
  size: "md",
31
31
  },
32
32
  };