1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//! `ui.bind` / `ui.on` - the normalized one-way binding ops, landed with
//! the transform that needs them (P2-9, the element/binding family).
//!
//! Fair by the P2-16 litmus: one-way property bindings and event handlers
//! exist in every dialect the pivot serves (SFC directives, JSX props,
//! Svelte attributes/`on:`); only the modifier spellings are Vue's,
//! carried verbatim exactly as [`super::SlotContentOp`] carries its
//! modifiers. The ops are the **syntactic surface** the lowering keeps -
//! name position, modifiers, and value exactly as authored (the one
//! normalization is the lowering's, recorded in provenance: the parser's
//! same-name shorthand `:foo` expands to its camelized value, and the
//! `.foo` dot shorthand synthesizes its leading `prop` modifier, both
//! matching the shipped parser byte-for-byte). What a target *does* with
//! a binding - patch flags, `class`/`style` normalization, `withModifiers`
//! guards, event-name casing - is DOM realization (P2-11), never carried
//! here.
use ;
use ;
use crateExprRef;
/// `ui.bind` - one one-way binding (`v-bind:` / `:` / the `.` shorthand),
/// attached to an element, component, or slot outlet.
/// `ui.on` - one event handler binding (`v-on:` / `@`), attached to an
/// element, component, or slot outlet.
/// See [`crate::op`] for the guard rationale.
const _: = ;