@varlet/ui 1.26.8 → 1.27.0-alpha.1649242923701

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 (245) hide show
  1. package/es/action-sheet/ActionSheet.js +29 -27
  2. package/es/app-bar/AppBar.js +32 -27
  3. package/es/back-top/BackTop.js +9 -2
  4. package/es/badge/Badge.js +22 -14
  5. package/es/bottom-navigation/BottomNavigation.js +167 -0
  6. package/es/bottom-navigation/BottomNavigationSfc.css +0 -0
  7. package/es/bottom-navigation/BottomNavigationSfc.less +0 -0
  8. package/es/bottom-navigation/bottomNavigation.css +1 -0
  9. package/es/bottom-navigation/bottomNavigation.less +49 -0
  10. package/es/bottom-navigation/index.js +8 -0
  11. package/es/bottom-navigation/props.js +40 -0
  12. package/es/bottom-navigation/provide.js +17 -0
  13. package/es/bottom-navigation/style/index.js +4 -0
  14. package/es/bottom-navigation/style/less.js +4 -0
  15. package/es/bottom-navigation-item/BottomNavigationItem.js +122 -0
  16. package/es/bottom-navigation-item/BottomNavigationItemSfc.css +0 -0
  17. package/es/bottom-navigation-item/BottomNavigationItemSfc.less +0 -0
  18. package/es/bottom-navigation-item/bottomNavigationItem.css +1 -0
  19. package/es/bottom-navigation-item/bottomNavigationItem.less +78 -0
  20. package/es/bottom-navigation-item/index.js +8 -0
  21. package/es/bottom-navigation-item/props.js +22 -0
  22. package/es/bottom-navigation-item/provide.js +21 -0
  23. package/es/bottom-navigation-item/style/index.js +6 -0
  24. package/es/bottom-navigation-item/style/less.js +6 -0
  25. package/es/button/Button.js +12 -5
  26. package/es/card/Card.js +33 -28
  27. package/es/cell/Cell.js +26 -15
  28. package/es/checkbox/Checkbox.js +28 -26
  29. package/es/checkbox-group/CheckboxGroup.js +21 -25
  30. package/es/chip/Chip.js +16 -7
  31. package/es/chip/chip.css +1 -1
  32. package/es/chip/chip.less +11 -11
  33. package/es/col/Col.js +12 -5
  34. package/es/collapse/Collapse.js +15 -12
  35. package/es/collapse-item/CollapseItem.js +31 -30
  36. package/es/collapse-item/collapseItem.css +1 -1
  37. package/es/collapse-item/collapseItem.less +16 -16
  38. package/es/countdown/Countdown.js +14 -11
  39. package/es/counter/Counter.js +30 -27
  40. package/es/date-picker/DatePicker.js +28 -23
  41. package/es/date-picker/date-picker.css +1 -1
  42. package/es/date-picker/date-picker.less +22 -20
  43. package/es/date-picker/src/day-picker-panel.js +41 -34
  44. package/es/date-picker/src/month-picker-panel.js +27 -21
  45. package/es/date-picker/src/panel-header.js +16 -11
  46. package/es/date-picker/src/year-picker-panel.js +17 -9
  47. package/es/dialog/Dialog.js +36 -40
  48. package/es/divider/Divider.js +16 -12
  49. package/es/form/Form.js +11 -8
  50. package/es/form-details/FormDetails.js +27 -22
  51. package/es/icon/Icon.js +8 -1
  52. package/es/icon/icon.css +1 -1
  53. package/es/image/Image.js +19 -12
  54. package/es/image-preview/ImagePreview.js +35 -34
  55. package/es/index-anchor/IndexAnchor.js +8 -1
  56. package/es/index-bar/IndexBar.js +22 -20
  57. package/es/index.js +10 -0
  58. package/es/input/Input.js +45 -44
  59. package/es/lazy/index.js +2 -1
  60. package/es/less.js +2 -0
  61. package/es/list/List.js +39 -38
  62. package/es/loading/Loading.js +31 -23
  63. package/es/loading/loading.css +1 -1
  64. package/es/loading/loading.less +32 -32
  65. package/es/menu/Menu.js +12 -10
  66. package/es/option/Option.js +16 -11
  67. package/es/pagination/Pagination.js +34 -44
  68. package/es/pagination/pagination.css +1 -1
  69. package/es/pagination/pagination.less +8 -8
  70. package/es/picker/Picker.js +51 -47
  71. package/es/popup/Popup.js +9 -5
  72. package/es/progress/Progress.js +44 -35
  73. package/es/progress/progress.css +1 -1
  74. package/es/progress/progress.less +12 -12
  75. package/es/pull-refresh/PullRefresh.js +13 -10
  76. package/es/radio/Radio.js +25 -25
  77. package/es/radio-group/RadioGroup.js +19 -19
  78. package/es/rate/Rate.js +27 -25
  79. package/es/ripple/index.js +6 -2
  80. package/es/row/Row.js +11 -4
  81. package/es/select/Select.js +53 -54
  82. package/es/skeleton/Skeleton.js +70 -81
  83. package/es/slider/Slider.js +44 -40
  84. package/es/slider/slider.css +1 -1
  85. package/es/slider/slider.less +5 -5
  86. package/es/snackbar/Snackbar.js +9 -5
  87. package/es/snackbar/core.js +20 -26
  88. package/es/snackbar/snackbar.css +1 -1
  89. package/es/snackbar/snackbar.less +66 -68
  90. package/es/space/Space.js +8 -3
  91. package/es/step/Step.js +25 -23
  92. package/es/step/step.css +1 -1
  93. package/es/step/step.less +10 -10
  94. package/es/steps/Steps.js +12 -5
  95. package/es/sticky/Sticky.js +14 -7
  96. package/es/style-provider/StyleProvider.js +6 -2
  97. package/es/style.css +1 -1
  98. package/es/style.js +2 -0
  99. package/es/swipe/Swipe.js +22 -16
  100. package/es/swipe-item/SwipeItem.js +9 -4
  101. package/es/switch/Switch.js +25 -23
  102. package/es/switch/switch.css +1 -1
  103. package/es/switch/switch.less +2 -2
  104. package/es/tab/Tab.js +8 -1
  105. package/es/tab-item/TabItem.js +8 -1
  106. package/es/table/Table.js +27 -20
  107. package/es/tabs/Tabs.js +16 -11
  108. package/es/tabs-items/TabsItems.js +10 -5
  109. package/es/themes/dark/bottomNavigation.js +4 -0
  110. package/es/themes/dark/bottomNavigationItem.js +3 -0
  111. package/es/themes/dark/index.js +3 -1
  112. package/es/time-picker/TimePicker.js +47 -38
  113. package/es/time-picker/clock.js +26 -22
  114. package/es/time-picker/timePicker.css +1 -1
  115. package/es/time-picker/timePicker.less +11 -11
  116. package/es/umdIndex.js +10 -0
  117. package/es/uploader/Uploader.js +62 -57
  118. package/es/utils/components.js +35 -0
  119. package/es/varlet.esm.js +2082 -1527
  120. package/highlight/attributes.json +48 -0
  121. package/highlight/tags.json +20 -0
  122. package/highlight/web-types.json +155 -1
  123. package/lib/action-sheet/ActionSheet.js +30 -26
  124. package/lib/app-bar/AppBar.js +31 -24
  125. package/lib/back-top/BackTop.js +11 -2
  126. package/lib/badge/Badge.js +23 -13
  127. package/lib/bottom-navigation/BottomNavigation.js +183 -0
  128. package/lib/bottom-navigation/BottomNavigationSfc.css +0 -0
  129. package/lib/bottom-navigation/BottomNavigationSfc.less +0 -0
  130. package/lib/bottom-navigation/bottomNavigation.css +1 -0
  131. package/lib/bottom-navigation/bottomNavigation.less +49 -0
  132. package/lib/bottom-navigation/index.js +17 -0
  133. package/lib/bottom-navigation/props.js +45 -0
  134. package/lib/bottom-navigation/provide.js +27 -0
  135. package/lib/bottom-navigation/style/index.js +4 -0
  136. package/lib/bottom-navigation/style/less.js +4 -0
  137. package/lib/bottom-navigation-item/BottomNavigationItem.js +140 -0
  138. package/lib/bottom-navigation-item/BottomNavigationItemSfc.css +0 -0
  139. package/lib/bottom-navigation-item/BottomNavigationItemSfc.less +0 -0
  140. package/lib/bottom-navigation-item/bottomNavigationItem.css +1 -0
  141. package/lib/bottom-navigation-item/bottomNavigationItem.less +78 -0
  142. package/lib/bottom-navigation-item/index.js +17 -0
  143. package/lib/bottom-navigation-item/props.js +27 -0
  144. package/lib/bottom-navigation-item/provide.js +28 -0
  145. package/lib/bottom-navigation-item/style/index.js +6 -0
  146. package/lib/bottom-navigation-item/style/less.js +6 -0
  147. package/lib/button/Button.js +13 -4
  148. package/lib/card/Card.js +34 -27
  149. package/lib/cell/Cell.js +26 -13
  150. package/lib/checkbox/Checkbox.js +26 -23
  151. package/lib/checkbox-group/CheckboxGroup.js +19 -22
  152. package/lib/chip/Chip.js +18 -7
  153. package/lib/chip/chip.css +1 -1
  154. package/lib/chip/chip.less +11 -11
  155. package/lib/col/Col.js +14 -5
  156. package/lib/collapse/Collapse.js +15 -10
  157. package/lib/collapse-item/CollapseItem.js +31 -28
  158. package/lib/collapse-item/collapseItem.css +1 -1
  159. package/lib/collapse-item/collapseItem.less +16 -16
  160. package/lib/countdown/Countdown.js +14 -10
  161. package/lib/counter/Counter.js +29 -26
  162. package/lib/date-picker/DatePicker.js +30 -23
  163. package/lib/date-picker/date-picker.css +1 -1
  164. package/lib/date-picker/date-picker.less +22 -20
  165. package/lib/date-picker/src/day-picker-panel.js +41 -32
  166. package/lib/date-picker/src/month-picker-panel.js +27 -19
  167. package/lib/date-picker/src/panel-header.js +16 -9
  168. package/lib/date-picker/src/year-picker-panel.js +19 -9
  169. package/lib/dialog/Dialog.js +36 -38
  170. package/lib/divider/Divider.js +16 -10
  171. package/lib/form/Form.js +11 -6
  172. package/lib/form-details/FormDetails.js +27 -20
  173. package/lib/icon/Icon.js +10 -1
  174. package/lib/icon/icon.css +1 -1
  175. package/lib/image/Image.js +20 -11
  176. package/lib/image-preview/ImagePreview.js +35 -33
  177. package/lib/index-anchor/IndexAnchor.js +10 -1
  178. package/lib/index-bar/IndexBar.js +24 -20
  179. package/lib/index.js +6 -0
  180. package/lib/input/Input.js +45 -43
  181. package/lib/lazy/index.js +3 -1
  182. package/lib/less.js +2 -0
  183. package/lib/list/List.js +39 -36
  184. package/lib/loading/Loading.js +33 -23
  185. package/lib/loading/loading.css +1 -1
  186. package/lib/loading/loading.less +32 -32
  187. package/lib/menu/Menu.js +12 -9
  188. package/lib/option/Option.js +16 -9
  189. package/lib/pagination/Pagination.js +36 -44
  190. package/lib/pagination/pagination.css +1 -1
  191. package/lib/pagination/pagination.less +8 -8
  192. package/lib/picker/Picker.js +51 -46
  193. package/lib/popup/Popup.js +9 -4
  194. package/lib/progress/Progress.js +45 -34
  195. package/lib/progress/progress.css +1 -1
  196. package/lib/progress/progress.less +12 -12
  197. package/lib/pull-refresh/PullRefresh.js +14 -10
  198. package/lib/radio/Radio.js +23 -22
  199. package/lib/radio-group/RadioGroup.js +17 -16
  200. package/lib/rate/Rate.js +27 -24
  201. package/lib/ripple/index.js +7 -2
  202. package/lib/row/Row.js +12 -3
  203. package/lib/select/Select.js +53 -53
  204. package/lib/skeleton/Skeleton.js +69 -78
  205. package/lib/slider/Slider.js +42 -38
  206. package/lib/slider/slider.css +1 -1
  207. package/lib/slider/slider.less +5 -5
  208. package/lib/snackbar/Snackbar.js +9 -4
  209. package/lib/snackbar/core.js +20 -25
  210. package/lib/snackbar/snackbar.css +1 -1
  211. package/lib/snackbar/snackbar.less +66 -68
  212. package/lib/space/Space.js +9 -3
  213. package/lib/step/Step.js +26 -22
  214. package/lib/step/step.css +1 -1
  215. package/lib/step/step.less +10 -10
  216. package/lib/steps/Steps.js +13 -4
  217. package/lib/sticky/Sticky.js +15 -6
  218. package/lib/style-provider/StyleProvider.js +8 -2
  219. package/lib/style.css +1 -1
  220. package/lib/style.js +2 -0
  221. package/lib/swipe/Swipe.js +23 -16
  222. package/lib/swipe-item/SwipeItem.js +10 -3
  223. package/lib/switch/Switch.js +23 -20
  224. package/lib/switch/switch.css +1 -1
  225. package/lib/switch/switch.less +2 -2
  226. package/lib/tab/Tab.js +10 -1
  227. package/lib/tab-item/TabItem.js +10 -1
  228. package/lib/table/Table.js +27 -18
  229. package/lib/tabs/Tabs.js +18 -11
  230. package/lib/tabs-items/TabsItems.js +11 -4
  231. package/lib/themes/dark/bottomNavigation.js +9 -0
  232. package/lib/themes/dark/bottomNavigationItem.js +8 -0
  233. package/lib/themes/dark/index.js +5 -1
  234. package/lib/time-picker/TimePicker.js +49 -38
  235. package/lib/time-picker/clock.js +26 -20
  236. package/lib/time-picker/timePicker.css +1 -1
  237. package/lib/time-picker/timePicker.less +11 -11
  238. package/lib/uploader/Uploader.js +60 -55
  239. package/lib/utils/components.js +39 -0
  240. package/package.json +4 -4
  241. package/types/bottomNavigation.d.ts +19 -0
  242. package/types/bottomNavigationItem.d.ts +16 -0
  243. package/types/global.d.ts +2 -0
  244. package/types/index.d.ts +2 -0
  245. package/umd/varlet.js +4 -4
@@ -7,17 +7,18 @@ import { props } from './props';
7
7
  import { toNumber } from '../utils/shared';
8
8
  import { toSizeUnit } from '../utils/elements';
9
9
  import { useForm } from '../form/provide';
10
- import { useValidation } from '../utils/components';
10
+ import { useValidation, createNamespace, call } from '../utils/components';
11
+ var {
12
+ n,
13
+ classes
14
+ } = createNamespace('counter');
11
15
  var SPEED = 100;
12
16
  var DELAY = 600;
13
17
  import { resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, resolveDirective as _resolveDirective, createVNode as _createVNode, withDirectives as _withDirectives, vModelText as _vModelText, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from "vue";
14
18
 
15
19
  var _withScopeId = n => (_pushScopeId(""), n = n(), _popScopeId(), n);
16
20
 
17
- var _hoisted_1 = {
18
- class: "var-counter var--box"
19
- };
20
- var _hoisted_2 = ["inputmode", "readonly", "disabled"];
21
+ var _hoisted_1 = ["inputmode", "readonly", "disabled"];
21
22
  export function render(_ctx, _cache) {
22
23
  var _component_var_icon = _resolveComponent("var-icon");
23
24
 
@@ -25,15 +26,17 @@ export function render(_ctx, _cache) {
25
26
 
26
27
  var _directive_ripple = _resolveDirective("ripple");
27
28
 
28
- return _openBlock(), _createElementBlock("div", _hoisted_1, [_createElementVNode("div", _mergeProps({
29
- class: ["var-counter__controller var-elevation--2", [_ctx.disabled || _ctx.formDisabled ? 'var-counter--disabled' : null, _ctx.errorMessage ? 'var-counter--error' : null]],
29
+ return _openBlock(), _createElementBlock("div", {
30
+ class: _normalizeClass(_ctx.classes(_ctx.n(), 'var--box'))
31
+ }, [_createElementVNode("div", _mergeProps({
32
+ class: _ctx.classes(_ctx.n('controller'), 'var-elevation--2', [_ctx.disabled || _ctx.formDisabled, _ctx.n('--disabled')], [_ctx.errorMessage, _ctx.n('--error')]),
30
33
  style: {
31
34
  background: _ctx.color ? _ctx.color : undefined
32
35
  }
33
36
  }, _ctx.$attrs), [_withDirectives(_createVNode(_component_var_icon, {
34
- class: _normalizeClass(["var-counter__decrement-button", [!_ctx.decrementButton ? 'var-counter--hidden' : null]]),
35
37
  "var-counter-cover": "",
36
38
  name: "minus",
39
+ class: _normalizeClass(_ctx.classes(_ctx.n('decrement-button'), [!_ctx.decrementButton, _ctx.n('--hidden')])),
37
40
  style: _normalizeStyle({
38
41
  width: _ctx.toSizeUnit(_ctx.buttonSize),
39
42
  height: _ctx.toSizeUnit(_ctx.buttonSize)
@@ -47,7 +50,7 @@ export function render(_ctx, _cache) {
47
50
  , ["class", "style", "onClick", "onTouchstart", "onTouchend", "onTouchcancel"]), [[_directive_ripple, {
48
51
  disabled: !_ctx.ripple || _ctx.disabled || _ctx.readonly || _ctx.disableDecrement || !_ctx.decrementButton || _ctx.isMin
49
52
  }]]), _withDirectives(_createElementVNode("input", {
50
- class: "var-counter__input",
53
+ class: _normalizeClass(_ctx.n('input')),
51
54
  style: _normalizeStyle({
52
55
  width: _ctx.toSizeUnit(_ctx.inputWidth),
53
56
  fontSize: _ctx.toSizeUnit(_ctx.inputTextSize)
@@ -59,12 +62,12 @@ export function render(_ctx, _cache) {
59
62
  onChange: _cache[1] || (_cache[1] = function () {
60
63
  return _ctx.handleChange && _ctx.handleChange(...arguments);
61
64
  })
62
- }, null, 44
63
- /* STYLE, PROPS, HYDRATE_EVENTS */
64
- , _hoisted_2), [[_vModelText, _ctx.inputValue]]), _withDirectives(_createVNode(_component_var_icon, {
65
- class: _normalizeClass(["var-counter__increment-button", [!_ctx.incrementButton ? 'var-counter--hidden' : null]]),
65
+ }, null, 46
66
+ /* CLASS, STYLE, PROPS, HYDRATE_EVENTS */
67
+ , _hoisted_1), [[_vModelText, _ctx.inputValue]]), _withDirectives(_createVNode(_component_var_icon, {
66
68
  "var-counter-cover": "",
67
69
  name: "plus",
70
+ class: _normalizeClass(_ctx.classes(_ctx.n('increment-button'), [!_ctx.incrementButton, _ctx.n('--hidden')])),
68
71
  style: _normalizeStyle({
69
72
  width: _ctx.toSizeUnit(_ctx.buttonSize),
70
73
  height: _ctx.toSizeUnit(_ctx.buttonSize)
@@ -83,7 +86,9 @@ export function render(_ctx, _cache) {
83
86
  "error-message": _ctx.errorMessage
84
87
  }, null, 8
85
88
  /* PROPS */
86
- , ["error-message"])]);
89
+ , ["error-message"])], 2
90
+ /* CLASS */
91
+ );
87
92
  }
88
93
  export default defineComponent({
89
94
  render,
@@ -135,12 +140,10 @@ export default defineComponent({
135
140
 
136
141
 
137
142
  var reset = () => {
138
- var _props$onUpdateModel;
139
-
140
143
  var {
141
144
  min
142
145
  } = props;
143
- (_props$onUpdateModel = props['onUpdate:modelValue']) == null ? void 0 : _props$onUpdateModel.call(props, min != null ? toNumber(min) : 0);
146
+ call(props['onUpdate:modelValue'], min != null ? toNumber(min) : 0);
144
147
  resetValidation();
145
148
  };
146
149
 
@@ -198,7 +201,7 @@ export default defineComponent({
198
201
  value
199
202
  } = event.target;
200
203
  var normalizedValue = normalizeValue(value);
201
- lazyChange ? onBeforeChange == null ? void 0 : onBeforeChange(toNumber(normalizedValue), change) : setNormalizedValue(normalizedValue);
204
+ lazyChange ? call(onBeforeChange, toNumber(normalizedValue), change) : setNormalizedValue(normalizedValue);
202
205
  validateWithTrigger('onInputChange');
203
206
  };
204
207
 
@@ -226,10 +229,10 @@ export default defineComponent({
226
229
  var value = new Decimal(toNumber(modelValue)).minus(new Decimal(toNumber(step))).toString();
227
230
  var normalizedValue = normalizeValue(value);
228
231
  var normalizedValueNum = toNumber(normalizedValue);
229
- onDecrement == null ? void 0 : onDecrement(normalizedValueNum);
232
+ call(onDecrement, normalizedValueNum);
230
233
 
231
234
  if (lazyChange) {
232
- onBeforeChange == null ? void 0 : onBeforeChange(normalizedValueNum, change);
235
+ call(onBeforeChange, normalizedValueNum, change);
233
236
  } else {
234
237
  setNormalizedValue(normalizedValue);
235
238
  validateWithTrigger('onDecrement');
@@ -260,10 +263,10 @@ export default defineComponent({
260
263
  var value = new Decimal(toNumber(modelValue)).plus(new Decimal(toNumber(step))).toString();
261
264
  var normalizedValue = normalizeValue(value);
262
265
  var normalizedValueNum = toNumber(normalizedValue);
263
- onIncrement == null ? void 0 : onIncrement(normalizedValueNum);
266
+ call(onIncrement, normalizedValueNum);
264
267
 
265
268
  if (lazyChange) {
266
- onBeforeChange == null ? void 0 : onBeforeChange(normalizedValueNum, change);
269
+ call(onBeforeChange, normalizedValueNum, change);
267
270
  } else {
268
271
  setNormalizedValue(normalizedValue);
269
272
  validateWithTrigger('onIncrement');
@@ -325,11 +328,9 @@ export default defineComponent({
325
328
  };
326
329
 
327
330
  var setNormalizedValue = normalizedValue => {
328
- var _props$onUpdateModel2;
329
-
330
331
  inputValue.value = normalizedValue;
331
332
  var normalizedValueNum = toNumber(normalizedValue);
332
- (_props$onUpdateModel2 = props['onUpdate:modelValue']) == null ? void 0 : _props$onUpdateModel2.call(props, normalizedValueNum);
333
+ call(props['onUpdate:modelValue'], normalizedValueNum);
333
334
  };
334
335
 
335
336
  var change = value => {
@@ -337,13 +338,15 @@ export default defineComponent({
337
338
  validateWithTrigger('onLazyChange');
338
339
  };
339
340
 
340
- bindForm == null ? void 0 : bindForm(counterProvider);
341
+ call(bindForm, counterProvider);
341
342
  watch(() => props.modelValue, newValue => {
342
343
  setNormalizedValue(normalizeValue(String(newValue)));
343
- props.onChange == null ? void 0 : props.onChange(toNumber(newValue));
344
+ call(props.onChange, toNumber(newValue));
344
345
  });
345
346
  setNormalizedValue(normalizeValue(String(props.modelValue)));
346
347
  return {
348
+ n,
349
+ classes,
347
350
  inputValue,
348
351
  errorMessage,
349
352
  formDisabled,
@@ -6,7 +6,12 @@ import DayPickerPanel from './src/day-picker-panel.js'
6
6
  import { props, MONTH_LIST, WEEK_HEADER } from './props';
7
7
  import { isArray, toNumber } from '../utils/shared';
8
8
  import { nextTickFrame } from '../utils/elements';
9
+ import { createNamespace, call } from '../utils/components';
9
10
  import { pack } from '../locale';
11
+ var {
12
+ n,
13
+ classes
14
+ } = createNamespace('date-picker');
10
15
  import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createCommentVNode as _createCommentVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeProps as _normalizeProps, mergeProps as _mergeProps, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, normalizeStyle as _normalizeStyle, resolveComponent as _resolveComponent, createBlock as _createBlock } from "vue";
11
16
  export function render(_ctx, _cache) {
12
17
  var _component_year_picker_panel = _resolveComponent("year-picker-panel");
@@ -16,14 +21,14 @@ export function render(_ctx, _cache) {
16
21
  var _component_day_picker_panel = _resolveComponent("day-picker-panel");
17
22
 
18
23
  return _openBlock(), _createElementBlock("div", {
19
- class: _normalizeClass(["var-date-picker", [_ctx.shadow ? 'var-elevation--2' : null]])
24
+ class: _normalizeClass(_ctx.classes(_ctx.n(), [_ctx.shadow, 'var-elevation--2']))
20
25
  }, [_createElementVNode("div", {
21
- class: "var-date-picker-title",
26
+ class: _normalizeClass(_ctx.n('title')),
22
27
  style: _normalizeStyle({
23
28
  background: _ctx.headerColor || _ctx.color
24
29
  })
25
30
  }, [_createElementVNode("div", {
26
- class: _normalizeClass(["var-date-picker-title__year", [_ctx.isYearPanel ? 'var-date-picker-title__year--active' : null]]),
31
+ class: _normalizeClass(_ctx.classes(_ctx.n('title-year'), [_ctx.isYearPanel, _ctx.n('title-year--active')])),
27
32
  onClick: _cache[0] || (_cache[0] = $event => _ctx.clickEl('year'))
28
33
  }, [_renderSlot(_ctx.$slots, "year", {
29
34
  year: _ctx.previewYear
@@ -32,10 +37,10 @@ export function render(_ctx, _cache) {
32
37
  )])], 2
33
38
  /* CLASS */
34
39
  ), _createElementVNode("div", {
35
- class: _normalizeClass(["var-date-picker-title__date", [!_ctx.isYearPanel ? 'var-date-picker-title__date--active' : null, _ctx.range ? 'var-date-picker-title__date--range' : null]]),
40
+ class: _normalizeClass(_ctx.classes(_ctx.n('title-date'), [!_ctx.isYearPanel, _ctx.n('title-date--active')], [_ctx.range, _ctx.n('title-date--range')])),
36
41
  onClick: _cache[1] || (_cache[1] = $event => _ctx.clickEl('date'))
37
42
  }, [_createVNode(_Transition, {
38
- name: _ctx.multiple ? '' : "var-date-picker" + (_ctx.reverse ? '-reverse' : '') + "-translatey"
43
+ name: _ctx.multiple ? '' : "" + _ctx.n() + (_ctx.reverse ? '-reverse' : '') + "-translatey"
39
44
  }, {
40
45
  default: _withCtx(() => {
41
46
  var _ctx$chooseMonth, _ctx$chooseMonth2, _ctx$chooseMonth3;
@@ -83,10 +88,10 @@ export function render(_ctx, _cache) {
83
88
  /* PROPS */
84
89
  , ["name"])], 2
85
90
  /* CLASS */
86
- )], 4
87
- /* STYLE */
91
+ )], 6
92
+ /* CLASS, STYLE */
88
93
  ), _createElementVNode("div", {
89
- class: "var-date-picker-body",
94
+ class: _normalizeClass(_ctx.n('body')),
90
95
  onTouchstart: _cache[2] || (_cache[2] = function () {
91
96
  return _ctx.handleTouchstart && _ctx.handleTouchstart(...arguments);
92
97
  }),
@@ -97,7 +102,7 @@ export function render(_ctx, _cache) {
97
102
  return _ctx.handleTouchend && _ctx.handleTouchend(...arguments);
98
103
  })
99
104
  }, [_createVNode(_Transition, {
100
- name: "var-date-picker-panel-fade"
105
+ name: _ctx.n() + "-panel-fade"
101
106
  }, {
102
107
  default: _withCtx(() => [_ctx.getPanelType === 'year' ? (_openBlock(), _createBlock(_component_year_picker_panel, {
103
108
  key: 0,
@@ -134,8 +139,10 @@ export function render(_ctx, _cache) {
134
139
  _: 1
135
140
  /* STABLE */
136
141
 
137
- })], 32
138
- /* HYDRATE_EVENTS */
142
+ }, 8
143
+ /* PROPS */
144
+ , ["name"])], 34
145
+ /* CLASS, HYDRATE_EVENTS */
139
146
  )], 2
140
147
  /* CLASS */
141
148
  );
@@ -317,27 +324,23 @@ export default defineComponent({
317
324
  rangeDone.value = !rangeDone.value;
318
325
 
319
326
  if (rangeDone.value) {
320
- var _props$onUpdateModel;
321
-
322
327
  var isChangeOrder = dayjs(rangeDate.value[0]).isAfter(rangeDate.value[1]);
323
328
 
324
329
  var _date = isChangeOrder ? [rangeDate.value[1], rangeDate.value[0]] : [...rangeDate.value];
325
330
 
326
- (_props$onUpdateModel = props['onUpdate:modelValue']) == null ? void 0 : _props$onUpdateModel.call(props, _date);
327
- props.onChange == null ? void 0 : props.onChange(_date);
331
+ call(props['onUpdate:modelValue'], _date);
332
+ call(props.onChange, _date);
328
333
  }
329
334
  };
330
335
 
331
336
  var updateMultiple = (date, type) => {
332
- var _props$onUpdateModel2;
333
-
334
337
  var multipleDates = type === 'month' ? chooseMonths : chooseDays;
335
338
  var formatType = type === 'month' ? 'YYYY-MM' : 'YYYY-MM-DD';
336
339
  var formatDates = multipleDates.value.map(date => dayjs(date).format(formatType));
337
340
  var index = formatDates.findIndex(choose => choose === date);
338
341
  if (index === -1) formatDates.push(date);else formatDates.splice(index, 1);
339
- (_props$onUpdateModel2 = props['onUpdate:modelValue']) == null ? void 0 : _props$onUpdateModel2.call(props, formatDates);
340
- props.onChange == null ? void 0 : props.onChange(formatDates);
342
+ call(props['onUpdate:modelValue'], formatDates);
343
+ call(props.onChange, formatDates);
341
344
  };
342
345
 
343
346
  var getReverse = (dateType, date) => {
@@ -360,8 +363,8 @@ export default defineComponent({
360
363
  var date = previewYear.value + "-" + previewMonth.value.index + "-" + day;
361
364
  var formatDate = dayjs(date).format('YYYY-MM-DD');
362
365
  if (range) updateRange(formatDate, 'day');else if (multiple) updateMultiple(formatDate, 'day');else {
363
- updateModelValue == null ? void 0 : updateModelValue(formatDate);
364
- onChange == null ? void 0 : onChange(formatDate);
366
+ call(updateModelValue, formatDate);
367
+ call(onChange, formatDate);
365
368
  }
366
369
  };
367
370
 
@@ -379,8 +382,8 @@ export default defineComponent({
379
382
  if (type === 'month' && !readonly) {
380
383
  var date = previewYear.value + "-" + month.index;
381
384
  if (range) updateRange(date, 'month');else if (multiple) updateMultiple(date, 'month');else {
382
- updateModelValue == null ? void 0 : updateModelValue(date);
383
- onChange == null ? void 0 : onChange(date);
385
+ call(updateModelValue, date);
386
+ call(onChange, date);
384
387
  }
385
388
  } else {
386
389
  previewMonth.value = month;
@@ -501,6 +504,8 @@ export default defineComponent({
501
504
  });
502
505
  watch(getPanelType, resetState);
503
506
  return {
507
+ n,
508
+ classes,
504
509
  monthPanelEl,
505
510
  dayPanelEl,
506
511
  reverse,
@@ -1 +1 @@
1
- :root { --date-picker-border-radius: 4px; --date-picker-font-size: var(--font-size-md); --date-picker-min-width: 290px; --date-picker-height: 385px; --date-picker-main-color: rgba(0, 0, 0, 0.87); --date-picker-title-padding: 16px; --date-picker-title-background: var(--color-primary); --date-picker-title-color: #fff; --date-picker-title-year-font-size: var(--font-size-md); --date-picker-title-year-font-weight: 500; --date-picker-title-year-margin-bottom: 8px; --date-picker-title-date-height: 48px; --date-picker-title-date-font-size: 34px; --date-picker-title-date-font-weight: 500; --date-picker-title-date-range-font-size: 20px; --date-picker-body-background-color: rgba(0, 0, 0, 0); --picker-header-padding: 4px 16px; --month-picker-padding: 0 12px; --month-picker-item-width: 33%; --month-picker-item-height: 56px; --month-picker-item-button-max-width: 140px; --year-picker-font-weight: 400; --year-picker-item-padding: 8px 0; --year-picker-item-active-font-size: 26px; --year-picker-item-active-font-weight: 500; --year-picker-item-active-font-padding: 10px 0; --year-picker-item-active-color: var(--color-primary); --day-picker-content-item-width: 14.28%; --day-picker-content-item-font-size: var(--font-size-sm); --day-picker-content-item-padding: 2px 0; --day-picker-content-item-button-width: 32px; --day-picker-content-item-button-height: 32px; --day-picker-content-item-button-font-size: var(--font-size-sm); --day-picker-head-item-color: rgba(0, 0, 0, 0.38); --day-picker-head-item-padding: 8px 0; --day-picker-head-item-font-weight: 600;}.var-date-picker { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-radius: var(--date-picker-border-radius); contain: layout style; display: flex; flex-direction: column; font-size: var(--date-picker-font-size); position: relative; min-width: var(--date-picker-min-width); height: var(--date-picker-height); overflow: hidden;}.var-date-picker ul { list-style: none; margin: 0; padding: 0;}.var-date-picker-title { padding: var(--date-picker-title-padding); color: var(--date-picker-title-color); background: var(--date-picker-title-background); display: flex; justify-content: space-between; flex-direction: column; flex-wrap: wrap;}.var-date-picker-title__year { opacity: 0.6; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); align-items: center; display: inline-flex; font-size: var(--date-picker-title-year-font-size); font-weight: var(--date-picker-title-year-font-weight); margin-bottom: var(--date-picker-title-year-margin-bottom); transition: 0.3s var(--cubic-bezier);}.var-date-picker-title__year--active { opacity: 1;}.var-date-picker-title__date { height: var(--date-picker-title-date-height); overflow: hidden; font-size: var(--date-picker-title-date-font-size); text-align: left; font-weight: var(--date-picker-title-date-font-weight); position: relative; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); display: flex; align-items: center; opacity: 0.6; transition: 0.3s var(--cubic-bezier);}.var-date-picker-title__date--active { opacity: 1;}.var-date-picker-title__date--range { font-size: var(--date-picker-title-date-range-font-size);}.var-date-picker-body { flex: 1; position: relative; overflow: auto; background-color: var(--date-picker-body-background-color);}.var-date-picker .var-picker-header { padding: var(--picker-header-padding); align-items: center; display: flex; justify-content: space-between; position: relative;}.var-date-picker .var-picker-header__value { flex: 1; text-align: center; position: relative; overflow: hidden; font-weight: 700; cursor: pointer; user-select: none;}.var-date-picker .var-picker-header__value div { width: 100%;}.var-date-picker .var-month-picker__content { padding: var(--month-picker-padding);}.var-date-picker .var-month-picker__content ul { display: flex; flex-wrap: wrap; justify-content: space-between;}.var-date-picker .var-month-picker__content ul li { width: var(--month-picker-item-width); display: flex; height: var(--month-picker-item-height); align-items: center; justify-content: center;}.var-date-picker .var-month-picker__button[var-month-picker-cover] { width: 100%; max-width: var(--month-picker-item-button-max-width);}.var-date-picker .var-month-picker__button[var-date-picker-color-cover='true'] { color: var(--date-picker-main-color);}.var-date-picker .var-month-picker__button-disabled { color: var(--color-text-disabled) !important; cursor: not-allowed;}.var-date-picker .var-year-picker__panel { width: 100%; height: 100%; font-weight: var(--year-picker-font-weight); padding: 0; margin: 0; list-style-type: none; overflow: auto; text-align: center;}.var-date-picker .var-year-picker__panel li { padding: var(--year-picker-item-padding); cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-date-picker .var-year-picker__panel--active { font-size: var(--year-picker-item-active-font-size); font-weight: var(--year-picker-item-active-font-weight); padding: var(--year-picker-item-active-font-padding); color: var(--year-picker-item-active-color);}.var-date-picker .var-day-picker__content ul { display: flex; flex-wrap: wrap;}.var-date-picker .var-day-picker__content ul li { position: relative; display: flex; justify-content: center; width: var(--day-picker-content-item-width); font-size: var(--day-picker-content-item-font-size); padding: var(--day-picker-content-item-padding);}.var-date-picker .var-day-picker__head li { color: var(--day-picker-head-item-color); padding: var(--day-picker-head-item-padding); font-weight: var(--day-picker-head-item-font-weight);}.var-date-picker .var-day-picker__button[var-day-picker-cover] { width: var(--day-picker-content-item-button-width); height: var(--day-picker-content-item-button-height); font-size: var(--day-picker-content-item-button-font-size);}.var-date-picker .var-day-picker__button[var-date-picker-color-cover='true'] { color: var(--date-picker-main-color);}.var-date-picker .var-day-picker__button-disabled { color: var(--color-text-disabled) !important; cursor: not-allowed;}.var-date-picker-translatey-enter-from { opacity: 0; transform: translateY(100%);}.var-date-picker-translatey-enter-active,.var-date-picker-reverse-translatey-enter-active { transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatey-leave-active,.var-date-picker-reverse-translatey-leave-active { position: absolute; transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatey-leave-to { opacity: 0; transform: translateY(-100%);}.var-date-picker-reverse-translatey-enter-from { opacity: 0; transform: translateY(-100%);}.var-date-picker-reverse-translatey-leave-to { opacity: 0; transform: translateY(100%);}.var-date-picker-panel-fade-enter-from,.var-date-picker-panel-fade-leave-to { transition: 0.3s var(--cubic-bezier); opacity: 0;}.var-date-picker-panel-fade-leave-active { position: absolute;}.var-date-picker-translatex-enter-from { opacity: 0; transform: translateX(100%);}.var-date-picker-reverse-translatex-enter-from { opacity: 0; transform: translateX(-100%);}.var-date-picker-translatex-enter-active,.var-date-picker-reverse-translatex-enter-active { transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatex-leave-active,.var-date-picker-reverse-translatex-leave-active { position: absolute; transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatex-leave-to { opacity: 0; transform: translateX(-100%);}.var-date-picker-reverse-translatex-leave-to { opacity: 0; transform: translateX(100%);}
1
+ :root { --date-picker-border-radius: 4px; --date-picker-font-size: var(--font-size-md); --date-picker-min-width: 290px; --date-picker-height: 385px; --date-picker-main-color: rgba(0, 0, 0, 0.87); --date-picker-title-padding: 16px; --date-picker-title-background: var(--color-primary); --date-picker-title-color: #fff; --date-picker-title-year-font-size: var(--font-size-md); --date-picker-title-year-font-weight: 500; --date-picker-title-year-margin-bottom: 8px; --date-picker-title-date-height: 48px; --date-picker-title-date-font-size: 34px; --date-picker-title-date-font-weight: 500; --date-picker-title-date-range-font-size: 20px; --date-picker-body-background-color: rgba(0, 0, 0, 0); --picker-header-padding: 4px 16px; --month-picker-padding: 0 12px; --month-picker-item-width: 33%; --month-picker-item-height: 56px; --month-picker-item-button-max-width: 140px; --year-picker-font-weight: 400; --year-picker-item-padding: 8px 0; --year-picker-item-active-font-size: 26px; --year-picker-item-active-font-weight: 500; --year-picker-item-active-font-padding: 10px 0; --year-picker-item-active-color: var(--color-primary); --day-picker-content-item-width: 14.28%; --day-picker-content-item-font-size: var(--font-size-sm); --day-picker-content-item-padding: 2px 0; --day-picker-content-item-button-width: 32px; --day-picker-content-item-button-height: 32px; --day-picker-content-item-button-font-size: var(--font-size-sm); --day-picker-head-item-color: rgba(0, 0, 0, 0.38); --day-picker-head-item-padding: 8px 0; --day-picker-head-item-font-weight: 600;}.var-date-picker { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-radius: var(--date-picker-border-radius); contain: layout style; display: flex; flex-direction: column; font-size: var(--date-picker-font-size); position: relative; min-width: var(--date-picker-min-width); height: var(--date-picker-height); overflow: hidden;}.var-date-picker ul { list-style: none; margin: 0; padding: 0;}.var-date-picker__title { padding: var(--date-picker-title-padding); color: var(--date-picker-title-color); background: var(--date-picker-title-background); display: flex; justify-content: space-between; flex-direction: column; flex-wrap: wrap;}.var-date-picker__title-year { opacity: 0.6; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); align-items: center; display: inline-flex; font-size: var(--date-picker-title-year-font-size); font-weight: var(--date-picker-title-year-font-weight); margin-bottom: var(--date-picker-title-year-margin-bottom); transition: 0.3s var(--cubic-bezier);}.var-date-picker__title-year--active { opacity: 1;}.var-date-picker__title-date { height: var(--date-picker-title-date-height); overflow: hidden; font-size: var(--date-picker-title-date-font-size); text-align: left; font-weight: var(--date-picker-title-date-font-weight); position: relative; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); display: flex; align-items: center; opacity: 0.6; transition: 0.3s var(--cubic-bezier);}.var-date-picker__title-date--active { opacity: 1;}.var-date-picker__title-date--range { font-size: var(--date-picker-title-date-range-font-size);}.var-date-picker__body { flex: 1; position: relative; overflow: auto; background-color: var(--date-picker-body-background-color);}.var-date-picker .var-picker-header { padding: var(--picker-header-padding); align-items: center; display: flex; justify-content: space-between; position: relative;}.var-date-picker .var-picker-header__value { flex: 1; text-align: center; position: relative; overflow: hidden; font-weight: 700; cursor: pointer; user-select: none;}.var-date-picker .var-picker-header__value div { width: 100%;}.var-date-picker .var-month-picker__content { padding: var(--month-picker-padding);}.var-date-picker .var-month-picker__content ul { display: flex; flex-wrap: wrap; justify-content: space-between;}.var-date-picker .var-month-picker__content ul li { width: var(--month-picker-item-width); display: flex; height: var(--month-picker-item-height); align-items: center; justify-content: center;}.var-date-picker .var-month-picker__button[var-month-picker-cover] { width: 100%; max-width: var(--month-picker-item-button-max-width);}.var-date-picker .var-month-picker__button[var-date-picker-color-cover='true'] { color: var(--date-picker-main-color);}.var-date-picker .var-month-picker__button--disabled { color: var(--color-text-disabled) !important; cursor: not-allowed;}.var-date-picker .var-year-picker { width: 100%; height: 100%; font-weight: var(--year-picker-font-weight); padding: 0; margin: 0; list-style-type: none; overflow: auto; text-align: center;}.var-date-picker .var-year-picker__item { padding: var(--year-picker-item-padding); cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-date-picker .var-year-picker__item--active { font-size: var(--year-picker-item-active-font-size); font-weight: var(--year-picker-item-active-font-weight); padding: var(--year-picker-item-active-font-padding); color: var(--year-picker-item-active-color);}.var-date-picker .var-day-picker__content ul { display: flex; flex-wrap: wrap;}.var-date-picker .var-day-picker__content ul li { position: relative; display: flex; justify-content: center; width: var(--day-picker-content-item-width); font-size: var(--day-picker-content-item-font-size); padding: var(--day-picker-content-item-padding);}.var-date-picker .var-day-picker__head li { color: var(--day-picker-head-item-color); padding: var(--day-picker-head-item-padding); font-weight: var(--day-picker-head-item-font-weight);}.var-date-picker .var-day-picker__button[var-day-picker-cover] { width: var(--day-picker-content-item-button-width); height: var(--day-picker-content-item-button-height); font-size: var(--day-picker-content-item-button-font-size);}.var-date-picker .var-day-picker__button:not(.var-day-picker__button--usable) { cursor: unset;}.var-date-picker .var-day-picker__button[var-date-picker-color-cover='true'] { color: var(--date-picker-main-color);}.var-date-picker .var-day-picker__button--disabled { color: var(--color-text-disabled) !important; cursor: not-allowed;}.var-date-picker-translatey-enter-from { opacity: 0; transform: translateY(100%);}.var-date-picker-translatey-enter-active,.var-date-picker-reverse-translatey-enter-active { transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatey-leave-active,.var-date-picker-reverse-translatey-leave-active { position: absolute; transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatey-leave-to { opacity: 0; transform: translateY(-100%);}.var-date-picker-reverse-translatey-enter-from { opacity: 0; transform: translateY(-100%);}.var-date-picker-reverse-translatey-leave-to { opacity: 0; transform: translateY(100%);}.var-date-picker-panel-fade-enter-from,.var-date-picker-panel-fade-leave-to { transition: 0.3s var(--cubic-bezier); opacity: 0;}.var-date-picker-panel-fade-leave-active { position: absolute;}.var-date-picker-translatex-enter-from { opacity: 0; transform: translateX(100%);}.var-date-picker-reverse-translatex-enter-from { opacity: 0; transform: translateX(-100%);}.var-date-picker-translatex-enter-active,.var-date-picker-reverse-translatex-enter-active { transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatex-leave-active,.var-date-picker-reverse-translatex-leave-active { position: absolute; transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatex-leave-to { opacity: 0; transform: translateX(-100%);}.var-date-picker-reverse-translatex-leave-to { opacity: 0; transform: translateX(100%);}
@@ -92,7 +92,7 @@
92
92
  padding: 0;
93
93
  }
94
94
 
95
- &-title {
95
+ &__title {
96
96
  padding: var(--date-picker-title-padding);
97
97
  color: var(--date-picker-title-color);
98
98
  background: var(--date-picker-title-background);
@@ -101,7 +101,7 @@
101
101
  flex-direction: column;
102
102
  flex-wrap: wrap;
103
103
 
104
- &__year {
104
+ &-year {
105
105
  opacity: 0.6;
106
106
  cursor: pointer;
107
107
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
@@ -117,7 +117,7 @@
117
117
  }
118
118
  }
119
119
 
120
- &__date {
120
+ &-date {
121
121
  height: var(--date-picker-title-date-height);
122
122
  overflow: hidden;
123
123
  font-size: var(--date-picker-title-date-font-size);
@@ -141,7 +141,7 @@
141
141
  }
142
142
  }
143
143
 
144
- &-body {
144
+ &__body {
145
145
  flex: 1;
146
146
  position: relative;
147
147
  overflow: auto;
@@ -198,28 +198,26 @@
198
198
  color: var(--date-picker-main-color);
199
199
  }
200
200
 
201
- &__button-disabled {
201
+ &__button--disabled {
202
202
  color: var(--color-text-disabled) !important;
203
203
  cursor: not-allowed;
204
204
  }
205
205
  }
206
206
 
207
207
  .var-year-picker {
208
- &__panel {
209
- width: 100%;
210
- height: 100%;
211
- font-weight: var(--year-picker-font-weight);
212
- padding: 0;
213
- margin: 0;
214
- list-style-type: none;
215
- overflow: auto;
216
- text-align: center;
208
+ width: 100%;
209
+ height: 100%;
210
+ font-weight: var(--year-picker-font-weight);
211
+ padding: 0;
212
+ margin: 0;
213
+ list-style-type: none;
214
+ overflow: auto;
215
+ text-align: center;
217
216
 
218
- li {
219
- padding: var(--year-picker-item-padding);
220
- cursor: pointer;
221
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
222
- }
217
+ &__item {
218
+ padding: var(--year-picker-item-padding);
219
+ cursor: pointer;
220
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
223
221
 
224
222
  &--active {
225
223
  font-size: var(--year-picker-item-active-font-size);
@@ -261,11 +259,15 @@
261
259
  font-size: var(--day-picker-content-item-button-font-size);
262
260
  }
263
261
 
262
+ &__button:not(.var-day-picker__button--usable) {
263
+ cursor: unset;
264
+ }
265
+
264
266
  &__button[var-date-picker-color-cover='true'] {
265
267
  color: var(--date-picker-main-color);
266
268
  }
267
269
 
268
- &__button-disabled {
270
+ &__button--disabled {
269
271
  color: var(--color-text-disabled) !important;
270
272
  cursor: not-allowed;
271
273
  }
@@ -8,31 +8,28 @@ import VarButton from '../../button';
8
8
  import { defineComponent, ref, computed, watch, onMounted, reactive } from 'vue';
9
9
  import { WEEK_HEADER } from '../props';
10
10
  import { toNumber } from '../../utils/shared';
11
+ import { createNamespace } from '../../utils/components';
11
12
  import { pack } from '../../locale';
12
13
  dayjs.extend(isSameOrBefore);
13
14
  dayjs.extend(isSameOrAfter);
14
- import { resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, mergeProps as _mergeProps, withCtx as _withCtx, Transition as _Transition, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from "vue";
15
-
16
- var _withScopeId = n => (_pushScopeId(""), n = n(), _popScopeId(), n);
17
-
18
- var _hoisted_1 = {
19
- class: "var-day-picker__panel"
20
- };
21
- var _hoisted_2 = {
22
- class: "var-day-picker__content"
23
- };
24
- var _hoisted_3 = {
25
- class: "var-day-picker__head"
26
- };
27
- var _hoisted_4 = {
28
- class: "var-day-picker__body"
29
- };
15
+ var {
16
+ n,
17
+ classes
18
+ } = createNamespace('day-picker');
19
+ var {
20
+ n: nDate
21
+ } = createNamespace('date-picker');
22
+ import { resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, mergeProps as _mergeProps, withCtx as _withCtx, Transition as _Transition } from "vue";
30
23
  export function render(_ctx, _cache) {
31
24
  var _component_panel_header = _resolveComponent("panel-header");
32
25
 
33
26
  var _component_var_button = _resolveComponent("var-button");
34
27
 
35
- return _openBlock(), _createElementBlock("div", _hoisted_1, [_createElementVNode("div", _hoisted_2, [_createVNode(_component_panel_header, {
28
+ return _openBlock(), _createElementBlock("div", {
29
+ class: _normalizeClass(_ctx.n())
30
+ }, [_createElementVNode("div", {
31
+ class: _normalizeClass(_ctx.n('content'))
32
+ }, [_createVNode(_component_panel_header, {
36
33
  ref: "headerEl",
37
34
  type: "day",
38
35
  date: _ctx.preview,
@@ -42,11 +39,13 @@ export function render(_ctx, _cache) {
42
39
  }, null, 8
43
40
  /* PROPS */
44
41
  , ["date", "disabled", "onCheckPanel", "onCheckDate"]), _createVNode(_Transition, {
45
- name: "var-date-picker" + (_ctx.reverse ? '-reverse' : '') + "-translatex"
42
+ name: "" + _ctx.nDate() + (_ctx.reverse ? '-reverse' : '') + "-translatex"
46
43
  }, {
47
44
  default: _withCtx(() => [(_openBlock(), _createElementBlock("div", {
48
45
  key: _ctx.panelKey
49
- }, [_createElementVNode("ul", _hoisted_3, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sortWeekList, week => {
46
+ }, [_createElementVNode("ul", {
47
+ class: _normalizeClass(_ctx.n('head'))
48
+ }, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sortWeekList, week => {
50
49
  return _openBlock(), _createElementBlock("li", {
51
50
  key: week.index
52
51
  }, _toDisplayString(_ctx.getDayAbbr(week.index)), 1
@@ -54,14 +53,15 @@ export function render(_ctx, _cache) {
54
53
  );
55
54
  }), 128
56
55
  /* KEYED_FRAGMENT */
57
- ))]), _createElementVNode("ul", _hoisted_4, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.days, (day, index) => {
56
+ ))], 2
57
+ /* CLASS */
58
+ ), _createElementVNode("ul", {
59
+ class: _normalizeClass(_ctx.n('body'))
60
+ }, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.days, (day, index) => {
58
61
  return _openBlock(), _createElementBlock("li", {
59
62
  key: index
60
63
  }, [_createVNode(_component_var_button, _mergeProps({
61
64
  type: "primary",
62
- class: ["var-day-picker__button", {
63
- 'var-day-picker__button--usable': day > 0
64
- }],
65
65
  "var-day-picker-cover": "",
66
66
  round: "",
67
67
  ripple: false
@@ -76,16 +76,22 @@ export function render(_ctx, _cache) {
76
76
 
77
77
  }, 1040
78
78
  /* FULL_PROPS, DYNAMIC_SLOTS */
79
- , ["class", "onClick"])]);
79
+ , ["onClick"])]);
80
80
  }), 128
81
81
  /* KEYED_FRAGMENT */
82
- ))])]))]),
82
+ ))], 2
83
+ /* CLASS */
84
+ )]))]),
83
85
  _: 1
84
86
  /* STABLE */
85
87
 
86
88
  }, 8
87
89
  /* PROPS */
88
- , ["name"])])]);
90
+ , ["name"])], 2
91
+ /* CLASS */
92
+ )], 2
93
+ /* CLASS */
94
+ );
89
95
  }
90
96
  export default defineComponent({
91
97
  render,
@@ -233,7 +239,8 @@ export default defineComponent({
233
239
  return {
234
240
  text: true,
235
241
  outline: false,
236
- textColor: ''
242
+ textColor: '',
243
+ class: n('button')
237
244
  };
238
245
  }
239
246
 
@@ -289,18 +296,16 @@ export default defineComponent({
289
296
  if (disabled) return '';
290
297
  if (computeOutline()) return color != null ? color : '';
291
298
  if (dayExist()) return '';
292
- return 'var-date-picker-color-cover';
299
+ return nDate() + "-color-cover";
293
300
  };
294
301
 
295
- var isCover = textColorOrCover().startsWith('var-date-picker');
302
+ var isCover = textColorOrCover().startsWith(nDate());
296
303
  return {
297
304
  text: computeText(),
298
305
  outline: computeOutline(),
299
306
  textColor: isCover ? '' : textColorOrCover(),
300
- 'var-date-picker-color-cover': isCover,
301
- class: {
302
- 'var-day-picker__button-disabled': disabled
303
- }
307
+ [nDate() + "-color-cover"]: isCover,
308
+ class: classes(n('button'), n('button--usable'), [disabled, n('button--disabled')])
304
309
  };
305
310
  };
306
311
 
@@ -312,7 +317,7 @@ export default defineComponent({
312
317
 
313
318
  var chooseDay = (day, event) => {
314
319
  var buttonEl = event.currentTarget;
315
- if (buttonEl.classList.contains('var-day-picker__button-disabled')) return;
320
+ if (buttonEl.classList.contains(n('button--disabled'))) return;
316
321
  emit('choose-day', day);
317
322
  }; // expose for internal
318
323
 
@@ -330,6 +335,8 @@ export default defineComponent({
330
335
  initHeader();
331
336
  });
332
337
  return {
338
+ n,
339
+ nDate,
333
340
  days,
334
341
  reverse,
335
342
  headerEl,