taggedjs 2.5.19 → 2.5.21

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 (109) hide show
  1. package/bundle.js +1 -1
  2. package/bundle.js.gz +0 -0
  3. package/bundle.js.map +1 -1
  4. package/bundle.js.map.gz +0 -0
  5. package/js/alterProp.function.d.ts +3 -1
  6. package/js/alterProp.function.js +43 -18
  7. package/js/alterProp.function.js.map +1 -1
  8. package/js/interpolations/bindSubjectCallback.function.js +45 -21
  9. package/js/interpolations/bindSubjectCallback.function.js.map +1 -1
  10. package/js/interpolations/interpolateContentTemplates.js +3 -3
  11. package/js/interpolations/interpolateContentTemplates.js.map +1 -1
  12. package/js/interpolations/interpolateTemplate.d.ts +2 -7
  13. package/js/interpolations/interpolateTemplate.js +19 -14
  14. package/js/interpolations/interpolateTemplate.js.map +1 -1
  15. package/js/interpolations/processAttribute.function.d.ts +2 -1
  16. package/js/interpolations/processAttribute.function.js +28 -10
  17. package/js/interpolations/processAttribute.function.js.map +1 -1
  18. package/js/interpolations/specialAttribute.d.ts +1 -0
  19. package/js/interpolations/specialAttribute.js +22 -0
  20. package/js/interpolations/specialAttribute.js.map +1 -0
  21. package/js/state/callbackMaker.function.d.ts +1 -0
  22. package/js/state/callbackMaker.function.js +1 -0
  23. package/js/state/callbackMaker.function.js.map +1 -1
  24. package/js/state/callbackStateUpdate.function.js +4 -2
  25. package/js/state/callbackStateUpdate.function.js.map +1 -1
  26. package/js/state/handleProviderChanges.function.d.ts +3 -0
  27. package/js/state/handleProviderChanges.function.js +36 -0
  28. package/js/state/handleProviderChanges.function.js.map +1 -0
  29. package/js/state/letProp.function.js +1 -1
  30. package/js/state/letProp.function.js.map +1 -1
  31. package/js/state/letState.function.d.ts +1 -1
  32. package/js/state/letState.function.js +1 -1
  33. package/js/state/letState.function.js.map +1 -1
  34. package/js/state/provider.utils.js +19 -14
  35. package/js/state/provider.utils.js.map +1 -1
  36. package/js/state/providers.d.ts +3 -5
  37. package/js/state/providers.js +13 -32
  38. package/js/state/providers.js.map +1 -1
  39. package/js/state/providersChangeCheck.function.d.ts +2 -0
  40. package/js/state/providersChangeCheck.function.js +14 -0
  41. package/js/state/providersChangeCheck.function.js.map +1 -0
  42. package/js/state/setUse.function.d.ts +0 -2
  43. package/js/state/setUse.function.js.map +1 -1
  44. package/js/state/state.utils.js.map +1 -1
  45. package/js/subject/Subject.class.js +1 -4
  46. package/js/subject/Subject.class.js.map +1 -1
  47. package/js/subject.types.d.ts +1 -1
  48. package/js/tag/Tag.class.js +0 -1
  49. package/js/tag/Tag.class.js.map +1 -1
  50. package/js/tag/TagSupport.class.d.ts +9 -3
  51. package/js/tag/TagSupport.class.js +26 -20
  52. package/js/tag/TagSupport.class.js.map +1 -1
  53. package/js/tag/TemplaterResult.class.d.ts +4 -1
  54. package/js/tag/TemplaterResult.class.js.map +1 -1
  55. package/js/tag/checkDestroyPrevious.function.js +4 -3
  56. package/js/tag/checkDestroyPrevious.function.js.map +1 -1
  57. package/js/tag/destroy.support.js +1 -1
  58. package/js/tag/destroy.support.js.map +1 -1
  59. package/js/tag/destroyTag.function.d.ts +0 -1
  60. package/js/tag/destroyTag.function.js +0 -5
  61. package/js/tag/destroyTag.function.js.map +1 -1
  62. package/js/tag/getTagWrap.function.js +12 -10
  63. package/js/tag/getTagWrap.function.js.map +1 -1
  64. package/js/tag/hasTagSupportChanged.function.d.ts +1 -1
  65. package/js/tag/hasTagSupportChanged.function.js +9 -3
  66. package/js/tag/hasTagSupportChanged.function.js.map +1 -1
  67. package/js/tag/render/destroyUnlikeTags.function.d.ts +5 -0
  68. package/js/tag/render/destroyUnlikeTags.function.js +23 -0
  69. package/js/tag/render/destroyUnlikeTags.function.js.map +1 -0
  70. package/js/tag/render/renderExistingTag.function.js +4 -5
  71. package/js/tag/render/renderExistingTag.function.js.map +1 -1
  72. package/js/tag/render/renderSubjectComponent.function.js +0 -2
  73. package/js/tag/render/renderSubjectComponent.function.js.map +1 -1
  74. package/js/tag/render/renderTagOnly.function.js +7 -10
  75. package/js/tag/render/renderTagOnly.function.js.map +1 -1
  76. package/js/tag/render/renderTagSupport.function.d.ts +2 -2
  77. package/js/tag/render/renderTagSupport.function.js +8 -8
  78. package/js/tag/render/renderTagSupport.function.js.map +1 -1
  79. package/js/tag/render/renderWithSupport.function.js +2 -16
  80. package/js/tag/render/renderWithSupport.function.js.map +1 -1
  81. package/js/tag/tag.types.d.ts +2 -2
  82. package/js/tag/tagElement.js +1 -1
  83. package/js/tag/tagElement.js.map +1 -1
  84. package/js/tag/tagRunner.js +12 -3
  85. package/js/tag/tagRunner.js.map +1 -1
  86. package/js/tag/update/processFirstSubjectValue.function.d.ts +1 -1
  87. package/js/tag/update/processFirstSubjectValue.function.js +2 -2
  88. package/js/tag/update/processFirstSubjectValue.function.js.map +1 -1
  89. package/js/tag/update/processNewValue.function.js +1 -0
  90. package/js/tag/update/processNewValue.function.js.map +1 -1
  91. package/js/tag/update/processSubjectComponent.function.d.ts +1 -0
  92. package/js/tag/update/processSubjectComponent.function.js +4 -4
  93. package/js/tag/update/processSubjectComponent.function.js.map +1 -1
  94. package/js/tag/update/processTag.function.d.ts +2 -2
  95. package/js/tag/update/processTag.function.js +4 -3
  96. package/js/tag/update/processTag.function.js.map +1 -1
  97. package/js/tag/update/processTagArray.js +2 -3
  98. package/js/tag/update/processTagArray.js.map +1 -1
  99. package/js/tag/update/processTagResult.function.d.ts +4 -3
  100. package/js/tag/update/processTagResult.function.js +4 -2
  101. package/js/tag/update/processTagResult.function.js.map +1 -1
  102. package/js/tag/update/updateContextItem.function.js +1 -35
  103. package/js/tag/update/updateContextItem.function.js.map +1 -1
  104. package/js/tag/update/updateExistingTagComponent.function.d.ts +2 -1
  105. package/js/tag/update/updateExistingTagComponent.function.js +100 -45
  106. package/js/tag/update/updateExistingTagComponent.function.js.map +1 -1
  107. package/js/tag/update/updateExistingValue.function.js +2 -0
  108. package/js/tag/update/updateExistingValue.function.js.map +1 -1
  109. package/package.json +1 -1
package/bundle.js.map.gz CHANGED
Binary file
@@ -1,8 +1,10 @@
1
1
  import { BaseTagSupport, TagSupport } from './tag/TagSupport.class.js';
2
2
  import { State } from './state/index.js';
3
+ import { Props } from './Props.js';
4
+ export declare function castProps(props: Props, newTagSupport: BaseTagSupport | TagSupport, stateArray: State): any[];
3
5
  export declare function alterProp(prop: unknown, ownerSupport: BaseTagSupport | TagSupport, stateArray: State, newTagSupport: BaseTagSupport | TagSupport): any;
4
6
  export declare function checkProp(value: any, ownerSupport: BaseTagSupport | TagSupport, stateArray: State, newTagSupport: BaseTagSupport | TagSupport, index?: string | number, newProp?: any, seen?: any[]): any;
5
7
  export declare function getPropWrap(value: any, ownerSupport: BaseTagSupport | TagSupport, stateArray: State, newTagSupport: BaseTagSupport | TagSupport, name?: string | number, newProp?: any): any;
6
8
  /** Function shared by alterProps() and updateExistingTagComponent... TODO: May want to have to functions to reduce cycle checking? */
7
9
  export declare function callbackPropOwner(toCall: Function, callWith: any, ownerSupport: BaseTagSupport | TagSupport, // <-- WHEN called from alterProp its owner OTHERWISE its previous
8
- stateArray: State): any;
10
+ oldState: State): any;
@@ -3,7 +3,9 @@ import { isStaticTag } from './isInstance.js';
3
3
  import { renderTagSupport } from './tag/render/renderTagSupport.function.js';
4
4
  import { setUse } from './state/index.js';
5
5
  import { getSupportInCycle } from './tag/getSupportInCycle.function.js';
6
- import { syncStates } from './state/syncStates.function.js';
6
+ export function castProps(props, newTagSupport, stateArray) {
7
+ return props.map(prop => alterProp(prop, newTagSupport.ownerTagSupport, stateArray, newTagSupport));
8
+ }
7
9
  /* Used to rewrite props that are functions. When they are called it should cause parent rendering */
8
10
  export function alterProp(prop, ownerSupport, stateArray, newTagSupport) {
9
11
  if (isStaticTag(prop) || !prop) {
@@ -26,51 +28,74 @@ export function checkProp(value, ownerSupport, stateArray, newTagSupport, index,
26
28
  return value; // no children to crawl through
27
29
  }
28
30
  if (value instanceof Array) {
29
- value.forEach((x, index) => value[index] = checkProp(x, ownerSupport, stateArray, newTagSupport, index, value, seen));
31
+ for (let index = value.length - 1; index >= 0; --index) {
32
+ const subValue = value[index];
33
+ value[index] = checkProp(subValue, ownerSupport, stateArray, newTagSupport, index, value, seen);
34
+ if (subValue instanceof Function) {
35
+ if (subValue.toCall) {
36
+ continue;
37
+ }
38
+ afterCheckProp(index, subValue, value, newTagSupport);
39
+ }
40
+ }
30
41
  return value;
31
42
  }
32
43
  for (const name in value) {
33
44
  const subValue = value[name];
34
45
  const result = checkProp(subValue, ownerSupport, stateArray, newTagSupport, name, value, seen);
35
- const hasSetter = typeof (result) === 'object' || Object.getOwnPropertyDescriptor(value, name)?.set;
46
+ const hasSetter = Object.getOwnPropertyDescriptor(value, name)?.set;
36
47
  if (hasSetter) {
37
48
  continue;
38
49
  }
39
50
  value[name] = result;
51
+ if (result instanceof Function) {
52
+ if (subValue.toCall) {
53
+ continue;
54
+ }
55
+ afterCheckProp(name, subValue, value, newTagSupport);
56
+ }
40
57
  }
41
58
  return value;
42
59
  }
60
+ function afterCheckProp(index, pastValue, newProp, newTagSupport) {
61
+ if (pastValue?.toCall) {
62
+ return; // already been done
63
+ }
64
+ // restore object to have original function on destroy
65
+ newTagSupport.global.destroy$.toCallback(() => newProp[index] = pastValue);
66
+ }
43
67
  export function getPropWrap(value, ownerSupport, stateArray, newTagSupport, name, newProp) {
44
68
  const toCall = value.toCall;
69
+ // already previously converted by a parent?
45
70
  if (toCall) {
46
- return value; // already previously converted
71
+ return value;
47
72
  }
48
73
  const wrap = (...args) => wrap.toCall(...args); // what gets called can switch over parent state changes
49
74
  // Currently, call self but over parent state changes, I may need to call a newer parent tag owner
50
- wrap.toCall = (...args) => callbackPropOwner(value, args, ownerSupport, stateArray);
75
+ wrap.toCall = (...args) => {
76
+ return callbackPropOwner(wrap.prop, args, ownerSupport, wrap.stateArray);
77
+ };
51
78
  wrap.original = value;
79
+ wrap.prop = value;
80
+ wrap.stateArray = stateArray;
52
81
  // copy data properties that maybe on source function
53
82
  Object.assign(wrap, value);
54
- if (name) {
55
- // restore object to have original function on destroy
56
- newTagSupport.global.destroy$.toCallback(() => newProp[name] = value);
57
- }
58
83
  return wrap;
59
84
  }
60
85
  /** Function shared by alterProps() and updateExistingTagComponent... TODO: May want to have to functions to reduce cycle checking? */
61
86
  export function callbackPropOwner(toCall, callWith, ownerSupport, // <-- WHEN called from alterProp its owner OTHERWISE its previous
62
- stateArray) {
87
+ oldState) {
63
88
  const newest = ownerSupport.global.newest;
64
- const newState = newest.memory.state;
89
+ //const newState = newest.memory.state
65
90
  const noCycle = getSupportInCycle() === undefined;
66
- const sync = noCycle && stateArray.length === newState.length;
67
- if (sync) {
68
- syncStates(newState, stateArray);
69
- }
91
+ //const sync = noCycle && oldState.length === newState.length
92
+ //if(sync) {
93
+ // syncStates(newState, oldState)
94
+ //}
70
95
  const result = toCall(...callWith);
71
- if (sync) {
72
- syncStates(stateArray, newState);
73
- }
96
+ // if(sync) {
97
+ // syncStates(oldState, newState)
98
+ // }
74
99
  const run = () => {
75
100
  // are we in a rendering cycle? then its being called by alterProps
76
101
  if (noCycle === false) {
@@ -1 +1 @@
1
- {"version":3,"file":"alterProp.function.js","sourceRoot":"","sources":["../ts/alterProp.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alterProp.function.js","sourceRoot":"","sources":["../ts/alterProp.function.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,72 @@
1
1
  /** File largely responsible for reacting to element events, such as onclick */
2
+ import { setUse } from '../state/setUse.function.js';
3
+ import { ValueTypes } from '../tag/ValueTypes.enum.js';
2
4
  import { renderTagSupport } from '../tag/render/renderTagSupport.function.js';
5
+ import { updateExistingTagComponent } from '../tag/update/updateExistingTagComponent.function.js';
6
+ const useLocks = true;
3
7
  export function bindSubjectCallback(value, tagSupport) {
4
8
  // Is this children? No override needed
5
9
  if (value.isChildOverride) {
6
10
  return value;
7
11
  }
12
+ const state = setUse.memory.stateConfig;
8
13
  const subjectFunction = (element, args) => runTagCallback(value, tagSupport, element, args);
9
14
  // link back to original. Mostly used for <div oninit ondestroy> animations
10
15
  subjectFunction.tagFunction = value;
11
16
  return subjectFunction;
12
17
  }
13
18
  export function runTagCallback(value, tagSupport, bindTo, args) {
14
- const myGlobal = tagSupport.global;
15
- const renderCount = myGlobal.renderCount;
19
+ const tag = findTagToCallback(tagSupport);
16
20
  const method = value.bind(bindTo);
21
+ tag.global.locked = useLocks; // prevent another render from re-rendering this tag
17
22
  const callbackResult = method(...args);
18
- const sameRenderCount = renderCount === myGlobal.renderCount;
19
- const skipRender = !sameRenderCount || myGlobal.deleted;
20
- // already rendered OR tag was deleted before event processing
21
- if (skipRender) {
22
- if (callbackResult instanceof Promise) {
23
- return callbackResult.then(() => {
24
- return 'promise-no-data-ever'; // tag was deleted during event processing
25
- });
26
- }
27
- return 'no-data-ever'; // already rendered
23
+ return afterTagCallback(tag, callbackResult);
24
+ }
25
+ function afterTagCallback(tag, callbackResult) {
26
+ delete tag.global.locked;
27
+ if (tag.global.blocked.length) {
28
+ let lastResult;
29
+ tag.global.blocked.forEach(blocked => {
30
+ const block = blocked;
31
+ lastResult = updateExistingTagComponent(block.ownerTagSupport, block, block.subject, block.global.insertBefore, true);
32
+ tag.global.newest = lastResult;
33
+ tag.global.blocked.splice(0, 1);
34
+ });
35
+ tag.global.blocked.length = 0;
36
+ // return lastResult
37
+ return checkAfterCallbackPromise(callbackResult, lastResult, lastResult.global);
28
38
  }
29
- const last = myGlobal.newest;
30
- if (myGlobal.deleted || last.global.deleted) {
31
- throw new Error('look no further2');
39
+ const result = renderCallbackSupport(tag.global.newest, callbackResult, tag.global);
40
+ return result;
41
+ }
42
+ function findTagToCallback(tagSupport) {
43
+ // If we are NOT a component than we need to render my owner instead
44
+ if (tagSupport.templater.tagJsType === ValueTypes.templater) {
45
+ const owner = tagSupport.ownerTagSupport;
46
+ return findTagToCallback(owner);
32
47
  }
33
- const newest = renderTagSupport(last, true);
34
- myGlobal.newest = newest;
48
+ return tagSupport;
49
+ }
50
+ function renderCallbackSupport(last, callbackResult, global) {
51
+ if (global.deleted) {
52
+ return 'no-data-ever'; // || last.global.deleted
53
+ }
54
+ renderTagSupport(last, true);
55
+ return checkAfterCallbackPromise(callbackResult, last, global);
56
+ }
57
+ function checkAfterCallbackPromise(callbackResult, last, global) {
35
58
  if (callbackResult instanceof Promise) {
59
+ last.global.locked = useLocks;
36
60
  return callbackResult.then(() => {
37
- if (myGlobal.deleted) {
61
+ delete last.global.locked;
62
+ if (global.deleted) {
38
63
  return 'promise-no-data-ever'; // tag was deleted during event processing
39
64
  }
40
- const newInPromise = renderTagSupport(myGlobal.newest, true);
41
- myGlobal.newest = newInPromise;
65
+ delete last.global.locked;
66
+ renderTagSupport(global.newest, true);
42
67
  return 'promise-no-data-ever';
43
68
  });
44
69
  }
45
- // Caller always expects a Promise
46
70
  return 'no-data-ever';
47
71
  }
48
72
  //# sourceMappingURL=bindSubjectCallback.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../../ts/interpolations/bindSubjectCallback.function.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAG/E,OAAO,EAAE,gBAAgB,EAAE,MAAK,4CAA4C,CAAA;AAM5E,MAAM,UAAU,mBAAmB,CACjC,KAAe,EACf,UAAsB;IAEtB,uCAAuC;IACvC,IAAI,KAAa,CAAC,eAAe,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,eAAe,GAAG,CACtB,OAAgB,EAAE,IAAW,EAC7B,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAErD,2EAA2E;IAC3E,eAAe,CAAC,WAAW,GAAG,KAAK,CAAA;IAEnC,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAe,EACf,UAAsB,EACtB,MAAe,EACf,IAAW;IAEX,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAA;IAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;IACtC,MAAM,eAAe,GAAG,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAA;IAC5D,MAAM,UAAU,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAC,OAAO,CAAA;IAEvD,8DAA8D;IAC9D,IAAG,UAAU,EAAE,CAAC;QACd,IAAG,cAAc,YAAY,OAAO,EAAE,CAAC;YACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC9B,OAAO,sBAAsB,CAAA,CAAC,0CAA0C;YAC1E,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,cAAc,CAAA,CAAC,mBAAmB;IAC3C,CAAC;IAGD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAoB,CAAA;IAC1C,IAAG,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAGD,MAAM,MAAM,GAAG,gBAAgB,CAC7B,IAAkB,EAClB,IAAI,CACL,CAAA;IAED,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;IAExB,IAAG,cAAc,YAAY,OAAO,EAAE,CAAC;QACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9B,IAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,sBAAsB,CAAA,CAAC,0CAA0C;YAC1E,CAAC;YAED,MAAM,YAAY,GAAG,gBAAgB,CACnC,QAAQ,CAAC,MAAoB,EAC7B,IAAI,CACL,CAAA;YAED,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAA;YAE9B,OAAO,sBAAsB,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kCAAkC;IAClC,OAAO,cAAc,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"bindSubjectCallback.function.js","sourceRoot":"","sources":["../../ts/interpolations/bindSubjectCallback.function.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ export function interpolateContentTemplates(context, tagSupport, options, childr
7
7
  const childLength = children.length;
8
8
  for (let index = childLength - 1; index >= 0; --index) {
9
9
  const child = children[index];
10
- const { clones: nextClones, tagComponent } = interpolateTemplate(child, context, tagSupport, counts, options);
11
- clones.push(...nextClones);
10
+ const tagComponent = interpolateTemplate(child, context, tagSupport, counts);
11
+ // clones.push(...nextClones)
12
12
  if (tagComponent) {
13
13
  tagComponents.push(tagComponent);
14
14
  continue;
@@ -18,7 +18,7 @@ export function interpolateContentTemplates(context, tagSupport, options, childr
18
18
  const subChild = child.children[index];
19
19
  // IF <template end /> its a variable to be processed
20
20
  if (isRenderEndTemplate(subChild)) {
21
- const { tagComponent } = interpolateTemplate(subChild, context, tagSupport, counts, options);
21
+ const tagComponent = interpolateTemplate(subChild, context, tagSupport, counts);
22
22
  if (tagComponent) {
23
23
  tagComponents.push(tagComponent);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateContentTemplates.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateContentTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,mBAAmB,EAAE,MAAK,0BAA0B,CAAA;AAOnG,MAAM,UAAU,2BAA2B,CACzC,OAAY,EACZ,UAAsB,EACtB,OAA2B,EAC3B,QAAwB;IAExB,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,MAAM,GAAmB,EAAE,CAAA;IACjC,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;IACnC,KAAK,IAAI,KAAK,GAAC,WAAW,GAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,EAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAC,GAAG,mBAAmB,CAC5D,KAAiB,EACjB,OAAO,EACP,UAAU,EACV,MAAM,EACN,OAAO,CACR,CAAA;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;QAE1B,IAAG,YAAY,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAChC,SAAQ;QACV,CAAC;QAED,IAAK,KAAK,CAAC,QAAQ,EAAG,CAAC;YACrB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACtC,qDAAqD;gBACrD,IAAK,mBAAmB,CAAC,QAAQ,CAAC,EAAG,CAAC;oBACpC,MAAM,EAAC,YAAY,EAAC,GAAG,mBAAmB,CACxC,QAAoB,EACpB,OAAO,EACP,UAAU,EACV,MAAM,EACN,OAAO,CACR,CAAA;oBAED,IAAG,YAAY,EAAE,CAAC;wBAChB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBAClC,CAAC;gBACH,CAAC;gBAED,MAAM,EAAC,MAAM,EAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAC,GAAG,2BAA2B,CACtF,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,CAAC,QAAQ,CAClB,CAAA;gBAED,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;gBAC5B,aAAa,CAAC,IAAI,CAAE,GAAG,gBAAgB,CAAE,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,CAAA;AAChC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAG,UAAU,CAAA;IAC7C,OAAO,UAAU;QACjB,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS;QAC/C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"interpolateContentTemplates.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateContentTemplates.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwC,mBAAmB,EAAE,MAAK,0BAA0B,CAAA;AAOnG,MAAM,UAAU,2BAA2B,CACzC,OAAY,EACZ,UAAsB,EACtB,OAA2B,EAC3B,QAAwB;IAExB,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,MAAM,GAAmB,EAAE,CAAA;IACjC,MAAM,aAAa,GAAiC,EAAE,CAAA;IACtD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;IACnC,KAAK,IAAI,KAAK,GAAC,WAAW,GAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,YAAY,GAAG,mBAAmB,CACtC,KAAiB,EACjB,OAAO,EACP,UAAU,EACV,MAAM,CACP,CAAA;QAED,6BAA6B;QAE7B,IAAG,YAAY,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAChC,SAAQ;QACV,CAAC;QAED,IAAK,KAAK,CAAC,QAAQ,EAAG,CAAC;YACrB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBACtC,qDAAqD;gBACrD,IAAK,mBAAmB,CAAC,QAAQ,CAAC,EAAG,CAAC;oBACpC,MAAM,YAAY,GAAG,mBAAmB,CACtC,QAAoB,EACpB,OAAO,EACP,UAAU,EACV,MAAM,CACP,CAAA;oBAED,IAAG,YAAY,EAAE,CAAC;wBAChB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBAClC,CAAC;gBACH,CAAC;gBAED,MAAM,EAAC,MAAM,EAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAC,GAAG,2BAA2B,CACtF,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,CAAC,QAAQ,CAClB,CAAA;gBAED,MAAM,CAAC,IAAI,CAAE,GAAG,UAAU,CAAE,CAAA;gBAC5B,aAAa,CAAC,IAAI,CAAE,GAAG,gBAAgB,CAAE,CAAA;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,CAAA;AAChC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAG,UAAU,CAAA;IAC7C,OAAO,UAAU;QACjB,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,SAAS;QAC/C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;AACzC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { Context, ElementBuildOptions } from '../tag/Tag.class.js';
2
- import { InterpolateOptions } from './interpolateElement.js';
3
2
  import { InsertBefore } from './InsertBefore.type.js';
4
3
  import { InterpolateSubject } from '../tag/update/processFirstSubject.utils.js';
5
4
  import { TagSupport } from '../tag/TagSupport.class.js';
@@ -12,18 +11,14 @@ export type InterpolateComponentResult = {
12
11
  ownerSupport: TagSupport;
13
12
  variableName: string;
14
13
  };
15
- export type InterpolateTemplateResult = {
16
- clones: InsertBefore[];
17
- tagComponent?: InterpolateComponentResult;
18
- };
19
14
  export declare function interpolateTemplate(insertBefore: Template, // <template end interpolate /> (will be removed)
20
15
  context: Context, // variable scope of {`__tagvar${index}`:'x'}
21
16
  ownerSupport: TagSupport, // Tag class
22
- counts: Counts, // used for animation stagger computing
23
- options: InterpolateOptions): InterpolateTemplateResult;
17
+ counts: Counts): InterpolateComponentResult | undefined;
24
18
  export declare function subscribeToTemplate(insertBefore: InsertBefore, subject: InterpolateSubject, ownerSupport: TagSupport, counts: Counts): void;
25
19
  export type Counts = {
26
20
  added: number;
27
21
  removed: number;
28
22
  };
23
+ /** This is the function that enhances elements such as [class.something] and [style.color] OR it fixes elements that alter innerHTML */
29
24
  export declare function afterElmBuild(elm: Element | ChildNode, options: ElementBuildOptions, context: Context, ownerSupport: TagSupport): void;
@@ -8,33 +8,27 @@ import { swapInsertBefore } from '../tag/setTagPlaceholder.function.js';
8
8
  export function interpolateTemplate(insertBefore, // <template end interpolate /> (will be removed)
9
9
  context, // variable scope of {`__tagvar${index}`:'x'}
10
10
  ownerSupport, // Tag class
11
- counts, // used for animation stagger computing
12
- options) {
13
- // TODO: THe clones array is useless here
14
- const clones = [];
11
+ counts) {
15
12
  if (!insertBefore.hasAttribute('end')) {
16
- return { clones }; // only care about <template end>
13
+ return; // only care about <template end>
17
14
  }
18
15
  const variableName = insertBefore.getAttribute('id');
19
16
  if (variableName?.substring(0, variablePrefix.length) !== variablePrefix) {
20
- return { clones }; // ignore, not a tagVar
17
+ return; // ignore, not a tagVar
21
18
  }
22
19
  const existingSubject = context[variableName];
23
20
  const isDynamic = isTagComponent(existingSubject._value) || isTagArray(existingSubject.value);
24
21
  // process dynamics later
25
22
  if (isDynamic) {
26
23
  return {
27
- clones,
28
- tagComponent: {
29
- variableName,
30
- ownerSupport,
31
- subject: existingSubject,
32
- insertBefore
33
- }
24
+ variableName,
25
+ ownerSupport,
26
+ subject: existingSubject,
27
+ insertBefore
34
28
  };
35
29
  }
36
30
  subscribeToTemplate(insertBefore, existingSubject, ownerSupport, counts);
37
- return { clones };
31
+ return;
38
32
  }
39
33
  export function subscribeToTemplate(insertBefore, subject, ownerSupport, counts) {
40
34
  let called = false;
@@ -66,16 +60,27 @@ export function subscribeToTemplate(insertBefore, subject, ownerSupport, counts)
66
60
  }
67
61
  ownerSupport.global.subscriptions.push(sub);
68
62
  }
63
+ /** This is the function that enhances elements such as [class.something] and [style.color] OR it fixes elements that alter innerHTML */
69
64
  export function afterElmBuild(elm, options, context, ownerSupport) {
70
65
  if (!elm.getAttribute) {
71
66
  return;
72
67
  }
68
+ // Elements that alter innerHTML
73
69
  const tagName = elm.nodeName; // elm.tagName
74
70
  if (tagName === 'TEXTAREA') {
75
71
  scanTextAreaValue(elm, context, ownerSupport);
76
72
  }
77
73
  let diff = options.counts.added;
78
74
  diff = elementInitCheck(elm, options.counts) - diff;
75
+ const hasFocusFun = elm.focus;
76
+ if (hasFocusFun) {
77
+ if (elm.hasAttribute('autofocus')) {
78
+ elm.focus();
79
+ }
80
+ if (elm.hasAttribute('autoselect')) {
81
+ elm.select();
82
+ }
83
+ }
79
84
  const children = elm.children;
80
85
  if (children) {
81
86
  for (let index = children.length - 1; index >= 0; --index) {
@@ -1 +1 @@
1
- {"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpolateTemplate.js","sourceRoot":"","sources":["../../ts/interpolations/interpolateTemplate.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Context } from '../tag/Tag.class.js';
2
2
  import { HowToSet } from './interpolateAttributes.js';
3
3
  import { TagSupport } from '../tag/TagSupport.class.js';
4
- export declare function processAttribute(attrName: string, value: string | null, child: Element, scope: Context, ownerSupport: TagSupport, howToSet: HowToSet): void;
4
+ export declare function processAttribute(attrName: string, value: string | null, // current attribute value by using .getAttribute
5
+ child: Element, scope: Context, ownerSupport: TagSupport, howToSet: HowToSet): void;
5
6
  export type NoDisplayValue = false | null | undefined;
@@ -1,4 +1,4 @@
1
- import { inputAttribute } from './inputAttribute.js';
1
+ import { specialAttribute } from './specialAttribute.js';
2
2
  import { isSubjectInstance } from '../isInstance.js';
3
3
  import { bindSubjectCallback } from './bindSubjectCallback.function.js';
4
4
  const startRegX = /^\s*{__tagvar/;
@@ -6,7 +6,8 @@ const endRegX = /}\s*$/;
6
6
  function isTagVar(value) {
7
7
  return value && value.search(startRegX) >= 0 && value.search(endRegX) >= 0;
8
8
  }
9
- export function processAttribute(attrName, value, child, scope, ownerSupport, howToSet) {
9
+ export function processAttribute(attrName, value, // current attribute value by using .getAttribute
10
+ child, scope, ownerSupport, howToSet) {
10
11
  if (isTagVar(value)) {
11
12
  return processScopedNameValueAttr(attrName, value, child, scope, ownerSupport, howToSet);
12
13
  }
@@ -15,6 +16,9 @@ export function processAttribute(attrName, value, child, scope, ownerSupport, ho
15
16
  let lastValue;
16
17
  // the above callback gets called immediately since its a ValueSubject()
17
18
  const sub = contextValueSubject.subscribe((value) => {
19
+ if (value === lastValue) {
20
+ return; // value did not change
21
+ }
18
22
  processNameOnlyAttr(value, lastValue, child, ownerSupport, howToSet);
19
23
  lastValue = value;
20
24
  });
@@ -25,7 +29,7 @@ export function processAttribute(attrName, value, child, scope, ownerSupport, ho
25
29
  // Non dynamic
26
30
  const isSpecial = isSpecialAttr(attrName);
27
31
  if (isSpecial) {
28
- return inputAttribute(attrName, value, child);
32
+ return specialAttribute(attrName, value, child);
29
33
  }
30
34
  }
31
35
  function processScopedNameValueAttr(attrName, value, // {__tagVarN}
@@ -74,16 +78,17 @@ function processNameValueAttr(attrName, result, child, ownerSupport, howToSet) {
74
78
  // Most every variable comes in here since everything is made a ValueSubject
75
79
  if (isSubjectInstance(result)) {
76
80
  child.removeAttribute(attrName);
81
+ let lastValue;
77
82
  const callback = (newAttrValue) => {
78
83
  // should the function be wrapped so every time its called we re-render?
79
84
  if (newAttrValue instanceof Function) {
80
- const wrapper = ownerSupport.templater.wrapper;
81
- const parentWrap = wrapper?.parentWrap;
82
- const oneRender = parentWrap?.oneRender;
83
- if (!oneRender) {
84
- newAttrValue = bindSubjectCallback(newAttrValue, ownerSupport);
85
- }
85
+ return callbackFun(ownerSupport, newAttrValue, child, attrName, isSpecial, howToSet);
86
+ }
87
+ // TODO: we maybe able to block higher before instance of check
88
+ if (lastValue === newAttrValue) {
89
+ return lastValue;
86
90
  }
91
+ lastValue = newAttrValue;
87
92
  return processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
88
93
  };
89
94
  // 🗞️ Subscribe. Above callback called immediately since its a ValueSubject()
@@ -103,11 +108,15 @@ function processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial,
103
108
  };
104
109
  // access to original function
105
110
  fun.tagFunction = newAttrValue;
111
+ if (attrName === 'ondoubleclick') {
112
+ attrName = 'ondblclick';
113
+ }
114
+ ;
106
115
  child[attrName] = fun;
107
116
  return;
108
117
  }
109
118
  if (isSpecial) {
110
- inputAttribute(attrName, newAttrValue, child);
119
+ specialAttribute(attrName, newAttrValue, child);
111
120
  return;
112
121
  }
113
122
  if (newAttrValue) {
@@ -126,4 +135,13 @@ function processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial,
126
135
  function isSpecialAttr(attrName) {
127
136
  return attrName.search(/^(class|style)(\.)/) >= 0;
128
137
  }
138
+ function callbackFun(ownerSupport, newAttrValue, child, attrName, isSpecial, howToSet) {
139
+ const wrapper = ownerSupport.templater.wrapper;
140
+ const parentWrap = wrapper?.parentWrap;
141
+ const oneRender = parentWrap?.oneRender;
142
+ if (!oneRender) {
143
+ newAttrValue = bindSubjectCallback(newAttrValue, ownerSupport);
144
+ }
145
+ return processAttributeSubjectValue(newAttrValue, child, attrName, isSpecial, howToSet);
146
+ }
129
147
  //# sourceMappingURL=processAttribute.function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processAttribute.function.js","sourceRoot":"","sources":["../../ts/interpolations/processAttribute.function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processAttribute.function.js","sourceRoot":"","sources":["../../ts/interpolations/processAttribute.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAGvE,MAAM,SAAS,GAAG,eAAe,CAAA;AACjC,MAAM,OAAO,GAAG,OAAO,CAAA;AACvB,SAAS,QAAQ,CAAC,KAAoB;IACpC,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,KAAoB,EAAE,iDAAiD;AACvE,KAAc,EACd,KAAc,EACd,YAAwB,EACxB,QAAkB;IAElB,IAAK,QAAQ,CAAC,KAAK,CAAC,EAAG,CAAC;QACtB,OAAO,0BAA0B,CAC/B,QAAQ,EACR,KAAe,EACf,KAAK,EACL,KAAK,EACL,YAAY,EACZ,QAAQ,CACT,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAG,CAAC;QACxB,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACvE,IAAI,SAAc,CAAC;QAEnB,wEAAwE;QACxE,MAAM,GAAG,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,KAAU,EAAE,EAAE;YACvD,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAM,CAAC,uBAAuB;YAChC,CAAC;YAED,mBAAmB,CACjB,KAAK,EACL,SAAS,EACT,KAAK,EACL,YAAY,EACZ,QAAQ,CACT,CAAA;YAED,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC,CAAC,CAAA;QACF,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,yCAAyC;QACrF,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAE/B,OAAM;IACR,CAAC;IAED,cAAc;IACd,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAgB,EAChB,KAAa,EAAE,cAAc;AAC7B,KAAc,EACd,KAAc,EACd,YAAwB,EACxB,QAAkB;IAElB,qEAAqE;IACrE,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACvD,OAAO,oBAAoB,CACzB,QAAQ,EACR,MAAM,EACN,KAAK,EACL,YAAY,EACZ,QAAQ,CACT,CAAA;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAc,EACd,KAAa;IAEb,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5G,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AACD,SAAS,mBAAmB,CAC1B,SAAuC,EACvC,SAAmD,EACnD,KAAc,EACd,YAAwB,EACxB,QAAkB;IAElB,IAAG,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QACvC,IAAG,OAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClC,KAAK,CAAC,eAAe,CAAC,SAAmB,CAAC,CAAA;QAC5C,CAAC;aAAM,IAAG,SAAS,YAAY,MAAM,EAAE,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAG,OAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,OAAM;QACR,CAAC;QAED,oBAAoB,CAClB,SAAmB,EACnB,EAAE,EACF,KAAK,EACL,YAAY,EACZ,QAAQ,CACT,CAAA;QAED,OAAM;IACR,CAAC;IAED,IAAG,SAAS,YAAY,MAAM,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,oBAAoB,CAClB,IAAI,EACJ,SAAS,CAAC,IAAI,CAAC,EACf,KAAK,EACL,YAAY,EACZ,QAAQ,CACT,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAgB,EAChB,MAAW,EACX,KAAc,EACd,YAAwB,EACxB,QAAkB;IAElB,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAEzC,IAAG,MAAM,YAAY,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,UAAS,GAAG,IAAW;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACnC,OAAO,OAAO,CAAA;QAChB,CAAC,CAEA;QAAC,KAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,MAAM,CAAA;IAC3C,CAAC;IAED,4EAA4E;IAC5E,IAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC/B,IAAI,SAAc,CAAC;QAEnB,MAAM,QAAQ,GAAG,CAAC,YAAiB,EAAE,EAAE;YACrC,wEAAwE;YACxE,IAAG,YAAY,YAAY,QAAQ,EAAE,CAAC;gBACpC,OAAO,WAAW,CAChB,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,CACT,CAAA;YACH,CAAC;YAED,+DAA+D;YAC/D,IAAG,SAAS,KAAK,YAAY,EAAE,CAAC;gBAC9B,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,SAAS,GAAG,YAAY,CAAA;YAExB,OAAO,4BAA4B,CACjC,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,CACT,CAAA;QACH,CAAC,CAAA;QAED,8EAA8E;QAC9E,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,QAAe,CAAC,CAAA;QAE7C,mEAAmE;QACnE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3C,OAAM;IACR,CAAC;IAED,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACjC,6CAA6C;IAC7C,OAAM;AACR,CAAC;AAKD,SAAS,4BAA4B,CACnC,YAA2C,EAC3C,KAAc,EACd,QAAgB,EAChB,SAAkB,EAClB,QAAkB;IAElB,IAAG,YAAY,YAAY,QAAQ,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,UAAS,GAAG,IAAW;YACjC,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC,CAAA;QAED,8BAA8B;QAC9B,GAAG,CAAC,WAAW,GAAG,YAAY,CAAA;QAE9B,IAAG,QAAQ,KAAK,eAAe,EAAE,CAAC;YAChC,QAAQ,GAAG,YAAY,CAAA;QACzB,CAAC;QAED,CAAC;QAAC,KAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAA;QAE/B,OAAM;IACR,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;QAC/C,OAAM;IACR,CAAC;IAED,IAAG,YAAY,EAAE,CAAC;QAChB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAsB,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,YAA8B,CAAC,CAAA;IACrF,IAAG,WAAW,EAAE,CAAC;QACf,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC/B,OAAM;IACR,CAAC;IAED,aAAa;IACb,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAsB,CAAC,CAAA;AACnD,CAAC;AAED,uDAAuD;AACvD,SAAS,aAAa,CACpB,QAAyB;IAEzB,OAAO,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,WAAW,CAClB,YAAwB,EACxB,YAAiB,EACjB,KAAc,EACd,QAAgB,EAChB,SAAkB,EAClB,QAAkB;IAElB,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAA;IAC9C,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;IACtC,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,CAAA;IACvC,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,4BAA4B,CACjC,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,CACT,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function specialAttribute(name: string, value: any, element: Element): void;
@@ -0,0 +1,22 @@
1
+ export function specialAttribute(name, value, element) {
2
+ const names = name.split('.');
3
+ // style.position = "absolute"
4
+ if (names[0] === 'style') {
5
+ element.style[names[1]] = value;
6
+ }
7
+ // Example: class.width-full = "true"
8
+ if (names[0] === 'class') {
9
+ names.shift();
10
+ if (value) {
11
+ for (let index = 0; index < names.length; ++index) {
12
+ element.classList.add(names[index]);
13
+ }
14
+ }
15
+ else {
16
+ for (let index = 0; index < names.length; ++index) {
17
+ element.classList.remove(names[index]);
18
+ }
19
+ }
20
+ }
21
+ }
22
+ //# sourceMappingURL=specialAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialAttribute.js","sourceRoot":"","sources":["../../ts/interpolations/specialAttribute.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,KAAU,EACV,OAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE7B,8BAA8B;IAC9B,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACvB,OAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;IAC1C,CAAC;IAED,qCAAqC;IACrC,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAG,KAAK,EAAE,CAAC;YACT,KAAK,IAAI,KAAK,GAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,KAAK,GAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export type Callback<A, B, C, D, E, F, T> = (a: A, b: B, c: C, d: D, e: E, f: F) => T;
2
2
  export declare const callbackMaker: () => <A, B, C, D, E, F, T>(callback: Callback<A, B, C, D, E, F, T>) => (a?: A | undefined, b?: B | undefined, c?: C | undefined, d?: D | undefined, e?: E | undefined, f?: F | undefined) => T;
3
+ /** Wrap a function that will be called back. After the wrapper and function are called, a rendering cycle will update display */
3
4
  export declare function callback<A, B, C, D, E, F, T>(callback: Callback<A, B, C, D, E, F, T>): () => T;
@@ -16,6 +16,7 @@ setUse({
16
16
  innerCallback = originalGetter; // prevent crossing callbacks with another tag
17
17
  },
18
18
  });
19
+ /** Wrap a function that will be called back. After the wrapper and function are called, a rendering cycle will update display */
19
20
  export function callback(callback) {
20
21
  const tagSupport = getSupportInCycle();
21
22
  if (!tagSupport) {
@@ -1 +1 @@
1
- {"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AAOnE,IAAI,aAAa,GAAG,CAClB,QAAiC,EACjC,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAK,EAAE;IAC7C,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAEhD,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,gBAAgB;AAErD,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,WAAW,EAAE,UAAU,CAAC,EAAE;QACxB,CAAC;QAAC,UAAU,CAAC,MAAc,CAAC,aAAa,GAAG,IAAI,CAAA;QAChD,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,QAAQ,CACtB,QAAuC;IAEvC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IAEtC,IAAG,CAAC,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,+JAA+J,CAAC,CAAA;QACpM,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAChD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;QAE9D,IAAG,aAAa,EAAE,CAAC;YACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QACrE,CAAC;QAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,UAAU,CAAE,UAAuC;IAC1D,MAAM,QAAQ,GAAU,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IACvD,aAAa,GAAG,CACd,QAAqD,EACrD,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;YAE9D,IAAG,aAAa,EAAE,CAAC;gBACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YACrE,CAAC;YAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"callbackMaker.function.js","sourceRoot":"","sources":["../../ts/state/callbackMaker.function.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AAOnE,IAAI,aAAa,GAAG,CAClB,QAAiC,EACjC,EAAE,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAE,CAAI,EAAK,EAAE;IAC7C,MAAM,IAAI,iBAAiB,CAAC,iFAAiF,CAAC,CAAA;AAChH,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,aAAa,CAAA;AAEhD,MAAM,cAAc,GAAG,aAAa,CAAA,CAAC,gBAAgB;AAErD,MAAM,CAAC;IACL,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAClD,WAAW,EAAE,UAAU,CAAC,EAAE;QACxB,CAAC;QAAC,UAAU,CAAC,MAAc,CAAC,aAAa,GAAG,IAAI,CAAA;QAChD,aAAa,GAAG,cAAc,CAAA,CAAC,8CAA8C;IAC/E,CAAC;CACF,CAAC,CAAA;AAEF,iIAAiI;AACjI,MAAM,UAAU,QAAQ,CACtB,QAAuC;IAEvC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IAEtC,IAAG,CAAC,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,+JAA+J,CAAC,CAAA;QACpM,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IAChD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;QACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;QAE9D,IAAG,aAAa,EAAE,CAAC;YACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;QACrE,CAAC;QAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,UAAU,CAAE,UAAuC;IAC1D,MAAM,QAAQ,GAAU,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAA;IACvD,aAAa,GAAG,CACd,QAAqD,EACrD,EAAE;QACF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACjC,MAAM,aAAa,GAAI,UAAU,CAAC,MAAc,CAAC,aAAa,CAAA;YAE9D,IAAG,aAAa,EAAE,CAAC;gBACjB,OAAO,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;YACrE,CAAC;YAED,OAAQ,QAAgB,CAAC,GAAG,IAAI,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC"}
@@ -8,12 +8,14 @@ export default function callbackStateUpdate(tagSupport, callback, oldState, ...a
8
8
  const maybePromise = callback(...args);
9
9
  // send the oldest state changes into the newest
10
10
  syncStates(oldState, state);
11
- renderTagSupport(tagSupport, false);
11
+ renderTagSupport(tagSupport, // tagSupport.global.newest as TagSupport,
12
+ false);
12
13
  if (maybePromise instanceof Promise) {
13
14
  maybePromise.finally(() => {
14
15
  // send the oldest state changes into the newest
15
16
  syncStates(oldState, state);
16
- renderTagSupport(tagSupport, false);
17
+ renderTagSupport(tagSupport, // tagSupport.global.newest as TagSupport,
18
+ false);
17
19
  });
18
20
  }
19
21
  // return undefined as T
@@ -1 +1 @@
1
- {"version":3,"file":"callbackStateUpdate.function.js","sourceRoot":"","sources":["../../ts/state/callbackStateUpdate.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,UAAuC,EACvC,QAAkD,EAClD,QAAe,EACf,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAA;IAErC,qDAAqD;IACrD,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE3B,mBAAmB;IACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAiC,CAAC,CAAA;IAEnE,gDAAgD;IAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAE3B,gBAAgB,CACd,UAAU,EACV,KAAK,CACN,CAAA;IAED,IAAG,YAAY,YAAY,OAAO,EAAE,CAAC;QACnC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE;YACxB,gDAAgD;YAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAE3B,gBAAgB,CACd,UAAwB,EACxB,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,wBAAwB;IACxB,OAAO,YAAY,CAAA;AACrB,CAAC"}
1
+ {"version":3,"file":"callbackStateUpdate.function.js","sourceRoot":"","sources":["../../ts/state/callbackStateUpdate.function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,UAAuC,EACvC,QAAkD,EAClD,QAAe,EACf,GAAG,IAAW;IAEd,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAA;IAErC,qDAAqD;IACrD,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE3B,mBAAmB;IACnB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAiC,CAAC,CAAA;IAEnE,gDAAgD;IAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC3B,gBAAgB,CACd,UAAU,EAAE,0CAA0C;IACtD,KAAK,CACN,CAAA;IAED,IAAG,YAAY,YAAY,OAAO,EAAE,CAAC;QACnC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE;YACxB,gDAAgD;YAChD,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAE3B,gBAAgB,CACd,UAAU,EAAE,0CAA0C;YACtD,KAAK,CACN,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,wBAAwB;IACxB,OAAO,YAAY,CAAA;AACrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Provider } from './providers.js';
2
+ import { TagSupport } from '../tag/TagSupport.class.js';
3
+ export declare function handleProviderChanges(appSupport: TagSupport, provider: Provider): void;