vueless 0.0.217 → 0.0.219

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 (54) hide show
  1. package/package.json +2 -2
  2. package/ui.button/configs/default.config.js +21 -21
  3. package/ui.button/index.vue +14 -2
  4. package/ui.button-link/configs/default.config.js +6 -13
  5. package/ui.button-link/index.vue +1 -1
  6. package/ui.button-toggle/index.vue +1 -1
  7. package/ui.container-page/configs/default.config.js +1 -1
  8. package/ui.dropdown-button/index.vue +6 -3
  9. package/ui.dropdown-item/configs/default.config.js +3 -3
  10. package/ui.dropdown-link/index.vue +1 -1
  11. package/ui.dropdown-list/configs/default.config.js +10 -10
  12. package/ui.dropdown-list/index.vue +1 -1
  13. package/ui.form-calendar/index.vue +1 -1
  14. package/ui.form-checkbox/configs/default.config.js +8 -12
  15. package/ui.form-checkbox/index.vue +5 -7
  16. package/ui.form-checkbox-group/configs/default.config.js +10 -1
  17. package/ui.form-checkbox-group/index.stories.js +21 -28
  18. package/ui.form-checkbox-group/index.vue +3 -3
  19. package/ui.form-date-picker-range/configs/default.config.js +19 -25
  20. package/ui.form-date-picker-range/index.vue +46 -55
  21. package/ui.form-input/composables/attrs.composable.js +10 -10
  22. package/ui.form-input/configs/default.config.js +19 -14
  23. package/ui.form-input/index.vue +4 -3
  24. package/ui.form-input-file/configs/default.config.js +9 -18
  25. package/ui.form-input-file/index.vue +1 -1
  26. package/ui.form-input-money/index.vue +1 -1
  27. package/ui.form-input-rating/index.vue +1 -1
  28. package/ui.form-input-search/index.vue +1 -1
  29. package/ui.form-label/configs/default.config.js +40 -48
  30. package/ui.form-label/index.vue +10 -2
  31. package/ui.form-radio/configs/default.config.js +5 -10
  32. package/ui.form-radio/index.vue +3 -3
  33. package/ui.form-radio-group/configs/default.config.js +3 -4
  34. package/ui.form-radio-group/index.stories.js +7 -15
  35. package/ui.form-radio-group/index.vue +1 -1
  36. package/ui.form-select/configs/default.config.js +15 -21
  37. package/ui.form-select/index.vue +4 -4
  38. package/ui.form-switch/configs/default.config.js +14 -14
  39. package/ui.form-switch/index.vue +1 -1
  40. package/ui.form-textarea/configs/default.config.js +11 -16
  41. package/ui.form-textarea/index.vue +1 -1
  42. package/ui.image-icon/configs/default.config.js +11 -11
  43. package/ui.text-badge/configs/default.config.js +4 -4
  44. package/ui.text-block/configs/default.config.js +3 -4
  45. package/ui.text-block/index.vue +1 -1
  46. package/ui.text-empty/configs/default.config.js +12 -12
  47. package/ui.text-empty/index.vue +16 -9
  48. package/ui.text-file/configs/default.config.js +13 -4
  49. package/ui.text-file/index.vue +12 -2
  50. package/ui.text-files/configs/default.config.js +3 -10
  51. package/ui.text-files/index.vue +1 -1
  52. package/ui.text-money/configs/default.config.js +7 -8
  53. package/ui.text-money/index.stories.js +2 -9
  54. package/web-types.json +40 -31
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vueless",
3
- "version": "0.0.217",
3
+ "version": "0.0.219",
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: `
@@ -130,24 +130,24 @@ export default /*tw*/ {
130
130
  class: "bg-gray-800 bg-opacity-10 hover:bg-opacity-15 focus:bg-opacity-15 active:bg-opacity-20",
131
131
  },
132
132
  { filled: true, variant: "thirdary", color: "white", class: "bg-gray-50" },
133
- { square: true, size: "2xs", class: "p-1" },
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" },
139
133
  { iconLeft: true, size: "2xs", class: "pl-1" },
140
134
  { 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" },
135
+ { iconLeft: true, size: "sm", class: "pl-2" },
136
+ { iconLeft: true, size: "md", class: "pl-4" },
137
+ { iconLeft: true, size: "lg", class: "pl-3.5" },
138
+ { iconLeft: true, size: "xl", class: "pl-4" },
145
139
  { 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" },
140
+ { iconRight: true, size: "xs", class: "pr-2" },
141
+ { iconRight: true, size: "sm", class: "pr-3" },
142
+ { iconRight: true, size: "md", class: "pr-4" },
143
+ { iconRight: true, size: "lg", class: "pr-5" },
144
+ { iconRight: true, size: "xl", class: "pr-6" },
145
+ { square: true, size: "2xs", class: "p-1" },
146
+ { square: true, size: "xs", class: "p-1.5" },
147
+ { square: true, size: "sm", class: "p-2" },
148
+ { square: true, size: "md", class: "p-3" },
149
+ { square: true, size: "lg", class: "p-3.5" },
150
+ { square: true, size: "xl", class: "p-4" },
151
151
  ],
152
152
  },
153
153
  text: "whitespace-nowrap focus-visible:outline-none",
@@ -27,7 +27,13 @@
27
27
  :icon-size="iconSize"
28
28
  :icon-color="componentColor"
29
29
  >
30
- <UIcon v-if="iconLeft" :name="iconLeft" :size="iconSize" :color="componentColor" />
30
+ <UIcon
31
+ v-if="iconLeft"
32
+ :name="iconLeft"
33
+ :size="iconSize"
34
+ :color="componentColor"
35
+ internal
36
+ />
31
37
  </slot>
32
38
  </div>
33
39
 
@@ -59,7 +65,13 @@
59
65
  :icon-size="iconSize"
60
66
  :icon-color="componentColor"
61
67
  >
62
- <UIcon v-if="iconRight" :name="iconRight" :size="iconSize" :color="componentColor" />
68
+ <UIcon
69
+ v-if="iconRight"
70
+ :name="iconRight"
71
+ :size="iconSize"
72
+ :color="componentColor"
73
+ internal
74
+ />
63
75
  </slot>
64
76
  </div>
65
77
  </template>
@@ -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() {
@@ -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" />
@@ -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: {
@@ -8,10 +8,12 @@ export default /*tw*/ {
8
8
  flex rounded-lg max-md:justify-between
9
9
  focus-within:ring-4 focus-within:ring-brand-700 focus-within:ring-opacity-20
10
10
  `,
11
- button: "{UButton} shrink-0 grow rounded-none focus:ring-0",
11
+ button: "{UButton} shrink-0 grow rounded-none !ring-0",
12
12
  buttonActive: "ring-0",
13
13
  buttonWrapperActive: "ring-4 ring-brand-700 ring-opacity-20",
14
14
  shiftRangeButton: "focus:ring-0 last:rounded-l-none last:rounded-r-lg first:rounded-l-lg first:rounded-r-none",
15
+ nextIconName: "keyboard_arrow_right",
16
+ prevIconName: "keyboard_arrow_left",
15
17
  menu: {
16
18
  base: "absolute z-40 my-2 w-80 overflow-hidden rounded-lg border border-brand-300 bg-white p-2 shadow focus:outline-none",
17
19
  variants: {
@@ -33,19 +35,12 @@ export default /*tw*/ {
33
35
  leaveToClass: "opacity-0 scale-95",
34
36
  },
35
37
  periodsRow: "mb-1 flex min-w-64 gap-1",
36
- periodButton: `
37
- {UButton} h-[3.125rem] w-full flex flex-col items-center justify-center
38
- [&_span]:block [&_span]:font-normal [&_span]:text-brand-500
39
- `,
40
- periodButtonIcon: "{UIcon}",
38
+ periodButton: "{UButton} h-[3.125rem] w-full !ring-0",
41
39
  periodButtonIconName: "apps",
42
- periodButtonActive: "bg-gray-200",
43
- rangeSwitchWrapper: "mb-2.5 mt-4 flex items-center justify-between py-2",
40
+ periodButtonActive: "!bg-opacity-20",
41
+ rangeSwitchWrapper: "flex items-center justify-between py-2",
42
+ rangeSwitchButton: "{UButton}",
44
43
  rangeSwitchTitle: "font-medium text-sm",
45
- nextIcon: "{UIcon}",
46
- nextIconName: "keyboard_arrow_right",
47
- prevIcon: "{UIcon}",
48
- prevIconName: "keyboard_arrow_left",
49
44
  periodDateList: "",
50
45
  periodDateMonthList: "grid grid-cols-3 grid-rows-1 gap-0.5",
51
46
  periodDateWeekList: "",
@@ -53,25 +48,24 @@ export default /*tw*/ {
53
48
  periodDateQuarterList: "",
54
49
  periodDate: "w-full",
55
50
  periodDateActive: "bg-gray-100",
56
- rangeInputWrapper: "flex mt-4",
51
+ rangeInputWrapper: "flex mt-4 -space-x-px",
57
52
  rangeInput: {
58
- block: `focus-within:z-10 group-first/range-input-wrapper:rounded-r-none group-last/range-input-wrapper:rounded-l-none`,
53
+ component: "{UInput}",
59
54
  label: {
60
- wrapper: "group/range-input-wrapper",
55
+ component: "{ULabel}",
56
+ wrapper: "group/range-input-wrapper w-full hover:z-10 focus:z-10",
61
57
  description: "hidden",
62
58
  },
63
- input: {
64
- base: "{UInput} text-sm border-brand-100 px-4 py-2.5",
65
- variants: {
66
- size: {
67
- md: "pt-2.5 pb-2.5",
68
- },
69
- },
70
- },
59
+ block: `
60
+ focus-within:z-10 focus-within:ring-0
61
+ group-first/range-input-wrapper:rounded-r-none group-last/range-input-wrapper:rounded-l-none
62
+ `,
63
+ input: "group-first/range-input-wrapper:rounded-r-none group-last/range-input-wrapper:rounded-l-none",
71
64
  },
72
- inputRangeError: "text-xs font-normal !leading-none mt-2 text-center text-red-500",
65
+ inputRangeError: "text-xs font-normal leading-none mt-2 text-center text-red-500",
73
66
  calendar: {
74
- wrapper: "{UCalendar} p-0 mt-2 w-full border-none shadow-none",
67
+ component: "{UCalendar}",
68
+ wrapper: "p-0 mt-2 w-full border-none shadow-none",
75
69
  navigation: "mb-0 border-none",
76
70
  navigationSwitchViewButton: "rounded-lg px-3",
77
71
  day: "w-full h-10 mb-0.5",