Skip to content

Commit afef410

Browse files
zernoniaclaude
andauthored
fix(Calendar): remove HTML comment that breaks attrs forwarding in production (#2504) (#2508)
The HTML comment before <Primitive> created a fragment (multi-root) component, causing Vue to silently drop $attrs (class, style, etc.) in production builds. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent aefdca9 commit afef410

6 files changed

Lines changed: 0 additions & 30 deletions

File tree

packages/core/src/Calendar/CalendarGrid.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
1717
</script>
1818

1919
<template>
20-
<!--
21-
role="application" is intentional: it ensures screen readers like NVDA pass
22-
keyboard events (arrow keys) to the web app instead of intercepting them
23-
for virtual cursor navigation. This is the same pattern used by React Aria.
24-
-->
2520
<Primitive
2621
v-bind="props"
2722
tabindex="-1"

packages/core/src/MonthPicker/MonthPickerGrid.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
1717
</script>
1818

1919
<template>
20-
<!--
21-
role="application" is intentional: it ensures screen readers like NVDA pass
22-
keyboard events (arrow keys) to the web app instead of intercepting them
23-
for virtual cursor navigation. This is the same pattern used by React Aria.
24-
-->
2520
<Primitive
2621
v-bind="props"
2722
tabindex="-1"

packages/core/src/MonthRangePicker/MonthRangePickerGrid.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
1717
</script>
1818

1919
<template>
20-
<!--
21-
role="application" is intentional: it ensures screen readers like NVDA pass
22-
keyboard events (arrow keys) to the web app instead of intercepting them
23-
for virtual cursor navigation. This is the same pattern used by React Aria.
24-
-->
2520
<Primitive
2621
v-bind="props"
2722
tabindex="-1"

packages/core/src/RangeCalendar/RangeCalendarGrid.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
1818
</script>
1919

2020
<template>
21-
<!--
22-
role="application" is intentional: it ensures screen readers like NVDA pass
23-
keyboard events (arrow keys) to the web app instead of intercepting them
24-
for virtual cursor navigation. This is the same pattern used by React Aria.
25-
-->
2621
<Primitive
2722
v-bind="props"
2823
tabindex="-1"

packages/core/src/YearPicker/YearPickerGrid.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
1717
</script>
1818

1919
<template>
20-
<!--
21-
role="application" is intentional: it ensures screen readers like NVDA pass
22-
keyboard events (arrow keys) to the web app instead of intercepting them
23-
for virtual cursor navigation. This is the same pattern used by React Aria.
24-
-->
2520
<Primitive
2621
v-bind="props"
2722
tabindex="-1"

packages/core/src/YearRangePicker/YearRangePickerGrid.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ const readonly = computed(() => rootContext.readonly.value ? true : undefined)
1717
</script>
1818

1919
<template>
20-
<!--
21-
role="application" is intentional: it ensures screen readers like NVDA pass
22-
keyboard events (arrow keys) to the web app instead of intercepting them
23-
for virtual cursor navigation. This is the same pattern used by React Aria.
24-
-->
2520
<Primitive
2621
v-bind="props"
2722
tabindex="-1"

0 commit comments

Comments
 (0)