@livetemplate/client 0.4.1 → 0.7.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.
@@ -0,0 +1,393 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const reactive_attributes_1 = require("../dom/reactive-attributes");
4
+ describe("Reactive Attributes", () => {
5
+ beforeEach(() => {
6
+ document.body.innerHTML = "";
7
+ });
8
+ afterEach(() => {
9
+ document.body.innerHTML = "";
10
+ });
11
+ describe("parseReactiveAttribute", () => {
12
+ describe("valid attribute parsing", () => {
13
+ it("parses global lifecycle event", () => {
14
+ const result = (0, reactive_attributes_1.parseReactiveAttribute)("lvt-reset-on:success", "");
15
+ expect(result).toEqual({
16
+ action: "reset",
17
+ lifecycle: "success",
18
+ actionName: undefined,
19
+ param: undefined,
20
+ });
21
+ });
22
+ it("parses action-specific lifecycle event", () => {
23
+ const result = (0, reactive_attributes_1.parseReactiveAttribute)("lvt-reset-on:create-todo:success", "");
24
+ expect(result).toEqual({
25
+ action: "reset",
26
+ lifecycle: "success",
27
+ actionName: "create-todo",
28
+ param: undefined,
29
+ });
30
+ });
31
+ it("parses parameterized action with value", () => {
32
+ const result = (0, reactive_attributes_1.parseReactiveAttribute)("lvt-addClass-on:pending", "loading opacity-50");
33
+ expect(result).toEqual({
34
+ action: "addClass",
35
+ lifecycle: "pending",
36
+ actionName: undefined,
37
+ param: "loading opacity-50",
38
+ });
39
+ });
40
+ it("parses action-specific parameterized action", () => {
41
+ const result = (0, reactive_attributes_1.parseReactiveAttribute)("lvt-addClass-on:save:pending", "loading");
42
+ expect(result).toEqual({
43
+ action: "addClass",
44
+ lifecycle: "pending",
45
+ actionName: "save",
46
+ param: "loading",
47
+ });
48
+ });
49
+ it("parses all lifecycle events", () => {
50
+ const lifecycles = ["pending", "success", "error", "done"];
51
+ lifecycles.forEach((lifecycle) => {
52
+ const result = (0, reactive_attributes_1.parseReactiveAttribute)(`lvt-reset-on:${lifecycle}`, "");
53
+ expect(result?.lifecycle).toBe(lifecycle);
54
+ });
55
+ });
56
+ it("parses all action types", () => {
57
+ const actions = [
58
+ "reset",
59
+ "disable",
60
+ "enable",
61
+ "addClass",
62
+ "removeClass",
63
+ "toggleClass",
64
+ "setAttr",
65
+ "toggleAttr",
66
+ ];
67
+ actions.forEach((action) => {
68
+ const result = (0, reactive_attributes_1.parseReactiveAttribute)(`lvt-${action}-on:success`, "value");
69
+ expect(result?.action).toBe(action);
70
+ });
71
+ });
72
+ it("handles action names with hyphens", () => {
73
+ const result = (0, reactive_attributes_1.parseReactiveAttribute)("lvt-reset-on:create-new-todo:success", "");
74
+ expect(result).toEqual({
75
+ action: "reset",
76
+ lifecycle: "success",
77
+ actionName: "create-new-todo",
78
+ param: undefined,
79
+ });
80
+ });
81
+ it("handles action names with colons", () => {
82
+ const result = (0, reactive_attributes_1.parseReactiveAttribute)("lvt-reset-on:todos:create:success", "");
83
+ expect(result).toEqual({
84
+ action: "reset",
85
+ lifecycle: "success",
86
+ actionName: "todos:create",
87
+ param: undefined,
88
+ });
89
+ });
90
+ });
91
+ describe("invalid attribute parsing", () => {
92
+ it("returns null for non-reactive attributes", () => {
93
+ expect((0, reactive_attributes_1.parseReactiveAttribute)("lvt-click", "action")).toBeNull();
94
+ expect((0, reactive_attributes_1.parseReactiveAttribute)("lvt-submit", "save")).toBeNull();
95
+ expect((0, reactive_attributes_1.parseReactiveAttribute)("class", "foo")).toBeNull();
96
+ });
97
+ it("returns null for unknown actions", () => {
98
+ expect((0, reactive_attributes_1.parseReactiveAttribute)("lvt-foo-on:success", "")).toBeNull();
99
+ expect((0, reactive_attributes_1.parseReactiveAttribute)("lvt-hide-on:pending", "")).toBeNull();
100
+ });
101
+ it("returns null for unknown lifecycle events", () => {
102
+ expect((0, reactive_attributes_1.parseReactiveAttribute)("lvt-reset-on:loading", "")).toBeNull();
103
+ expect((0, reactive_attributes_1.parseReactiveAttribute)("lvt-reset-on:complete", "")).toBeNull();
104
+ });
105
+ });
106
+ });
107
+ describe("executeAction", () => {
108
+ describe("reset", () => {
109
+ it("resets a form", () => {
110
+ const form = document.createElement("form");
111
+ const input = document.createElement("input");
112
+ input.name = "title";
113
+ input.value = "test value";
114
+ form.appendChild(input);
115
+ document.body.appendChild(form);
116
+ (0, reactive_attributes_1.executeAction)(form, "reset");
117
+ expect(input.value).toBe("");
118
+ });
119
+ it("does nothing for non-form elements", () => {
120
+ const div = document.createElement("div");
121
+ document.body.appendChild(div);
122
+ // Should not throw
123
+ (0, reactive_attributes_1.executeAction)(div, "reset");
124
+ });
125
+ });
126
+ describe("disable/enable", () => {
127
+ it("disables a button", () => {
128
+ const button = document.createElement("button");
129
+ document.body.appendChild(button);
130
+ (0, reactive_attributes_1.executeAction)(button, "disable");
131
+ expect(button.disabled).toBe(true);
132
+ });
133
+ it("enables a button", () => {
134
+ const button = document.createElement("button");
135
+ button.disabled = true;
136
+ document.body.appendChild(button);
137
+ (0, reactive_attributes_1.executeAction)(button, "enable");
138
+ expect(button.disabled).toBe(false);
139
+ });
140
+ it("disables an input", () => {
141
+ const input = document.createElement("input");
142
+ document.body.appendChild(input);
143
+ (0, reactive_attributes_1.executeAction)(input, "disable");
144
+ expect(input.disabled).toBe(true);
145
+ });
146
+ it("enables an input", () => {
147
+ const input = document.createElement("input");
148
+ input.disabled = true;
149
+ document.body.appendChild(input);
150
+ (0, reactive_attributes_1.executeAction)(input, "enable");
151
+ expect(input.disabled).toBe(false);
152
+ });
153
+ });
154
+ describe("addClass", () => {
155
+ it("adds a single class", () => {
156
+ const div = document.createElement("div");
157
+ document.body.appendChild(div);
158
+ (0, reactive_attributes_1.executeAction)(div, "addClass", "loading");
159
+ expect(div.classList.contains("loading")).toBe(true);
160
+ });
161
+ it("adds multiple classes", () => {
162
+ const div = document.createElement("div");
163
+ document.body.appendChild(div);
164
+ (0, reactive_attributes_1.executeAction)(div, "addClass", "loading opacity-50 cursor-wait");
165
+ expect(div.classList.contains("loading")).toBe(true);
166
+ expect(div.classList.contains("opacity-50")).toBe(true);
167
+ expect(div.classList.contains("cursor-wait")).toBe(true);
168
+ });
169
+ it("does nothing without param", () => {
170
+ const div = document.createElement("div");
171
+ document.body.appendChild(div);
172
+ (0, reactive_attributes_1.executeAction)(div, "addClass");
173
+ expect(div.className).toBe("");
174
+ });
175
+ });
176
+ describe("removeClass", () => {
177
+ it("removes a single class", () => {
178
+ const div = document.createElement("div");
179
+ div.className = "loading active";
180
+ document.body.appendChild(div);
181
+ (0, reactive_attributes_1.executeAction)(div, "removeClass", "loading");
182
+ expect(div.classList.contains("loading")).toBe(false);
183
+ expect(div.classList.contains("active")).toBe(true);
184
+ });
185
+ it("removes multiple classes", () => {
186
+ const div = document.createElement("div");
187
+ div.className = "loading opacity-50 active";
188
+ document.body.appendChild(div);
189
+ (0, reactive_attributes_1.executeAction)(div, "removeClass", "loading opacity-50");
190
+ expect(div.classList.contains("loading")).toBe(false);
191
+ expect(div.classList.contains("opacity-50")).toBe(false);
192
+ expect(div.classList.contains("active")).toBe(true);
193
+ });
194
+ });
195
+ describe("toggleClass", () => {
196
+ it("toggles class on", () => {
197
+ const div = document.createElement("div");
198
+ document.body.appendChild(div);
199
+ (0, reactive_attributes_1.executeAction)(div, "toggleClass", "active");
200
+ expect(div.classList.contains("active")).toBe(true);
201
+ });
202
+ it("toggles class off", () => {
203
+ const div = document.createElement("div");
204
+ div.className = "active";
205
+ document.body.appendChild(div);
206
+ (0, reactive_attributes_1.executeAction)(div, "toggleClass", "active");
207
+ expect(div.classList.contains("active")).toBe(false);
208
+ });
209
+ it("toggles multiple classes", () => {
210
+ const div = document.createElement("div");
211
+ div.className = "active";
212
+ document.body.appendChild(div);
213
+ (0, reactive_attributes_1.executeAction)(div, "toggleClass", "active hidden");
214
+ expect(div.classList.contains("active")).toBe(false);
215
+ expect(div.classList.contains("hidden")).toBe(true);
216
+ });
217
+ });
218
+ describe("setAttr", () => {
219
+ it("sets an attribute", () => {
220
+ const div = document.createElement("div");
221
+ document.body.appendChild(div);
222
+ (0, reactive_attributes_1.executeAction)(div, "setAttr", "aria-busy:true");
223
+ expect(div.getAttribute("aria-busy")).toBe("true");
224
+ });
225
+ it("sets attribute with empty value", () => {
226
+ const div = document.createElement("div");
227
+ document.body.appendChild(div);
228
+ (0, reactive_attributes_1.executeAction)(div, "setAttr", "data-loading:");
229
+ expect(div.getAttribute("data-loading")).toBe("");
230
+ });
231
+ it("handles value with colons", () => {
232
+ const div = document.createElement("div");
233
+ document.body.appendChild(div);
234
+ (0, reactive_attributes_1.executeAction)(div, "setAttr", "data-url:https://example.com");
235
+ expect(div.getAttribute("data-url")).toBe("https://example.com");
236
+ });
237
+ it("does nothing without colon separator", () => {
238
+ const div = document.createElement("div");
239
+ document.body.appendChild(div);
240
+ (0, reactive_attributes_1.executeAction)(div, "setAttr", "invalidformat");
241
+ expect(div.attributes.length).toBe(0);
242
+ });
243
+ });
244
+ describe("toggleAttr", () => {
245
+ it("adds boolean attribute", () => {
246
+ const input = document.createElement("input");
247
+ document.body.appendChild(input);
248
+ (0, reactive_attributes_1.executeAction)(input, "toggleAttr", "readonly");
249
+ expect(input.hasAttribute("readonly")).toBe(true);
250
+ });
251
+ it("removes boolean attribute", () => {
252
+ const input = document.createElement("input");
253
+ input.setAttribute("readonly", "");
254
+ document.body.appendChild(input);
255
+ (0, reactive_attributes_1.executeAction)(input, "toggleAttr", "readonly");
256
+ expect(input.hasAttribute("readonly")).toBe(false);
257
+ });
258
+ it("toggles hidden attribute", () => {
259
+ const div = document.createElement("div");
260
+ div.hidden = true;
261
+ document.body.appendChild(div);
262
+ (0, reactive_attributes_1.executeAction)(div, "toggleAttr", "hidden");
263
+ expect(div.hidden).toBe(false);
264
+ (0, reactive_attributes_1.executeAction)(div, "toggleAttr", "hidden");
265
+ expect(div.hidden).toBe(true);
266
+ });
267
+ });
268
+ });
269
+ describe("matchesEvent", () => {
270
+ it("matches global binding to any action", () => {
271
+ const binding = {
272
+ action: "reset",
273
+ lifecycle: "success",
274
+ };
275
+ expect((0, reactive_attributes_1.matchesEvent)(binding, "success", "create-todo")).toBe(true);
276
+ expect((0, reactive_attributes_1.matchesEvent)(binding, "success", "delete-todo")).toBe(true);
277
+ expect((0, reactive_attributes_1.matchesEvent)(binding, "success")).toBe(true);
278
+ });
279
+ it("matches action-specific binding only to that action", () => {
280
+ const binding = {
281
+ action: "reset",
282
+ lifecycle: "success",
283
+ actionName: "create-todo",
284
+ };
285
+ expect((0, reactive_attributes_1.matchesEvent)(binding, "success", "create-todo")).toBe(true);
286
+ expect((0, reactive_attributes_1.matchesEvent)(binding, "success", "delete-todo")).toBe(false);
287
+ expect((0, reactive_attributes_1.matchesEvent)(binding, "success")).toBe(false);
288
+ });
289
+ it("does not match different lifecycle events", () => {
290
+ const binding = {
291
+ action: "reset",
292
+ lifecycle: "success",
293
+ };
294
+ expect((0, reactive_attributes_1.matchesEvent)(binding, "pending", "create-todo")).toBe(false);
295
+ expect((0, reactive_attributes_1.matchesEvent)(binding, "error", "create-todo")).toBe(false);
296
+ expect((0, reactive_attributes_1.matchesEvent)(binding, "done", "create-todo")).toBe(false);
297
+ });
298
+ });
299
+ describe("processReactiveAttributes", () => {
300
+ it("processes global success bindings", () => {
301
+ const form = document.createElement("form");
302
+ form.setAttribute("lvt-reset-on:success", "");
303
+ const input = document.createElement("input");
304
+ input.name = "title";
305
+ input.value = "test";
306
+ form.appendChild(input);
307
+ document.body.appendChild(form);
308
+ (0, reactive_attributes_1.processReactiveAttributes)("success", "any-action");
309
+ expect(input.value).toBe("");
310
+ });
311
+ it("processes action-specific bindings", () => {
312
+ const form = document.createElement("form");
313
+ form.setAttribute("lvt-reset-on:create-todo:success", "");
314
+ const input = document.createElement("input");
315
+ input.name = "title";
316
+ input.value = "test";
317
+ form.appendChild(input);
318
+ document.body.appendChild(form);
319
+ // Should not reset for different action
320
+ (0, reactive_attributes_1.processReactiveAttributes)("success", "delete-todo");
321
+ expect(input.value).toBe("test");
322
+ // Should reset for matching action
323
+ (0, reactive_attributes_1.processReactiveAttributes)("success", "create-todo");
324
+ expect(input.value).toBe("");
325
+ });
326
+ it("processes multiple bindings on same element", () => {
327
+ const button = document.createElement("button");
328
+ button.setAttribute("lvt-disable-on:pending", "");
329
+ button.setAttribute("lvt-addClass-on:pending", "loading");
330
+ document.body.appendChild(button);
331
+ (0, reactive_attributes_1.processReactiveAttributes)("pending", "save");
332
+ expect(button.disabled).toBe(true);
333
+ expect(button.classList.contains("loading")).toBe(true);
334
+ });
335
+ it("processes bindings on multiple elements", () => {
336
+ const form = document.createElement("form");
337
+ form.setAttribute("lvt-reset-on:success", "");
338
+ const input = document.createElement("input");
339
+ input.value = "test";
340
+ form.appendChild(input);
341
+ const button = document.createElement("button");
342
+ button.disabled = true;
343
+ button.setAttribute("lvt-enable-on:success", "");
344
+ document.body.appendChild(form);
345
+ document.body.appendChild(button);
346
+ (0, reactive_attributes_1.processReactiveAttributes)("success", "save");
347
+ expect(input.value).toBe("");
348
+ expect(button.disabled).toBe(false);
349
+ });
350
+ it("ignores bindings for different lifecycles", () => {
351
+ const button = document.createElement("button");
352
+ button.setAttribute("lvt-disable-on:pending", "");
353
+ document.body.appendChild(button);
354
+ (0, reactive_attributes_1.processReactiveAttributes)("success", "save");
355
+ expect(button.disabled).toBe(false);
356
+ });
357
+ });
358
+ describe("setupReactiveAttributeListeners", () => {
359
+ it("sets up listeners for all lifecycle events", () => {
360
+ (0, reactive_attributes_1.setupReactiveAttributeListeners)();
361
+ const button = document.createElement("button");
362
+ button.setAttribute("lvt-disable-on:pending", "");
363
+ button.setAttribute("lvt-enable-on:done", "");
364
+ document.body.appendChild(button);
365
+ // Simulate pending event
366
+ document.dispatchEvent(new CustomEvent("lvt:pending", {
367
+ detail: { action: "save" },
368
+ bubbles: true,
369
+ }));
370
+ expect(button.disabled).toBe(true);
371
+ // Simulate done event
372
+ document.dispatchEvent(new CustomEvent("lvt:done", {
373
+ detail: { action: "save" },
374
+ bubbles: true,
375
+ }));
376
+ expect(button.disabled).toBe(false);
377
+ });
378
+ it("handles events without action name", () => {
379
+ (0, reactive_attributes_1.setupReactiveAttributeListeners)();
380
+ const div = document.createElement("div");
381
+ div.setAttribute("lvt-addClass-on:success", "success-state");
382
+ document.body.appendChild(div);
383
+ // Event without action in detail
384
+ document.dispatchEvent(new CustomEvent("lvt:success", {
385
+ detail: {},
386
+ bubbles: true,
387
+ }));
388
+ // Global binding should still work
389
+ expect(div.classList.contains("success-state")).toBe(true);
390
+ });
391
+ });
392
+ });
393
+ //# sourceMappingURL=reactive-attributes.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-attributes.test.js","sourceRoot":"","sources":["../../tests/reactive-attributes.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livetemplate/client",
3
- "version": "0.4.1",
3
+ "version": "0.7.0",
4
4
  "description": "TypeScript client for LiveTemplate tree-based updates",
5
5
  "main": "dist/livetemplate-client.js",
6
6
  "browser": "dist/livetemplate-client.browser.js",