@opentiny/vue-drawer 2.13.0 → 2.14.0

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.
package/lib/index.js CHANGED
@@ -12,7 +12,7 @@ function _extends() {
12
12
  };
13
13
  return _extends.apply(this, arguments);
14
14
  }
15
- import { $prefix, $props, $setup } from "@opentiny/vue-common";
15
+ import { $prefix, $setup, $props } from "@opentiny/vue-common";
16
16
  import PcTemplate from "./pc.js";
17
17
  import MobileFirstTemplate from "./mobile-first.js";
18
18
  var template = function template2(mode) {
@@ -29,68 +29,72 @@ var template = function template2(mode) {
29
29
  var $constants = {
30
30
  SCROLL_LOCK_CLASS: function SCROLL_LOCK_CLASS(mode) {
31
31
  var scrollLockClasses = {
32
- "mobile-first": "overflow-hidden"
32
+ "mobile-first": "overflow-hidden",
33
+ "pc": "tiny-popup-parent--hidden tiny-dialog-box__scroll-lock"
33
34
  };
34
35
  return scrollLockClasses[mode] || "";
35
- }
36
+ },
37
+ DEFAULT_WIDTH: "500px"
36
38
  };
39
+ var drawerProps = _extends({}, $props, {
40
+ _constants: {
41
+ type: Object,
42
+ default: function _default() {
43
+ return $constants;
44
+ }
45
+ },
46
+ visible: {
47
+ type: Boolean,
48
+ default: false
49
+ },
50
+ customClass: [String, Object, Array],
51
+ placement: {
52
+ type: String,
53
+ default: "right"
54
+ },
55
+ width: {
56
+ type: String
57
+ },
58
+ title: String,
59
+ showClose: {
60
+ type: Boolean,
61
+ default: true
62
+ },
63
+ showHeader: {
64
+ type: Boolean,
65
+ default: true
66
+ },
67
+ showFooter: {
68
+ type: Boolean,
69
+ default: false
70
+ },
71
+ mask: {
72
+ type: Boolean,
73
+ default: true
74
+ },
75
+ maskClosable: {
76
+ type: Boolean,
77
+ default: true
78
+ },
79
+ dragable: Boolean,
80
+ lockScroll: {
81
+ type: Boolean,
82
+ default: true
83
+ },
84
+ flex: {
85
+ type: Boolean,
86
+ default: false
87
+ },
88
+ zIndex: {
89
+ type: Number,
90
+ default: 2e3
91
+ },
92
+ beforeClose: Function,
93
+ tipsProps: Object
94
+ });
37
95
  var Drawer = {
38
96
  name: $prefix + "Drawer",
39
- props: _extends({}, $props, {
40
- _constants: {
41
- type: Object,
42
- default: function _default() {
43
- return $constants;
44
- }
45
- },
46
- visible: {
47
- type: Boolean,
48
- default: false
49
- },
50
- customClass: [String, Object, Array],
51
- placement: {
52
- type: String,
53
- default: "right"
54
- },
55
- width: {
56
- type: String,
57
- default: "500px"
58
- },
59
- title: String,
60
- showClose: {
61
- type: Boolean,
62
- default: true
63
- },
64
- showHeader: {
65
- type: Boolean,
66
- default: true
67
- },
68
- showFooter: {
69
- type: Boolean,
70
- default: false
71
- },
72
- mask: {
73
- type: Boolean,
74
- default: true
75
- },
76
- maskClosable: {
77
- type: Boolean,
78
- default: true
79
- },
80
- dragable: Boolean,
81
- lockScroll: {
82
- type: Boolean,
83
- default: true
84
- },
85
- flex: {
86
- type: Boolean,
87
- default: false
88
- },
89
- zIndex: {
90
- type: Number,
91
- default: 2e3
92
- }
93
- }),
97
+ props: drawerProps,
94
98
  setup: function setup(props, context) {
95
99
  return $setup({
96
100
  props,
@@ -99,7 +103,7 @@ var Drawer = {
99
103
  });
100
104
  }
101
105
  };
102
- var version = "2.13.0";
106
+ var version = "2.14.0";
103
107
  Drawer.model = {
104
108
  prop: "modelValue",
105
109
  event: "update:modelValue"
@@ -61,7 +61,7 @@ var __vue2_script = {
61
61
  TinyButton: Button,
62
62
  IconClose: IconClose()
63
63
  },
64
- props: [].concat(props, ["visible", "title", "showHeader", "showFooter", "customClass", "placement", "width", "mask", "dragable", "maskClosable", "lockScroll", "flex"]),
64
+ props: [].concat(props, ["visible", "title", "showHeader", "showFooter", "customClass", "placement", "width", "mask", "dragable", "maskClosable", "lockScroll", "flex", "beforeClose"]),
65
65
  setup: function setup(props2, context) {
66
66
  return _setup({
67
67
  props: props2,
@@ -93,7 +93,7 @@ var render = function render2() {
93
93
  }),
94
94
  on: {
95
95
  "click": function click($event) {
96
- _vm.maskClosable && _vm.close();
96
+ return _vm.handleClose("mask");
97
97
  }
98
98
  }
99
99
  }) : _vm._e(), _c("div", {
@@ -105,15 +105,15 @@ var render = function render2() {
105
105
  }, {
106
106
  "max-h-full": ["top", "bottom"].includes(_vm.placement)
107
107
  }, {
108
- "left-0 bottom-0 translate-y-full border-t-0.5": _vm.placement === "bottom"
108
+ "left-0 bottom-0 translate-y-full border-t-0.5 rounded-t-lg": _vm.placement === "bottom"
109
109
  }, {
110
- "left-0 top-0 -translate-y-full border-b-0.5": _vm.placement === "top"
110
+ "left-0 top-0 -translate-y-full border-b-0.5 rounded-b-lg": _vm.placement === "top"
111
111
  }, {
112
112
  "translate-y-0": ["top", "bottom"].includes(_vm.placement) && _vm.state.toggle
113
113
  }, {
114
- "left-0 top-0 -translate-x-full border-r-0.5": _vm.placement === "left"
114
+ "left-0 top-0 -translate-x-full border-r-0.5 rounded-r-lg": _vm.placement === "left"
115
115
  }, {
116
- "right-0 top-0 translate-x-full border-l-0.5": _vm.placement === "right"
116
+ "right-0 top-0 translate-x-full border-l-0.5 rounded-l-lg": _vm.placement === "right"
117
117
  }, {
118
118
  "translate-x-0": ["left", "right"].includes(_vm.placement) && _vm.state.toggle
119
119
  }, _vm.customClass),
@@ -148,7 +148,9 @@ var render = function render2() {
148
148
  "custom-class": "h-5 w-5 cursor-pointer"
149
149
  },
150
150
  on: {
151
- "click": _vm.close
151
+ "click": function click($event) {
152
+ return _vm.handleClose("close");
153
+ }
152
154
  }
153
155
  })];
154
156
  })], 2)];
@@ -174,7 +176,9 @@ var render = function render2() {
174
176
  "tiny_mode": "mobile-first"
175
177
  },
176
178
  on: {
177
- "click": _vm.close
179
+ "click": function click($event) {
180
+ return _vm.handleClose("cancel");
181
+ }
178
182
  }
179
183
  }, [_vm._v(_vm._s(_vm.t("ui.button.cancel")))]), _c("tiny-button", {
180
184
  staticClass: "ml-2",
@@ -183,7 +187,9 @@ var render = function render2() {
183
187
  "type": "primary"
184
188
  },
185
189
  on: {
186
- "click": _vm.confirm
190
+ "click": function click($event) {
191
+ return _vm.handleClose("confirm");
192
+ }
187
193
  }
188
194
  }, [_vm._v(_vm._s(_vm.t("ui.button.confirm")))])];
189
195
  })], 2)]) : _vm._e()])])]);
package/lib/pc.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { renderless, api } from "@opentiny/vue-renderless/drawer/vue";
2
2
  import { props, setup as _setup } from "@opentiny/vue-common";
3
3
  import "@opentiny/vue-theme/drawer/index.css";
4
- import { IconClose } from "@opentiny/vue-icon";
4
+ import { iconClose, iconHelpCircle } from "@opentiny/vue-icon";
5
5
  import Button from "@opentiny/vue-button";
6
+ import Tooltip from "@opentiny/vue-tooltip";
6
7
  function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
7
8
  var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports;
8
9
  if (render) {
@@ -60,9 +61,11 @@ function normalizeComponent(scriptExports, render, staticRenderFns, functionalTe
60
61
  var __vue2_script = {
61
62
  components: {
62
63
  TinyButton: Button,
63
- IconClose: IconClose()
64
+ TinyTooltip: Tooltip,
65
+ IconClose: iconClose(),
66
+ IconHelpCircle: iconHelpCircle()
64
67
  },
65
- props: [].concat(props, ["visible", "title", "showHeader", "showFooter", "customClass", "placement", "width", "mask", "dragable", "maskClosable", "lockScroll", "flex", "showClose", "zIndex"]),
68
+ props: [].concat(props, ["visible", "title", "showHeader", "showFooter", "customClass", "placement", "width", "mask", "dragable", "maskClosable", "lockScroll", "flex", "showClose", "zIndex", "beforeClose", "tipsProps"]),
66
69
  setup: function setup(props2, context) {
67
70
  return _setup({
68
71
  props: props2,
@@ -95,7 +98,7 @@ var render = function render2() {
95
98
  },
96
99
  on: {
97
100
  "click": function click($event) {
98
- _vm.maskClosable && _vm.close();
101
+ return _vm.handleClose("mask");
99
102
  }
100
103
  }
101
104
  }) : _vm._e()]), _c("transition", {
@@ -117,7 +120,7 @@ var render = function render2() {
117
120
  "is-bottom": _vm.placement === "bottom",
118
121
  "drag-effects": !_vm.state.dragEvent.isDrag,
119
122
  "toggle": _vm.state.toggle
120
- }, _vm.customClass],
123
+ }, "tiny-drawer-main", _vm.customClass],
121
124
  style: {
122
125
  width: ["left", "right"].includes(_vm.placement) ? _vm.state.computedWidth : null,
123
126
  zIndex: _vm.zIndex
@@ -142,9 +145,13 @@ var render = function render2() {
142
145
  }, [_vm._t("header", function() {
143
146
  return [_c("div", {
144
147
  staticClass: "tiny-drawer__header"
148
+ }, [_c("div", {
149
+ staticClass: "tiny-drawer__header-left"
145
150
  }, [_vm.title ? _c("div", {
146
151
  staticClass: "tiny-drawer__title"
147
- }, [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _c("div", {
152
+ }, [_vm._v(_vm._s(_vm.title))]) : _vm._e(), _vm.tipsProps ? _c("tiny-tooltip", _vm._b({}, "tiny-tooltip", _vm.tipsProps, false), [_c("icon-help-circle", {
153
+ staticClass: "tiny-drawer__help-icon"
154
+ })], 1) : _vm._e()], 1), _c("div", {
148
155
  staticClass: "tiny-drawer__header-right"
149
156
  }, [_vm._t("header-right")], 2)])];
150
157
  }), _vm.showClose ? _c("button", {
@@ -154,7 +161,9 @@ var render = function render2() {
154
161
  "aria-label": "Close"
155
162
  },
156
163
  on: {
157
- "click": _vm.close
164
+ "click": function click($event) {
165
+ return _vm.handleClose("close");
166
+ }
158
167
  }
159
168
  }, [_c("icon-close", {
160
169
  staticClass: "tiny-svg-size tiny-drawer__close"
@@ -162,7 +171,7 @@ var render = function render2() {
162
171
  ref: "body",
163
172
  class: ["tiny-drawer__body", {
164
173
  "flex flex-col": _vm.flex
165
- }],
174
+ }, "drawer-body"],
166
175
  attrs: {
167
176
  "data-tag": "drawer-body"
168
177
  }
@@ -174,18 +183,28 @@ var render = function render2() {
174
183
  }
175
184
  }, [_vm._t("footer", function() {
176
185
  return [_c("tiny-button", {
186
+ class: ["tiny-drawer__confirm-btn", {
187
+ reverse: _vm.state.btnOrderReversed
188
+ }],
177
189
  attrs: {
178
190
  "type": "primary"
179
191
  },
180
192
  on: {
181
- "click": _vm.confirm
193
+ "click": function click($event) {
194
+ return _vm.handleClose("confirm");
195
+ }
182
196
  }
183
197
  }, [_vm._v(_vm._s(_vm.t("ui.button.confirm")))]), _c("tiny-button", {
198
+ class: ["tiny-drawer__cancel-btn", {
199
+ reverse: _vm.state.btnOrderReversed
200
+ }],
184
201
  attrs: {
185
202
  "plain": ""
186
203
  },
187
204
  on: {
188
- "click": _vm.close
205
+ "click": function click($event) {
206
+ return _vm.handleClose("cancel");
207
+ }
189
208
  }
190
209
  }, [_vm._v(_vm._s(_vm.t("ui.button.cancel")))])];
191
210
  })], 2) : _vm._e()])])])], 1);
package/package.json CHANGED
@@ -1,15 +1,18 @@
1
1
  {
2
2
  "name": "@opentiny/vue-drawer",
3
- "version": "2.13.0",
3
+ "version": "2.14.0",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib/index.js",
7
7
  "sideEffects": false,
8
8
  "type": "module",
9
9
  "dependencies": {
10
- "@opentiny/vue-button": "~2.13.0",
11
- "@opentiny/vue-common": "~2.13.0",
12
- "@opentiny/vue-renderless": "~3.13.0"
10
+ "@opentiny/vue-button": "~2.14.0",
11
+ "@opentiny/vue-tooltip": "~2.14.0",
12
+ "@opentiny/vue-common": "~2.14.0",
13
+ "@opentiny/vue-renderless": "~3.14.0",
14
+ "@opentiny/vue-icon": "~2.14.0",
15
+ "@opentiny/vue-theme": "~3.14.0"
13
16
  },
14
17
  "license": "MIT",
15
18
  "types": "index.d.ts"
package/src/index.d.ts CHANGED
@@ -1,10 +1,74 @@
1
+ export declare const drawerProps: {
2
+ _constants: {
3
+ type: ObjectConstructor;
4
+ default: () => {
5
+ SCROLL_LOCK_CLASS(mode: string): string;
6
+ DEFAULT_WIDTH: string;
7
+ };
8
+ };
9
+ visible: {
10
+ type: BooleanConstructor;
11
+ default: boolean;
12
+ };
13
+ customClass: (ArrayConstructor | ObjectConstructor | StringConstructor)[];
14
+ placement: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ width: {
19
+ type: StringConstructor;
20
+ };
21
+ title: StringConstructor;
22
+ showClose: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ showHeader: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ showFooter: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
34
+ mask: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ maskClosable: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
42
+ dragable: BooleanConstructor;
43
+ lockScroll: {
44
+ type: BooleanConstructor;
45
+ default: boolean;
46
+ };
47
+ flex: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
51
+ zIndex: {
52
+ type: NumberConstructor;
53
+ default: number;
54
+ };
55
+ beforeClose: FunctionConstructor;
56
+ tipsProps: ObjectConstructor;
57
+ tiny_mode: StringConstructor;
58
+ tiny_mode_root: BooleanConstructor;
59
+ tiny_template: (ObjectConstructor | FunctionConstructor)[];
60
+ tiny_renderless: FunctionConstructor;
61
+ tiny_theme: StringConstructor;
62
+ tiny_chart_theme: ObjectConstructor;
63
+ };
1
64
  declare const _default: {
2
65
  name: string;
3
66
  props: {
4
67
  _constants: {
5
68
  type: ObjectConstructor;
6
69
  default: () => {
7
- SCROLL_LOCK_CLASS(mode: any): any;
70
+ SCROLL_LOCK_CLASS(mode: string): string;
71
+ DEFAULT_WIDTH: string;
8
72
  };
9
73
  };
10
74
  visible: {
@@ -18,7 +82,6 @@ declare const _default: {
18
82
  };
19
83
  width: {
20
84
  type: StringConstructor;
21
- default: string;
22
85
  };
23
86
  title: StringConstructor;
24
87
  showClose: {
@@ -54,6 +117,8 @@ declare const _default: {
54
117
  type: NumberConstructor;
55
118
  default: number;
56
119
  };
120
+ beforeClose: FunctionConstructor;
121
+ tipsProps: ObjectConstructor;
57
122
  tiny_mode: StringConstructor;
58
123
  tiny_mode_root: BooleanConstructor;
59
124
  tiny_template: (ObjectConstructor | FunctionConstructor)[];
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue/types/vue").ExtendedVue<import("vue").default, unknown, unknown, unknown, Record<"title" | "tiny_mode" | "tiny_mode_root" | "tiny_template" | "tiny_renderless" | "_constants" | "tiny_theme" | "tiny_chart_theme" | "width" | "mask" | "visible" | "showHeader" | "showFooter" | "customClass" | "maskClosable" | "placement" | "lockScroll" | "flex" | "dragable", any>>;
1
+ declare const _default: import("vue/types/vue").ExtendedVue<import("vue").default, unknown, unknown, unknown, Record<"title" | "tiny_mode" | "tiny_mode_root" | "tiny_template" | "tiny_renderless" | "_constants" | "tiny_theme" | "tiny_chart_theme" | "width" | "mask" | "visible" | "showHeader" | "showFooter" | "customClass" | "maskClosable" | "lockScroll" | "flex" | "beforeClose" | "placement" | "dragable", any>>;
2
2
  export default _default;
package/src/pc.vue.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue/types/vue").ExtendedVue<import("vue").default, unknown, unknown, unknown, Record<"title" | "tiny_mode" | "tiny_mode_root" | "tiny_template" | "tiny_renderless" | "_constants" | "tiny_theme" | "tiny_chart_theme" | "width" | "mask" | "visible" | "showHeader" | "showFooter" | "customClass" | "maskClosable" | "placement" | "zIndex" | "showClose" | "lockScroll" | "flex" | "dragable", any>>;
1
+ declare const _default: import("vue/types/vue").ExtendedVue<import("vue").default, unknown, unknown, unknown, Record<"title" | "tiny_mode" | "tiny_mode_root" | "tiny_template" | "tiny_renderless" | "_constants" | "tiny_theme" | "tiny_chart_theme" | "width" | "mask" | "visible" | "showHeader" | "showFooter" | "showClose" | "customClass" | "maskClosable" | "lockScroll" | "flex" | "beforeClose" | "placement" | "zIndex" | "dragable" | "tipsProps", any>>;
2
2
  export default _default;