@varlet/ui 3.7.4 → 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.
Files changed (41) hide show
  1. package/es/action-sheet/style/index.mjs +1 -1
  2. package/es/checkbox/Checkbox.mjs +11 -13
  3. package/es/checkbox/checkbox.css +1 -1
  4. package/es/checkbox-group/CheckboxGroup.mjs +0 -5
  5. package/es/index.bundle.mjs +1 -1
  6. package/es/index.mjs +1 -1
  7. package/es/menu/Menu.mjs +5 -0
  8. package/es/menu/menu.css +1 -1
  9. package/es/menu/props.mjs +4 -1
  10. package/es/menu/usePopover.mjs +11 -0
  11. package/es/menu-option/MenuOption.mjs +104 -21
  12. package/es/menu-option/menuOption.css +1 -1
  13. package/es/menu-option/props.mjs +7 -2
  14. package/es/menu-option/style/index.mjs +1 -0
  15. package/es/menu-select/MenuChildren.mjs +237 -0
  16. package/es/menu-select/MenuSelect.mjs +200 -20
  17. package/es/menu-select/menuSelect.css +1 -1
  18. package/es/menu-select/props.mjs +6 -1
  19. package/es/option/Option.mjs +9 -5
  20. package/es/option/props.mjs +4 -0
  21. package/es/radio/Radio.mjs +2 -5
  22. package/es/radio/radio.css +1 -1
  23. package/es/select/Select.mjs +3 -2
  24. package/es/select/useSelectController.mjs +12 -5
  25. package/es/snackbar/style/index.mjs +1 -1
  26. package/es/style.css +1 -1
  27. package/es/uploader/Uploader.mjs +17 -11
  28. package/es/utils/elements.mjs +14 -1
  29. package/es/varlet.esm.js +7264 -6858
  30. package/highlight/web-types.en-US.json +27 -1
  31. package/highlight/web-types.zh-CN.json +27 -1
  32. package/lib/style.css +1 -1
  33. package/lib/varlet.cjs.js +1149 -610
  34. package/package.json +7 -7
  35. package/types/checkbox.d.ts +1 -1
  36. package/types/checkboxGroup.d.ts +2 -2
  37. package/types/menuSelect.d.ts +9 -1
  38. package/types/radioGroup.d.ts +2 -2
  39. package/types/select.d.ts +1 -1
  40. package/types/uploader.d.ts +1 -0
  41. package/umd/varlet.js +8 -8
@@ -35,7 +35,7 @@ import { toSizeUnit } from "../utils/elements.mjs";
35
35
  import { useEventListener } from "@varlet/use";
36
36
  const { name, n, classes } = createNamespace("uploader");
37
37
  let fid = 0;
38
- import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withModifiers as _withModifiers, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, resolveDirective as _resolveDirective, withDirectives as _withDirectives, renderSlot as _renderSlot, withCtx as _withCtx, createSlots as _createSlots } from "vue";
38
+ import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, renderSlot as _renderSlot, resolveComponent as _resolveComponent, createVNode as _createVNode, withModifiers as _withModifiers, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, resolveDirective as _resolveDirective, withDirectives as _withDirectives, withCtx as _withCtx, createSlots as _createSlots } from "vue";
39
39
  const _hoisted_1 = ["onClick"];
40
40
  const _hoisted_2 = ["onClick"];
41
41
  const _hoisted_3 = ["src", "alt"];
@@ -79,17 +79,23 @@ function __render__(_ctx, _cache) {
79
79
  3
80
80
  /* TEXT, CLASS */
81
81
  ),
82
- _ctx.removable ? (_openBlock(), _createElementBlock("div", {
82
+ _ctx.removable ? _renderSlot(_ctx.$slots, "remove-button", {
83
83
  key: 0,
84
- class: _normalizeClass(_ctx.n("file-close")),
85
- onClick: _withModifiers(($event) => _ctx.handleRemove(f), ["stop"])
86
- }, [
87
- _createVNode(_component_var_icon, {
88
- class: _normalizeClass(_ctx.n("file-close-icon")),
89
- "var-uploader-cover": "",
90
- name: "delete"
91
- }, null, 8, ["class"])
92
- ], 10, _hoisted_2)) : _createCommentVNode("v-if", true),
84
+ remove: () => {
85
+ _ctx.handleRemove(f);
86
+ }
87
+ }, () => [
88
+ _createElementVNode("div", {
89
+ class: _normalizeClass(_ctx.n("file-close")),
90
+ onClick: _withModifiers(($event) => _ctx.handleRemove(f), ["stop"])
91
+ }, [
92
+ _createVNode(_component_var_icon, {
93
+ class: _normalizeClass(_ctx.n("file-close-icon")),
94
+ "var-uploader-cover": "",
95
+ name: "delete"
96
+ }, null, 8, ["class"])
97
+ ], 10, _hoisted_2)
98
+ ]) : _createCommentVNode("v-if", true),
93
99
  f.cover ? (_openBlock(), _createElementBlock("img", {
94
100
  key: 1,
95
101
  role: "img",
@@ -160,10 +160,22 @@ function formatStyleVars(styleVars) {
160
160
  function padStartFlex(style) {
161
161
  return style === "start" || style === "end" ? `flex-${style}` : style;
162
162
  }
163
+ function isDisplayNoneElement(element) {
164
+ let parent = element;
165
+ while (parent && parent !== document.documentElement) {
166
+ if (getStyle(parent).display === "none") {
167
+ return true;
168
+ }
169
+ parent = parent.parentNode;
170
+ }
171
+ return false;
172
+ }
163
173
  const focusableSelector = ["button", "input", "select", "textarea", "[tabindex]", "[href]"].map((s) => `${s}:not([disabled])`).join(", ");
164
174
  function focusChildElementByKey(hostElement, parentElement, key) {
165
175
  var _a;
166
- const focusableElements = parentElement.querySelectorAll(focusableSelector);
176
+ const focusableElements = Array.from(parentElement.querySelectorAll(focusableSelector)).filter(
177
+ (element) => !isDisplayNoneElement(element)
178
+ );
167
179
  if (!focusableElements.length) {
168
180
  return;
169
181
  }
@@ -202,6 +214,7 @@ export {
202
214
  getTranslateY,
203
215
  getViewportSize,
204
216
  isCalc,
217
+ isDisplayNoneElement,
205
218
  isEm,
206
219
  isPercent,
207
220
  isPx,