zartui 3.1.13 → 3.1.15

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 (106) hide show
  1. package/es/cell/index.css +1 -1
  2. package/es/dropdown-item/DropdownItem.d.ts +7 -0
  3. package/es/dropdown-item/DropdownItem.mjs +39 -25
  4. package/es/dropdown-item/index.css +1 -1
  5. package/es/dropdown-item/index.d.ts +4 -0
  6. package/es/dropdown-item/style/index.mjs +1 -0
  7. package/es/dropdown-item/types.d.ts +2 -1
  8. package/es/dropdown-menu/index.css +1 -1
  9. package/es/field/index.css +1 -1
  10. package/es/form/index.css +1 -0
  11. package/es/form/style/index.mjs +1 -0
  12. package/es/icon/config.mjs +3 -1
  13. package/es/icon/index.css +1 -1
  14. package/es/image-preview/ImagePreview.d.ts +1 -1
  15. package/es/image-preview/index.d.ts +1 -1
  16. package/es/index.d.ts +2 -1
  17. package/es/index.mjs +4 -1
  18. package/es/media-picker/MediaPicker.mjs +12 -2
  19. package/es/media-picker/type.d.ts +3 -0
  20. package/es/multiple-picker/MultiplePicker.d.ts +44 -3
  21. package/es/multiple-picker/MultiplePicker.mjs +45 -18
  22. package/es/multiple-picker/MultiplePickerOptions.mjs +5 -2
  23. package/es/multiple-picker/index.css +1 -1
  24. package/es/multiple-picker/index.d.ts +31 -3
  25. package/es/picker/Picker.d.ts +30 -4
  26. package/es/picker/Picker.mjs +69 -16
  27. package/es/picker/PickerOptions.d.ts +75 -0
  28. package/es/picker/PickerOptions.mjs +93 -0
  29. package/es/picker/index.css +1 -1
  30. package/es/picker/index.d.ts +21 -3
  31. package/es/picker/types.d.ts +5 -1
  32. package/es/popup/Popup.mjs +3 -3
  33. package/es/radio-picker/RadioPicker.d.ts +11 -11
  34. package/es/radio-picker/index.d.ts +9 -9
  35. package/es/radio-picker/style/index.mjs +1 -1
  36. package/es/skeleton/index.css +1 -1
  37. package/es/slider/Slider.d.ts +139 -0
  38. package/es/slider/Slider.mjs +335 -0
  39. package/es/slider/index.css +1 -0
  40. package/es/slider/index.d.ts +103 -0
  41. package/es/slider/index.mjs +10 -0
  42. package/es/slider/style/index.d.ts +1 -0
  43. package/es/slider/style/index.mjs +2 -0
  44. package/es/slider/types.d.ts +11 -0
  45. package/es/slider/types.mjs +0 -0
  46. package/es/style/base.css +1 -1
  47. package/es/style/css-variables.css +1 -1
  48. package/es/tabbar-item/index.css +1 -1
  49. package/es/utils/mount-component.mjs +1 -1
  50. package/lib/cell/index.css +1 -1
  51. package/lib/dropdown-item/DropdownItem.d.ts +7 -0
  52. package/lib/dropdown-item/DropdownItem.js +37 -23
  53. package/lib/dropdown-item/index.css +1 -1
  54. package/lib/dropdown-item/index.d.ts +4 -0
  55. package/lib/dropdown-item/style/index.js +1 -0
  56. package/lib/dropdown-item/types.d.ts +2 -1
  57. package/lib/dropdown-menu/index.css +1 -1
  58. package/lib/field/index.css +1 -1
  59. package/lib/form/index.css +1 -0
  60. package/lib/form/style/index.js +1 -0
  61. package/lib/icon/config.js +3 -1
  62. package/lib/icon/index.css +1 -1
  63. package/lib/image-preview/ImagePreview.d.ts +1 -1
  64. package/lib/image-preview/index.d.ts +1 -1
  65. package/lib/index.css +1 -1
  66. package/lib/index.d.ts +2 -1
  67. package/lib/index.js +4 -1
  68. package/lib/media-picker/MediaPicker.js +12 -2
  69. package/lib/media-picker/type.d.ts +3 -0
  70. package/lib/multiple-picker/MultiplePicker.d.ts +44 -3
  71. package/lib/multiple-picker/MultiplePicker.js +45 -18
  72. package/lib/multiple-picker/MultiplePickerOptions.js +5 -2
  73. package/lib/multiple-picker/index.css +1 -1
  74. package/lib/multiple-picker/index.d.ts +31 -3
  75. package/lib/picker/Picker.d.ts +30 -4
  76. package/lib/picker/Picker.js +68 -15
  77. package/lib/picker/PickerOptions.d.ts +75 -0
  78. package/lib/picker/PickerOptions.js +112 -0
  79. package/lib/picker/index.css +1 -1
  80. package/lib/picker/index.d.ts +21 -3
  81. package/lib/picker/types.d.ts +5 -1
  82. package/lib/popup/Popup.js +3 -3
  83. package/lib/radio-picker/RadioPicker.d.ts +11 -11
  84. package/lib/radio-picker/index.d.ts +9 -9
  85. package/lib/radio-picker/style/index.js +1 -1
  86. package/lib/skeleton/index.css +1 -1
  87. package/lib/slider/Slider.d.ts +139 -0
  88. package/lib/slider/Slider.js +354 -0
  89. package/lib/slider/index.css +1 -0
  90. package/lib/slider/index.d.ts +103 -0
  91. package/lib/slider/index.js +39 -0
  92. package/lib/slider/style/index.d.ts +1 -0
  93. package/lib/slider/style/index.js +2 -0
  94. package/lib/slider/types.d.ts +11 -0
  95. package/lib/slider/types.js +15 -0
  96. package/lib/style/base.css +1 -1
  97. package/lib/style/css-variables.css +1 -1
  98. package/lib/tabbar-item/index.css +1 -1
  99. package/lib/utils/mount-component.js +1 -1
  100. package/lib/web-types.json +1 -1
  101. package/lib/zartui.cjs.js +1440 -919
  102. package/lib/zartui.es.js +1440 -919
  103. package/lib/zartui.js +1440 -919
  104. package/lib/zartui.min.js +1 -1
  105. package/package.json +7 -7
  106. package/README.md +0 -23
@@ -0,0 +1,93 @@
1
+ import { createVNode as _createVNode } from "vue";
2
+ import { ref, defineComponent, reactive, watchEffect } from "vue";
3
+ import { createNamespace, isObject, makeArrayProp, makeNumberProp, makeRequiredProp, numericProp } from "../utils/index.mjs";
4
+ const [name, bem] = createNamespace("picker-options");
5
+ const pickerOptionsProps = {
6
+ value: numericProp,
7
+ fields: makeRequiredProp(Object),
8
+ readonly: Boolean,
9
+ allowHtml: Boolean,
10
+ itemHeight: makeNumberProp(0),
11
+ columnCounts: makeNumberProp(3),
12
+ options: makeArrayProp()
13
+ };
14
+ var stdin_default = defineComponent({
15
+ name,
16
+ props: pickerOptionsProps,
17
+ emits: ["change", "clickOption"],
18
+ setup(props, {
19
+ emit,
20
+ slots
21
+ }) {
22
+ const currentIndex = ref(-1);
23
+ const state = reactive({
24
+ options: props.options,
25
+ confirmed: false
26
+ });
27
+ const columnCounts = ref(props.columnCounts);
28
+ const onClickItem = (index) => {
29
+ if (props.readonly) {
30
+ return;
31
+ }
32
+ if (currentIndex.value !== index) {
33
+ currentIndex.value = index;
34
+ const value = props.options[index][props.fields.value];
35
+ emit("change", value);
36
+ }
37
+ emit("clickOption", props.options[index]);
38
+ };
39
+ const getOptionText = (option) => {
40
+ if (isObject(option) && option[props.fields.text]) {
41
+ return option[props.fields.text];
42
+ }
43
+ return option;
44
+ };
45
+ const isOptionDisabled = (option) => props.readonly || isObject(option) && option.disabled;
46
+ const genOptions = () => {
47
+ columnCounts.value = Number(props.columnCounts);
48
+ if (columnCounts.value && columnCounts.value > 3) {
49
+ columnCounts.value = 3;
50
+ }
51
+ if (columnCounts.value && columnCounts.value < 1) {
52
+ columnCounts.value = 1;
53
+ }
54
+ const optionStyle = {
55
+ height: `${props.itemHeight + 8}px`,
56
+ width: `${1 / columnCounts.value * 100}%`
57
+ };
58
+ return state.options.map((option, index) => {
59
+ const text = getOptionText(option);
60
+ const value = option[props.fields.value];
61
+ const disabled = isOptionDisabled(option);
62
+ const childData = {
63
+ class: "zt-ellipsis",
64
+ [props.allowHtml ? "innerHTML" : "textContent"]: text
65
+ };
66
+ return _createVNode("div", {
67
+ "role": "button",
68
+ "style": optionStyle,
69
+ "tabindex": disabled ? -1 : 0,
70
+ "onClick": () => onClickItem(index),
71
+ "class": [bem("item", {
72
+ disabled,
73
+ selected: value === props.value,
74
+ "disabled-selected": disabled && value === props.value,
75
+ last: (index + 1) % columnCounts.value === 0
76
+ })]
77
+ }, [slots.options ? slots.options(option) : _createVNode("div", childData, null)]);
78
+ });
79
+ };
80
+ watchEffect(() => {
81
+ currentIndex.value = props.options.findIndex((option) => option[props.fields.value] === props.value);
82
+ });
83
+ return () => _createVNode("div", {
84
+ "class": bem()
85
+ }, [_createVNode("div", {
86
+ "ref": "wrapper",
87
+ "class": bem("wrapper")
88
+ }, [genOptions()])]);
89
+ }
90
+ });
91
+ export {
92
+ stdin_default as default
93
+ };
@@ -1 +1 @@
1
- :root{--zt-picker-cancel-margin: 8px 4px 8px 16px;--zt-picker-confirm-margin: 8px 16px 8px 4px;--zt-picker-title-height: 44px;--zt-picker-title-border-radius: 16px 16px 0 0;--zt-picker-frame-background-color: var(--zt-gray-a06);--zt-picker-title-text-color: var(--zt-gray-a4);--zt-picker-background: var(--zt-background-popup);--zt-picker-toolbar-height: 60px;--zt-picker-title-background: var(--zt-background-popup);--zt-picker-option-padding: 0 var(--zt-padding-base);--zt-picker-option-text-color: var(--zt-text-color);--zt-picker-option-disabled-opacity: var(--zt-disabled-opacity);--zt-picker-loading-icon-color: var(--zt-primary-color);--zt-picker-loading-mask-color: rgba(255, 255, 255, .9);--zt-picker-mask-color: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4)), linear-gradient(0deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4))}.zt-theme-dark{--zt-picker-loading-mask-color: rgba(0, 0, 0, .6);--zt-picker-mask-color: linear-gradient(180deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1)), linear-gradient(0deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1))}.zt-picker{position:relative;background:var(--zt-picker-background);-webkit-user-select:none;user-select:none}.zt-picker__toolbar{display:flex;align-items:center;justify-content:space-between;height:var(--zt-picker-toolbar-height)}.zt-picker__cancel,.zt-picker__confirm{width:50%}.zt-picker__cancel{background:var(--zt-button-default-background);margin:var(--zt-picker-cancel-margin)}.zt-picker__confirm{margin:var(--zt-picker-confirm-margin)}.zt-picker__title{display:flex;justify-content:center;align-items:center;width:100%;height:var(--zt-picker-title-height);border-radius:var(--zt-picker-title-border-radius);font-size:var(--zt-font-size-md);background:var(--zt-picker-title-background);color:var(--zt-picker-title-text-color)}.zt-picker__columns{position:relative;display:flex;cursor:-webkit-grab;cursor:grab}.zt-picker__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--zt-picker-loading-icon-color);background:var(--zt-picker-loading-mask-color)}.zt-picker__frame{position:absolute;top:50%;z-index:2;transform:translateY(-50%);pointer-events:none;width:100%;background:var(--zt-picker-frame-background-color)}.zt-picker__mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-image:var(--zt-picker-mask-color);background-repeat:no-repeat;background-position:top,bottom;transform:translateZ(0);pointer-events:none}.zt-picker-column{position:relative;flex:1;overflow:hidden;font-size:var(--zt-font-size-lg);background:var(--zt-picker-background)}.zt-picker-column__wrapper{transition-timing-function:cubic-bezier(.23,1,.68,1)}.zt-picker-column__item{display:flex;align-items:center;justify-content:center;padding:var(--zt-picker-option-padding);color:var(--zt-picker-option-text-color)}.zt-picker-column__item--disabled{cursor:not-allowed;opacity:var(--zt-picker-option-disabled-opacity)}.zt-picker-column__item--selected{font-weight:700}.zt-picker-column__unit{background:var(--zt-picker-title-background);position:absolute;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--zt-picker-option-text-color);font-size:var(--zt-font-size-lg);width:100%;height:100%}.zt-picker-column__unit-text{margin:0 4px;font-size:var(--zt-font-size-md)}
1
+ :root{--zt-picker-cancel-margin: 8px 4px 8px 16px;--zt-picker-confirm-margin: 8px 16px 8px 4px;--zt-picker-title-height: 44px;--zt-picker-title-border-radius: 16px 16px 0 0;--zt-picker-frame-background-color: var(--zt-gray-a06);--zt-picker-title-text-color: var(--zt-gray-a4);--zt-picker-background: var(--zt-background-popup);--zt-picker-toolbar-height: 60px;--zt-picker-title-background: var(--zt-background-popup);--zt-picker-option-padding: 0 var(--zt-padding-base);--zt-picker-option-text-color: var(--zt-text-color);--zt-picker-option-disabled-opacity: var(--zt-disabled-opacity);--zt-picker-option-disabled-background: var(--zt-gray-a04);--zt-picker-loading-icon-color: var(--zt-primary-color);--zt-picker-loading-mask-color: rgba(255, 255, 255, .9);--zt-picker-mask-color: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4)), linear-gradient(0deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4));--zt-picker-warpper-padding: 12px 16px 4px 16px;--zt-picker-option-item-text-color: var(--zt-gray-a6);--zt-picker-option-item-padding: 0 4px 8px 0;--zt-picker-options-ellipsis-height: 36px;--zt-picker-options-ellipsis-border: 1px solid var(--zt-gray-a2);--zt-picker-option-item-disabled-opacity: var(--zt-disabled-opacity)}:root[zt-theme-size=large]{--zt-picker-options-ellipsis-height: 50px}.zt-theme-dark{--zt-picker-loading-mask-color: rgba(0, 0, 0, .6);--zt-picker-mask-color: linear-gradient(180deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1)), linear-gradient(0deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1))}.zt-picker{position:relative;background:var(--zt-picker-background);-webkit-user-select:none;user-select:none}.zt-picker__toolbar{display:flex;align-items:center;justify-content:space-between;height:var(--zt-picker-toolbar-height)}.zt-picker__cancel,.zt-picker__confirm{width:50%}.zt-picker__cancel{background:var(--zt-button-default-background);margin:var(--zt-picker-cancel-margin)}.zt-picker__confirm{margin:var(--zt-picker-confirm-margin)}.zt-picker__title{display:flex;justify-content:center;align-items:center;width:100%;height:var(--zt-picker-title-height);border-radius:var(--zt-picker-title-border-radius);font-size:var(--zt-font-size-md);background:var(--zt-picker-title-background);color:var(--zt-picker-title-text-color)}.zt-picker__columns{position:relative;display:flex;cursor:-webkit-grab;cursor:grab}.zt-picker__options{position:relative;display:flex;cursor:-webkit-grab;cursor:grab;overflow-y:scroll}.zt-picker__options:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:0;bottom:0;left:0;border-bottom:1px solid var(--zt-border-color);transform:scaleY(.5)}.zt-picker__options:before{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:0;right:0;left:0;border-top:1px solid var(--zt-border-color);transform:scaleY(.5)}.zt-picker__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--zt-picker-loading-icon-color);background:var(--zt-picker-loading-mask-color)}.zt-picker__frame{position:absolute;top:50%;z-index:2;transform:translateY(-50%);pointer-events:none;width:100%;background:var(--zt-picker-frame-background-color)}.zt-picker__mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-image:var(--zt-picker-mask-color);background-repeat:no-repeat;background-position:top,bottom;transform:translateZ(0);pointer-events:none}.zt-picker-column{position:relative;flex:1;overflow:hidden;font-size:var(--zt-font-size-lg);background:var(--zt-picker-background)}.zt-picker-column__wrapper{transition-timing-function:cubic-bezier(.23,1,.68,1)}.zt-picker-column__item{display:flex;align-items:center;justify-content:center;padding:var(--zt-picker-option-padding);color:var(--zt-picker-option-text-color)}.zt-picker-column__item--disabled{cursor:not-allowed;opacity:var(--zt-picker-option-disabled-opacity)}.zt-picker-column__item--selected{font-weight:700}.zt-picker-column__unit{background:var(--zt-picker-title-background);position:absolute;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--zt-picker-option-text-color);font-size:var(--zt-font-size-lg);width:100%;height:100%}.zt-picker-column__unit-text{margin:0 4px;font-size:var(--zt-font-size-md)}.zt-picker-options{flex:1;overflow-y:scroll;font-size:var(--zt-font-size-md);margin:0;outline:0 none;padding:0}.zt-picker-options__wrapper{display:flex;flex-wrap:wrap;background-color:var(--zt-picker-background);padding:var(--zt-picker-warpper-padding)}.zt-picker-options__item{color:var(--zt-picker-option-item-text-color);padding:var(--zt-picker-option-item-padding);box-sizing:border-box;text-align:center;font-size:var(--zt-font-size-md)}.zt-picker-options__item .zt-ellipsis{height:var(--zt-picker-options-ellipsis-height);line-height:var(--zt-picker-options-ellipsis-height);border-radius:calc(var(--zt-picker-options-ellipsis-height) / 2);background:var(--zt-gray-a04);padding:0 var(--zt-padding-md)}.zt-picker-options__item:active{opacity:var(--zt-active-opacity)}.zt-picker-options__item--disabled{cursor:not-allowed;color:var(--zt-gray-a2)}.zt-picker-options__item--disabled .zt-ellipsis{background:var(--zt-picker-option-disabled-background)!important}.zt-picker-options__item--last{padding-right:0}.zt-picker-options__item--selected{color:var(--zt-white)}.zt-picker-options__item--selected .zt-ellipsis{background:var(--zt-primary-color)}.zt-picker-options__item--disabled-selected{cursor:not-allowed;color:var(--zt-gray)!important}.zt-picker-options__item--disabled-selected .zt-ellipsis{background:var(--zt-picker-option-disabled-background)!important}
@@ -53,7 +53,15 @@ export declare const Picker: import("../utils").WithInstall<import("vue").Define
53
53
  type: BooleanConstructor;
54
54
  default: true;
55
55
  };
56
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "cancel" | "change" | "confirm" | "update:showPicker" | "clickOption")[], "update:modelValue" | "cancel" | "change" | "confirm" | "update:showPicker" | "clickOption", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
56
+ showType: {
57
+ type: import("vue").PropType<import("./types").PickerShowType>;
58
+ default: import("./types").PickerShowType;
59
+ };
60
+ columnCounts: {
61
+ type: NumberConstructor;
62
+ default: number;
63
+ };
64
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "cancel" | "change" | "confirm" | "clickOption" | "update:showPicker")[], "update:modelValue" | "cancel" | "change" | "confirm" | "clickOption" | "update:showPicker", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
57
65
  loading: BooleanConstructor;
58
66
  readonly: BooleanConstructor;
59
67
  allowHtml: BooleanConstructor;
@@ -107,25 +115,35 @@ export declare const Picker: import("../utils").WithInstall<import("vue").Define
107
115
  type: BooleanConstructor;
108
116
  default: true;
109
117
  };
118
+ showType: {
119
+ type: import("vue").PropType<import("./types").PickerShowType>;
120
+ default: import("./types").PickerShowType;
121
+ };
122
+ columnCounts: {
123
+ type: NumberConstructor;
124
+ default: number;
125
+ };
110
126
  }>> & {
111
127
  onChange?: ((...args: any[]) => any) | undefined;
112
128
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
113
129
  onCancel?: ((...args: any[]) => any) | undefined;
114
130
  onConfirm?: ((...args: any[]) => any) | undefined;
115
- "onUpdate:showPicker"?: ((...args: any[]) => any) | undefined;
116
131
  onClickOption?: ((...args: any[]) => any) | undefined;
132
+ "onUpdate:showPicker"?: ((...args: any[]) => any) | undefined;
117
133
  }, {
118
134
  title: string;
119
135
  modelValue: import("../utils").Numeric[];
120
136
  readonly: boolean;
121
137
  popup: boolean;
122
138
  loading: boolean;
139
+ showType: import("./types").PickerShowType;
123
140
  showTitle: boolean;
124
141
  columns: (import("./types").PickerColumn | import("./types").PickerOption)[];
125
142
  allowHtml: boolean;
126
143
  swipeDuration: string | number;
127
- showPicker: boolean;
128
144
  showToolbar: boolean;
145
+ showPicker: boolean;
146
+ columnCounts: number;
129
147
  toolbarPosition: import("./types").PickerToolbarPosition;
130
148
  optionHeight: string | number;
131
149
  visibleOptionNum: string | number;
@@ -1,6 +1,7 @@
1
1
  import type { ComponentPublicInstance } from 'vue';
2
2
  import type { Numeric } from '../utils';
3
3
  import type { PickerProps } from './Picker';
4
+ export type PickerShowType = 'default' | 'button';
4
5
  export type PickerToolbarPosition = 'top' | 'bottom';
5
6
  export type PickerFieldNames = {
6
7
  text?: string;
@@ -15,6 +16,9 @@ export type PickerOption = {
15
16
  className?: unknown;
16
17
  [key: PropertyKey]: any;
17
18
  };
19
+ export type PickerOptionsExpose = {
20
+ setConfirmIndex: (indexes: PickerOption) => void;
21
+ };
18
22
  export type PickerColumn = PickerOption[];
19
23
  export type PickerExpose = {
20
24
  confirm: () => void;
@@ -33,7 +37,7 @@ export type PickerColumnProvide = {
33
37
  setOptions: (options: PickerOption[]) => void;
34
38
  stopMomentum: () => void;
35
39
  };
36
- export type PickerInstance = ComponentPublicInstance<PickerProps, PickerExpose>;
40
+ export type PickerInstance = ComponentPublicInstance<PickerProps, PickerExpose, PickerOptionsExpose>;
37
41
  export type PickerConfirmEventParams = {
38
42
  selectedValues: Numeric[];
39
43
  selectedOptions: Array<PickerOption | undefined>;
@@ -177,13 +177,13 @@ var stdin_default = defineComponent({
177
177
  }, attrs, useScopeId()), [(_a = slots.default) == null ? void 0 : _a.call(slots), renderCloseIcon()]), [[_vShow, props.show]]);
178
178
  });
179
179
  const sliderRenderPopup = lazyRender(() => {
180
- var _a, _b;
180
+ var _a;
181
181
  return _withDirectives(_createVNode("div", _mergeProps({
182
182
  "class": bem("slider"),
183
183
  "ref": popupRef,
184
184
  "style": style.value,
185
185
  "onKeydown": onKeydown
186
- }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots), renderCloseIcon(), _createVNode("div", {
186
+ }, attrs), [renderCloseIcon(), _createVNode("div", {
187
187
  "class": bem("slider-title"),
188
188
  "style": `height:${touchAreaHeight}px;`,
189
189
  "ref": root
@@ -192,7 +192,7 @@ var stdin_default = defineComponent({
192
192
  }, null)]), _createVNode("div", {
193
193
  "class": bem("slider-content"),
194
194
  "style": contentStyle.value
195
- }, [(_b = slots.default) == null ? void 0 : _b.call(slots)])]), [[_vShow, props.show]]);
195
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]), [[_vShow, props.show]]);
196
196
  });
197
197
  const renderTransition = () => {
198
198
  const {
@@ -50,8 +50,8 @@ export declare const radioPickerProps: {
50
50
  confirmButtonText: StringConstructor;
51
51
  } & {
52
52
  columns: {
53
- type: PropType<(PickerColumn | RadioPickerOption)[]>;
54
- default: () => (PickerColumn | RadioPickerOption)[];
53
+ type: PropType<(RadioPickerOption | PickerColumn)[]>;
54
+ default: () => (RadioPickerOption | PickerColumn)[];
55
55
  };
56
56
  modelValue: {
57
57
  type: PropType<Numeric[]>;
@@ -103,8 +103,8 @@ declare const _default: import("vue").DefineComponent<{
103
103
  confirmButtonText: StringConstructor;
104
104
  } & {
105
105
  columns: {
106
- type: PropType<(PickerColumn | RadioPickerOption)[]>;
107
- default: () => (PickerColumn | RadioPickerOption)[];
106
+ type: PropType<(RadioPickerOption | PickerColumn)[]>;
107
+ default: () => (RadioPickerOption | PickerColumn)[];
108
108
  };
109
109
  modelValue: {
110
110
  type: PropType<Numeric[]>;
@@ -129,7 +129,7 @@ declare const _default: import("vue").DefineComponent<{
129
129
  type: PropType<string>;
130
130
  default: string;
131
131
  };
132
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "cancel" | "change" | "confirm" | "update:showPicker" | "clickOption")[], "update:modelValue" | "cancel" | "change" | "confirm" | "update:showPicker" | "clickOption", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
132
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "cancel" | "change" | "confirm" | "clickOption" | "update:showPicker")[], "update:modelValue" | "cancel" | "change" | "confirm" | "clickOption" | "update:showPicker", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
133
133
  loading: BooleanConstructor;
134
134
  readonly: BooleanConstructor;
135
135
  allowHtml: BooleanConstructor;
@@ -154,8 +154,8 @@ declare const _default: import("vue").DefineComponent<{
154
154
  confirmButtonText: StringConstructor;
155
155
  } & {
156
156
  columns: {
157
- type: PropType<(PickerColumn | RadioPickerOption)[]>;
158
- default: () => (PickerColumn | RadioPickerOption)[];
157
+ type: PropType<(RadioPickerOption | PickerColumn)[]>;
158
+ default: () => (RadioPickerOption | PickerColumn)[];
159
159
  };
160
160
  modelValue: {
161
161
  type: PropType<Numeric[]>;
@@ -185,8 +185,8 @@ declare const _default: import("vue").DefineComponent<{
185
185
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
186
186
  onCancel?: ((...args: any[]) => any) | undefined;
187
187
  onConfirm?: ((...args: any[]) => any) | undefined;
188
- "onUpdate:showPicker"?: ((...args: any[]) => any) | undefined;
189
188
  onClickOption?: ((...args: any[]) => any) | undefined;
189
+ "onUpdate:showPicker"?: ((...args: any[]) => any) | undefined;
190
190
  }, {
191
191
  title: string;
192
192
  modelValue: Numeric[];
@@ -194,12 +194,12 @@ declare const _default: import("vue").DefineComponent<{
194
194
  popup: boolean;
195
195
  loading: boolean;
196
196
  showTitle: boolean;
197
- columns: (PickerColumn | RadioPickerOption)[];
197
+ columns: (RadioPickerOption | PickerColumn)[];
198
198
  allowHtml: boolean;
199
+ wrapHeight: string | number;
199
200
  swipeDuration: string | number;
200
- showPicker: boolean;
201
201
  showToolbar: boolean;
202
- wrapHeight: string | number;
202
+ showPicker: boolean;
203
203
  searchable: boolean;
204
204
  autoSearch: boolean;
205
205
  searchPlaceholder: string;
@@ -24,8 +24,8 @@ export declare const RadioPicker: import("../utils").WithInstall<import("vue").D
24
24
  confirmButtonText: StringConstructor;
25
25
  } & {
26
26
  columns: {
27
- type: import("vue").PropType<(import("./types").PickerColumn | import("./types").RadioPickerOption)[]>;
28
- default: () => (import("./types").PickerColumn | import("./types").RadioPickerOption)[];
27
+ type: import("vue").PropType<(import("./types").RadioPickerOption | import("./types").PickerColumn)[]>;
28
+ default: () => (import("./types").RadioPickerOption | import("./types").PickerColumn)[];
29
29
  };
30
30
  modelValue: {
31
31
  type: import("vue").PropType<import("../utils").Numeric[]>;
@@ -50,7 +50,7 @@ export declare const RadioPicker: import("../utils").WithInstall<import("vue").D
50
50
  type: import("vue").PropType<string>;
51
51
  default: string;
52
52
  };
53
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "cancel" | "change" | "confirm" | "update:showPicker" | "clickOption")[], "update:modelValue" | "cancel" | "change" | "confirm" | "update:showPicker" | "clickOption", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
53
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "cancel" | "change" | "confirm" | "clickOption" | "update:showPicker")[], "update:modelValue" | "cancel" | "change" | "confirm" | "clickOption" | "update:showPicker", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
54
54
  loading: BooleanConstructor;
55
55
  readonly: BooleanConstructor;
56
56
  allowHtml: BooleanConstructor;
@@ -75,8 +75,8 @@ export declare const RadioPicker: import("../utils").WithInstall<import("vue").D
75
75
  confirmButtonText: StringConstructor;
76
76
  } & {
77
77
  columns: {
78
- type: import("vue").PropType<(import("./types").PickerColumn | import("./types").RadioPickerOption)[]>;
79
- default: () => (import("./types").PickerColumn | import("./types").RadioPickerOption)[];
78
+ type: import("vue").PropType<(import("./types").RadioPickerOption | import("./types").PickerColumn)[]>;
79
+ default: () => (import("./types").RadioPickerOption | import("./types").PickerColumn)[];
80
80
  };
81
81
  modelValue: {
82
82
  type: import("vue").PropType<import("../utils").Numeric[]>;
@@ -106,8 +106,8 @@ export declare const RadioPicker: import("../utils").WithInstall<import("vue").D
106
106
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
107
107
  onCancel?: ((...args: any[]) => any) | undefined;
108
108
  onConfirm?: ((...args: any[]) => any) | undefined;
109
- "onUpdate:showPicker"?: ((...args: any[]) => any) | undefined;
110
109
  onClickOption?: ((...args: any[]) => any) | undefined;
110
+ "onUpdate:showPicker"?: ((...args: any[]) => any) | undefined;
111
111
  }, {
112
112
  title: string;
113
113
  modelValue: import("../utils").Numeric[];
@@ -115,12 +115,12 @@ export declare const RadioPicker: import("../utils").WithInstall<import("vue").D
115
115
  popup: boolean;
116
116
  loading: boolean;
117
117
  showTitle: boolean;
118
- columns: (import("./types").PickerColumn | import("./types").RadioPickerOption)[];
118
+ columns: (import("./types").RadioPickerOption | import("./types").PickerColumn)[];
119
119
  allowHtml: boolean;
120
+ wrapHeight: string | number;
120
121
  swipeDuration: string | number;
121
- showPicker: boolean;
122
122
  showToolbar: boolean;
123
- wrapHeight: string | number;
123
+ showPicker: boolean;
124
124
  searchable: boolean;
125
125
  autoSearch: boolean;
126
126
  searchPlaceholder: string;
@@ -10,7 +10,7 @@ import "../../cell/index.css";
10
10
  import "../../field/index.css";
11
11
  import "../../search/index.css";
12
12
  import "../../checkbox/index.css";
13
- import "../../empty/index.css";
14
13
  import "../../radio-group/index.css";
15
14
  import "../../radio/index.css";
15
+ import "../../empty/index.css";
16
16
  import "../index.css";
@@ -1 +1 @@
1
- :root{--zt-skeleton-row-height: 16px;--zt-skeleton-row-background: var(--zt-active-color);--zt-skeleton-row-margin-top: var(--zt-padding-sm);--zt-skeleton-title-width: 40%;--zt-skeleton-avatar-size: 32px;--zt-skeleton-avatar-background: var(--zt-active-color);--zt-skeleton-duration: 1.2s}.zt-skeleton{display:flex;padding:0 var(--zt-padding-md)}.zt-skeleton__avatar{flex-shrink:0;width:var(--zt-skeleton-avatar-size);height:var(--zt-skeleton-avatar-size);margin-right:var(--zt-padding-md);background:var(--zt-skeleton-avatar-background)}.zt-skeleton__avatar--round{border-radius:var(--zt-radius-max)}.zt-skeleton__content{width:100%}.zt-skeleton__avatar+.zt-skeleton__content{padding-top:var(--zt-padding-xs)}.zt-skeleton__row,.zt-skeleton__textarea,.zt-skeleton__title{height:var(--zt-skeleton-row-height);background:var(--zt-skeleton-row-background)}.zt-skeleton__title{width:var(--zt-skeleton-title-width);margin:0}.zt-skeleton__textarea{margin-top:10px}.zt-skeleton__row:not(:first-child){margin-top:var(--zt-skeleton-row-margin-top)}.zt-skeleton__title+.zt-skeleton__row{margin-top:20px}.zt-skeleton--animate{animation:zt-skeleton-blink var(--zt-skeleton-duration) ease-in-out infinite}.zt-skeleton--round .zt-skeleton__row,.zt-skeleton--round .zt-skeleton__title{border-radius:var(--zt-radius-max)}.zt-skeleton__field{width:100%;display:flex;justify-content:space-between}.zt-skeleton__field:not(:first-child){margin-top:16px}.zt-skeleton__field-title,.zt-skeleton__field-value{height:var(--zt-skeleton-row-height);background:var(--zt-skeleton-row-background)}@keyframes zt-skeleton-blink{50%{opacity:.6}}
1
+ :root{--zt-skeleton-row-height: 16px;--zt-skeleton-row-background: var(--zt-gray-a1);--zt-skeleton-row-margin-top: var(--zt-padding-sm);--zt-skeleton-title-width: 40%;--zt-skeleton-avatar-size: 32px;--zt-skeleton-avatar-background: var(--zt-gray-a1);--zt-skeleton-duration: 1.2s}.zt-skeleton{display:flex;padding:0 var(--zt-padding-md)}.zt-skeleton__avatar{flex-shrink:0;width:var(--zt-skeleton-avatar-size);height:var(--zt-skeleton-avatar-size);margin-right:var(--zt-padding-md);background:var(--zt-skeleton-avatar-background)}.zt-skeleton__avatar--round{border-radius:var(--zt-radius-max)}.zt-skeleton__content{width:100%}.zt-skeleton__avatar+.zt-skeleton__content{padding-top:var(--zt-padding-xs)}.zt-skeleton__row,.zt-skeleton__textarea,.zt-skeleton__title{height:var(--zt-skeleton-row-height);background:var(--zt-skeleton-row-background)}.zt-skeleton__title{width:var(--zt-skeleton-title-width);margin:0}.zt-skeleton__textarea{margin-top:10px}.zt-skeleton__row:not(:first-child){margin-top:var(--zt-skeleton-row-margin-top)}.zt-skeleton__title+.zt-skeleton__row{margin-top:20px}.zt-skeleton--animate{animation:zt-skeleton-blink var(--zt-skeleton-duration) ease-in-out infinite}.zt-skeleton--round .zt-skeleton__row,.zt-skeleton--round .zt-skeleton__title{border-radius:var(--zt-radius-max)}.zt-skeleton__field{width:100%;display:flex;justify-content:space-between}.zt-skeleton__field:not(:first-child){margin-top:16px}.zt-skeleton__field-title,.zt-skeleton__field-value{height:var(--zt-skeleton-row-height);background:var(--zt-skeleton-row-background)}@keyframes zt-skeleton-blink{50%{opacity:.6}}
@@ -0,0 +1,139 @@
1
+ import { type PropType, type ExtractPropTypes } from 'vue';
2
+ type NumberRange = [number, number];
3
+ type SliderValue = number | NumberRange;
4
+ export type SliderDirection = 'horizontal' | 'vertical';
5
+ export declare const sliderProps: {
6
+ min: {
7
+ type: (NumberConstructor | StringConstructor)[];
8
+ default: number;
9
+ };
10
+ max: {
11
+ type: (NumberConstructor | StringConstructor)[];
12
+ default: number;
13
+ };
14
+ step: {
15
+ type: (NumberConstructor | StringConstructor)[];
16
+ default: number;
17
+ };
18
+ range: BooleanConstructor;
19
+ reverse: BooleanConstructor;
20
+ disabled: BooleanConstructor;
21
+ readonly: {
22
+ type: BooleanConstructor;
23
+ default: true;
24
+ };
25
+ vertical: BooleanConstructor;
26
+ barHeight: (NumberConstructor | StringConstructor)[];
27
+ buttonSize: (NumberConstructor | StringConstructor)[];
28
+ activeColor: StringConstructor;
29
+ inactiveColor: StringConstructor;
30
+ modelValue: {
31
+ type: PropType<SliderValue>;
32
+ default: number;
33
+ };
34
+ title: StringConstructor;
35
+ direction: {
36
+ type: PropType<SliderDirection>;
37
+ default: SliderDirection;
38
+ };
39
+ showPercent: {
40
+ type: BooleanConstructor;
41
+ default: true;
42
+ };
43
+ };
44
+ export type SliderProps = ExtractPropTypes<typeof sliderProps>;
45
+ declare const _default: import("vue").DefineComponent<{
46
+ min: {
47
+ type: (NumberConstructor | StringConstructor)[];
48
+ default: number;
49
+ };
50
+ max: {
51
+ type: (NumberConstructor | StringConstructor)[];
52
+ default: number;
53
+ };
54
+ step: {
55
+ type: (NumberConstructor | StringConstructor)[];
56
+ default: number;
57
+ };
58
+ range: BooleanConstructor;
59
+ reverse: BooleanConstructor;
60
+ disabled: BooleanConstructor;
61
+ readonly: {
62
+ type: BooleanConstructor;
63
+ default: true;
64
+ };
65
+ vertical: BooleanConstructor;
66
+ barHeight: (NumberConstructor | StringConstructor)[];
67
+ buttonSize: (NumberConstructor | StringConstructor)[];
68
+ activeColor: StringConstructor;
69
+ inactiveColor: StringConstructor;
70
+ modelValue: {
71
+ type: PropType<SliderValue>;
72
+ default: number;
73
+ };
74
+ title: StringConstructor;
75
+ direction: {
76
+ type: PropType<SliderDirection>;
77
+ default: SliderDirection;
78
+ };
79
+ showPercent: {
80
+ type: BooleanConstructor;
81
+ default: true;
82
+ };
83
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change" | "dragStart" | "dragEnd")[], "update:modelValue" | "change" | "dragStart" | "dragEnd", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
84
+ min: {
85
+ type: (NumberConstructor | StringConstructor)[];
86
+ default: number;
87
+ };
88
+ max: {
89
+ type: (NumberConstructor | StringConstructor)[];
90
+ default: number;
91
+ };
92
+ step: {
93
+ type: (NumberConstructor | StringConstructor)[];
94
+ default: number;
95
+ };
96
+ range: BooleanConstructor;
97
+ reverse: BooleanConstructor;
98
+ disabled: BooleanConstructor;
99
+ readonly: {
100
+ type: BooleanConstructor;
101
+ default: true;
102
+ };
103
+ vertical: BooleanConstructor;
104
+ barHeight: (NumberConstructor | StringConstructor)[];
105
+ buttonSize: (NumberConstructor | StringConstructor)[];
106
+ activeColor: StringConstructor;
107
+ inactiveColor: StringConstructor;
108
+ modelValue: {
109
+ type: PropType<SliderValue>;
110
+ default: number;
111
+ };
112
+ title: StringConstructor;
113
+ direction: {
114
+ type: PropType<SliderDirection>;
115
+ default: SliderDirection;
116
+ };
117
+ showPercent: {
118
+ type: BooleanConstructor;
119
+ default: true;
120
+ };
121
+ }>> & {
122
+ onChange?: ((...args: any[]) => any) | undefined;
123
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
124
+ onDragStart?: ((...args: any[]) => any) | undefined;
125
+ onDragEnd?: ((...args: any[]) => any) | undefined;
126
+ }, {
127
+ reverse: boolean;
128
+ range: boolean;
129
+ max: string | number;
130
+ disabled: boolean;
131
+ vertical: boolean;
132
+ direction: SliderDirection;
133
+ modelValue: SliderValue;
134
+ readonly: boolean;
135
+ step: string | number;
136
+ min: string | number;
137
+ showPercent: boolean;
138
+ }, {}>;
139
+ export default _default;