@coherent.js/core 1.0.0-beta.7 → 1.0.0-rc.1

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 (113) hide show
  1. package/dist/index.cjs +29 -25
  2. package/dist/index.cjs.map +2 -2
  3. package/dist/index.js +29 -26
  4. package/dist/index.js.map +3 -3
  5. package/package.json +2 -2
  6. package/dist/coherent.d.ts +0 -472
  7. package/dist/coherent.d.ts.map +0 -1
  8. package/dist/coherent.js +0 -590
  9. package/dist/coherent.js.map +0 -1
  10. package/dist/components/component-system.d.ts +0 -1138
  11. package/dist/components/component-system.d.ts.map +0 -1
  12. package/dist/components/component-system.js +0 -2220
  13. package/dist/components/component-system.js.map +0 -1
  14. package/dist/components/lifecycle.d.ts +0 -212
  15. package/dist/components/lifecycle.d.ts.map +0 -1
  16. package/dist/components/lifecycle.js +0 -525
  17. package/dist/components/lifecycle.js.map +0 -1
  18. package/dist/core/html-utils.d.ts +0 -14
  19. package/dist/core/html-utils.d.ts.map +0 -1
  20. package/dist/core/html-utils.js +0 -166
  21. package/dist/core/html-utils.js.map +0 -1
  22. package/dist/core/object-factory.d.ts +0 -38
  23. package/dist/core/object-factory.d.ts.map +0 -1
  24. package/dist/core/object-factory.js +0 -63
  25. package/dist/core/object-factory.js.map +0 -1
  26. package/dist/core/object-utils.d.ts +0 -77
  27. package/dist/core/object-utils.d.ts.map +0 -1
  28. package/dist/core/object-utils.js +0 -502
  29. package/dist/core/object-utils.js.map +0 -1
  30. package/dist/dev/dev-tools.d.ts +0 -194
  31. package/dist/dev/dev-tools.d.ts.map +0 -1
  32. package/dist/dev/dev-tools.js +0 -846
  33. package/dist/dev/dev-tools.js.map +0 -1
  34. package/dist/forms/validation.d.ts +0 -271
  35. package/dist/forms/validation.d.ts.map +0 -1
  36. package/dist/forms/validation.js +0 -573
  37. package/dist/forms/validation.js.map +0 -1
  38. package/dist/performance/bundle-optimizer.d.ts +0 -95
  39. package/dist/performance/bundle-optimizer.d.ts.map +0 -1
  40. package/dist/performance/bundle-optimizer.js +0 -192
  41. package/dist/performance/bundle-optimizer.js.map +0 -1
  42. package/dist/performance/cache-manager.d.ts +0 -107
  43. package/dist/performance/cache-manager.d.ts.map +0 -1
  44. package/dist/performance/cache-manager.js +0 -314
  45. package/dist/performance/cache-manager.js.map +0 -1
  46. package/dist/performance/component-cache.d.ts +0 -120
  47. package/dist/performance/component-cache.d.ts.map +0 -1
  48. package/dist/performance/component-cache.js +0 -364
  49. package/dist/performance/component-cache.js.map +0 -1
  50. package/dist/performance/monitor.d.ts +0 -189
  51. package/dist/performance/monitor.d.ts.map +0 -1
  52. package/dist/performance/monitor.js +0 -347
  53. package/dist/performance/monitor.js.map +0 -1
  54. package/dist/rendering/base-renderer.d.ts +0 -140
  55. package/dist/rendering/base-renderer.d.ts.map +0 -1
  56. package/dist/rendering/base-renderer.js +0 -409
  57. package/dist/rendering/base-renderer.js.map +0 -1
  58. package/dist/rendering/css-manager.d.ts +0 -73
  59. package/dist/rendering/css-manager.d.ts.map +0 -1
  60. package/dist/rendering/css-manager.js +0 -176
  61. package/dist/rendering/css-manager.js.map +0 -1
  62. package/dist/rendering/dom-renderer.d.ts +0 -62
  63. package/dist/rendering/dom-renderer.d.ts.map +0 -1
  64. package/dist/rendering/dom-renderer.js +0 -252
  65. package/dist/rendering/dom-renderer.js.map +0 -1
  66. package/dist/rendering/html-renderer.d.ts +0 -67
  67. package/dist/rendering/html-renderer.d.ts.map +0 -1
  68. package/dist/rendering/html-renderer.js +0 -444
  69. package/dist/rendering/html-renderer.js.map +0 -1
  70. package/dist/rendering/renderer-config.d.ts +0 -282
  71. package/dist/rendering/renderer-config.d.ts.map +0 -1
  72. package/dist/rendering/renderer-config.js +0 -144
  73. package/dist/rendering/renderer-config.js.map +0 -1
  74. package/dist/rendering/streaming-renderer.d.ts +0 -117
  75. package/dist/rendering/streaming-renderer.d.ts.map +0 -1
  76. package/dist/rendering/streaming-renderer.js +0 -326
  77. package/dist/rendering/streaming-renderer.js.map +0 -1
  78. package/dist/rendering/vdom-diff.d.ts +0 -47
  79. package/dist/rendering/vdom-diff.d.ts.map +0 -1
  80. package/dist/rendering/vdom-diff.js +0 -416
  81. package/dist/rendering/vdom-diff.js.map +0 -1
  82. package/dist/routing/router.d.ts +0 -241
  83. package/dist/routing/router.d.ts.map +0 -1
  84. package/dist/routing/router.js +0 -648
  85. package/dist/routing/router.js.map +0 -1
  86. package/dist/state/reactive-state.d.ts +0 -166
  87. package/dist/state/reactive-state.d.ts.map +0 -1
  88. package/dist/state/reactive-state.js +0 -546
  89. package/dist/state/reactive-state.js.map +0 -1
  90. package/dist/state/state-manager.d.ts +0 -45
  91. package/dist/state/state-manager.d.ts.map +0 -1
  92. package/dist/state/state-manager.js +0 -151
  93. package/dist/state/state-manager.js.map +0 -1
  94. package/dist/types/constants.d.ts +0 -8
  95. package/dist/types/constants.d.ts.map +0 -1
  96. package/dist/types/constants.js +0 -36
  97. package/dist/types/constants.js.map +0 -1
  98. package/dist/utils/dependency-utils.d.ts +0 -43
  99. package/dist/utils/dependency-utils.d.ts.map +0 -1
  100. package/dist/utils/dependency-utils.js +0 -105
  101. package/dist/utils/dependency-utils.js.map +0 -1
  102. package/dist/utils/error-handler.d.ts +0 -148
  103. package/dist/utils/error-handler.d.ts.map +0 -1
  104. package/dist/utils/error-handler.js +0 -468
  105. package/dist/utils/error-handler.js.map +0 -1
  106. package/dist/utils/normalization.d.ts +0 -3
  107. package/dist/utils/normalization.d.ts.map +0 -1
  108. package/dist/utils/normalization.js +0 -24
  109. package/dist/utils/normalization.js.map +0 -1
  110. package/dist/utils/validation.d.ts +0 -10
  111. package/dist/utils/validation.d.ts.map +0 -1
  112. package/dist/utils/validation.js +0 -32
  113. package/dist/utils/validation.js.map +0 -1
package/dist/index.js CHANGED
@@ -10,9 +10,6 @@ var __export = (target, all) => {
10
10
  __defProp(target, name, { get: all[name], enumerable: true });
11
11
  };
12
12
 
13
- // src/index.js
14
- import { readFileSync } from "node:fs";
15
-
16
13
  // src/performance/monitor.js
17
14
  function createPerformanceMonitor(options = {}) {
18
15
  const opts = {
@@ -464,6 +461,23 @@ function createPerformanceMonitor(options = {}) {
464
461
  startReporting();
465
462
  startProfiling();
466
463
  }
464
+ let _renderCounter = 0;
465
+ const _renderTimers = /* @__PURE__ */ new Map();
466
+ function startRender() {
467
+ const id = `render_${++_renderCounter}`;
468
+ _renderTimers.set(id, performance.now());
469
+ return id;
470
+ }
471
+ function endRender(id) {
472
+ const startTime = _renderTimers.get(id);
473
+ if (startTime !== void 0) {
474
+ const duration = performance.now() - startTime;
475
+ _renderTimers.delete(id);
476
+ recordMetric("render", duration);
477
+ return duration;
478
+ }
479
+ return 0;
480
+ }
467
481
  return {
468
482
  recordMetric,
469
483
  measure,
@@ -473,6 +487,8 @@ function createPerformanceMonitor(options = {}) {
473
487
  generateReport,
474
488
  getStats,
475
489
  reset,
490
+ startRender,
491
+ endRender,
476
492
  start() {
477
493
  opts.enabled = true;
478
494
  startResourceMonitoring();
@@ -2085,6 +2101,11 @@ var HTMLRenderer = class extends BaseRenderer {
2085
2101
  const { children, text, key: _key, html: _rawHtml, ...attributes } = element || {};
2086
2102
  const attributeString = formatAttributes(attributes);
2087
2103
  const openingTag = attributeString ? `<${tagName} ${attributeString}>` : `<${tagName}>`;
2104
+ if (_rawHtml !== void 0) {
2105
+ const rawContent = typeof _rawHtml === "function" ? String(_rawHtml()) : String(_rawHtml);
2106
+ const result = `${openingTag}${rawContent}</${tagName}>`;
2107
+ return result;
2108
+ }
2088
2109
  let textContent = "";
2089
2110
  if (text !== void 0) {
2090
2111
  const isScript = tagName === "script";
@@ -5014,7 +5035,7 @@ var EventBus = class {
5014
5035
  }
5015
5036
  }
5016
5037
  /**
5017
- * Emit with throttling
5038
+ * Emit throttled event
5018
5039
  */
5019
5040
  emitThrottled(event, data, delay) {
5020
5041
  if (!this.throttledEmitters.has(event)) {
@@ -5038,7 +5059,7 @@ var EventBus = class {
5038
5059
  }
5039
5060
  }
5040
5061
  /**
5041
- * Flush batch queue
5062
+ * Flush batched events
5042
5063
  */
5043
5064
  async flushBatch() {
5044
5065
  if (this.batchTimer) {
@@ -5176,7 +5197,7 @@ var EventBus = class {
5176
5197
  }
5177
5198
  }
5178
5199
  /**
5179
- * Run middleware chain
5200
+ * Run middleware
5180
5201
  */
5181
5202
  async runMiddleware(event, data) {
5182
5203
  if (this.middleware.length === 0) return;
@@ -5376,7 +5397,6 @@ var DOMEventIntegration = class {
5376
5397
  }
5377
5398
  /**
5378
5399
  * Set up delegated DOM event listeners
5379
- * @private
5380
5400
  */
5381
5401
  setupDOMEventListeners() {
5382
5402
  const clickHandler = this.createDelegatedHandler("click", this.handleClick);
@@ -5403,7 +5423,6 @@ var DOMEventIntegration = class {
5403
5423
  }
5404
5424
  /**
5405
5425
  * Create a delegated event handler
5406
- * @private
5407
5426
  */
5408
5427
  createDelegatedHandler(eventType, handler) {
5409
5428
  return (event) => {
@@ -5419,7 +5438,6 @@ var DOMEventIntegration = class {
5419
5438
  }
5420
5439
  /**
5421
5440
  * Handle click events
5422
- * @private
5423
5441
  */
5424
5442
  handleClick(element, event) {
5425
5443
  const action = element.getAttribute?.("data-action");
@@ -5435,7 +5453,6 @@ var DOMEventIntegration = class {
5435
5453
  }
5436
5454
  /**
5437
5455
  * Handle change events
5438
- * @private
5439
5456
  */
5440
5457
  handleChange(element, event) {
5441
5458
  const action = element.getAttribute?.("data-action");
@@ -5452,7 +5469,6 @@ var DOMEventIntegration = class {
5452
5469
  }
5453
5470
  /**
5454
5471
  * Handle input events
5455
- * @private
5456
5472
  */
5457
5473
  handleInput(element, event) {
5458
5474
  const action = element.getAttribute?.("data-action");
@@ -5469,7 +5485,6 @@ var DOMEventIntegration = class {
5469
5485
  }
5470
5486
  /**
5471
5487
  * Handle submit events
5472
- * @private
5473
5488
  */
5474
5489
  handleSubmit(element, event) {
5475
5490
  const action = element.getAttribute?.("data-action");
@@ -5487,7 +5502,6 @@ var DOMEventIntegration = class {
5487
5502
  }
5488
5503
  /**
5489
5504
  * Handle keydown events
5490
- * @private
5491
5505
  */
5492
5506
  handleKeydown(element, event) {
5493
5507
  const action = element.getAttribute?.("data-action");
@@ -5510,7 +5524,6 @@ var DOMEventIntegration = class {
5510
5524
  }
5511
5525
  /**
5512
5526
  * Handle focus events
5513
- * @private
5514
5527
  */
5515
5528
  handleFocus(element, event) {
5516
5529
  this.activeElement = element;
@@ -5522,7 +5535,6 @@ var DOMEventIntegration = class {
5522
5535
  }
5523
5536
  /**
5524
5537
  * Handle blur events
5525
- * @private
5526
5538
  */
5527
5539
  handleBlur(element, event) {
5528
5540
  if (this.activeElement === element) {
@@ -5536,7 +5548,6 @@ var DOMEventIntegration = class {
5536
5548
  }
5537
5549
  /**
5538
5550
  * Handle data-action attributes
5539
- * @private
5540
5551
  */
5541
5552
  handleDataAction(element, event, action) {
5542
5553
  if (!action) return;
@@ -5558,7 +5569,6 @@ var DOMEventIntegration = class {
5558
5569
  }
5559
5570
  /**
5560
5571
  * Parse data attributes from an element
5561
- * @private
5562
5572
  */
5563
5573
  parseDataAttributes(element) {
5564
5574
  if (!element?.attributes) return {};
@@ -5586,7 +5596,6 @@ var DOMEventIntegration = class {
5586
5596
  }
5587
5597
  /**
5588
5598
  * Extract form data from a form element
5589
- * @private
5590
5599
  */
5591
5600
  extractFormData(formElement) {
5592
5601
  if (!formElement || formElement.tagName !== "FORM") {
@@ -5609,7 +5618,6 @@ var DOMEventIntegration = class {
5609
5618
  }
5610
5619
  /**
5611
5620
  * Check if a key event should trigger an action
5612
- * @private
5613
5621
  */
5614
5622
  shouldTriggerKeyAction(event) {
5615
5623
  const triggerKeys = ["Enter", "Space", "Escape"];
@@ -5617,7 +5625,6 @@ var DOMEventIntegration = class {
5617
5625
  }
5618
5626
  /**
5619
5627
  * Debounce utility function
5620
- * @private
5621
5628
  */
5622
5629
  debounce(func, wait) {
5623
5630
  let timeout;
@@ -5632,7 +5639,6 @@ var DOMEventIntegration = class {
5632
5639
  }
5633
5640
  /**
5634
5641
  * Throttle utility function
5635
- * @private
5636
5642
  */
5637
5643
  throttle(func, limit) {
5638
5644
  let inThrottle;
@@ -6401,10 +6407,7 @@ function deepClone2(obj) {
6401
6407
  }
6402
6408
  return cloned;
6403
6409
  }
6404
- var _corePackageJson = JSON.parse(
6405
- readFileSync(new URL("../package.json", import.meta.url), "utf-8")
6406
- );
6407
- var VERSION = _corePackageJson.version;
6410
+ var VERSION = "1.0.0-beta.8";
6408
6411
  var fp = {
6409
6412
  /**
6410
6413
  * Curried map: fp.map(fn)(array)
@@ -6562,7 +6565,7 @@ export {
6562
6565
  * Coherent.js - Object-Based Rendering Framework
6563
6566
  * A pure JavaScript framework for server-side rendering using natural object syntax
6564
6567
  *
6565
- * @version 1.0.0-beta.7
6568
+ * @version 1.0.0-beta.8
6566
6569
  * @author Coherent Framework Team
6567
6570
  * @license MIT
6568
6571
  */