@jqhtml/core 2.3.59 → 2.3.64

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 (89) hide show
  1. package/dist/boot.d.ts +0 -0
  2. package/dist/boot.d.ts.map +0 -0
  3. package/dist/cache-key-serializer.d.ts +0 -0
  4. package/dist/cache-key-serializer.d.ts.map +0 -0
  5. package/dist/component-cache.d.ts +0 -0
  6. package/dist/component-cache.d.ts.map +0 -0
  7. package/dist/component-events.d.ts +0 -0
  8. package/dist/component-events.d.ts.map +0 -0
  9. package/dist/component-name.d.ts +13 -0
  10. package/dist/component-name.d.ts.map +1 -0
  11. package/dist/component-queue.d.ts +0 -0
  12. package/dist/component-queue.d.ts.map +0 -0
  13. package/dist/component-registry.d.ts +0 -0
  14. package/dist/component-registry.d.ts.map +1 -1
  15. package/dist/component.d.ts +2 -6
  16. package/dist/component.d.ts.map +1 -1
  17. package/dist/config.d.ts +0 -0
  18. package/dist/config.d.ts.map +0 -0
  19. package/dist/data-proxy.d.ts +0 -0
  20. package/dist/data-proxy.d.ts.map +0 -0
  21. package/dist/debug-entry.d.ts +0 -0
  22. package/dist/debug-entry.d.ts.map +0 -0
  23. package/dist/debug.d.ts +0 -0
  24. package/dist/debug.d.ts.map +0 -0
  25. package/dist/index.cjs +60 -44
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +58 -45
  30. package/dist/index.js.map +1 -1
  31. package/dist/instruction-processor.d.ts +2 -1
  32. package/dist/instruction-processor.d.ts.map +1 -1
  33. package/dist/jqhtml-core.esm.js +59 -46
  34. package/dist/jqhtml-core.esm.js.map +1 -1
  35. package/dist/jqhtml-debug.esm.js +0 -0
  36. package/dist/jqhtml-debug.esm.js.map +0 -0
  37. package/dist/jquery-plugin.d.ts +0 -0
  38. package/dist/jquery-plugin.d.ts.map +1 -1
  39. package/dist/lifecycle-manager.d.ts +0 -0
  40. package/dist/lifecycle-manager.d.ts.map +0 -0
  41. package/dist/load-coordinator.d.ts +0 -0
  42. package/dist/load-coordinator.d.ts.map +0 -0
  43. package/dist/local-storage.d.ts +0 -0
  44. package/dist/local-storage.d.ts.map +0 -0
  45. package/dist/preload-data.d.ts +0 -0
  46. package/dist/preload-data.d.ts.map +0 -0
  47. package/dist/template-renderer.d.ts +0 -0
  48. package/dist/template-renderer.d.ts.map +0 -0
  49. package/dist/viewport.d.ts +0 -0
  50. package/dist/viewport.d.ts.map +0 -0
  51. package/package.json +1 -1
  52. package/dist/boot.js +0 -130
  53. package/dist/boot.js.map +0 -1
  54. package/dist/cache-key-serializer.js +0 -140
  55. package/dist/cache-key-serializer.js.map +0 -1
  56. package/dist/component-cache.js +0 -270
  57. package/dist/component-cache.js.map +0 -1
  58. package/dist/component-events.js +0 -141
  59. package/dist/component-events.js.map +0 -1
  60. package/dist/component-queue.js +0 -118
  61. package/dist/component-queue.js.map +0 -1
  62. package/dist/component-registry.js +0 -298
  63. package/dist/component-registry.js.map +0 -1
  64. package/dist/component.js +0 -1892
  65. package/dist/component.js.map +0 -1
  66. package/dist/config.js +0 -64
  67. package/dist/config.js.map +0 -1
  68. package/dist/data-proxy.js +0 -223
  69. package/dist/data-proxy.js.map +0 -1
  70. package/dist/debug-entry.js +0 -8
  71. package/dist/debug-entry.js.map +0 -1
  72. package/dist/debug.js +0 -203
  73. package/dist/debug.js.map +0 -1
  74. package/dist/instruction-processor.js +0 -563
  75. package/dist/instruction-processor.js.map +0 -1
  76. package/dist/jquery-plugin.js +0 -472
  77. package/dist/jquery-plugin.js.map +0 -1
  78. package/dist/lifecycle-manager.js +0 -201
  79. package/dist/lifecycle-manager.js.map +0 -1
  80. package/dist/load-coordinator.js +0 -309
  81. package/dist/load-coordinator.js.map +0 -1
  82. package/dist/local-storage.js +0 -699
  83. package/dist/local-storage.js.map +0 -1
  84. package/dist/preload-data.js +0 -136
  85. package/dist/preload-data.js.map +0 -1
  86. package/dist/template-renderer.js +0 -278
  87. package/dist/template-renderer.js.map +0 -1
  88. package/dist/viewport.js +0 -69
  89. package/dist/viewport.js.map +0 -1
@@ -17,7 +17,8 @@ export interface ComponentInstruction {
17
17
  export interface SlotInstruction {
18
18
  slot: [string, Record<string, any>, (context: any) => [any[], Jqhtml_Component]];
19
19
  }
20
- export type Instruction = TagInstruction | RawTagInstruction | ComponentInstruction | SlotInstruction | string;
20
+ export type ContentInstruction = ['_content', Instruction[], Jqhtml_Component?];
21
+ export type Instruction = TagInstruction | RawTagInstruction | ComponentInstruction | SlotInstruction | ContentInstruction | string;
21
22
  export declare function uid(): string;
22
23
  /**
23
24
  * Process an array of instructions and append to target
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-processor.d.ts","sourceRoot":"","sources":["../src/instruction-processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKlD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAClL;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAClF;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,eAAe,GAAG,MAAM,CAAC;AAqB/G,wBAAgB,GAAG,IAAI,MAAM,CA2C5B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,WAAW,EAAE,EAC3B,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,gBAAgB,EACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GACtC,IAAI,CAwCN;AAghBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAW1F"}
1
+ {"version":3,"file":"instruction-processor.d.ts","sourceRoot":"","sources":["../src/instruction-processor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKlD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAClL;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAClF;AAQD,MAAM,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,eAAe,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAqBpI,wBAAgB,GAAG,IAAI,MAAM,CA2C5B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,WAAW,EAAE,EAC3B,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,gBAAgB,EACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GACtC,IAAI,CA0CN;AAyhBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAW1F"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * JQHTML Core v2.3.59
2
+ * JQHTML Core v2.3.64
3
3
  * (c) 2025 JQHTML Team
4
4
  * Released under the MIT License
5
5
  */
@@ -204,6 +204,21 @@ class LifecycleManager {
204
204
  }
205
205
  }
206
206
 
207
+ /**
208
+ * The one rule for "is this name a component?"
209
+ *
210
+ * An optional SINGLE leading underscore, then a capital letter, then letters,
211
+ * digits and underscores. The underscore prefix is a namespace reserved for
212
+ * framework-provided components (`_Root_Layout`) so they cannot collide with
213
+ * application components. Two or more leading underscores are not a component
214
+ * name; a lower-case first letter after the optional underscore is an HTML tag.
215
+ */
216
+ const COMPONENT_NAME_PATTERN = /^_?[A-Z][A-Za-z0-9_]*$/;
217
+ const COMPONENT_NAME_RULE = 'must start with a capital letter, optionally preceded by a single underscore';
218
+ function is_component_name(name) {
219
+ return COMPONENT_NAME_PATTERN.test(name);
220
+ }
221
+
207
222
  /**
208
223
  * JQHTML v2 Component Registry
209
224
  *
@@ -250,9 +265,9 @@ function register_component(nameOrClass, component_class, template) {
250
265
  if (!component_class) {
251
266
  throw new Error('Component class is required when registering by name');
252
267
  }
253
- // Validate component name starts with capital letter
254
- if (!/^[A-Z]/.test(name)) {
255
- throw new Error(`Component name '${name}' must start with a capital letter. Convention is First_Letter_With_Underscores.`);
268
+ // Validate component name against the shared rule
269
+ if (!is_component_name(name)) {
270
+ throw new Error(`Component name '${name}' ${COMPONENT_NAME_RULE}. Convention is First_Letter_With_Underscores.`);
256
271
  }
257
272
  component_classes.set(name, component_class);
258
273
  // If template provided, register it
@@ -321,9 +336,9 @@ function register_template(template_def) {
321
336
  if (!name) {
322
337
  throw new Error('Template must have a name property');
323
338
  }
324
- // Validate template name starts with capital letter
325
- if (!/^[A-Z]/.test(name)) {
326
- throw new Error(`Template name '${name}' must start with a capital letter. Convention is First_Letter_With_Underscores.`);
339
+ // Validate template name against the shared rule
340
+ if (!is_component_name(name)) {
341
+ throw new Error(`Template name '${name}' ${COMPONENT_NAME_RULE}. Convention is First_Letter_With_Underscores.`);
327
342
  }
328
343
  // Check for duplicate registration
329
344
  if (component_templates.has(name)) {
@@ -639,7 +654,9 @@ function process_instructions(instructions, target, context, slots) {
639
654
  if (el) {
640
655
  const element = $(el);
641
656
  el.removeAttribute('data-tid');
642
- apply_attributes(element, tagData.attrs, context);
657
+ // Bind to the component whose template wrote this element, which for
658
+ // spliced content is not the component being rendered.
659
+ apply_attributes(element, tagData.attrs, tagData.context);
643
660
  }
644
661
  }
645
662
  // Third pass: initialize and boot components in parallel
@@ -665,6 +682,16 @@ function process_instruction_to_html(instruction, html, tagElements, components,
665
682
  // Raw HTML/text - no escaping, as requested
666
683
  html.push(instruction);
667
684
  }
685
+ else if (Array.isArray(instruction)) {
686
+ if (instruction[0] !== '_content' || !Array.isArray(instruction[1])) {
687
+ return;
688
+ }
689
+ // Content written in another template renders in that template's component.
690
+ const definer = instruction[2] || context;
691
+ for (const item of instruction[1]) {
692
+ process_instruction_to_html(item, html, tagElements, components, definer, slots);
693
+ }
694
+ }
668
695
  else if ('tag' in instruction) {
669
696
  // HTML tag
670
697
  process_tag_to_html(instruction, html, tagElements, components, context);
@@ -1840,7 +1867,7 @@ Load_Coordinator._registry = new Map();
1840
1867
  const class_registry = Object.create(null);
1841
1868
  // Markers for serialized class instances (unique to avoid collisions with user data)
1842
1869
  // Replaced at build time by rollup (see rollup.config.js).
1843
- const CORE_VERSION = '2.3.59';
1870
+ const CORE_VERSION = '2.3.64';
1844
1871
  const CLASS_MARKER = '__jqhtml_class__';
1845
1872
  const PROPS_MARKER = '__jqhtml_props__';
1846
1873
  /**
@@ -3849,10 +3876,10 @@ class Jqhtml_Component {
3849
3876
  // Create a content function that invokes child slots
3850
3877
  // When parent calls content('slotName'), it invokes the child's slot function
3851
3878
  const childSlots = instructions._slots;
3852
- const contentFunction = (slotName, data) => {
3879
+ const contentFunction = (slotName, ...slotArgs) => {
3853
3880
  if (childSlots[slotName] && typeof childSlots[slotName] === 'function') {
3854
- // Invoke the slot function with data parameter
3855
- const [slotInstructions, slotContext] = childSlots[slotName](data);
3881
+ // Invoke the slot function with everything content() was given
3882
+ const [slotInstructions, slotContext] = childSlots[slotName](...slotArgs);
3856
3883
  // Return in render function format: [instructions, context]
3857
3884
  // The template expression handler expects this format
3858
3885
  return [slotInstructions, slotContext];
@@ -3877,12 +3904,11 @@ class Jqhtml_Component {
3877
3904
  instructions = [];
3878
3905
  }
3879
3906
  }
3880
- // Flatten any nested content instructions before processing
3881
- // Instructions may contain ['_content', [...]] markers from content() calls
3882
- const flattenedInstructions = this._flatten_instructions(instructions);
3883
- // Process instructions to generate DOM
3907
+ // Process instructions to generate DOM. ['_content', ...] markers from
3908
+ // content() are handled by the processor, which renders them in the
3909
+ // component that wrote them.
3884
3910
  // This kicks off child component boots but doesn't wait for them
3885
- process_instructions(flattenedInstructions, this.$, this);
3911
+ process_instructions(instructions, this.$, this);
3886
3912
  }
3887
3913
  // Don't update ready state here - let phases complete in order
3888
3914
  this._update_debug_attrs();
@@ -4976,7 +5002,8 @@ class Jqhtml_Component {
4976
5002
  * Find closest ancestor component matching selector
4977
5003
  *
4978
5004
  * A bare component name - a plain identifier starting with a capital letter,
4979
- * such as 'Parent_Dashboard' - is treated as the component-name class
5005
+ * optionally preceded by a single underscore, such as 'Parent_Dashboard' or
5006
+ * '_Root_Layout' - is treated as the component-name class
4980
5007
  * selector '.Parent_Dashboard'. Components carry a CSS class for every name
4981
5008
  * in their prototype chain, so a base class name matches its subclasses too.
4982
5009
  * Every other selector ('.Foo', '#id', '[attr]', 'div > .Component') is
@@ -5042,26 +5069,6 @@ class Jqhtml_Component {
5042
5069
  _generate_cid() {
5043
5070
  return uid();
5044
5071
  }
5045
- /**
5046
- * Flatten instruction array - converts ['_content', [...]] markers to flat array
5047
- * Recursively flattens nested content from content() calls
5048
- */
5049
- _flatten_instructions(instructions) {
5050
- const result = [];
5051
- for (const instruction of instructions) {
5052
- // Check if this is a _content marker: ['_content', [...]]
5053
- if (Array.isArray(instruction) && instruction[0] === '_content' && Array.isArray(instruction[1])) {
5054
- // Recursively flatten the content instructions
5055
- const contentInstructions = this._flatten_instructions(instruction[1]);
5056
- result.push(...contentInstructions);
5057
- }
5058
- else {
5059
- // Regular instruction - keep as is
5060
- result.push(instruction);
5061
- }
5062
- }
5063
- return result;
5064
- }
5065
5072
  _apply_css_classes() {
5066
5073
  const hierarchy = this.constructor.get_class_hierarchy();
5067
5074
  // If component name differs from class name, add component name to hierarchy
@@ -5073,14 +5080,16 @@ class Jqhtml_Component {
5073
5080
  // Add component name at the beginning (most specific)
5074
5081
  classesToAdd.unshift(this.args._component_name);
5075
5082
  }
5076
- // Filter out private classes (starting with _) and invalid class names
5083
+ // Filter out private/mangled classes (starting with _) and invalid class names.
5084
+ // A component name with the reserved single-underscore prefix (_Root_Layout)
5085
+ // is public and is kept - see component-name.ts.
5077
5086
  const publicClasses = classesToAdd.filter(className => {
5078
5087
  // Guard against undefined, null, or non-string values
5079
5088
  if (!className || typeof className !== 'string') {
5080
5089
  console.warn('[JQHTML] Filtered out invalid class name:', className);
5081
5090
  return false;
5082
5091
  }
5083
- return !className.startsWith('_');
5092
+ return !className.startsWith('_') || is_component_name(className);
5084
5093
  });
5085
5094
  if (publicClasses.length > 0) {
5086
5095
  this.$.addClass(publicClasses.join(' '));
@@ -5286,7 +5295,7 @@ class Jqhtml_Component {
5286
5295
  // Static properties
5287
5296
  Jqhtml_Component.__jqhtml_component = true; // Marker for unified register() detection
5288
5297
  // A bare component name, as accepted by closest() in place of a class selector
5289
- Jqhtml_Component.COMPONENT_NAME_PATTERN = /^[A-Z][A-Za-z0-9_]*$/;
5298
+ Jqhtml_Component.COMPONENT_NAME_PATTERN = COMPONENT_NAME_PATTERN;
5290
5299
 
5291
5300
  /**
5292
5301
  * JQHTML v2 Template Renderer
@@ -5808,16 +5817,20 @@ function init_jquery_plugin(jQuery) {
5808
5817
  catch (error) {
5809
5818
  console.warn('[JQHTML] Error stopping existing component during replacement:', error);
5810
5819
  }
5811
- // Remove component classes (any class starting with capital letter, except BEM classes)
5820
+ // Remove component classes (any class starting with a capital letter, or a
5821
+ // component name with the reserved underscore prefix - except BEM classes)
5812
5822
  const classes = element.attr('class');
5813
5823
  if (classes) {
5814
5824
  const classList = classes.split(/\s+/);
5815
5825
  const nonComponentClasses = classList.filter((cls) => {
5816
5826
  // Keep class if:
5817
5827
  // 1. It's empty
5818
- // 2. It doesn't start with a capital letter
5828
+ // 2. It is neither capital-first nor a component name (see component-name.ts)
5819
5829
  // 3. It's a BEM-style class (contains __) - these persist across reinitialization
5820
- return !cls || cls[0] !== cls[0].toUpperCase() || cls[0] === cls[0].toLowerCase() || cls.includes('__');
5830
+ if (!cls || cls.includes('__'))
5831
+ return true;
5832
+ const capital_first = cls[0] === cls[0].toUpperCase() && cls[0] !== cls[0].toLowerCase();
5833
+ return !capital_first && !is_component_name(cls);
5821
5834
  });
5822
5835
  element.attr('class', nonComponentClasses.join(' '));
5823
5836
  }
@@ -6183,7 +6196,7 @@ function init(jQuery, config) {
6183
6196
  }
6184
6197
  }
6185
6198
  // Version - will be replaced during build with actual version from package.json
6186
- const version = '2.3.59';
6199
+ const version = '2.3.64';
6187
6200
  // Default export with all functionality
6188
6201
  const jqhtml = {
6189
6202
  // Core
@@ -6319,5 +6332,5 @@ if (typeof window !== 'undefined' && !window.jqhtml) {
6319
6332
  }
6320
6333
  }
6321
6334
 
6322
- export { Jqhtml_Component, LifecycleManager as Jqhtml_LifecycleManager, Jqhtml_Local_Storage, LifecycleManager, Load_Coordinator, applyDebugDelay, boot, clear_preload_data, configure, create_component, jqhtml as default, devWarn, escape_html, escape_html_nl2br, extract_slots, get_captured_data, get_component_class, get_component_names, get_config, get_registered_templates, get_template, get_template_by_class, handleComponentError, has_component, init, init_jquery_plugin, isSequentialProcessing, list_components, logDataChange, logDispatch, logInstruction, logLifecycle, process_instructions, register, register_cache_class, register_component, register_template, render_template, set_preload_data, start_data_capture, stop_data_capture, version };
6335
+ export { COMPONENT_NAME_PATTERN, COMPONENT_NAME_RULE, Jqhtml_Component, LifecycleManager as Jqhtml_LifecycleManager, Jqhtml_Local_Storage, LifecycleManager, Load_Coordinator, applyDebugDelay, boot, clear_preload_data, configure, create_component, jqhtml as default, devWarn, escape_html, escape_html_nl2br, extract_slots, get_captured_data, get_component_class, get_component_names, get_config, get_registered_templates, get_template, get_template_by_class, handleComponentError, has_component, init, init_jquery_plugin, isSequentialProcessing, is_component_name, list_components, logDataChange, logDispatch, logInstruction, logLifecycle, process_instructions, register, register_cache_class, register_component, register_template, render_template, set_preload_data, start_data_capture, stop_data_capture, version };
6323
6336
  //# sourceMappingURL=jqhtml-core.esm.js.map