@livetemplate/client 0.4.1 → 0.7.2

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.
Files changed (31) hide show
  1. package/dist/dom/event-delegation.d.ts +12 -0
  2. package/dist/dom/event-delegation.d.ts.map +1 -1
  3. package/dist/dom/event-delegation.js +204 -8
  4. package/dist/dom/event-delegation.js.map +1 -1
  5. package/dist/dom/reactive-attributes.d.ts +67 -0
  6. package/dist/dom/reactive-attributes.d.ts.map +1 -0
  7. package/dist/dom/reactive-attributes.js +201 -0
  8. package/dist/dom/reactive-attributes.js.map +1 -0
  9. package/dist/livetemplate-client.browser.js +4 -4
  10. package/dist/livetemplate-client.browser.js.map +4 -4
  11. package/dist/livetemplate-client.d.ts +2 -0
  12. package/dist/livetemplate-client.d.ts.map +1 -1
  13. package/dist/livetemplate-client.js +13 -1
  14. package/dist/livetemplate-client.js.map +1 -1
  15. package/dist/state/tree-renderer.d.ts +6 -0
  16. package/dist/state/tree-renderer.d.ts.map +1 -1
  17. package/dist/state/tree-renderer.js +193 -16
  18. package/dist/state/tree-renderer.js.map +1 -1
  19. package/dist/tests/event-delegation.test.js +142 -0
  20. package/dist/tests/event-delegation.test.js.map +1 -1
  21. package/dist/tests/reactive-attributes.test.d.ts +2 -0
  22. package/dist/tests/reactive-attributes.test.d.ts.map +1 -0
  23. package/dist/tests/reactive-attributes.test.js +393 -0
  24. package/dist/tests/reactive-attributes.test.js.map +1 -0
  25. package/dist/tests/test-conditional-debug.test.js +13 -1
  26. package/dist/tests/test-conditional-debug.test.js.map +1 -1
  27. package/dist/utils/confirm.d.ts +12 -0
  28. package/dist/utils/confirm.d.ts.map +1 -0
  29. package/dist/utils/confirm.js +35 -0
  30. package/dist/utils/confirm.js.map +1 -0
  31. package/package.json +1 -1
@@ -21,5 +21,17 @@ export declare class EventDelegator {
21
21
  setupWindowEventDelegation(): void;
22
22
  setupClickAwayDelegation(): void;
23
23
  setupModalDelegation(): void;
24
+ /**
25
+ * Sets up focus trapping for elements with lvt-focus-trap attribute.
26
+ * Focus is trapped within the element, cycling through focusable elements
27
+ * when Tab/Shift+Tab is pressed.
28
+ */
29
+ setupFocusTrapDelegation(): void;
30
+ /**
31
+ * Sets up autofocus for elements with lvt-autofocus attribute.
32
+ * Automatically focuses the first element with lvt-autofocus when it becomes visible.
33
+ * Uses MutationObserver to detect when elements are added or become visible.
34
+ */
35
+ setupAutofocusDelegation(): void;
24
36
  }
25
37
  //# sourceMappingURL=event-delegation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-delegation.d.ts","sourceRoot":"","sources":["../../dom/event-delegation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAAC;IACpC,sBAAsB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,mBAAmB,CACjB,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAChC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,IAAI,CAAC;IACR,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC7C,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,MAAM;IAGjC,oBAAoB,IAAI,IAAI;IA+R5B,0BAA0B,IAAI,IAAI;IAoGlC,wBAAwB,IAAI,IAAI;IAgDhC,oBAAoB,IAAI,IAAI;CAkG7B"}
1
+ {"version":3,"file":"event-delegation.d.ts","sourceRoot":"","sources":["../../dom/event-delegation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,IAAI,OAAO,GAAG,IAAI,CAAC;IACpC,sBAAsB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,mBAAmB,CACjB,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAChC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,IAAI,CAAC;IACR,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC7C,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,MAAM;IAGjC,oBAAoB,IAAI,IAAI;IAiS5B,0BAA0B,IAAI,IAAI;IAoGlC,wBAAwB,IAAI,IAAI;IAgDhC,oBAAoB,IAAI,IAAI;IAmG5B;;;;OAIG;IACH,wBAAwB,IAAI,IAAI;IAmGhC;;;;OAIG;IACH,wBAAwB,IAAI,IAAI;CAyGjC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EventDelegator = void 0;
4
4
  const rate_limit_1 = require("../utils/rate-limit");
5
+ const confirm_1 = require("../utils/confirm");
5
6
  /**
6
7
  * Handles all DOM event delegation concerns for LiveTemplateClient.
7
8
  */
@@ -67,6 +68,14 @@ class EventDelegator {
67
68
  while (element && element !== currentWrapper.parentElement) {
68
69
  let action = element.getAttribute(attrName);
69
70
  let actionElement = element;
71
+ // Check for lvt-persist on form submit (auto-persist to database)
72
+ if (!action && eventType === "submit" && element instanceof HTMLFormElement) {
73
+ const persistTable = element.getAttribute("lvt-persist");
74
+ if (persistTable) {
75
+ action = `persist:${persistTable}`;
76
+ actionElement = element;
77
+ }
78
+ }
70
79
  if (!action && (eventType === "change" || eventType === "input")) {
71
80
  const formElement = element.closest("form");
72
81
  if (formElement && formElement.hasAttribute("lvt-change")) {
@@ -98,14 +107,10 @@ class EventDelegator {
98
107
  eventType,
99
108
  targetElement,
100
109
  });
101
- if (action === "delete" &&
102
- targetElement.hasAttribute("lvt-confirm")) {
103
- const confirmMessage = targetElement.getAttribute("lvt-confirm") ||
104
- "Are you sure you want to delete this item?";
105
- if (!confirm(confirmMessage)) {
106
- this.logger.debug("Delete action cancelled by user");
107
- return;
108
- }
110
+ // Handle lvt-confirm for any action
111
+ if (!(0, confirm_1.checkLvtConfirm)(targetElement)) {
112
+ this.logger.debug("Action cancelled by user:", action);
113
+ return;
109
114
  }
110
115
  const message = { action, data: {} };
111
116
  if (targetElement instanceof HTMLFormElement) {
@@ -441,6 +446,197 @@ class EventDelegator {
441
446
  document[escapeListenerKey] = escapeListener;
442
447
  document.addEventListener("keydown", escapeListener);
443
448
  }
449
+ /**
450
+ * Sets up focus trapping for elements with lvt-focus-trap attribute.
451
+ * Focus is trapped within the element, cycling through focusable elements
452
+ * when Tab/Shift+Tab is pressed.
453
+ */
454
+ setupFocusTrapDelegation() {
455
+ const wrapperElement = this.context.getWrapperElement();
456
+ if (!wrapperElement)
457
+ return;
458
+ const wrapperId = wrapperElement.getAttribute("data-lvt-id");
459
+ const listenerKey = `__lvt_focus_trap_${wrapperId}`;
460
+ const existingListener = document[listenerKey];
461
+ if (existingListener) {
462
+ document.removeEventListener("keydown", existingListener);
463
+ }
464
+ const getFocusableElements = (container) => {
465
+ const selector = [
466
+ 'a[href]:not([disabled])',
467
+ 'button:not([disabled])',
468
+ 'textarea:not([disabled])',
469
+ 'input:not([disabled]):not([type="hidden"])',
470
+ 'select:not([disabled])',
471
+ '[tabindex]:not([tabindex="-1"]):not([disabled])',
472
+ '[contenteditable="true"]'
473
+ ].join(', ');
474
+ return Array.from(container.querySelectorAll(selector)).filter((el) => {
475
+ const htmlEl = el;
476
+ // Check if element is visible
477
+ const style = window.getComputedStyle(htmlEl);
478
+ const isNotDisplayNone = style.display !== 'none';
479
+ const isNotVisibilityHidden = style.visibility !== 'hidden';
480
+ // offsetParent can be null in JSDOM or for fixed/absolute positioned elements
481
+ const hasLayoutContext = htmlEl.offsetParent !== null ||
482
+ style.position === 'fixed' ||
483
+ style.position === 'absolute' ||
484
+ // In test environments, offsetParent may always be null
485
+ (typeof process !== 'undefined' && process.env?.NODE_ENV === 'test');
486
+ return isNotDisplayNone && isNotVisibilityHidden && hasLayoutContext;
487
+ });
488
+ };
489
+ const listener = (e) => {
490
+ if (e.key !== "Tab")
491
+ return;
492
+ const currentWrapper = this.context.getWrapperElement();
493
+ if (!currentWrapper)
494
+ return;
495
+ // Find the active focus trap container (innermost one containing the focused element)
496
+ const focusTrapElements = currentWrapper.querySelectorAll("[lvt-focus-trap]");
497
+ let activeTrap = null;
498
+ focusTrapElements.forEach((trap) => {
499
+ if (trap.contains(document.activeElement)) {
500
+ // Check if this is the innermost trap containing the focused element
501
+ if (!activeTrap || trap.contains(activeTrap)) {
502
+ activeTrap = trap;
503
+ }
504
+ }
505
+ });
506
+ // If there's a visible focus trap that doesn't contain the active element,
507
+ // and is visible, trap focus there (for newly opened modals/dropdowns)
508
+ if (!activeTrap) {
509
+ focusTrapElements.forEach((trap) => {
510
+ const htmlTrap = trap;
511
+ const style = window.getComputedStyle(htmlTrap);
512
+ if (style.display !== 'none' && style.visibility !== 'hidden') {
513
+ activeTrap = trap;
514
+ }
515
+ });
516
+ }
517
+ if (!activeTrap)
518
+ return;
519
+ const focusableElements = getFocusableElements(activeTrap);
520
+ if (focusableElements.length === 0)
521
+ return;
522
+ const firstElement = focusableElements[0];
523
+ const lastElement = focusableElements[focusableElements.length - 1];
524
+ if (e.shiftKey) {
525
+ // Shift+Tab: moving backwards
526
+ if (document.activeElement === firstElement) {
527
+ e.preventDefault();
528
+ lastElement.focus();
529
+ }
530
+ }
531
+ else {
532
+ // Tab: moving forwards
533
+ if (document.activeElement === lastElement) {
534
+ e.preventDefault();
535
+ firstElement.focus();
536
+ }
537
+ }
538
+ };
539
+ document[listenerKey] = listener;
540
+ document.addEventListener("keydown", listener);
541
+ this.logger.debug("Focus trap delegation set up");
542
+ }
543
+ /**
544
+ * Sets up autofocus for elements with lvt-autofocus attribute.
545
+ * Automatically focuses the first element with lvt-autofocus when it becomes visible.
546
+ * Uses MutationObserver to detect when elements are added or become visible.
547
+ */
548
+ setupAutofocusDelegation() {
549
+ const wrapperElement = this.context.getWrapperElement();
550
+ if (!wrapperElement)
551
+ return;
552
+ const wrapperId = wrapperElement.getAttribute("data-lvt-id");
553
+ const observerKey = `__lvt_autofocus_observer_${wrapperId}`;
554
+ // Disconnect existing observer if any
555
+ const existingObserver = wrapperElement[observerKey];
556
+ if (existingObserver) {
557
+ existingObserver.disconnect();
558
+ }
559
+ const processAutofocus = () => {
560
+ const currentWrapper = this.context.getWrapperElement();
561
+ if (!currentWrapper)
562
+ return;
563
+ // Find all elements with lvt-autofocus that are visible
564
+ const autofocusElements = currentWrapper.querySelectorAll("[lvt-autofocus]");
565
+ autofocusElements.forEach((element) => {
566
+ const htmlElement = element;
567
+ const style = window.getComputedStyle(htmlElement);
568
+ // Check if element is visible and hasn't been focused yet in this visibility state
569
+ // Note: offsetParent can be null in JSDOM or for fixed/absolute positioned elements,
570
+ // so we only use it as a secondary check when it's available
571
+ const isNotDisplayNone = style.display !== 'none';
572
+ const isNotVisibilityHidden = style.visibility !== 'hidden';
573
+ const hasLayoutContext = htmlElement.offsetParent !== null ||
574
+ style.position === 'fixed' ||
575
+ style.position === 'absolute' ||
576
+ htmlElement.tagName === 'BODY' ||
577
+ // In test environments, offsetParent may always be null
578
+ (typeof process !== 'undefined' && process.env?.NODE_ENV === 'test');
579
+ const isVisible = isNotDisplayNone && isNotVisibilityHidden && hasLayoutContext;
580
+ const wasFocused = htmlElement.getAttribute("data-lvt-autofocused") === "true";
581
+ if (isVisible && !wasFocused) {
582
+ // Mark as focused to prevent re-focusing on every mutation
583
+ htmlElement.setAttribute("data-lvt-autofocused", "true");
584
+ // Use requestAnimationFrame to ensure DOM is ready
585
+ requestAnimationFrame(() => {
586
+ htmlElement.focus();
587
+ this.logger.debug("Autofocused element:", htmlElement.tagName, htmlElement.id || htmlElement.getAttribute("name"));
588
+ });
589
+ }
590
+ else if (!isVisible && wasFocused) {
591
+ // Reset the flag when element becomes hidden so it can be refocused when shown again
592
+ htmlElement.removeAttribute("data-lvt-autofocused");
593
+ }
594
+ });
595
+ };
596
+ // Process autofocus immediately for any existing elements
597
+ processAutofocus();
598
+ // Set up MutationObserver to watch for new autofocus elements or visibility changes
599
+ const observer = new MutationObserver((mutations) => {
600
+ let shouldProcess = false;
601
+ mutations.forEach((mutation) => {
602
+ // Check for added nodes
603
+ if (mutation.type === "childList" && mutation.addedNodes.length > 0) {
604
+ mutation.addedNodes.forEach((node) => {
605
+ if (node instanceof Element) {
606
+ if (node.hasAttribute("lvt-autofocus") || node.querySelector("[lvt-autofocus]")) {
607
+ shouldProcess = true;
608
+ }
609
+ }
610
+ });
611
+ }
612
+ // Check for attribute changes that might affect visibility
613
+ // We intentionally check "class" changes to handle CSS-based visibility
614
+ // (e.g., Tailwind's "hidden" class, Bootstrap's "d-none", etc.)
615
+ // This may cause some extra processing but ensures visibility changes
616
+ // via class toggles are detected.
617
+ if (mutation.type === "attributes") {
618
+ const target = mutation.target;
619
+ if (target.hasAttribute("lvt-autofocus") ||
620
+ mutation.attributeName === "hidden" ||
621
+ mutation.attributeName === "style" ||
622
+ mutation.attributeName === "class") {
623
+ shouldProcess = true;
624
+ }
625
+ }
626
+ });
627
+ if (shouldProcess) {
628
+ processAutofocus();
629
+ }
630
+ });
631
+ observer.observe(wrapperElement, {
632
+ childList: true,
633
+ subtree: true,
634
+ attributes: true,
635
+ attributeFilter: ["hidden", "style", "class", "lvt-autofocus"]
636
+ });
637
+ wrapperElement[observerKey] = observer;
638
+ this.logger.debug("Autofocus delegation set up");
639
+ }
444
640
  }
445
641
  exports.EventDelegator = EventDelegator;
446
642
  //# sourceMappingURL=event-delegation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-delegation.js","sourceRoot":"","sources":["../../dom/event-delegation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-delegation.js","sourceRoot":"","sources":["../../dom/event-delegation.ts"],"names":[],"mappings":";;;AAAA,oDAAyD;AACzD,8CAAmD;AAmBnD;;GAEG;AACH,MAAa,cAAc;IACzB,YACmB,OAA+B,EAC/B,MAAc;QADd,YAAO,GAAP,OAAO,CAAwB;QAC/B,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEJ,oBAAoB;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,UAAU,GAAG;YACjB,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,SAAS;YACT,OAAO;YACP,OAAO;YACP,MAAM;YACN,YAAY;YACZ,YAAY;SACb,CAAC;QACF,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAElE,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC/B,MAAM,WAAW,GAAG,mBAAmB,SAAS,IAAI,SAAS,EAAE,CAAC;YAChE,MAAM,gBAAgB,GAAI,QAAgB,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACxD,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAE5B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAc,CAAC,4BAA4B,GAAG,IAAI,CAAC;oBACnD,MAAc,CAAC,sBAAsB,GACpC,CAAC,CAAC,MACH,EAAE,OAAO,CAAC;gBACb,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAEpE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAiB,CAAC;gBACnC,IAAI,CAAC,MAAM;oBAAE,OAAO;gBAEpB,IAAI,OAAO,GAAmB,MAAM,CAAC;gBACrC,IAAI,SAAS,GAAG,KAAK,CAAC;gBAEtB,OAAO,OAAO,EAAE,CAAC;oBACf,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAC/B,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;oBACR,CAAC;oBACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;gBAClC,CAAC;gBAED,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAc,CAAC,cAAc,GAAG,SAAS,CAAC;oBAC1C,MAAc,CAAC,mBAAmB;wBACjC,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC/C,CAAC;gBAED,IAAI,CAAC,SAAS;oBAAE,OAAO;gBAEvB,MAAM,QAAQ,GAAG,OAAO,SAAS,EAAE,CAAC;gBACpC,OAAO,GAAG,MAAM,CAAC;gBAEjB,OAAO,OAAO,IAAI,OAAO,KAAK,cAAc,CAAC,aAAa,EAAE,CAAC;oBAC3D,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAC5C,IAAI,aAAa,GAAG,OAAO,CAAC;oBAE5B,kEAAkE;oBAClE,IAAI,CAAC,MAAM,IAAI,SAAS,KAAK,QAAQ,IAAI,OAAO,YAAY,eAAe,EAAE,CAAC;wBAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;wBACzD,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,GAAG,WAAW,YAAY,EAAE,CAAC;4BACnC,aAAa,GAAG,OAAO,CAAC;wBAC1B,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC;wBACjE,MAAM,WAAW,GAA2B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACpE,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;4BAC1D,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;4BAChD,aAAa,GAAG,WAAW,CAAC;wBAC9B,CAAC;oBACH,CAAC;oBAED,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;wBAC5B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;4BAC1B,MAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC;4BACzC,MAAc,CAAC,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAAC;wBAC7D,CAAC;wBAED,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;4BAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;wBACrB,CAAC;wBAED,IACE,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,OAAO,CAAC;4BAClD,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,EACrC,CAAC;4BACD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;4BACxD,MAAM,aAAa,GAAG,CAAkB,CAAC;4BACzC,IAAI,SAAS,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gCACjD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;gCAChC,SAAS;4BACX,CAAC;wBACH,CAAC;wBAED,MAAM,aAAa,GAAG,aAAa,CAAC;wBAEpC,MAAM,YAAY,GAAG,GAAG,EAAE;4BACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;gCACvC,MAAM;gCACN,SAAS;gCACT,aAAa;6BACd,CAAC,CAAC;4BAEH,oCAAoC;4BACpC,IAAI,CAAC,IAAA,yBAAe,EAAC,aAA4B,CAAC,EAAE,CAAC;gCACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;gCACvD,OAAO;4BACT,CAAC;4BAED,MAAM,OAAO,GAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;4BAE1C,IAAI,aAAa,YAAY,eAAe,EAAE,CAAC;gCAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gCAC7C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;gCAE7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,aAAa,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CACzC,CAAC;gCACxB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gCAE/D,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oCAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gCAC7B,CAAC,CAAC,CAAC;gCAEH,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oCAC9B,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wCAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;wCACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;oCAC1D,CAAC;yCAAM,CAAC;wCACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CACzC,KAAe,CAChB,CAAC;oCACJ,CAAC;gCACH,CAAC,CAAC,CAAC;gCACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;4BAC1D,CAAC;iCAAM,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gCAC3D,IAAI,aAAa,YAAY,gBAAgB,EAAE,CAAC;oCAC9C,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,IAAI,OAAO,CAAC;oCAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CACzC,aAAa,CAAC,KAAK,CACpB,CAAC;gCACJ,CAAC;qCAAM,IAAI,aAAa,YAAY,iBAAiB,EAAE,CAAC;oCACtD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,IAAI,OAAO,CAAC;oCAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CACzC,aAAa,CAAC,KAAK,CACpB,CAAC;gCACJ,CAAC;qCAAM,IAAI,aAAa,YAAY,mBAAmB,EAAE,CAAC;oCACxD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,IAAI,OAAO,CAAC;oCAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CACzC,aAAa,CAAC,KAAK,CACpB,CAAC;gCACJ,CAAC;4BACH,CAAC;4BAED,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gCACpD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oCACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oCAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCAC1D,CAAC;4BACH,CAAC,CAAC,CAAC;4BAEH,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gCACpD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oCACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;oCAChD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCAC1D,CAAC;4BACH,CAAC,CAAC,CAAC;4BAEH,IACE,SAAS,KAAK,QAAQ;gCACtB,aAAa,YAAY,eAAe,EACxC,CAAC;gCACD,MAAM,WAAW,GAAG,CAAgB,CAAC;gCACrC,MAAM,YAAY,GAChB,WAAW,CAAC,SAAqC,CAAC;gCACpD,IAAI,kBAAkB,GAAkB,IAAI,CAAC;gCAE7C,IACE,YAAY;oCACZ,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAC7C,CAAC;oCACD,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC;oCAC9C,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;oCAC7B,YAAY,CAAC,WAAW;wCACtB,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;oCAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;gCAC9C,CAAC;gCAED,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAC9B,aAAa,EACb,YAAY,IAAI,IAAI,EACpB,kBAAkB,CACnB,CAAC;gCAEF,0DAA0D;gCAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,gBAAgB,CAC/C,gCAAgC,CACjC,CAAC;gCACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oCAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;oCACpD,IAAI,UAAU,EAAE,CAAC;wCACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;wCACjE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;oCACjD,CAAC;gCACH,CAAC,CAAC,CAAC;gCAEH,aAAa,CAAC,aAAa,CACzB,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CACpD,CAAC;gCACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;4BACjD,CAAC;4BAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;4BACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kBAAkB,EAClB,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CACtC,CAAC;4BAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;wBACrC,CAAC,CAAC;wBAEF,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;wBACjE,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;wBAEjE,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;4BACnC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gCAC5C,mBAAmB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;4BACpD,CAAC;4BACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;4BAC7D,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;4BAE1C,IAAI,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACpD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gCACxB,IAAI,aAAa,EAAE,CAAC;oCAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oCAC1C,kBAAkB,GAAG,IAAA,qBAAQ,EAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gCACrD,CAAC;qCAAM,IAAI,aAAa,EAAE,CAAC;oCACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oCACzC,kBAAkB,GAAG,IAAA,qBAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gCACpD,CAAC;gCACD,IAAI,kBAAkB,EAAE,CAAC;oCACvB,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gCACjD,CAAC;4BACH,CAAC;4BAED,IAAI,kBAAkB,EAAE,CAAC;gCACvB,kBAAkB,EAAE,CAAC;4BACvB,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gCAC1B,MAAc,CAAC,uBAAuB,GAAG,IAAI,CAAC;4BACjD,CAAC;4BACD,YAAY,EAAE,CAAC;4BACf,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gCAC1B,MAAc,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BAChD,CAAC;wBACH,CAAC;wBAED,OAAO;oBACT,CAAC;oBACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC;YAED,QAAgB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;YAC1C,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4BAA4B,EAC5B,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,YAAY,GAAG;YACnB,SAAS;YACT,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,MAAM;SACP,CAAC;QACF,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAElE,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACjC,MAAM,WAAW,GAAG,gBAAgB,SAAS,IAAI,SAAS,EAAE,CAAC;YAC7D,MAAM,gBAAgB,GAAI,MAAc,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,CAAQ,EAAE,EAAE;gBAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACxD,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAE5B,MAAM,QAAQ,GAAG,cAAc,SAAS,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;gBAElE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAC9C,IAAI,CAAC,MAAM;wBAAE,OAAO;oBAEpB,IACE,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,OAAO,CAAC;wBAClD,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,EAC/B,CAAC;wBACD,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;wBAClD,MAAM,aAAa,GAAG,CAAkB,CAAC;wBACzC,IAAI,SAAS,IAAI,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;4BACjD,OAAO;wBACT,CAAC;oBACH,CAAC;oBAED,MAAM,OAAO,GAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;oBAE1C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;4BACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;4BAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;4BACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;4BAChD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;oBAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;oBAE3D,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAEtD,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;wBACnC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BACtC,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC9C,CAAC;wBACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;wBACvD,MAAM,QAAQ,GAAG,UAAU,SAAS,IAAI,MAAM,EAAE,CAAC;wBAEjD,IAAI,kBAAkB,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACpD,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BACxB,IAAI,aAAa,EAAE,CAAC;gCAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gCAC1C,kBAAkB,GAAG,IAAA,qBAAQ,EAAC,YAAY,EAAE,KAAK,CAAC,CAAC;4BACrD,CAAC;iCAAM,IAAI,aAAa,EAAE,CAAC;gCACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gCACzC,kBAAkB,GAAG,IAAA,qBAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;4BACpD,CAAC;4BACD,IAAI,kBAAkB,EAAE,CAAC;gCACvB,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;4BACjD,CAAC;wBACH,CAAC;wBAED,IAAI,kBAAkB,EAAE,CAAC;4BACvB,kBAAkB,EAAE,CAAC;wBACvB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,YAAY,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAED,MAAc,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;YACxC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,oBAAoB,SAAS,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAI,QAAgB,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAgB,EAAE,CAAC;YACrB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAiB,CAAC;YACnC,MAAM,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAErE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;oBACtD,IAAI,CAAC,MAAM;wBAAE,OAAO;oBAEpB,MAAM,OAAO,GAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;oBAE1C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;4BACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;4BAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC9C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;4BACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;4BAChD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAED,QAAgB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QAC1C,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,oBAAoB;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE7D,MAAM,eAAe,GAAG,oBAAoB,SAAS,EAAE,CAAC;QACxD,MAAM,oBAAoB,GAAI,QAAgB,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,oBAAoB,EAAE,CAAC;YACzB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,CAAQ,EAAE,EAAE;YAChC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,MAAM,MAAM,GAAI,CAAC,CAAC,MAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YAExD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC;QAED,QAAgB,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC;QAClD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAEjD,MAAM,gBAAgB,GAAG,qBAAqB,SAAS,EAAE,CAAC;QAC1D,MAAM,qBAAqB,GAAI,QAAgB,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,qBAAqB,EAAE,CAAC;YAC1B,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,CAAQ,EAAE,EAAE;YACjC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,MAAM,MAAM,GAAI,CAAC,CAAC,MAAkB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC;QAED,QAAgB,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC;QACpD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAElD,MAAM,mBAAmB,GAAG,wBAAwB,SAAS,EAAE,CAAC;QAChE,MAAM,wBAAwB,GAAI,QAAgB,CAAC,mBAAmB,CAAC,CAAC;QACxE,IAAI,wBAAwB,EAAE,CAAC;YAC7B,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,CAAQ,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAiB,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAC;gBAAE,OAAO;YAExD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YACrD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;QAED,QAAgB,CAAC,mBAAmB,CAAC,GAAG,gBAAgB,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAErD,MAAM,iBAAiB,GAAG,sBAAsB,SAAS,EAAE,CAAC;QAC5D,MAAM,sBAAsB,GAAI,QAAgB,CAAC,iBAAiB,CAAC,CAAC;QACpE,IAAI,sBAAsB,EAAE,CAAC;YAC3B,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,CAAgB,EAAE,EAAE;YAC1C,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAChD,+BAA+B,CAChC,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpD,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;oBACjB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAED,QAAgB,CAAC,iBAAiB,CAAC,GAAG,cAAc,CAAC;QACtD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,oBAAoB,SAAS,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAI,QAAgB,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,gBAAgB,EAAE,CAAC;YACrB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,oBAAoB,GAAG,CAAC,SAAkB,EAAiB,EAAE;YACjE,MAAM,QAAQ,GAAG;gBACf,yBAAyB;gBACzB,wBAAwB;gBACxB,0BAA0B;gBAC1B,4CAA4C;gBAC5C,wBAAwB;gBACxB,iDAAiD;gBACjD,0BAA0B;aAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAC5D,CAAC,EAAE,EAAE,EAAE;gBACL,MAAM,MAAM,GAAG,EAAiB,CAAC;gBACjC,8BAA8B;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;gBAClD,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;gBAC5D,8EAA8E;gBAC9E,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,KAAK,IAAI;oBAC5B,KAAK,CAAC,QAAQ,KAAK,OAAO;oBAC1B,KAAK,CAAC,QAAQ,KAAK,UAAU;oBAC7B,wDAAwD;oBACxD,CAAC,OAAO,OAAO,KAAK,WAAW,IAAK,OAAe,CAAC,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC;gBACvG,OAAO,gBAAgB,IAAI,qBAAqB,IAAI,gBAAgB,CAAC;YACvE,CAAC,CACe,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,CAAgB,EAAE,EAAE;YACpC,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK;gBAAE,OAAO;YAE5B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,sFAAsF;YACtF,MAAM,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAC9E,IAAI,UAAU,GAAmB,IAAI,CAAC;YAEtC,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC1C,qEAAqE;oBACrE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC7C,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,2EAA2E;YAC3E,uEAAuE;YACvE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjC,MAAM,QAAQ,GAAG,IAAmB,CAAC;oBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAChD,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;wBAC9D,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,UAAU;gBAAE,OAAO;YAExB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE3C,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEpE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACf,8BAA8B;gBAC9B,IAAI,QAAQ,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;oBAC5C,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,IAAI,QAAQ,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;oBAC3C,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAED,QAAgB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QAC1C,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,4BAA4B,SAAS,EAAE,CAAC;QAE5D,sCAAsC;QACtC,MAAM,gBAAgB,GAAI,cAAsB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,gBAAgB,EAAE,CAAC;YACrB,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,wDAAwD;YACxD,MAAM,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YAE7E,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACpC,MAAM,WAAW,GAAG,OAAsB,CAAC;gBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAEnD,mFAAmF;gBACnF,qFAAqF;gBACrF,6DAA6D;gBAC7D,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;gBAClD,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;gBAC5D,MAAM,gBAAgB,GAAG,WAAW,CAAC,YAAY,KAAK,IAAI;oBACjC,KAAK,CAAC,QAAQ,KAAK,OAAO;oBAC1B,KAAK,CAAC,QAAQ,KAAK,UAAU;oBAC7B,WAAW,CAAC,OAAO,KAAK,MAAM;oBAC9B,wDAAwD;oBACxD,CAAC,OAAO,OAAO,KAAK,WAAW,IAAK,OAAe,CAAC,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC;gBACvG,MAAM,SAAS,GAAG,gBAAgB,IAAI,qBAAqB,IAAI,gBAAgB,CAAC;gBAEhF,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,MAAM,CAAC;gBAE/E,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC7B,2DAA2D;oBAC3D,WAAW,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;oBAEzD,mDAAmD;oBACnD,qBAAqB,CAAC,GAAG,EAAE;wBACzB,WAAW,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;oBACrH,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE,CAAC;oBACpC,qFAAqF;oBACrF,WAAW,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,0DAA0D;QAC1D,gBAAgB,EAAE,CAAC;QAEnB,oFAAoF;QACpF,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;YAClD,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC7B,wBAAwB;gBACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBACnC,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;4BAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC;gCAChF,aAAa,GAAG,IAAI,CAAC;4BACvB,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,2DAA2D;gBAC3D,wEAAwE;gBACxE,gEAAgE;gBAChE,sEAAsE;gBACtE,kCAAkC;gBAClC,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAiB,CAAC;oBAC1C,IAAI,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC;wBACpC,QAAQ,CAAC,aAAa,KAAK,QAAQ;wBACnC,QAAQ,CAAC,aAAa,KAAK,OAAO;wBAClC,QAAQ,CAAC,aAAa,KAAK,OAAO,EAAE,CAAC;wBACvC,aAAa,GAAG,IAAI,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,EAAE,CAAC;gBAClB,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE;YAC/B,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC;SAC/D,CAAC,CAAC;QAEF,cAAsB,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;CACF;AApvBD,wCAovBC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Reactive Attributes - Declarative DOM actions triggered by LiveTemplate lifecycle events.
3
+ *
4
+ * Attribute Pattern: lvt-{action}-on:{event}="param"
5
+ *
6
+ * Events:
7
+ * - pending: Action started, waiting for server response
8
+ * - success: Action completed successfully
9
+ * - error: Action completed with validation errors
10
+ * - done: Action completed (regardless of success/error)
11
+ *
12
+ * Event Scope:
13
+ * - Global: lvt-reset-on:success (any action)
14
+ * - Action-specific: lvt-reset-on:create-todo:success (specific action only)
15
+ *
16
+ * Actions:
17
+ * - reset: Calls form.reset()
18
+ * - disable: Sets element.disabled = true
19
+ * - enable: Sets element.disabled = false
20
+ * - addClass: Adds CSS class(es)
21
+ * - removeClass: Removes CSS class(es)
22
+ * - toggleClass: Toggles CSS class(es)
23
+ * - setAttr: Sets an attribute (name:value format)
24
+ * - toggleAttr: Toggles a boolean attribute
25
+ */
26
+ export type ReactiveAction = "reset" | "disable" | "enable" | "addClass" | "removeClass" | "toggleClass" | "setAttr" | "toggleAttr";
27
+ export type LifecycleEvent = "pending" | "success" | "error" | "done";
28
+ export interface ReactiveBinding {
29
+ action: ReactiveAction;
30
+ lifecycle: LifecycleEvent;
31
+ actionName?: string;
32
+ param?: string;
33
+ }
34
+ /**
35
+ * Parse a reactive attribute name and value into a binding.
36
+ *
37
+ * Examples:
38
+ * parseReactiveAttribute("lvt-reset-on:success", "") => { action: "reset", lifecycle: "success" }
39
+ * parseReactiveAttribute("lvt-addClass-on:pending", "loading") => { action: "addClass", lifecycle: "pending", param: "loading" }
40
+ * parseReactiveAttribute("lvt-reset-on:create-todo:success", "") => { action: "reset", lifecycle: "success", actionName: "create-todo" }
41
+ */
42
+ export declare function parseReactiveAttribute(attrName: string, attrValue: string): ReactiveBinding | null;
43
+ /**
44
+ * Execute a reactive action on an element.
45
+ */
46
+ export declare function executeAction(element: Element, action: ReactiveAction, param?: string): void;
47
+ /**
48
+ * Check if an event matches a binding.
49
+ *
50
+ * @param binding The reactive binding to check
51
+ * @param lifecycle The lifecycle event that fired
52
+ * @param actionName The action name that triggered the event (optional)
53
+ */
54
+ export declare function matchesEvent(binding: ReactiveBinding, lifecycle: LifecycleEvent, actionName?: string): boolean;
55
+ /**
56
+ * Process all reactive attributes for a lifecycle event.
57
+ *
58
+ * Instead of building complex selectors, we iterate all elements with any lvt-*-on:* attribute
59
+ * and check each one against the fired event.
60
+ */
61
+ export declare function processReactiveAttributes(lifecycle: LifecycleEvent, actionName?: string): void;
62
+ /**
63
+ * Set up document-level event listeners for reactive attributes.
64
+ * This should be called once during client initialization.
65
+ */
66
+ export declare function setupReactiveAttributeListeners(): void;
67
+ //# sourceMappingURL=reactive-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-attributes.d.ts","sourceRoot":"","sources":["../../dom/reactive-attributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,SAAS,GACT,QAAQ,GACR,UAAU,GACV,aAAa,GACb,aAAa,GACb,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2BD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CA6BxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,cAAc,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CA0DN;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,cAAc,EACzB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAST;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,cAAc,EACzB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAatD"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ /**
3
+ * Reactive Attributes - Declarative DOM actions triggered by LiveTemplate lifecycle events.
4
+ *
5
+ * Attribute Pattern: lvt-{action}-on:{event}="param"
6
+ *
7
+ * Events:
8
+ * - pending: Action started, waiting for server response
9
+ * - success: Action completed successfully
10
+ * - error: Action completed with validation errors
11
+ * - done: Action completed (regardless of success/error)
12
+ *
13
+ * Event Scope:
14
+ * - Global: lvt-reset-on:success (any action)
15
+ * - Action-specific: lvt-reset-on:create-todo:success (specific action only)
16
+ *
17
+ * Actions:
18
+ * - reset: Calls form.reset()
19
+ * - disable: Sets element.disabled = true
20
+ * - enable: Sets element.disabled = false
21
+ * - addClass: Adds CSS class(es)
22
+ * - removeClass: Removes CSS class(es)
23
+ * - toggleClass: Toggles CSS class(es)
24
+ * - setAttr: Sets an attribute (name:value format)
25
+ * - toggleAttr: Toggles a boolean attribute
26
+ */
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.parseReactiveAttribute = parseReactiveAttribute;
29
+ exports.executeAction = executeAction;
30
+ exports.matchesEvent = matchesEvent;
31
+ exports.processReactiveAttributes = processReactiveAttributes;
32
+ exports.setupReactiveAttributeListeners = setupReactiveAttributeListeners;
33
+ const LIFECYCLE_EVENTS = ["pending", "success", "error", "done"];
34
+ const REACTIVE_ACTIONS = [
35
+ "reset",
36
+ "disable",
37
+ "enable",
38
+ "addClass",
39
+ "removeClass",
40
+ "toggleClass",
41
+ "setAttr",
42
+ "toggleAttr",
43
+ ];
44
+ // Lowercase versions for case-insensitive matching (HTML attributes are lowercased)
45
+ const ACTION_MAP = {
46
+ reset: "reset",
47
+ disable: "disable",
48
+ enable: "enable",
49
+ addclass: "addClass",
50
+ removeclass: "removeClass",
51
+ toggleclass: "toggleClass",
52
+ setattr: "setAttr",
53
+ toggleattr: "toggleAttr",
54
+ };
55
+ /**
56
+ * Parse a reactive attribute name and value into a binding.
57
+ *
58
+ * Examples:
59
+ * parseReactiveAttribute("lvt-reset-on:success", "") => { action: "reset", lifecycle: "success" }
60
+ * parseReactiveAttribute("lvt-addClass-on:pending", "loading") => { action: "addClass", lifecycle: "pending", param: "loading" }
61
+ * parseReactiveAttribute("lvt-reset-on:create-todo:success", "") => { action: "reset", lifecycle: "success", actionName: "create-todo" }
62
+ */
63
+ function parseReactiveAttribute(attrName, attrValue) {
64
+ // Pattern: lvt-{action}-on:{actionName?}:{lifecycle}
65
+ // The lifecycle must be at the end, action name is optional in the middle
66
+ // Note: HTML attributes are lowercased by browsers, so we match case-insensitively
67
+ const match = attrName.toLowerCase().match(/^lvt-(\w+)-on:(.+)$/);
68
+ if (!match)
69
+ return null;
70
+ const actionKey = match[1];
71
+ const action = ACTION_MAP[actionKey];
72
+ if (!action)
73
+ return null;
74
+ const eventPart = match[2];
75
+ // Check if the last segment is a lifecycle event
76
+ // Format: "{actionName}:{lifecycle}" or just "{lifecycle}"
77
+ const segments = eventPart.split(":");
78
+ const lastSegment = segments[segments.length - 1];
79
+ if (!LIFECYCLE_EVENTS.includes(lastSegment))
80
+ return null;
81
+ const lifecycle = lastSegment;
82
+ const actionName = segments.length > 1 ? segments.slice(0, -1).join(":") : undefined;
83
+ return {
84
+ action,
85
+ lifecycle,
86
+ actionName: actionName || undefined,
87
+ param: attrValue || undefined,
88
+ };
89
+ }
90
+ /**
91
+ * Execute a reactive action on an element.
92
+ */
93
+ function executeAction(element, action, param) {
94
+ switch (action) {
95
+ case "reset":
96
+ if (element instanceof HTMLFormElement) {
97
+ element.reset();
98
+ }
99
+ break;
100
+ case "disable":
101
+ if ("disabled" in element) {
102
+ element.disabled = true;
103
+ }
104
+ break;
105
+ case "enable":
106
+ if ("disabled" in element) {
107
+ element.disabled = false;
108
+ }
109
+ break;
110
+ case "addClass":
111
+ if (param) {
112
+ const classes = param.split(/\s+/).filter(Boolean);
113
+ element.classList.add(...classes);
114
+ }
115
+ break;
116
+ case "removeClass":
117
+ if (param) {
118
+ const classes = param.split(/\s+/).filter(Boolean);
119
+ element.classList.remove(...classes);
120
+ }
121
+ break;
122
+ case "toggleClass":
123
+ if (param) {
124
+ const classes = param.split(/\s+/).filter(Boolean);
125
+ classes.forEach((c) => element.classList.toggle(c));
126
+ }
127
+ break;
128
+ case "setAttr":
129
+ if (param) {
130
+ const colonIndex = param.indexOf(":");
131
+ if (colonIndex > 0) {
132
+ const name = param.substring(0, colonIndex);
133
+ const value = param.substring(colonIndex + 1);
134
+ element.setAttribute(name, value);
135
+ }
136
+ }
137
+ break;
138
+ case "toggleAttr":
139
+ if (param) {
140
+ element.toggleAttribute(param);
141
+ }
142
+ break;
143
+ }
144
+ }
145
+ /**
146
+ * Check if an event matches a binding.
147
+ *
148
+ * @param binding The reactive binding to check
149
+ * @param lifecycle The lifecycle event that fired
150
+ * @param actionName The action name that triggered the event (optional)
151
+ */
152
+ function matchesEvent(binding, lifecycle, actionName) {
153
+ // Lifecycle must match
154
+ if (binding.lifecycle !== lifecycle)
155
+ return false;
156
+ // If binding has no actionName, it's global (matches any action)
157
+ if (!binding.actionName)
158
+ return true;
159
+ // If binding has actionName, it must match the fired action
160
+ return binding.actionName === actionName;
161
+ }
162
+ /**
163
+ * Process all reactive attributes for a lifecycle event.
164
+ *
165
+ * Instead of building complex selectors, we iterate all elements with any lvt-*-on:* attribute
166
+ * and check each one against the fired event.
167
+ */
168
+ function processReactiveAttributes(lifecycle, actionName) {
169
+ // Find all elements that might have reactive attributes
170
+ // This is a broad selector but avoids escaping issues with attribute names containing colons
171
+ const allElements = document.querySelectorAll("*");
172
+ allElements.forEach((element) => {
173
+ // Check all attributes on this element for reactive bindings
174
+ Array.from(element.attributes).forEach((attr) => {
175
+ // Quick filter: only process lvt-*-on: attributes
176
+ if (!attr.name.startsWith("lvt-") || !attr.name.includes("-on:")) {
177
+ return;
178
+ }
179
+ const binding = parseReactiveAttribute(attr.name, attr.value);
180
+ if (binding && matchesEvent(binding, lifecycle, actionName)) {
181
+ executeAction(element, binding.action, binding.param);
182
+ }
183
+ });
184
+ });
185
+ }
186
+ /**
187
+ * Set up document-level event listeners for reactive attributes.
188
+ * This should be called once during client initialization.
189
+ */
190
+ function setupReactiveAttributeListeners() {
191
+ LIFECYCLE_EVENTS.forEach((lifecycle) => {
192
+ // Listen in capture phase to process before event bubbles
193
+ document.addEventListener(`lvt:${lifecycle}`, (e) => {
194
+ const customEvent = e;
195
+ const actionName = customEvent.detail?.action;
196
+ processReactiveAttributes(lifecycle, actionName);
197
+ }, true // capture phase
198
+ );
199
+ });
200
+ }
201
+ //# sourceMappingURL=reactive-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-attributes.js","sourceRoot":"","sources":["../../dom/reactive-attributes.ts"],"names":[],"mappings":"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"}