framework7-vue 9.1.3 → 9.2.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.
@@ -51,6 +51,7 @@ export default {
51
51
  }) {
52
52
  const elRef = ref(null);
53
53
  const onDeleteClick = event => {
54
+ event.stopPropagation();
54
55
  emit('delete', event);
55
56
  };
56
57
  useTooltip(elRef, props);
@@ -5,6 +5,10 @@ import { ComponentOptionsMixin, DefineComponent, PropType } from 'vue';
5
5
  declare const Link: DefineComponent<
6
6
  {
7
7
 
8
+ disabled: {
9
+ type: BooleanConstructor;
10
+ },
11
+
8
12
  noLinkClass: {
9
13
  type: BooleanConstructor;
10
14
  },
@@ -280,7 +284,8 @@ declare const Link: DefineComponent<
280
284
  {},
281
285
  ComponentOptionsMixin,
282
286
  ComponentOptionsMixin,
283
-
287
+ ("click")[],
288
+ "click"
284
289
  >;
285
290
 
286
291
  export default Link;
@@ -5,7 +5,9 @@ function render(_ctx, _cache) {
5
5
  return _openBlock(), _createElementBlock("a", _mergeProps({
6
6
  ref: "elRef",
7
7
  class: _ctx.classes
8
- }, _ctx.attrs), [_ctx.icon ? (_openBlock(), _createBlock(_component_f7_use_icon, {
8
+ }, _ctx.attrs, {
9
+ onClick: _cache[0] || (_cache[0] = (...args) => _ctx.onClick && _ctx.onClick(...args))
10
+ }), [_ctx.icon ? (_openBlock(), _createBlock(_component_f7_use_icon, {
9
11
  key: 0,
10
12
  icon: _ctx.icon
11
13
  }, null, 8, ["icon"])) : _createCommentVNode("", true), _ctx.text ? (_openBlock(), _createElementBlock("span", {
@@ -36,6 +38,7 @@ export default {
36
38
  f7UseIcon
37
39
  },
38
40
  props: {
41
+ disabled: Boolean,
39
42
  noLinkClass: Boolean,
40
43
  text: String,
41
44
  tabLink: [Boolean, String],
@@ -58,11 +61,21 @@ export default {
58
61
  ...actionsProps,
59
62
  ...routerProps
60
63
  },
64
+ emits: ['click'],
61
65
  setup(props, {
62
- slots
66
+ slots,
67
+ emit
63
68
  }) {
64
69
  const elRef = ref(null);
65
70
  let f7SmartSelect = null;
71
+ const onClick = event => {
72
+ if (props.disabled) {
73
+ event.preventDefault();
74
+ event.stopPropagation();
75
+ return;
76
+ }
77
+ emit('click', event);
78
+ };
66
79
  useTooltip(elRef, props);
67
80
  useRouteProps(elRef, props);
68
81
  useSmartSelect(props, instance => {
@@ -78,7 +91,8 @@ export default {
78
91
  const {
79
92
  href,
80
93
  tabLink,
81
- target
94
+ target,
95
+ disabled
82
96
  } = props;
83
97
  let hrefComputed = href;
84
98
  if (href === true) hrefComputed = '#';
@@ -86,6 +100,8 @@ export default {
86
100
  return {
87
101
  href: hrefComputed,
88
102
  target,
103
+ 'aria-disabled': disabled || undefined,
104
+ tabindex: disabled ? -1 : undefined,
89
105
  'data-tab': isStringProp(tabLink) && tabLink || undefined,
90
106
  ...routerAttrs(props),
91
107
  ...actionsAttrs(props)
@@ -98,7 +114,8 @@ export default {
98
114
  noLinkClass,
99
115
  tabLink,
100
116
  tabLinkActive,
101
- smartSelect
117
+ smartSelect,
118
+ disabled
102
119
  } = props;
103
120
  let iconOnlyComputed;
104
121
  const hasChildren = slots && slots.default;
@@ -108,6 +125,7 @@ export default {
108
125
  iconOnlyComputed = false;
109
126
  }
110
127
  return classNames({
128
+ disabled,
111
129
  link: !(noLinkClass || isTabbarIcons.value),
112
130
  'icon-only': iconOnlyComputed,
113
131
  'tab-link': tabLink || tabLink === '',
@@ -118,6 +136,7 @@ export default {
118
136
  const icon = computed(() => useIcon(props));
119
137
  return {
120
138
  elRef,
139
+ onClick,
121
140
  icon,
122
141
  isTabbarIcons,
123
142
  attrs,
package/framework7-vue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 Vue 9.1.3
2
+ * Framework7 Vue 9.2.0
3
3
  * Build full featured iOS & Android apps using Framework7 & Vue
4
4
  * https://framework7.io/vue/
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: August 25, 2026
10
+ * Released on: September 28, 2026
11
11
  */
12
12
  import Framework7Vue from './shared/plugin.js';
13
13
  import { f7, f7ready, theme } from './shared/f7.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "framework7-vue",
3
- "version": "9.1.3",
3
+ "version": "9.2.0",
4
4
  "description": "Build full featured iOS & Android apps using Framework7 & Vue",
5
5
  "type": "module",
6
6
  "exports": {
@@ -61,5 +61,5 @@
61
61
  "type": "patreon",
62
62
  "url": "https://www.patreon.com/framework7"
63
63
  },
64
- "releaseDate": "August 25, 2026"
64
+ "releaseDate": "September 28, 2026"
65
65
  }