@mintjamsinc/ichigojs 0.1.59 → 0.1.60

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.
@@ -29,5 +29,7 @@ export declare enum StandardDirectiveName {
29
29
  /** Raw HTML content directive. */
30
30
  V_HTML = "v-html",
31
31
  /** Text content directive. */
32
- V_TEXT = "v-text"
32
+ V_TEXT = "v-text",
33
+ /** Focus management directive. */
34
+ V_FOCUS = "v-focus"
33
35
  }
@@ -0,0 +1,87 @@
1
+ import { VNode } from "../VNode";
2
+ import { VBindingsPreparer } from "../VBindingsPreparer";
3
+ import { VDirective } from "./VDirective";
4
+ import { VDirectiveParseContext } from "./VDirectiveParseContext";
5
+ import { VDOMUpdater } from "../VDOMUpdater";
6
+ /**
7
+ * Directive for managing focus on form elements.
8
+ *
9
+ * Usage:
10
+ * <input v-focus> Focus once on mount.
11
+ * <input v-focus.select> Focus + select all on mount.
12
+ * <input v-focus="isOpen"> Focus when expression transitions from falsy to truthy.
13
+ * <input v-focus.select="isOpen"> Conditional focus + select all.
14
+ * <input v-focus.cursor-end="isOpen"> Conditional focus + place caret at end.
15
+ *
16
+ * Behavior notes:
17
+ * - Without an expression, the element is focused exactly once after mount.
18
+ * - With an expression, focus fires only on the falsy -> truthy edge,
19
+ * so the user is not repeatedly re-focused on every reactive update.
20
+ * - If the value is already truthy on mount, the element is focused.
21
+ * - Focus is deferred via requestAnimationFrame so that elements which
22
+ * become visible just before this directive runs (e.g. inside v-if /
23
+ * display:none containers) can still receive focus reliably.
24
+ */
25
+ export declare class VFocusDirective implements VDirective {
26
+ #private;
27
+ /**
28
+ * @param context The context for parsing the directive.
29
+ */
30
+ constructor(context: VDirectiveParseContext);
31
+ /**
32
+ * @inheritdoc
33
+ */
34
+ get name(): string;
35
+ /**
36
+ * @inheritdoc
37
+ */
38
+ get vNode(): VNode;
39
+ /**
40
+ * @inheritdoc
41
+ */
42
+ get needsAnchor(): boolean;
43
+ /**
44
+ * @inheritdoc
45
+ */
46
+ get bindingsPreparer(): VBindingsPreparer | undefined;
47
+ /**
48
+ * @inheritdoc
49
+ */
50
+ get domUpdater(): VDOMUpdater | undefined;
51
+ /**
52
+ * @inheritdoc
53
+ */
54
+ get templatize(): boolean;
55
+ /**
56
+ * @inheritdoc
57
+ */
58
+ get dependentIdentifiers(): string[];
59
+ /**
60
+ * @inheritdoc
61
+ */
62
+ get onMount(): (() => void) | undefined;
63
+ /**
64
+ * @inheritdoc
65
+ */
66
+ get onMounted(): (() => void) | undefined;
67
+ /**
68
+ * @inheritdoc
69
+ */
70
+ get onUpdate(): (() => void) | undefined;
71
+ /**
72
+ * @inheritdoc
73
+ */
74
+ get onUpdated(): (() => void) | undefined;
75
+ /**
76
+ * @inheritdoc
77
+ */
78
+ get onUnmount(): (() => void) | undefined;
79
+ /**
80
+ * @inheritdoc
81
+ */
82
+ get onUnmounted(): (() => void) | undefined;
83
+ /**
84
+ * @inheritdoc
85
+ */
86
+ destroy(): void;
87
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mintjamsinc/ichigojs",
3
- "version": "0.1.59",
3
+ "version": "0.1.60",
4
4
  "description": "ichigo.js - Simple and intuitive reactive framework. Lightweight, fast, and user-friendly virtual DOM library",
5
5
  "main": "./dist/ichigo.cjs",
6
6
  "module": "./dist/ichigo.esm.js",