@varlet/ui 2.9.1-alpha.1678893658852 → 2.9.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.
@@ -1,11 +1,13 @@
1
1
  import VarIcon from '../icon/index.mjs';
2
2
  import VarFormDetails from '../form-details/index.mjs';
3
3
  import Ripple from '../ripple/index.mjs';
4
+ import Hover from '../hover/index.mjs';
4
5
  import { defineComponent, ref, computed, watch, nextTick } from 'vue';
5
6
  import { props } from './props.mjs';
6
7
  import { useValidation, createNamespace, call } from '../utils/components.mjs';
7
8
  import { useCheckboxGroup } from './provide.mjs';
8
9
  import { useForm } from '../form/provide.mjs';
10
+ import VarHoverOverlay, { useHoverOverlay } from '../hover-overlay/index.mjs';
9
11
  var {
10
12
  n,
11
13
  classes
@@ -15,8 +17,12 @@ import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, norma
15
17
  function __render__(_ctx, _cache) {
16
18
  var _component_var_icon = _resolveComponent("var-icon");
17
19
 
20
+ var _component_var_hover_overlay = _resolveComponent("var-hover-overlay");
21
+
18
22
  var _component_var_form_details = _resolveComponent("var-form-details");
19
23
 
24
+ var _directive_hover = _resolveDirective("hover");
25
+
20
26
  var _directive_ripple = _resolveDirective("ripple");
21
27
 
22
28
  return _openBlock(), _createElementBlock("div", {
@@ -49,9 +55,13 @@ function __render__(_ctx, _cache) {
49
55
  "var-checkbox-cover": ""
50
56
  }, null, 8
51
57
  /* PROPS */
52
- , ["class", "size"])])], 6
58
+ , ["class", "size"])]), _createVNode(_component_var_hover_overlay, {
59
+ hovering: !_ctx.disabled && !_ctx.formDisabled && _ctx.hovering
60
+ }, null, 8
61
+ /* PROPS */
62
+ , ["hovering"])], 6
53
63
  /* CLASS, STYLE */
54
- )), [[_directive_ripple, {
64
+ )), [[_directive_hover, _ctx.handleHovering, "desktop"], [_directive_ripple, {
55
65
  disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple
56
66
  }]]), _createElementVNode("div", {
57
67
  class: _normalizeClass(_ctx.classes(_ctx.n('text'), [_ctx.errorMessage || _ctx.checkboxGroupErrorMessage, _ctx.n('--error')], [_ctx.formDisabled || _ctx.disabled, _ctx.n('--disabled')]))
@@ -71,11 +81,13 @@ function __render__(_ctx, _cache) {
71
81
  var __sfc__ = defineComponent({
72
82
  name: 'VarCheckbox',
73
83
  directives: {
74
- Ripple
84
+ Ripple,
85
+ Hover
75
86
  },
76
87
  components: {
77
88
  VarIcon,
78
- VarFormDetails
89
+ VarFormDetails,
90
+ VarHoverOverlay
79
91
  },
80
92
  props,
81
93
 
@@ -88,6 +100,10 @@ var __sfc__ = defineComponent({
88
100
  checkboxGroup,
89
101
  bindCheckboxGroup
90
102
  } = useCheckboxGroup();
103
+ var {
104
+ hovering,
105
+ handleHovering
106
+ } = useHoverOverlay();
91
107
  var {
92
108
  form,
93
109
  bindForm
@@ -211,6 +227,8 @@ var __sfc__ = defineComponent({
211
227
  checkboxGroupErrorMessage: checkboxGroup == null ? void 0 : checkboxGroup.errorMessage,
212
228
  formDisabled: form == null ? void 0 : form.disabled,
213
229
  formReadonly: form == null ? void 0 : form.readonly,
230
+ hovering,
231
+ handleHovering,
214
232
  n,
215
233
  classes,
216
234
  handleClick,
@@ -1 +1 @@
1
- :root { --checkbox-checked-color: var(--color-primary); --checkbox-unchecked-color: #555; --checkbox-disabled-color: var(--color-text-disabled); --checkbox-error-color: var(--color-danger); --checkbox-action-padding: 6px; --checkbox-icon-size: 24px;}@keyframes var-vibrate-animation { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.8; transform: scale(0.8); } 100% { opacity: 1; transform: scale(1); }}.var-checkbox { display: flex; align-items: center; transform: translateX(calc(-1 * var(--checkbox-action-padding))); cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-checkbox__wrap { display: inline-flex; flex-direction: column;}.var-checkbox__action { display: flex; justify-content: center; align-items: center; padding: var(--checkbox-action-padding); border-radius: 50%; transition: background-color 0.25s, color 0.25s;}.var-checkbox__icon[var-checkbox-cover] { display: block; font-size: var(--checkbox-icon-size);}.var-checkbox--with-animation { animation: var-vibrate-animation 0.25s;}.var-checkbox--checked { color: var(--checkbox-checked-color);}.var-checkbox--unchecked { color: var(--checkbox-unchecked-color);}.var-checkbox--disabled { color: var(--checkbox-disabled-color); cursor: not-allowed;}.var-checkbox--error { color: var(--checkbox-error-color);}
1
+ :root { --checkbox-checked-color: var(--color-primary); --checkbox-unchecked-color: #555; --checkbox-disabled-color: var(--color-text-disabled); --checkbox-error-color: var(--color-danger); --checkbox-action-padding: 6px; --checkbox-text-padding: 6px 6px 6px 0; --checkbox-icon-size: 24px;}@keyframes var-vibrate-animation { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.8; transform: scale(0.8); } 100% { opacity: 1; transform: scale(1); }}.var-checkbox { display: flex; align-items: center; transform: translateX(calc(-1 * var(--checkbox-action-padding))); cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-checkbox__wrap { display: inline-flex; flex-direction: column;}.var-checkbox__action { position: relative; display: flex; justify-content: center; align-items: center; padding: var(--checkbox-action-padding); border-radius: 50%; transition: background-color 0.25s, color 0.25s;}.var-checkbox__icon[var-checkbox-cover] { display: block; font-size: var(--checkbox-icon-size);}.var-checkbox--with-animation { animation: var-vibrate-animation 0.25s;}.var-checkbox--checked { color: var(--checkbox-checked-color);}.var-checkbox--unchecked { color: var(--checkbox-unchecked-color);}.var-checkbox--disabled { color: var(--checkbox-disabled-color); cursor: not-allowed;}.var-checkbox--error { color: var(--checkbox-error-color);}
@@ -241,7 +241,7 @@ import './time-picker/style/index.mjs'
241
241
  import './tooltip/style/index.mjs'
242
242
  import './uploader/style/index.mjs'
243
243
 
244
- const version = '2.9.1-alpha.1678893658852'
244
+ const version = '2.9.1'
245
245
 
246
246
  function install(app) {
247
247
  ActionSheet.install && app.use(ActionSheet)
package/es/index.mjs CHANGED
@@ -160,7 +160,7 @@ export * from './time-picker/index.mjs'
160
160
  export * from './tooltip/index.mjs'
161
161
  export * from './uploader/index.mjs'
162
162
 
163
- const version = '2.9.1-alpha.1678893658852'
163
+ const version = '2.9.1'
164
164
 
165
165
  function install(app) {
166
166
  ActionSheet.install && app.use(ActionSheet)
@@ -1,11 +1,13 @@
1
1
  import VarIcon from '../icon/index.mjs';
2
2
  import VarFormDetails from '../form-details/index.mjs';
3
3
  import Ripple from '../ripple/index.mjs';
4
+ import Hover from '../hover/index.mjs';
4
5
  import { computed, defineComponent, nextTick, ref, watch } from 'vue';
5
6
  import { props } from './props.mjs';
6
7
  import { useValidation, createNamespace, call } from '../utils/components.mjs';
7
8
  import { useRadioGroup } from './provide.mjs';
8
9
  import { useForm } from '../form/provide.mjs';
10
+ import VarHoverOverlay, { useHoverOverlay } from '../hover-overlay/index.mjs';
9
11
  var {
10
12
  n,
11
13
  classes
@@ -15,10 +17,14 @@ import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, norma
15
17
  function __render__(_ctx, _cache) {
16
18
  var _component_var_icon = _resolveComponent("var-icon");
17
19
 
20
+ var _component_var_hover_overlay = _resolveComponent("var-hover-overlay");
21
+
18
22
  var _component_var_form_details = _resolveComponent("var-form-details");
19
23
 
20
24
  var _directive_ripple = _resolveDirective("ripple");
21
25
 
26
+ var _directive_hover = _resolveDirective("hover");
27
+
22
28
  return _openBlock(), _createElementBlock("div", {
23
29
  class: _normalizeClass(_ctx.n('wrap'))
24
30
  }, [_createElementVNode("div", _mergeProps({
@@ -49,11 +55,15 @@ function __render__(_ctx, _cache) {
49
55
  size: _ctx.iconSize
50
56
  }, null, 8
51
57
  /* PROPS */
52
- , ["class", "size"])])], 6
58
+ , ["class", "size"])]), _createVNode(_component_var_hover_overlay, {
59
+ hovering: !_ctx.disabled && !_ctx.formDisabled && _ctx.hovering
60
+ }, null, 8
61
+ /* PROPS */
62
+ , ["hovering"])], 6
53
63
  /* CLASS, STYLE */
54
64
  )), [[_directive_ripple, {
55
65
  disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple
56
- }]]), _createElementVNode("div", {
66
+ }], [_directive_hover, _ctx.handleHovering, "desktop"]]), _createElementVNode("div", {
57
67
  class: _normalizeClass(_ctx.classes(_ctx.n('text'), [_ctx.errorMessage || _ctx.radioGroupErrorMessage, _ctx.n('--error')], [_ctx.formDisabled || _ctx.disabled, _ctx.n('--disabled')]))
58
68
  }, [_renderSlot(_ctx.$slots, "default")], 2
59
69
  /* CLASS */
@@ -71,11 +81,13 @@ function __render__(_ctx, _cache) {
71
81
  var __sfc__ = defineComponent({
72
82
  name: 'VarRadio',
73
83
  directives: {
74
- Ripple
84
+ Ripple,
85
+ Hover
75
86
  },
76
87
  components: {
77
88
  VarIcon,
78
- VarFormDetails
89
+ VarFormDetails,
90
+ VarHoverOverlay
79
91
  },
80
92
  inheritAttrs: false,
81
93
  props,
@@ -88,6 +100,10 @@ var __sfc__ = defineComponent({
88
100
  radioGroup,
89
101
  bindRadioGroup
90
102
  } = useRadioGroup();
103
+ var {
104
+ hovering,
105
+ handleHovering
106
+ } = useHoverOverlay();
91
107
  var {
92
108
  form,
93
109
  bindForm
@@ -203,6 +219,8 @@ var __sfc__ = defineComponent({
203
219
  radioGroupErrorMessage: radioGroup == null ? void 0 : radioGroup.errorMessage,
204
220
  formDisabled: form == null ? void 0 : form.disabled,
205
221
  formReadonly: form == null ? void 0 : form.readonly,
222
+ hovering,
223
+ handleHovering,
206
224
  n,
207
225
  classes,
208
226
  handleClick,
@@ -1 +1 @@
1
- :root { --radio-checked-color: var(--color-primary); --radio-unchecked-color: #555; --radio-disabled-color: var(--color-text-disabled); --radio-error-color: var(--color-danger); --radio-icon-size: 24px; --radio-action-padding: 6px;}@keyframes var-vibrate-animation { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.8; transform: scale(0.8); } 100% { opacity: 1; transform: scale(1); }}.var-radio { display: flex; align-items: center; transform: translateX(calc(-1 * var(--radio-action-padding))); cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-radio__wrap { display: inline-flex; flex-direction: column;}.var-radio__action { display: flex; justify-content: center; align-items: center; padding: var(--radio-action-padding); border-radius: 50%; transition: background-color 0.25s, color 0.25s;}.var-radio__icon[var-radio-cover] { display: block; font-size: var(--radio-icon-size);}.var-radio--with-animation[var-radio-cover] { animation: var-vibrate-animation 0.25s;}.var-radio--checked { color: var(--radio-checked-color);}.var-radio--unchecked { color: var(--radio-unchecked-color);}.var-radio--disabled { color: var(--radio-disabled-color); cursor: not-allowed;}.var-radio--error { color: var(--radio-error-color);}
1
+ :root { --radio-checked-color: var(--color-primary); --radio-unchecked-color: #555; --radio-disabled-color: var(--color-text-disabled); --radio-error-color: var(--color-danger); --radio-icon-size: 24px; --radio-action-padding: 6px; --radio-text-padding: 6px 6px 6px 0;}@keyframes var-vibrate-animation { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.8; transform: scale(0.8); } 100% { opacity: 1; transform: scale(1); }}.var-radio { display: flex; align-items: center; transform: translateX(calc(-1 * var(--radio-action-padding))); cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-radio__wrap { display: inline-flex; flex-direction: column;}.var-radio__action { display: flex; justify-content: center; position: relative; align-items: center; padding: var(--radio-action-padding); border-radius: 50%; transition: background-color 0.25s, color 0.25s;}.var-radio__icon[var-radio-cover] { display: block; font-size: var(--radio-icon-size);}.var-radio--with-animation[var-radio-cover] { animation: var-vibrate-animation 0.25s;}.var-radio--checked { color: var(--radio-checked-color);}.var-radio--unchecked { color: var(--radio-unchecked-color);}.var-radio--disabled { color: var(--radio-disabled-color); cursor: not-allowed;}.var-radio--error { color: var(--radio-error-color);}
package/es/rate/Rate.mjs CHANGED
@@ -1,7 +1,9 @@
1
1
  import VarIcon from '../icon/index.mjs';
2
2
  import VarFormDetails from '../form-details/index.mjs';
3
3
  import Ripple from '../ripple/index.mjs';
4
- import { defineComponent, nextTick } from 'vue';
4
+ import VarHoverOverlay, { useHoverOverlay } from '../hover-overlay/index.mjs';
5
+ import Hover from '../hover/index.mjs';
6
+ import { defineComponent, nextTick, ref } from 'vue';
5
7
  import { useForm } from '../form/provide.mjs';
6
8
  import { useValidation, call, createNamespace } from '../utils/components.mjs';
7
9
  import { toSizeUnit } from '../utils/elements.mjs';
@@ -19,36 +21,44 @@ var _hoisted_1 = ["onClick"];
19
21
  function __render__(_ctx, _cache) {
20
22
  var _component_var_icon = _resolveComponent("var-icon");
21
23
 
24
+ var _component_var_hover_overlay = _resolveComponent("var-hover-overlay");
25
+
22
26
  var _component_var_form_details = _resolveComponent("var-form-details");
23
27
 
24
28
  var _directive_ripple = _resolveDirective("ripple");
25
29
 
30
+ var _directive_hover = _resolveDirective("hover");
31
+
26
32
  return _openBlock(), _createElementBlock("div", {
27
33
  class: _normalizeClass(_ctx.n('wrap'))
28
34
  }, [_createElementVNode("div", {
29
35
  class: _normalizeClass(_ctx.n())
30
- }, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.toNumber(_ctx.count), val => {
36
+ }, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.toNumber(_ctx.count), value => {
31
37
  return _withDirectives((_openBlock(), _createElementBlock("div", {
32
- key: val,
33
- style: _normalizeStyle(_ctx.getStyle(val)),
34
- class: _normalizeClass(_ctx.getClass(val)),
35
- onClick: $event => _ctx.handleClick(val, $event)
38
+ key: value,
39
+ style: _normalizeStyle(_ctx.getStyle(value)),
40
+ class: _normalizeClass(_ctx.getClass(value)),
41
+ onClick: $event => _ctx.handleClick(value, $event)
36
42
  }, [_createVNode(_component_var_icon, {
37
43
  class: _normalizeClass(_ctx.n('content-icon')),
38
44
  "var-rate-cover": "",
39
45
  transition: 0,
40
46
  namespace: _ctx.namespace,
41
- name: _ctx.getCurrentState(val).name,
47
+ name: _ctx.getCurrentState(value).name,
42
48
  style: _normalizeStyle({
43
49
  fontSize: _ctx.toSizeUnit(_ctx.size)
44
50
  })
45
51
  }, null, 8
46
52
  /* PROPS */
47
- , ["class", "namespace", "name", "style"])], 14
53
+ , ["class", "namespace", "name", "style"]), _createVNode(_component_var_hover_overlay, {
54
+ hovering: _ctx.hovering && value === _ctx.currentHoveringValue && !_ctx.disabled && !_ctx.formDisabled
55
+ }, null, 8
56
+ /* PROPS */
57
+ , ["hovering"])], 14
48
58
  /* CLASS, STYLE, PROPS */
49
59
  , _hoisted_1)), [[_directive_ripple, {
50
60
  disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple
51
- }]]);
61
+ }], [_directive_hover, _ctx.createHoverHandler(value), "desktop"]]);
52
62
  }), 128
53
63
  /* KEYED_FRAGMENT */
54
64
  ))], 2
@@ -66,10 +76,12 @@ var __sfc__ = defineComponent({
66
76
  name: 'VarRate',
67
77
  components: {
68
78
  VarIcon,
69
- VarFormDetails
79
+ VarFormDetails,
80
+ VarHoverOverlay
70
81
  },
71
82
  directives: {
72
- Ripple
83
+ Ripple,
84
+ Hover
73
85
  },
74
86
  props,
75
87
 
@@ -84,6 +96,10 @@ var __sfc__ = defineComponent({
84
96
  validate: v,
85
97
  resetValidation
86
98
  } = useValidation();
99
+ var {
100
+ hovering
101
+ } = useHoverOverlay();
102
+ var currentHoveringValue = ref(-1);
87
103
 
88
104
  var getStyle = val => {
89
105
  var {
@@ -175,6 +191,13 @@ var __sfc__ = defineComponent({
175
191
  validateWithTrigger();
176
192
  };
177
193
 
194
+ var createHoverHandler = value => {
195
+ return isHover => {
196
+ currentHoveringValue.value = value;
197
+ hovering.value = isHover;
198
+ };
199
+ };
200
+
178
201
  var reset = () => {
179
202
  call(props['onUpdate:modelValue'], 0);
180
203
  resetValidation();
@@ -194,6 +217,9 @@ var __sfc__ = defineComponent({
194
217
  getClass,
195
218
  getCurrentState,
196
219
  handleClick,
220
+ hovering,
221
+ currentHoveringValue,
222
+ createHoverHandler,
197
223
  reset,
198
224
  validate,
199
225
  resetValidation,
package/es/rate/rate.css CHANGED
@@ -1 +1 @@
1
- :root { --rate-color: var(--color-text); --rate-disabled-color: var(--color-text-disabled); --rate-error-color: var(--color-danger); --rate-action-padding: 4px; --rate-primary-color: var(--color-primary);}.var-rate { display: flex; transform: translateX(calc(-1 * var(--rate-action-padding)));}.var-rate__wrap { width: 100%;}.var-rate__content { padding: var(--rate-action-padding); cursor: pointer; border-radius: 50%; color: var(--rate-color); transition: color 0.25s; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-rate__content-icon[var-rate-cover] { font-size: 24px;}.var-rate--primary { color: var(--rate-primary-color);}.var-rate--disabled { color: var(--rate-disabled-color); cursor: not-allowed;}.var-rate--error { color: var(--rate-error-color);}
1
+ :root { --rate-color: var(--color-text); --rate-disabled-color: var(--color-text-disabled); --rate-error-color: var(--color-danger); --rate-action-padding: 4px; --rate-primary-color: var(--color-primary);}.var-rate { display: flex; transform: translateX(calc(-1 * var(--rate-action-padding)));}.var-rate__wrap { width: 100%;}.var-rate__content { position: relative; padding: var(--rate-action-padding); cursor: pointer; border-radius: 50%; color: var(--rate-color); transition: color 0.25s; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-rate__content-icon[var-rate-cover] { font-size: 24px;}.var-rate--primary { color: var(--rate-primary-color);}.var-rate--disabled { color: var(--rate-disabled-color); cursor: not-allowed;}.var-rate--error { color: var(--rate-error-color);}
@@ -2,5 +2,6 @@ import '../../styles/common.css'
2
2
  import '../../ripple/ripple.css'
3
3
  import '../../icon/icon.css'
4
4
  import '../../form-details/formDetails.css'
5
+ import '../../hover-overlay/hoverOverlay.css'
5
6
  import '../rate.css'
6
7
  import '../RateSfc.css'