vueless 0.0.216 → 0.0.218

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 (57) hide show
  1. package/package.json +2 -2
  2. package/ui.button/configs/default.config.js +19 -19
  3. package/ui.button-link/configs/default.config.js +6 -13
  4. package/ui.button-link/index.vue +1 -1
  5. package/ui.button-toggle/index.vue +1 -1
  6. package/ui.container-page/configs/default.config.js +1 -1
  7. package/ui.dropdown-button/index.vue +6 -3
  8. package/ui.dropdown-item/configs/default.config.js +3 -3
  9. package/ui.dropdown-link/index.vue +1 -1
  10. package/ui.dropdown-list/configs/default.config.js +10 -10
  11. package/ui.dropdown-list/index.vue +1 -1
  12. package/ui.form-calendar/components/MonthView.vue +13 -5
  13. package/ui.form-calendar/components/YearView.vue +13 -5
  14. package/ui.form-calendar/configs/default.config.js +2 -0
  15. package/ui.form-calendar/index.vue +1 -1
  16. package/ui.form-calendar/services/date.service.js +8 -0
  17. package/ui.form-checkbox/configs/default.config.js +8 -12
  18. package/ui.form-checkbox/index.vue +5 -7
  19. package/ui.form-checkbox-group/configs/default.config.js +10 -1
  20. package/ui.form-checkbox-group/index.stories.js +21 -28
  21. package/ui.form-checkbox-group/index.vue +3 -3
  22. package/ui.form-date-picker-range/configs/default.config.js +1 -1
  23. package/ui.form-date-picker-range/index.vue +28 -21
  24. package/ui.form-input/composables/attrs.composable.js +10 -10
  25. package/ui.form-input/configs/default.config.js +20 -15
  26. package/ui.form-input/index.vue +2 -1
  27. package/ui.form-input-file/configs/default.config.js +9 -18
  28. package/ui.form-input-file/index.vue +1 -1
  29. package/ui.form-input-money/index.vue +1 -1
  30. package/ui.form-input-rating/index.vue +1 -1
  31. package/ui.form-input-search/index.vue +1 -1
  32. package/ui.form-label/configs/default.config.js +40 -48
  33. package/ui.form-label/index.vue +10 -2
  34. package/ui.form-radio/configs/default.config.js +5 -10
  35. package/ui.form-radio/index.vue +3 -3
  36. package/ui.form-radio-group/configs/default.config.js +3 -4
  37. package/ui.form-radio-group/index.stories.js +7 -15
  38. package/ui.form-radio-group/index.vue +1 -1
  39. package/ui.form-select/configs/default.config.js +15 -21
  40. package/ui.form-select/index.vue +2 -2
  41. package/ui.form-switch/configs/default.config.js +14 -14
  42. package/ui.form-switch/index.vue +1 -1
  43. package/ui.form-textarea/configs/default.config.js +11 -16
  44. package/ui.form-textarea/index.vue +1 -1
  45. package/ui.image-icon/configs/default.config.js +11 -11
  46. package/ui.text-badge/configs/default.config.js +4 -4
  47. package/ui.text-block/configs/default.config.js +3 -4
  48. package/ui.text-block/index.vue +1 -1
  49. package/ui.text-empty/configs/default.config.js +12 -12
  50. package/ui.text-empty/index.vue +16 -9
  51. package/ui.text-file/configs/default.config.js +13 -4
  52. package/ui.text-file/index.vue +12 -2
  53. package/ui.text-files/configs/default.config.js +3 -10
  54. package/ui.text-files/index.vue +1 -1
  55. package/ui.text-money/configs/default.config.js +7 -8
  56. package/ui.text-money/index.stories.js +2 -9
  57. package/web-types.json +39 -30
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vueless",
3
- "version": "0.0.216",
3
+ "version": "0.0.218",
4
4
  "license": "MIT",
5
5
  "description": "Vue Styleless Component Framework.",
6
6
  "homepage": "https://vueless.com",
@@ -37,7 +37,7 @@
37
37
  "@release-it/bumper": "^6.0.1",
38
38
  "@vitejs/plugin-vue": "^5.0.5",
39
39
  "@vue/eslint-config-prettier": "^9.0.0",
40
- "@vueless/plugin-vite": "^0.0.37",
40
+ "@vueless/plugin-vite": "^0.0.38",
41
41
  "@vueless/storybook": "^0.0.34",
42
42
  "@vueless/web-types": "^0.0.13",
43
43
  "autoprefixer": "^10.4.19",
@@ -10,12 +10,12 @@ export default /*tw*/ {
10
10
  `,
11
11
  variants: {
12
12
  size: {
13
- "2xs": "px-3 py-1 text-2xs leading-tight gap-1",
14
- xs: "px-4 py-1.5 text-xs leading-tight gap-1.5",
15
- sm: "px-5 py-2.5 text-sm leading-tight gap-1.5",
16
- md: "px-6 py-3.5 text-base leading-tight gap-2",
17
- lg: "px-7 py-4 text-lg leading-tight gap-2.5",
18
- xl: "px-8 py-5 text-xl leading-tight gap-2.5",
13
+ "2xs": "px-2 py-1 text-xs leading-tight gap-0.5",
14
+ xs: "px-3 py-1.5 text-xs leading-tight gap-0.5",
15
+ sm: "px-4 py-2 text-sm leading-tight gap-1",
16
+ md: "px-5 py-3 text-sm leading-tight gap-1",
17
+ lg: "px-6 py-3.5 text-base leading-tight gap-1.5",
18
+ xl: "px-7 py-4 text-base leading-tight gap-1.5",
19
19
  },
20
20
  variant: {
21
21
  primary: `
@@ -132,22 +132,22 @@ export default /*tw*/ {
132
132
  { filled: true, variant: "thirdary", color: "white", class: "bg-gray-50" },
133
133
  { square: true, size: "2xs", class: "p-1" },
134
134
  { square: true, size: "xs", class: "p-1.5" },
135
- { square: true, size: "sm", class: "p-2.5" },
136
- { square: true, size: "md", class: "p-3.5" },
137
- { square: true, size: "lg", class: "p-4" },
138
- { square: true, size: "xl", class: "p-5" },
135
+ { square: true, size: "sm", class: "p-2" },
136
+ { square: true, size: "md", class: "p-3" },
137
+ { square: true, size: "lg", class: "p-3.5" },
138
+ { square: true, size: "xl", class: "p-4" },
139
139
  { iconLeft: true, size: "2xs", class: "pl-1" },
140
140
  { iconLeft: true, size: "xs", class: "pl-1.5" },
141
- { iconLeft: true, size: "sm", class: "pl-2.5" },
142
- { iconLeft: true, size: "md", class: "pl-3.5" },
143
- { iconLeft: true, size: "lg", class: "pl-4" },
144
- { iconLeft: true, size: "xl", class: "pl-5" },
141
+ { iconLeft: true, size: "sm", class: "pl-2" },
142
+ { iconLeft: true, size: "md", class: "pl-4" },
143
+ { iconLeft: true, size: "lg", class: "pl-3.5" },
144
+ { iconLeft: true, size: "xl", class: "pl-4" },
145
145
  { iconRight: true, size: "2xs", class: "pr-1" },
146
- { iconRight: true, size: "xs", class: "pr-1.5" },
147
- { iconRight: true, size: "sm", class: "pr-2.5" },
148
- { iconRight: true, size: "md", class: "pr-3.5" },
149
- { iconRight: true, size: "lg", class: "pr-4" },
150
- { iconRight: true, size: "xl", class: "pr-5" },
146
+ { iconRight: true, size: "xs", class: "pr-2" },
147
+ { iconRight: true, size: "sm", class: "pr-3" },
148
+ { iconRight: true, size: "md", class: "pr-4" },
149
+ { iconRight: true, size: "lg", class: "pr-5" },
150
+ { iconRight: true, size: "xl", class: "pr-6" },
151
151
  ],
152
152
  },
153
153
  text: "whitespace-nowrap focus-visible:outline-none",
@@ -1,16 +1,10 @@
1
1
  export default /*tw*/ {
2
2
  wrapper: {
3
3
  base: `
4
- w-fit inline-flex rounded transition
5
- focus-within:ring-4 focus-within:ring-{color}-500 focus-within:ring-opacity-15 focus-visible:outline-none
4
+ w-fit inline-flex rounded transition focus-visible:outline-none
5
+ focus-within:ring-4 focus-within:ring-offset-4 focus-within:ring-{color}-500 focus-within:ring-opacity-15
6
6
  `,
7
7
  variants: {
8
- size: {
9
- xs: "focus-within:ring-offset-2",
10
- sm: "focus-within:ring-offset-2",
11
- md: "focus-within:ring-offset-4",
12
- lg: "focus-within:ring-offset-4",
13
- },
14
8
  color: {
15
9
  grayscale: "focus-within:ring-gray-900/10",
16
10
  white: "focus-within:ring-white/10",
@@ -28,7 +22,7 @@ export default /*tw*/ {
28
22
  },
29
23
  link: {
30
24
  base: `
31
- w-full inline-block !leading-none transition
25
+ w-full inline-block cursor-pointer !leading-none transition
32
26
  text-{color}-500 decoration-{color}-500 underline-offset-4
33
27
  hover:text-opacity-80
34
28
  active:text-opacity-70
@@ -36,10 +30,9 @@ export default /*tw*/ {
36
30
  `,
37
31
  variants: {
38
32
  size: {
39
- xs: "text-xs",
40
- sm: "text-sm",
41
- md: "text-base",
42
- lg: "text-lg",
33
+ sm: "text-xs",
34
+ md: "text-sm",
35
+ lg: "text-base",
43
36
  },
44
37
  underlined: {
45
38
  undefined: "hover:decoration-solid hover:underline",
@@ -114,7 +114,7 @@ const props = defineProps({
114
114
 
115
115
  /**
116
116
  * Link size.
117
- * @values xs, sm, md, lg
117
+ * @values sm, md, lg
118
118
  */
119
119
  size: {
120
120
  type: String,
@@ -78,7 +78,7 @@ const props = defineProps({
78
78
 
79
79
  /**
80
80
  * Label placement.
81
- * @values top, topInside, topWithDesc, bottom, left, right
81
+ * @values top, topWithDesc, left, right
82
82
  */
83
83
  labelAlign: {
84
84
  type: String,
@@ -42,7 +42,7 @@ export default /*tw*/ {
42
42
  backLinkIcon: "{UIcon}",
43
43
  backLinkIconName: "arrow_back",
44
44
  title: "{UHeader}",
45
- description: "mt-1.5 text-base font-normal text-gray-600",
45
+ description: "mt-1.5 text-base font-normal text-gray-500",
46
46
  headerRight: "",
47
47
  footer: `mb-0 mt-14 justify-between pt-8 md:flex md:items-baseline space-y-4 md:space-y-0 border-t border-gray-200`,
48
48
  footerLeft: "md:flex space-y-4 md:space-x-4 md:space-y-0",
@@ -14,7 +14,7 @@
14
14
  v-bind="buttonAttrs"
15
15
  @click="onClickButton"
16
16
  >
17
- <template #right>
17
+ <template #icon-right>
18
18
  <UIcon
19
19
  v-if="!noIcon"
20
20
  internal
@@ -114,7 +114,7 @@ const props = defineProps({
114
114
 
115
115
  /**
116
116
  * Button size.
117
- * @values sm, md, lg
117
+ * @values 2xs, xs, sm, md, lg, xl
118
118
  */
119
119
  size: {
120
120
  type: String,
@@ -250,9 +250,12 @@ const iconColor = computed(() => {
250
250
 
251
251
  const iconSize = computed(() => {
252
252
  const sizes = {
253
- sm: "xs",
253
+ "2xs": "xs",
254
+ xs: "xs",
255
+ sm: "sm",
254
256
  md: "sm",
255
257
  lg: "md",
258
+ xl: "md",
256
259
  };
257
260
 
258
261
  return sizes[props.size];
@@ -7,9 +7,9 @@ export default /*tw*/ {
7
7
  `,
8
8
  variants: {
9
9
  size: {
10
- sm: "text-sm p-2",
11
- md: "text-base p-3",
12
- lg: "text-lg p-4",
10
+ sm: "text-xs p-1",
11
+ md: "text-sm p-2",
12
+ lg: "text-base p-3",
13
13
  },
14
14
  },
15
15
  },
@@ -92,7 +92,7 @@ const props = defineProps({
92
92
 
93
93
  /**
94
94
  * Link size.
95
- * @values xs, sm, md, lg
95
+ * @values sm, md, lg
96
96
  */
97
97
  size: {
98
98
  type: String,
@@ -5,7 +5,7 @@ export default /*tw*/ {
5
5
  overflow-auto [-webkit-overflow-scrolling:touch]
6
6
  focus:outline-none
7
7
  `,
8
- list: "inline-block list-none align-top m-0 min-w-full p-0 bg-white opacity-1 hover:transition",
8
+ list: "m-1 inline-block list-none align-top w-full p-0 bg-white opacity-1 hover:transition",
9
9
  subGroupLabel: {
10
10
  base: "pointer-events-none bg-transparent !font-medium !leading-none !uppercase !text-gray-500/[85] pt-1",
11
11
  variants: {
@@ -28,16 +28,16 @@ export default /*tw*/ {
28
28
  },
29
29
  option: {
30
30
  base: `
31
- p-3 flex items-center align-middle whitespace-nowrap cursor-pointer
32
- font-normal !leading-none normal-case text-gray-900
33
- hover:bg-gray-100 active:bg-gray-200 active:font-medium
34
- overflow-hidden text-ellipsis
35
- `,
31
+ rounded px-3 py-2.5 flex items-center align-middle whitespace-nowrap cursor-pointer
32
+ font-normal !leading-none normal-case text-gray-900
33
+ hover:bg-gray-100
34
+ overflow-hidden text-ellipsis
35
+ `,
36
36
  variants: {
37
37
  size: {
38
- sm: "text-sm",
39
- md: "text-base",
40
- lg: "text-lg",
38
+ sm: "text-xs",
39
+ md: "text-sm",
40
+ lg: "text-base",
41
41
  },
42
42
  disabled: {
43
43
  true: "pointer-events-none",
@@ -45,7 +45,7 @@ export default /*tw*/ {
45
45
  },
46
46
  },
47
47
  optionHighlight: "bg-gray-100",
48
- optionSelected: "bg-gray-200 font-medium",
48
+ optionSelected: "font-bold",
49
49
  optionItem: "group/item block",
50
50
  optionContent: "overflow-hidden text-ellipsis",
51
51
  addTitleWrapper: `
@@ -265,7 +265,7 @@ const wrapperHeight = computed(() => {
265
265
  .map((el) => el.getBoundingClientRect().height)
266
266
  .reduce((acc, cur) => acc + cur, 0);
267
267
 
268
- return props.visibleOptions === undefined ? "auto" : `${maxHeight}px`;
268
+ return props.visibleOptions === undefined ? "auto" : `${maxHeight + 10}px`;
269
269
  });
270
270
 
271
271
  function onClickAddOption() {
@@ -17,7 +17,7 @@
17
17
  <script setup>
18
18
  import { computed } from "vue";
19
19
  import { formatDate, dateIsOutOfRange } from "../services/calendar.service";
20
- import { isSameMonth, getDateWithoutTime } from "../services/date.service";
20
+ import { isSameMonth, getDateWithoutTime, isCurrentMoth } from "../services/date.service";
21
21
 
22
22
  import useAttrs from "../composables/attrs.composable";
23
23
 
@@ -69,7 +69,8 @@ const props = defineProps({
69
69
 
70
70
  const emit = defineEmits(["input"]);
71
71
 
72
- const { monthViewAttrs, selectedMonthAttrs, activeMonthAttrs, monthAttrs } = useAttrs(props);
72
+ const { monthViewAttrs, selectedMonthAttrs, activeMonthAttrs, monthAttrs, currentMothAttrs } =
73
+ useAttrs(props);
73
74
 
74
75
  const localSelectedDate = computed(() => {
75
76
  return props.selectedDate === null ? getDateWithoutTime() : props.selectedDate;
@@ -98,12 +99,19 @@ function getMonth(monthNumber) {
98
99
  return newDate;
99
100
  }
100
101
 
101
- function getMonthClasses(day) {
102
- if (isSelectedMonth(day)) {
102
+ function getMonthClasses(month) {
103
+ const isNotSelectedDate =
104
+ (!isSelectedMonth(month) && !isSelectedMonth(month)) || props.selectedDate === null;
105
+
106
+ if (isCurrentMoth(month) && isNotSelectedDate) {
107
+ return [currentMothAttrs.value.class];
108
+ }
109
+
110
+ if (isSelectedMonth(month)) {
103
111
  return [selectedMonthAttrs.value.class];
104
112
  }
105
113
 
106
- if (isSameMonth(props.activeMonth, day)) {
114
+ if (isSameMonth(props.activeMonth, month)) {
107
115
  return [activeMonthAttrs.value.class];
108
116
  }
109
117
  }
@@ -17,7 +17,7 @@
17
17
  <script setup>
18
18
  import { computed } from "vue";
19
19
  import { formatDate, getYearsRange, dateIsOutOfRange } from "../services/calendar.service";
20
- import { isSameMonth, getDateWithoutTime } from "../services/date.service";
20
+ import { isSameMonth, getDateWithoutTime, isCurrentYear } from "../services/date.service";
21
21
 
22
22
  import useAttrs from "../composables/attrs.composable";
23
23
 
@@ -69,7 +69,8 @@ const props = defineProps({
69
69
 
70
70
  const emit = defineEmits(["input"]);
71
71
 
72
- const { yearViewAttrs, selectedYearAttrs, activeYearAttrs, yearAttrs } = useAttrs(props);
72
+ const { yearViewAttrs, selectedYearAttrs, activeYearAttrs, yearAttrs, currentYearAttrs } =
73
+ useAttrs(props);
73
74
 
74
75
  const localSelectedDate = computed(() => {
75
76
  return props.selectedDate === null ? getDateWithoutTime() : props.selectedDate;
@@ -102,12 +103,19 @@ function getYear(year) {
102
103
  return newDate;
103
104
  }
104
105
 
105
- function getYearClasses(day) {
106
- if (isSelectedMonth(day)) {
106
+ function getYearClasses(year) {
107
+ const isNotSelectedDate =
108
+ (!isSelectedMonth(year) && !isSelectedMonth(year)) || props.selectedDate === null;
109
+
110
+ if (isCurrentYear(year) && isNotSelectedDate) {
111
+ return [currentYearAttrs.value.class];
112
+ }
113
+
114
+ if (isSelectedMonth(year)) {
107
115
  return [selectedYearAttrs.value.class];
108
116
  }
109
117
 
110
- if (isSameMonth(props.activeMonth, day)) {
118
+ if (isSameMonth(props.activeMonth, year)) {
111
119
  return [activeYearAttrs.value.class];
112
120
  }
113
121
  }
@@ -35,8 +35,10 @@ export default /*tw*/ {
35
35
  month: "{UButton} mx-auto flex h-12 w-full rounded-lg hover:!bg-brand-900 hover:text-white",
36
36
  selectedMonth: "bg-brand-900 hover:bg-brand-900 text-white",
37
37
  activeMonth: "bg-brand-100",
38
+ currentMoth: "border-2 border-brand-900",
38
39
  yearView: "grid grid-cols-4 items-center justify-center",
39
40
  year: "{UButton} mx-auto flex h-12 w-full rounded-lg hover:!bg-brand-900 hover:text-white",
41
+ currentYear: "border-2 border-brand-900",
40
42
  selectedYear: "bg-brand-900 hover:bg-brand-900 text-white",
41
43
  activeYear: "bg-brand-100",
42
44
  timepicker: "mt-2 pl-1 pt-3 text-sm flex items-center justify-between gap-2 border-t border-brand-200",
@@ -12,8 +12,8 @@
12
12
  square
13
13
  variant="thirdary"
14
14
  v-bind="navigationSwitchViewButtonAttrs"
15
- @click="onClickViewSwitch"
16
15
  @mousedown.prevent.capture
16
+ @click="onClickViewSwitch"
17
17
  >
18
18
  <span v-if="isCurrentView.day" v-bind="dayViewSwitchLabelAttrs">
19
19
  <span v-bind="dayViewSwitchLabelMonthAttrs" v-text="viewSwitchLabel.month" />
@@ -255,6 +255,14 @@ export function isToday(date) {
255
255
  return isSameDay(date, new Date());
256
256
  }
257
257
 
258
+ export function isCurrentMoth(date) {
259
+ return isSameMonth(date, new Date());
260
+ }
261
+
262
+ export function isCurrentYear(date) {
263
+ return date.getFullYear() === new Date().getFullYear();
264
+ }
265
+
258
266
  export function getLastDayOfMonth(date) {
259
267
  return new Date(date.getFullYear(), date.getMonth() + 1, 0);
260
268
  }
@@ -1,16 +1,14 @@
1
1
  export default /*tw*/ {
2
- label: "{ULabel} w-auto max-w-max relative", // TODO: label classes should be defined in ULabel component
2
+ label: "{ULabel}",
3
3
  partialIconName: "remove",
4
4
  selectedIconName: "check",
5
5
  iconWrapper: {
6
6
  base: "flex items-center justify-center absolute rounded bg-{color}-500",
7
7
  variants: {
8
8
  size: {
9
- xs: "size-4",
10
- sm: "size-5",
11
- md: "size-6",
12
- lg: "size-7",
13
- xl: "size-8",
9
+ sm: "size-4",
10
+ md: "size-5",
11
+ lg: "size-6",
14
12
  },
15
13
  color: {
16
14
  grayscale: "border-gray-900 bg-gray-900",
@@ -29,11 +27,9 @@ export default /*tw*/ {
29
27
  `,
30
28
  variants: {
31
29
  size: {
32
- xs: "size-4 text-xs",
33
- sm: "size-5 text-sm",
34
- md: "size-6",
35
- lg: "size-7 text-lg",
36
- xl: "size-8 text-xl",
30
+ sm: "size-4 text-xs",
31
+ md: "size-5 text-sm",
32
+ lg: "size-6 text-base",
37
33
  },
38
34
  color: {
39
35
  grayscale: `
@@ -54,7 +50,7 @@ export default /*tw*/ {
54
50
  defaultVariants: {
55
51
  color: "brand",
56
52
  size: "md",
57
- labelAlign: "left",
53
+ labelAlign: "right",
58
54
  partial: false,
59
55
  disabled: false,
60
56
  },
@@ -119,7 +119,7 @@ const props = defineProps({
119
119
 
120
120
  /**
121
121
  * Label placement.
122
- * @values top, topInside, topWithDesc, bottom, left, right
122
+ * @values left, right
123
123
  */
124
124
  labelAlign: {
125
125
  type: String,
@@ -137,7 +137,7 @@ const props = defineProps({
137
137
 
138
138
  /**
139
139
  * Checkbox size.
140
- * @values xs, sm, md, lg, xl
140
+ * @values sm, md, lg
141
141
  */
142
142
  size: {
143
143
  type: String,
@@ -211,11 +211,9 @@ const { config, checkboxAttrs, iconWrapperAttrs, labelAttrs, iconAttrs } = useAt
211
211
 
212
212
  const iconSize = computed(() => {
213
213
  const sizes = {
214
- xs: "2xs",
215
- sm: "xs",
216
- md: "sm",
217
- lg: "md",
218
- xl: "lg",
214
+ sm: "2xs",
215
+ md: "xs",
216
+ lg: "sm",
219
217
  };
220
218
 
221
219
  return sizes[props.size];
@@ -1,7 +1,16 @@
1
1
  export default /*tw*/ {
2
2
  label: "{ULabel}",
3
- list: "ml-4 flex flex-col gap-4 relative",
4
3
  checkbox: "{UCheckbox}",
4
+ list: {
5
+ base: "flex flex-col",
6
+ variants: {
7
+ size: {
8
+ sm: "gap-1.5 mt-1",
9
+ md: "gap-2 mt-1.5",
10
+ lg: "gap-2.5 mt-2",
11
+ },
12
+ },
13
+ },
5
14
  defaultVariants: {
6
15
  color: "brand",
7
16
  size: "md",
@@ -15,9 +15,9 @@ export default {
15
15
  args: {
16
16
  label: "Label",
17
17
  options: [
18
- { label: "checkbox 1", description: "some description 1", value: "1" },
19
- { label: "checkbox 2", description: "some description 2", value: "2" },
20
- { label: "checkbox 3", description: "some description 3", value: "3" },
18
+ { label: "checkbox 1", value: "1" },
19
+ { label: "checkbox 2", value: "2" },
20
+ { label: "checkbox 3", value: "3" },
21
21
  ],
22
22
  value: ["One"],
23
23
  },
@@ -40,18 +40,12 @@ const DefaultTemplate = (args) => ({
40
40
  <URow class="!flex-col">
41
41
  <UCheckboxGroup v-bind="args" v-model="value">
42
42
  <template v-for="(radio, index) in args.options" :key="index">
43
- <UCheckbox
44
- v-bind="radio"
45
- >
46
- </UCheckbox>
43
+ <UCheckbox v-bind="radio"/>
47
44
  </template>
48
45
  </UCheckboxGroup>
49
46
 
50
47
  <URow>
51
- <UAlert color="red" v-if=args.isDefaultStory>
52
- <b>NOTE:</b> <p>UCheckboxGroup component have to have unique name attribute</p>
53
- </UAlert>
54
- <UAlert color="blue">
48
+ <UAlert size="sm" color="blue">
55
49
  <p>Selected value: {{ value }}</p>
56
50
  </UAlert>
57
51
  </URow>
@@ -72,7 +66,7 @@ const OptionsTemplate = (args) => ({
72
66
  template: `
73
67
  <URow class="!flex-col">
74
68
  <UCheckboxGroup v-bind="args" v-model="value" :options="args.options" />
75
-
69
+
76
70
  <URow>
77
71
  <UAlert color="blue">
78
72
  <p>Selected value: {{ value }}</p>
@@ -87,18 +81,17 @@ Default.args = {
87
81
  name: "Default",
88
82
  isDefaultStory: true,
89
83
  options: [
90
- { name: "Default", label: "String", description: "some description 1", value: "One" },
91
- { name: "Default", label: "Boolean", description: "some description 2", value: false },
84
+ { name: "Default", label: "String", value: "One" },
85
+ { name: "Default", label: "Boolean", value: false },
92
86
  {
93
87
  name: "Default",
94
88
  label: "Object",
95
- description: "some description 3",
89
+
96
90
  value: { key: "value" },
97
91
  },
98
92
  {
99
93
  name: "Default",
100
94
  label: "Object",
101
- description: "some description 4",
102
95
  value: ["Array", 1],
103
96
  },
104
97
  ],
@@ -129,15 +122,15 @@ const ColorsTemplate = (args, { argTypes } = {}) => ({
129
122
  },
130
123
  template: `
131
124
  <URow class="!flex-col">
132
- <UCheckboxGroup
125
+ <UCheckboxGroup
133
126
  v-bind="args"
134
- v-for="color in colors"
135
- :key="color"
136
- :label="color"
127
+ v-for="color in colors"
128
+ :key="color"
129
+ :label="color"
137
130
  :color="color"
138
- :options="args.options"
131
+ :options="args.options"
139
132
  name="color"
140
- v-model="value"
133
+ v-model="value"
141
134
  />
142
135
  </URow>
143
136
  `,
@@ -156,15 +149,15 @@ const SizesTemplate = (args, { argTypes } = {}) => ({
156
149
  },
157
150
  template: `
158
151
  <URow class="!flex-col">
159
- <UCheckboxGroup
152
+ <UCheckboxGroup
160
153
  v-bind="args"
161
- v-for="size in sizes"
162
- :key="size"
163
- :label="size"
154
+ v-for="size in sizes"
155
+ :key="size"
156
+ :label="size"
164
157
  :size="size"
165
- :options="args.options"
158
+ :options="args.options"
166
159
  name="size"
167
- v-model="value"
160
+ v-model="value"
168
161
  />
169
162
  </URow>
170
163
  `,
@@ -87,8 +87,8 @@ const props = defineProps({
87
87
  },
88
88
 
89
89
  /**
90
- * Radio size.
91
- * @values xs, sm, md, lg, xl
90
+ * Checkbox group size.
91
+ * @values sm, md, lg
92
92
  */
93
93
  size: {
94
94
  type: String,
@@ -96,7 +96,7 @@ const props = defineProps({
96
96
  },
97
97
 
98
98
  /**
99
- * Radio group color.
99
+ * Checkbox group color.
100
100
  * @values brand, grayscale, gray, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose
101
101
  */
102
102
  color: {
@@ -40,7 +40,7 @@ export default /*tw*/ {
40
40
  periodButtonIcon: "{UIcon}",
41
41
  periodButtonIconName: "apps",
42
42
  periodButtonActive: "bg-gray-200",
43
- rangeSwitchWrapper: "mb-2.5 mt-4 flex items-center justify-between py-2",
43
+ rangeSwitchWrapper: "flex items-center justify-between py-2",
44
44
  rangeSwitchTitle: "font-medium text-sm",
45
45
  nextIcon: "{UIcon}",
46
46
  nextIconName: "keyboard_arrow_right",