@opentiny/vue-dropdown-item 3.6.7 → 3.8.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
@@ -15,9 +15,12 @@ function _extends() {
15
15
  import { defineComponent, $prefix, $props, $setup } from "@opentiny/vue-common";
16
16
  import PcTemplate from "./pc.js";
17
17
  import MobileTemplate from "./mobile.js";
18
+ import MobileFirstTemplate from "./mobile-first.js";
18
19
  var template = function template2(mode) {
19
20
  if ("mobile" === (process.env.TINY_MODE || mode))
20
21
  return MobileTemplate;
22
+ else if ("mobile-first" === (process.env.TINY_MODE || mode))
23
+ return MobileFirstTemplate;
21
24
  else
22
25
  return PcTemplate;
23
26
  };
@@ -58,6 +61,24 @@ var DropdownItem = defineComponent({
58
61
  textField: {
59
62
  type: String,
60
63
  default: "label"
64
+ },
65
+ selected: {
66
+ type: Boolean,
67
+ default: false
68
+ },
69
+ selectedField: {
70
+ type: String,
71
+ default: "selected"
72
+ },
73
+ multiStage: {
74
+ type: Boolean,
75
+ default: false
76
+ },
77
+ currentIndex: {
78
+ type: Number,
79
+ default: function _default3() {
80
+ return -1;
81
+ }
61
82
  }
62
83
  }),
63
84
  setup: function setup(props, context) {
@@ -0,0 +1,100 @@
1
+ import { defineComponent, props, setup as _setup } from "@opentiny/vue-common";
2
+ import { renderless, api } from "@opentiny/vue-renderless/dropdown-item/mf";
3
+ import { openBlock, createElementBlock, normalizeClass, withModifiers, createElementVNode, createBlock, resolveDynamicComponent, createCommentVNode, renderSlot } from "vue";
4
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
5
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
6
+ if (it)
7
+ return (it = it.call(o)).next.bind(it);
8
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
9
+ if (it)
10
+ o = it;
11
+ var i = 0;
12
+ return function() {
13
+ if (i >= o.length)
14
+ return { done: true };
15
+ return { done: false, value: o[i++] };
16
+ };
17
+ }
18
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
19
+ }
20
+ function _unsupportedIterableToArray(o, minLen) {
21
+ if (!o)
22
+ return;
23
+ if (typeof o === "string")
24
+ return _arrayLikeToArray(o, minLen);
25
+ var n = Object.prototype.toString.call(o).slice(8, -1);
26
+ if (n === "Object" && o.constructor)
27
+ n = o.constructor.name;
28
+ if (n === "Map" || n === "Set")
29
+ return Array.from(o);
30
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
31
+ return _arrayLikeToArray(o, minLen);
32
+ }
33
+ function _arrayLikeToArray(arr, len) {
34
+ if (len == null || len > arr.length)
35
+ len = arr.length;
36
+ for (var i = 0, arr2 = new Array(len); i < len; i++)
37
+ arr2[i] = arr[i];
38
+ return arr2;
39
+ }
40
+ var _export_sfc = function _export_sfc2(sfc, props) {
41
+ var target = sfc.__vccOpts || sfc;
42
+ for (var _iterator = _createForOfIteratorHelperLoose(props), _step; !(_step = _iterator()).done; ) {
43
+ var _step$value = _step.value, key = _step$value[0], val = _step$value[1];
44
+ target[key] = val;
45
+ }
46
+ return target;
47
+ };
48
+
49
+ var _sfc_main = defineComponent({
50
+ props: [].concat(props, ["disabled", "icon", "itemData", "selected", "label", "level", "currentIndex"]),
51
+ setup: function setup(props2, context) {
52
+ return _setup({
53
+ props: props2,
54
+ context,
55
+ renderless,
56
+ api
57
+ });
58
+ }
59
+ });
60
+ var _hoisted_1 = ["aria-disabled", "tabindex"];
61
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
62
+ return openBlock(), createElementBlock("li", {
63
+ onMouseenter: _cache[0] || (_cache[0] = function() {
64
+ return _ctx.mouseEnter && _ctx.mouseEnter.apply(_ctx, arguments);
65
+ }),
66
+ onMouseleave: _cache[1] || (_cache[1] = function() {
67
+ return _ctx.mouseLeave && _ctx.mouseLeave.apply(_ctx, arguments);
68
+ }),
69
+ class: normalizeClass(["list-none leading-10 sm:leading-8 m-0 cursor-pointer outline-0 min-w-[4.5rem] max-w-[13.5rem] w-full [&_svg]:sm:w-3.5 [&_svg]:sm:h-3.5 [&_svg]:sm:mr-1.5 [&_svg]:mr-2 [&_svg]:align-text-bottom", {
70
+ "text-color-text-primary active:bg-color-bg-4 visited:text-color-brand hover:bg-color-bg-4 focus:bg-color-bg-4": !_ctx.disabled
71
+ }, {
72
+ "cursor-not-allowed text-color-text-disabled [&_svg]:fill-color-text-disabled": _ctx.disabled
73
+ }, {
74
+ "text-color-brand-focus": _ctx.dataStore.checkedStatus && _ctx.selected
75
+ }, {
76
+ "!px-0 sm:!px-0": _ctx.dataStore.multiStage
77
+ }]),
78
+ onClick: _cache[2] || (_cache[2] = withModifiers(function() {
79
+ return _ctx.handleClick && _ctx.handleClick.apply(_ctx, arguments);
80
+ }, ["stop"])),
81
+ "aria-disabled": _ctx.disabled,
82
+ tabindex: _ctx.disabled ? null : -1
83
+ }, [createElementVNode(
84
+ "div",
85
+ {
86
+ ref: "level",
87
+ class: normalizeClass(["sm:text-xs text-sm", _ctx.level === "2" ? "mx-6 overflow-hidden text-ellipsis whitespace-nowrap" : "mx-4 sm:mx-3 overflow-hidden text-ellipsis whitespace-nowrap"])
88
+ },
89
+ [_ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), {
90
+ key: 0,
91
+ class: "sm:w-3.5 sm:h-3.5 sm:mr-1.5 mr-2 align-text-bottom"
92
+ })) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default")],
93
+ 2
94
+ /* CLASS */
95
+ )], 42, _hoisted_1);
96
+ }
97
+ var mobileFirst = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
98
+ export {
99
+ mobileFirst as default
100
+ };
package/lib/mobile.js CHANGED
@@ -51,7 +51,7 @@ var _export_sfc = function _export_sfc2(sfc, props) {
51
51
  return target;
52
52
  };
53
53
 
54
- var _sfc_main = /* @__PURE__ */ defineComponent({
54
+ var _sfc_main = defineComponent({
55
55
  directives: {
56
56
  Clickoutside
57
57
  },
package/lib/pc.js CHANGED
@@ -2,7 +2,7 @@ import { defineComponent, $prefix, props, setup as _setup } from "@opentiny/vue-
2
2
  import { renderless, api } from "@opentiny/vue-renderless/dropdown-item/vue";
3
3
  import { iconDeltaLeft } from "@opentiny/vue-icon";
4
4
  import "@opentiny/vue-theme/dropdown-item/index.css";
5
- import { resolveComponent, openBlock, createElementBlock, normalizeClass, withModifiers, createVNode, createCommentVNode, createElementVNode, createBlock, resolveDynamicComponent, renderSlot, toDisplayString, Fragment, renderList, withCtx } from "vue";
5
+ import { resolveComponent, openBlock, createElementBlock, Fragment, createCommentVNode, createElementVNode, normalizeClass, withModifiers, createVNode, createBlock, resolveDynamicComponent, renderSlot, toDisplayString, renderList, withCtx } from "vue";
6
6
  function _createForOfIteratorHelperLoose(o, allowArrayLike) {
7
7
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
8
8
  if (it)
@@ -48,7 +48,7 @@ var _export_sfc = function _export_sfc2(sfc, props) {
48
48
  return target;
49
49
  };
50
50
 
51
- var _sfc_main = /* @__PURE__ */ defineComponent({
51
+ var _sfc_main = defineComponent({
52
52
  name: $prefix + "DropdownItem",
53
53
  componentName: $prefix + "DropdownItem",
54
54
  emits: ["item-click"],
@@ -67,74 +67,83 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
67
67
  });
68
68
  var _hoisted_1 = ["aria-disabled", "tabindex"];
69
69
  var _hoisted_2 = {
70
- key: 0,
71
- class: "tiny-dropdown-menu__item-expand"
70
+ class: "tiny-dropdown-item__wrap"
72
71
  };
73
72
  var _hoisted_3 = {
74
- class: "tiny-dropdown-menu__item-content"
73
+ key: 0,
74
+ class: "tiny-dropdown-item__expand tiny-dropdown-menu__item-expand"
75
+ };
76
+ var _hoisted_4 = {
77
+ class: "tiny-dropdown-item__content tiny-dropdown-menu__item-content"
75
78
  };
76
79
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
77
80
  var _component_icon_delta_left = resolveComponent("icon-delta-left");
78
81
  var _component_tiny_dropdown_item = resolveComponent("tiny-dropdown-item");
79
- return openBlock(), createElementBlock("li", {
80
- class: normalizeClass(["tiny-dropdown-menu__item", {
81
- "is-disabled": _ctx.disabled,
82
- "tiny-dropdown-menu__item--divided": _ctx.divided
83
- }]),
84
- ref: "dropdownItem",
85
- onClick: _cache[0] || (_cache[0] = function() {
86
- return _ctx.handleClick && _ctx.handleClick.apply(_ctx, arguments);
87
- }),
88
- onMousedown: _cache[1] || (_cache[1] = withModifiers(function() {
89
- }, ["stop"])),
90
- "aria-disabled": _ctx.disabled,
91
- tabindex: _ctx.disabled ? null : -1
92
- }, [_ctx.itemData.children && _ctx.itemData.children.length ? (openBlock(), createElementBlock("span", _hoisted_2, [createVNode(_component_icon_delta_left)])) : createCommentVNode("v-if", true), createElementVNode("div", _hoisted_3, [_ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), {
93
- key: 0,
94
- class: "tiny-svg-size"
95
- })) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default", {
96
- itemData: _ctx.itemData
97
- }, function() {
98
- return [createElementVNode(
99
- "span",
100
- null,
101
- toDisplayString(_ctx.label),
102
- 1
103
- /* TEXT */
104
- )];
105
- })]), _ctx.itemData.children && _ctx.itemData.children.length ? (openBlock(), createElementBlock(
106
- "ul",
107
- {
108
- key: 1,
109
- class: normalizeClass(["tiny-dropdown-menu", "tiny-dropdown-menu__item--child", _ctx.state.popperClass])
110
- },
111
- [(openBlock(true), createElementBlock(
112
- Fragment,
113
- null,
114
- renderList(_ctx.itemData.children, function(item, index) {
115
- return openBlock(), createBlock(_component_tiny_dropdown_item, {
116
- key: index,
117
- label: item[_ctx.state.textField],
118
- itemData: item,
119
- icon: item.icon,
120
- disabled: item.disabled,
121
- divided: item.divided
122
- }, {
123
- default: withCtx(function() {
124
- return [renderSlot(_ctx.$slots, "default", {
125
- itemData: item
126
- })];
127
- }),
128
- _: 2
129
- /* DYNAMIC */
130
- }, 1032, ["label", "itemData", "icon", "disabled", "divided"]);
82
+ return openBlock(), createElementBlock(
83
+ Fragment,
84
+ null,
85
+ [createCommentVNode(" TINY-TODO: tiny-dropdown-menu__item命名不规范,后续统一有个迭代去掉 "), createElementVNode("li", {
86
+ class: normalizeClass(["tiny-dropdown-item tiny-dropdown-menu__item", {
87
+ "is-disabled": _ctx.disabled,
88
+ "tiny-dropdown-item--divided tiny-dropdown-menu__item--divided": _ctx.divided
89
+ }]),
90
+ ref: "dropdownItem",
91
+ onClick: _cache[0] || (_cache[0] = function() {
92
+ return _ctx.handleClick && _ctx.handleClick.apply(_ctx, arguments);
131
93
  }),
132
- 128
133
- /* KEYED_FRAGMENT */
134
- ))],
135
- 2
136
- /* CLASS */
137
- )) : createCommentVNode("v-if", true)], 42, _hoisted_1);
94
+ onMousedown: _cache[1] || (_cache[1] = withModifiers(function() {
95
+ }, ["stop"])),
96
+ "aria-disabled": _ctx.disabled,
97
+ tabindex: _ctx.disabled ? null : -1
98
+ }, [createElementVNode("div", _hoisted_2, [_ctx.itemData.children && _ctx.itemData.children.length ? (openBlock(), createElementBlock("span", _hoisted_3, [createVNode(_component_icon_delta_left)])) : createCommentVNode("v-if", true), createElementVNode("div", _hoisted_4, [_ctx.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), {
99
+ key: 0,
100
+ class: "tiny-svg-size"
101
+ })) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default", {
102
+ itemData: _ctx.itemData
103
+ }, function() {
104
+ return [createElementVNode(
105
+ "span",
106
+ null,
107
+ toDisplayString(_ctx.label),
108
+ 1
109
+ /* TEXT */
110
+ )];
111
+ })]), _ctx.itemData.children && _ctx.itemData.children.length ? (openBlock(), createElementBlock(
112
+ "ul",
113
+ {
114
+ key: 1,
115
+ class: normalizeClass(["tiny-dropdown-menu", "tiny-dropdown-item--child tiny-dropdown-menu__item--child", _ctx.state.popperClass])
116
+ },
117
+ [(openBlock(true), createElementBlock(
118
+ Fragment,
119
+ null,
120
+ renderList(_ctx.itemData.children, function(item, index) {
121
+ return openBlock(), createBlock(_component_tiny_dropdown_item, {
122
+ key: index,
123
+ label: item[_ctx.state.textField],
124
+ "item-data": item,
125
+ icon: item.icon,
126
+ disabled: item.disabled,
127
+ divided: item.divided
128
+ }, {
129
+ default: withCtx(function() {
130
+ return [renderSlot(_ctx.$slots, "default", {
131
+ itemData: item
132
+ })];
133
+ }),
134
+ _: 2
135
+ /* DYNAMIC */
136
+ }, 1032, ["label", "item-data", "icon", "disabled", "divided"]);
137
+ }),
138
+ 128
139
+ /* KEYED_FRAGMENT */
140
+ ))],
141
+ 2
142
+ /* CLASS */
143
+ )) : createCommentVNode("v-if", true)])], 42, _hoisted_1)],
144
+ 2112
145
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
146
+ );
138
147
  }
139
148
  var pc = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
140
149
  export {
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@opentiny/vue-dropdown-item",
3
- "version": "3.6.7",
3
+ "version": "3.8.0",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
+ "module": "./lib/index.js",
6
7
  "dependencies": {
7
- "@opentiny/vue-common": "~3.6.7",
8
- "@opentiny/vue-icon": "~3.6.7",
9
- "@opentiny/vue-renderless": "~3.6.6",
10
- "@opentiny/vue-popup": "~3.6.7",
11
- "@opentiny/vue-button": "~3.6.7"
8
+ "@opentiny/vue-common": "~3.8.0",
9
+ "@opentiny/vue-icon": "~3.8.0",
10
+ "@opentiny/vue-renderless": "~3.8.0",
11
+ "@opentiny/vue-popup": "~3.8.0",
12
+ "@opentiny/vue-button": "~3.8.0"
12
13
  },
13
14
  "license": "MIT",
14
15
  "types": "index.d.ts",
package/src/index.d.ts CHANGED
@@ -29,6 +29,28 @@ declare const _default: import("@vue/runtime-core").DefineComponent<{
29
29
  type: StringConstructor;
30
30
  default: string;
31
31
  };
32
+ selected: {
33
+ type: BooleanConstructor;
34
+ default: boolean;
35
+ };
36
+ selectedField: {
37
+ type: StringConstructor;
38
+ default: string;
39
+ };
40
+ multiStage: {
41
+ type: BooleanConstructor;
42
+ default: boolean;
43
+ };
44
+ currentIndex: {
45
+ type: NumberConstructor;
46
+ default: () => number;
47
+ };
48
+ tiny_mode: StringConstructor;
49
+ tiny_mode_root: BooleanConstructor;
50
+ tiny_template: (FunctionConstructor | ObjectConstructor)[];
51
+ tiny_renderless: FunctionConstructor;
52
+ tiny_theme: StringConstructor;
53
+ tiny_chart_theme: ObjectConstructor;
32
54
  }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
33
55
  [key: string]: any;
34
56
  }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("@vue/runtime-core").ExtractPropTypes<{
@@ -62,14 +84,41 @@ declare const _default: import("@vue/runtime-core").DefineComponent<{
62
84
  type: StringConstructor;
63
85
  default: string;
64
86
  };
87
+ selected: {
88
+ type: BooleanConstructor;
89
+ default: boolean;
90
+ };
91
+ selectedField: {
92
+ type: StringConstructor;
93
+ default: string;
94
+ };
95
+ multiStage: {
96
+ type: BooleanConstructor;
97
+ default: boolean;
98
+ };
99
+ currentIndex: {
100
+ type: NumberConstructor;
101
+ default: () => number;
102
+ };
103
+ tiny_mode: StringConstructor;
104
+ tiny_mode_root: BooleanConstructor;
105
+ tiny_template: (FunctionConstructor | ObjectConstructor)[];
106
+ tiny_renderless: FunctionConstructor;
107
+ tiny_theme: StringConstructor;
108
+ tiny_chart_theme: ObjectConstructor;
65
109
  }>>, {
66
110
  type: string;
67
111
  disabled: boolean;
68
- textField: string;
112
+ tiny_mode_root: boolean;
69
113
  label: string;
70
114
  options: unknown[];
115
+ textField: string;
116
+ selected: boolean;
71
117
  divided: boolean;
72
118
  itemData: Record<string, any>;
73
119
  appendToBody: boolean;
120
+ selectedField: string;
121
+ multiStage: boolean;
122
+ currentIndex: number;
74
123
  }>;
75
124
  export default _default;
@@ -0,0 +1,8 @@
1
+ declare const _sfc_main: import("@vue/runtime-core").DefineComponent<Readonly<{
2
+ [x: string]: any;
3
+ }>, any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("@vue/runtime-core").ExtractPropTypes<Readonly<{
4
+ [x: string]: any;
5
+ }>>>, {
6
+ [x: string]: any;
7
+ }>;
8
+ export default _sfc_main;
package/src/pc.vue.d.ts CHANGED
@@ -7,6 +7,8 @@ declare const _sfc_main: import("@vue/runtime-core").DefineComponent<Readonly<{
7
7
  a: (attrs: any, filters: any, include: any) => {};
8
8
  d: (props: any) => void;
9
9
  dp: (props: any) => void;
10
+ gcls: (key: any) => any;
11
+ m: (...cssClasses: any[]) => string;
10
12
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "item-click"[], "item-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("@vue/runtime-core").ExtractPropTypes<Readonly<{
11
13
  [x: string]: any;
12
14
  }>>> & {