taggedjs 2.1.2 → 2.3.26
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.
- package/_js/Clones.type.d.ts +1 -0
- package/_js/Clones.type.js +2 -0
- package/_js/Clones.type.js.map +1 -0
- package/_js/ElementTarget.interface.d.ts +7 -0
- package/_js/ElementTarget.interface.js +2 -0
- package/_js/ElementTarget.interface.js.map +1 -0
- package/_js/ElementTargetEvent.interface.d.ts +6 -0
- package/_js/ElementTargetEvent.interface.js +2 -0
- package/_js/ElementTargetEvent.interface.js.map +1 -0
- package/_js/Props.d.ts +1 -0
- package/_js/Props.js +2 -0
- package/_js/Props.js.map +1 -0
- package/{js/js → _js}/Subject.d.ts +7 -2
- package/{js/js → _js}/Subject.js +15 -10
- package/_js/Subject.js.map +1 -0
- package/_js/Tag.class.d.ts +69 -0
- package/_js/Tag.class.js +258 -0
- package/_js/Tag.class.js.map +1 -0
- package/_js/Tag.utils.d.ts +12 -0
- package/_js/Tag.utils.js +31 -0
- package/_js/Tag.utils.js.map +1 -0
- package/{js/js → _js}/ValueSubject.d.ts +1 -1
- package/_js/ValueSubject.js.map +1 -0
- package/_js/bindSubjectCallback.function.d.ts +5 -0
- package/_js/bindSubjectCallback.function.js +19 -0
- package/_js/bindSubjectCallback.function.js.map +1 -0
- package/_js/elementDestroyCheck.function.d.ts +3 -0
- package/_js/elementDestroyCheck.function.js +17 -0
- package/_js/elementDestroyCheck.function.js.map +1 -0
- package/_js/elementInitCheck.js.map +1 -0
- package/_js/gateway/gateway.web.component.d.ts +11 -0
- package/_js/gateway/gateway.web.component.js +20 -0
- package/_js/gateway/gateway.web.component.js.map +1 -0
- package/_js/gateway/index.d.ts +3 -0
- package/_js/gateway/index.js +4 -0
- package/_js/gateway/index.js.map +1 -0
- package/_js/gateway/loadTagGateway.function.d.ts +2 -0
- package/_js/gateway/loadTagGateway.function.js +18 -0
- package/_js/gateway/loadTagGateway.function.js.map +1 -0
- package/_js/gateway/tagGateway.function.d.ts +4 -0
- package/_js/gateway/tagGateway.function.js +49 -0
- package/_js/gateway/tagGateway.function.js.map +1 -0
- package/_js/gateway/tagGateway.utils.d.ts +21 -0
- package/_js/gateway/tagGateway.utils.js +139 -0
- package/_js/gateway/tagGateway.utils.js.map +1 -0
- package/_js/getCallback.d.ts +3 -0
- package/_js/getCallback.js +50 -0
- package/_js/getCallback.js.map +1 -0
- package/_js/getTagSupport.d.ts +21 -0
- package/_js/getTagSupport.js +110 -0
- package/_js/getTagSupport.js.map +1 -0
- package/_js/html.d.ts +2 -0
- package/{js/js → _js}/html.js.map +1 -1
- package/_js/index.d.ts +20 -0
- package/_js/index.js +25 -0
- package/_js/index.js.map +1 -0
- package/_js/inputAttribute.js +19 -0
- package/_js/inputAttribute.js.map +1 -0
- package/{js/js → _js}/interpolateAttributes.d.ts +2 -1
- package/_js/interpolateAttributes.js +135 -0
- package/_js/interpolateAttributes.js.map +1 -0
- package/_js/interpolateContentTemplates.d.ts +6 -0
- package/_js/interpolateContentTemplates.js +54 -0
- package/_js/interpolateContentTemplates.js.map +1 -0
- package/_js/interpolateElement.d.ts +9 -0
- package/_js/interpolateElement.js +39 -0
- package/_js/interpolateElement.js.map +1 -0
- package/_js/interpolateTemplate.d.ts +17 -0
- package/_js/interpolateTemplate.js +64 -0
- package/_js/interpolateTemplate.js.map +1 -0
- package/{js/js → _js}/interpolations.d.ts +3 -2
- package/{js/js → _js}/interpolations.js +2 -1
- package/_js/interpolations.js.map +1 -0
- package/_js/isInstance.d.ts +6 -0
- package/_js/isInstance.js +10 -0
- package/_js/isInstance.js.map +1 -0
- package/_js/js/Clones.type.d.ts +1 -0
- package/_js/js/Clones.type.js +2 -0
- package/_js/js/Clones.type.js.map +1 -0
- package/_js/js/Props.d.ts +1 -0
- package/_js/js/Props.js +2 -0
- package/_js/js/Props.js.map +1 -0
- package/_js/js/Subject.d.ts +17 -0
- package/_js/js/Subject.js +43 -0
- package/_js/js/Subject.js.map +1 -0
- package/{js → _js}/js/Tag.class.d.ts +27 -5
- package/_js/js/Tag.class.js +241 -0
- package/_js/js/Tag.class.js.map +1 -0
- package/_js/js/Tag.utils.d.ts +12 -0
- package/_js/js/Tag.utils.js +31 -0
- package/_js/js/Tag.utils.js.map +1 -0
- package/_js/js/ValueSubject.d.ts +6 -0
- package/_js/js/ValueSubject.js +15 -0
- package/_js/js/ValueSubject.js.map +1 -0
- package/_js/js/bindSubjectCallback.function.d.ts +5 -0
- package/_js/js/bindSubjectCallback.function.js +19 -0
- package/_js/js/bindSubjectCallback.function.js.map +1 -0
- package/_js/js/deepFunctions.d.ts +2 -0
- package/_js/js/deepFunctions.js +76 -0
- package/_js/js/deepFunctions.js.map +1 -0
- package/_js/js/elementDestroyCheck.function.d.ts +3 -0
- package/_js/js/elementDestroyCheck.function.js +17 -0
- package/_js/js/elementDestroyCheck.function.js.map +1 -0
- package/_js/js/elementInitCheck.d.ts +2 -0
- package/_js/js/elementInitCheck.js +18 -0
- package/_js/js/elementInitCheck.js.map +1 -0
- package/_js/js/getCallback.js +50 -0
- package/_js/js/getCallback.js.map +1 -0
- package/_js/js/getTagSupport.d.ts +22 -0
- package/_js/js/getTagSupport.js +116 -0
- package/_js/js/getTagSupport.js.map +1 -0
- package/_js/js/html.d.ts +2 -0
- package/_js/js/html.js +5 -0
- package/_js/js/html.js.map +1 -0
- package/_js/js/index.d.ts +19 -0
- package/_js/js/index.js +24 -0
- package/_js/js/index.js.map +1 -0
- package/_js/js/inputAttribute.d.ts +1 -0
- package/_js/js/interpolateAttributes.d.ts +4 -0
- package/_js/js/interpolateAttributes.js +127 -0
- package/_js/js/interpolateAttributes.js.map +1 -0
- package/{js → _js}/js/interpolateContentTemplates.d.ts +3 -1
- package/_js/js/interpolateContentTemplates.js +57 -0
- package/_js/js/interpolateContentTemplates.js.map +1 -0
- package/_js/js/interpolateElement.d.ts +9 -0
- package/_js/js/interpolateElement.js +32 -0
- package/_js/js/interpolateElement.js.map +1 -0
- package/_js/js/interpolateTemplate.d.ts +17 -0
- package/_js/js/interpolateTemplate.js +64 -0
- package/_js/js/interpolateTemplate.js.map +1 -0
- package/_js/js/interpolations.d.ts +8 -0
- package/_js/js/interpolations.js +17 -0
- package/_js/js/interpolations.js.map +1 -0
- package/_js/js/isInstance.d.ts +6 -0
- package/_js/js/isInstance.js +10 -0
- package/_js/js/isInstance.js.map +1 -0
- package/_js/js/onDestroy.d.ts +2 -0
- package/_js/js/onDestroy.js +20 -0
- package/_js/js/onDestroy.js.map +1 -0
- package/_js/js/onInit.d.ts +2 -0
- package/_js/js/onInit.js +19 -0
- package/_js/js/onInit.js.map +1 -0
- package/_js/js/processSubjectComponent.function.d.ts +8 -0
- package/_js/js/processSubjectComponent.function.js +53 -0
- package/_js/js/processSubjectComponent.function.js.map +1 -0
- package/_js/js/processSubjectValue.function.d.ts +16 -0
- package/_js/js/processSubjectValue.function.js +122 -0
- package/_js/js/processSubjectValue.function.js.map +1 -0
- package/{js → _js}/js/processTagArray.d.ts +5 -1
- package/_js/js/processTagArray.js +60 -0
- package/_js/js/processTagArray.js.map +1 -0
- package/_js/js/processTagResult.function.d.ts +10 -0
- package/_js/js/processTagResult.function.js +42 -0
- package/_js/js/processTagResult.function.js.map +1 -0
- package/_js/js/providers.d.ts +17 -0
- package/{js → _js}/js/providers.js +28 -20
- package/_js/js/providers.js.map +1 -0
- package/_js/js/redrawTag.function.d.ts +7 -0
- package/_js/js/redrawTag.function.js +9 -0
- package/_js/js/redrawTag.function.js.map +1 -0
- package/_js/js/render.d.ts +1 -0
- package/_js/js/render.js +24 -0
- package/_js/js/render.js.map +1 -0
- package/_js/js/renderAppToElement.d.ts +14 -0
- package/_js/js/renderAppToElement.js +57 -0
- package/_js/js/renderAppToElement.js.map +1 -0
- package/_js/js/setUse.function.d.ts +23 -0
- package/_js/js/setUse.function.js +14 -0
- package/_js/js/setUse.function.js.map +1 -0
- package/_js/js/state.d.ts +24 -0
- package/_js/js/state.js +98 -0
- package/_js/js/state.js.map +1 -0
- package/_js/js/tag.d.ts +8 -0
- package/_js/js/tag.js +46 -0
- package/_js/js/tag.js.map +1 -0
- package/_js/js/tagElement.d.ts +14 -0
- package/_js/js/tagElement.js +57 -0
- package/_js/js/tagElement.js.map +1 -0
- package/_js/js/tagGateway.function.d.ts +5 -0
- package/_js/js/tagGateway.function.js +119 -0
- package/_js/js/tagGateway.function.js.map +1 -0
- package/_js/js/tagRunner.d.ts +6 -0
- package/_js/js/tagRunner.js +19 -0
- package/_js/js/tagRunner.js.map +1 -0
- package/_js/js/templater.utils.d.ts +28 -0
- package/_js/js/templater.utils.js +99 -0
- package/_js/js/templater.utils.js.map +1 -0
- package/_js/js/updateTag.utils.d.ts +6 -0
- package/_js/js/updateTag.utils.js +84 -0
- package/_js/js/updateTag.utils.js.map +1 -0
- package/_js/onDestroy.d.ts +2 -0
- package/_js/onDestroy.js +20 -0
- package/_js/onDestroy.js.map +1 -0
- package/_js/onInit.d.ts +2 -0
- package/_js/onInit.js +19 -0
- package/_js/onInit.js.map +1 -0
- package/_js/processSubjectComponent.function.d.ts +8 -0
- package/_js/processSubjectComponent.function.js +53 -0
- package/_js/processSubjectComponent.function.js.map +1 -0
- package/_js/processSubjectValue.function.d.ts +16 -0
- package/_js/processSubjectValue.function.js +122 -0
- package/_js/processSubjectValue.function.js.map +1 -0
- package/_js/processTagArray.d.ts +9 -0
- package/{js/js → _js}/processTagArray.js +21 -10
- package/_js/processTagArray.js.map +1 -0
- package/_js/processTagResult.function.d.ts +10 -0
- package/_js/processTagResult.function.js +40 -0
- package/_js/processTagResult.function.js.map +1 -0
- package/_js/providers.d.ts +17 -0
- package/_js/providers.js +86 -0
- package/_js/providers.js.map +1 -0
- package/_js/redrawTag.function.d.ts +7 -0
- package/_js/redrawTag.function.js +8 -0
- package/_js/redrawTag.function.js.map +1 -0
- package/_js/render.d.ts +1 -0
- package/_js/render.js +17 -0
- package/_js/render.js.map +1 -0
- package/_js/renderAppToElement.d.ts +14 -0
- package/_js/renderAppToElement.js +57 -0
- package/_js/renderAppToElement.js.map +1 -0
- package/_js/setUse.function.d.ts +23 -0
- package/_js/setUse.function.js +14 -0
- package/_js/setUse.function.js.map +1 -0
- package/_js/state.d.ts +21 -0
- package/_js/state.js +129 -0
- package/_js/state.js.map +1 -0
- package/_js/tag.d.ts +7 -0
- package/_js/tag.js +46 -0
- package/_js/tag.js.map +1 -0
- package/_js/tagElement.d.ts +14 -0
- package/_js/tagElement.js +57 -0
- package/_js/tagElement.js.map +1 -0
- package/_js/tagGateway.function.d.ts +14 -0
- package/_js/tagGateway.function.js +138 -0
- package/_js/tagGateway.function.js.map +1 -0
- package/_js/tagRunner.d.ts +6 -0
- package/_js/tagRunner.js +19 -0
- package/_js/tagRunner.js.map +1 -0
- package/_js/templater.utils.d.ts +27 -0
- package/_js/templater.utils.js +98 -0
- package/_js/templater.utils.js.map +1 -0
- package/_js/updateTag.utils.d.ts +6 -0
- package/_js/updateTag.utils.js +102 -0
- package/_js/updateTag.utils.js.map +1 -0
- package/index.js +1 -1
- package/js/Clones.type.d.ts +1 -0
- package/js/Clones.type.js +2 -0
- package/js/Clones.type.js.map +1 -0
- package/js/ElementTarget.interface.d.ts +7 -0
- package/js/ElementTarget.interface.js +2 -0
- package/js/ElementTarget.interface.js.map +1 -0
- package/js/ElementTargetEvent.interface.d.ts +6 -0
- package/js/ElementTargetEvent.interface.js +2 -0
- package/js/ElementTargetEvent.interface.js.map +1 -0
- package/js/Props.d.ts +1 -0
- package/js/Props.js +2 -0
- package/js/Props.js.map +1 -0
- package/js/Subject.d.ts +7 -2
- package/js/Subject.js +15 -10
- package/js/Subject.js.map +1 -1
- package/js/Tag.class.d.ts +37 -13
- package/js/Tag.class.js +136 -102
- package/js/Tag.class.js.map +1 -1
- package/js/Tag.utils.d.ts +9 -20
- package/js/Tag.utils.js +20 -88
- package/js/Tag.utils.js.map +1 -1
- package/js/ValueSubject.d.ts +1 -1
- package/js/ValueSubject.js.map +1 -1
- package/js/bindSubjectCallback.function.d.ts +5 -0
- package/js/bindSubjectCallback.function.js +20 -0
- package/js/bindSubjectCallback.function.js.map +1 -0
- package/js/elementDestroyCheck.function.d.ts +3 -0
- package/js/elementDestroyCheck.function.js +17 -0
- package/js/elementDestroyCheck.function.js.map +1 -0
- package/js/elementInitCheck.js.map +1 -1
- package/js/gateway/gateway.web.component.d.ts +11 -0
- package/js/gateway/gateway.web.component.js +20 -0
- package/js/gateway/gateway.web.component.js.map +1 -0
- package/js/gateway/index.d.ts +3 -0
- package/js/gateway/index.js +4 -0
- package/js/gateway/index.js.map +1 -0
- package/js/gateway/loadTagGateway.function.d.ts +2 -0
- package/js/gateway/loadTagGateway.function.js +18 -0
- package/js/gateway/loadTagGateway.function.js.map +1 -0
- package/js/gateway/tagGateway.function.d.ts +4 -0
- package/js/gateway/tagGateway.function.js +49 -0
- package/js/gateway/tagGateway.function.js.map +1 -0
- package/js/gateway/tagGateway.utils.d.ts +21 -0
- package/js/gateway/tagGateway.utils.js +139 -0
- package/js/gateway/tagGateway.utils.js.map +1 -0
- package/js/getCallback.d.ts +1 -1
- package/js/getCallback.js +39 -42
- package/js/getCallback.js.map +1 -1
- package/js/getTagSupport.d.ts +18 -17
- package/js/getTagSupport.js +104 -15
- package/js/getTagSupport.js.map +1 -1
- package/js/html.d.ts +1 -1
- package/js/html.js.map +1 -1
- package/js/index.d.ts +17 -7
- package/js/index.js +21 -8
- package/js/index.js.map +1 -1
- package/js/inputAttribute.js +3 -3
- package/js/inputAttribute.js.map +1 -1
- package/js/interpolateAttributes.d.ts +2 -1
- package/js/interpolateAttributes.js +129 -60
- package/js/interpolateAttributes.js.map +1 -1
- package/js/interpolateContentTemplates.d.ts +4 -1
- package/js/interpolateContentTemplates.js +32 -25
- package/js/interpolateContentTemplates.js.map +1 -1
- package/js/interpolateElement.d.ts +8 -13
- package/js/interpolateElement.js +26 -22
- package/js/interpolateElement.js.map +1 -1
- package/js/interpolateTemplate.d.ts +15 -19
- package/js/interpolateTemplate.js +33 -231
- package/js/interpolateTemplate.js.map +1 -1
- package/js/interpolations.d.ts +3 -2
- package/js/interpolations.js +2 -1
- package/js/interpolations.js.map +1 -1
- package/js/isInstance.d.ts +6 -0
- package/js/isInstance.js +10 -0
- package/js/isInstance.js.map +1 -0
- package/js/onDestroy.d.ts +2 -0
- package/js/onDestroy.js +20 -0
- package/js/onDestroy.js.map +1 -0
- package/js/onInit.d.ts +0 -4
- package/js/onInit.js +12 -10
- package/js/onInit.js.map +1 -1
- package/js/processSubjectComponent.function.d.ts +8 -0
- package/js/processSubjectComponent.function.js +53 -0
- package/js/processSubjectComponent.function.js.map +1 -0
- package/js/processSubjectValue.function.d.ts +23 -0
- package/js/processSubjectValue.function.js +129 -0
- package/js/processSubjectValue.function.js.map +1 -0
- package/js/processTagArray.d.ts +15 -2
- package/js/processTagArray.js +30 -13
- package/js/processTagArray.js.map +1 -1
- package/js/processTagResult.function.d.ts +12 -0
- package/js/processTagResult.function.js +43 -0
- package/js/processTagResult.function.js.map +1 -0
- package/js/providers.d.ts +4 -12
- package/js/providers.js +28 -20
- package/js/providers.js.map +1 -1
- package/js/redrawTag.function.d.ts +7 -0
- package/js/redrawTag.function.js +8 -0
- package/js/redrawTag.function.js.map +1 -0
- package/js/render.d.ts +1 -6
- package/js/render.js +5 -19
- package/js/render.js.map +1 -1
- package/js/renderAppToElement.d.ts +8 -2
- package/js/renderAppToElement.js +40 -21
- package/js/renderAppToElement.js.map +1 -1
- package/js/setUse.function.d.ts +23 -0
- package/js/setUse.function.js +14 -0
- package/js/setUse.function.js.map +1 -0
- package/js/state.d.ts +16 -17
- package/js/state.js +89 -44
- package/js/state.js.map +1 -1
- package/js/tag.d.ts +6 -16
- package/js/tag.js +32 -43
- package/js/tag.js.map +1 -1
- package/js/tagElement.d.ts +14 -0
- package/js/tagElement.js +60 -0
- package/js/tagElement.js.map +1 -0
- package/js/tagGateway.function.d.ts +14 -0
- package/js/tagGateway.function.js +138 -0
- package/js/tagGateway.function.js.map +1 -0
- package/js/tagRunner.d.ts +2 -13
- package/js/tagRunner.js +12 -12
- package/js/tagRunner.js.map +1 -1
- package/js/templater.utils.d.ts +27 -0
- package/js/templater.utils.js +98 -0
- package/js/templater.utils.js.map +1 -0
- package/js/updateTag.utils.d.ts +7 -0
- package/js/updateTag.utils.js +147 -0
- package/js/updateTag.utils.js.map +1 -0
- package/package.json +1 -1
- package/js/js/Subject.js.map +0 -1
- package/js/js/Tag.class.js +0 -213
- package/js/js/Tag.class.js.map +0 -1
- package/js/js/Tag.utils.d.ts +0 -24
- package/js/js/Tag.utils.js +0 -102
- package/js/js/Tag.utils.js.map +0 -1
- package/js/js/ValueSubject.js.map +0 -1
- package/js/js/elementInitCheck.js.map +0 -1
- package/js/js/getCallback.js +0 -53
- package/js/js/getCallback.js.map +0 -1
- package/js/js/getTagSupport.d.ts +0 -20
- package/js/js/getTagSupport.js +0 -20
- package/js/js/getTagSupport.js.map +0 -1
- package/js/js/html.d.ts +0 -2
- package/js/js/index.d.ts +0 -10
- package/js/js/index.js +0 -12
- package/js/js/index.js.map +0 -1
- package/js/js/interpolateAttributes.js +0 -69
- package/js/js/interpolateAttributes.js.map +0 -1
- package/js/js/interpolateContentTemplates.js +0 -47
- package/js/js/interpolateContentTemplates.js.map +0 -1
- package/js/js/interpolateElement.d.ts +0 -14
- package/js/js/interpolateElement.js +0 -35
- package/js/js/interpolateElement.js.map +0 -1
- package/js/js/interpolateTemplate.d.ts +0 -21
- package/js/js/interpolateTemplate.js +0 -262
- package/js/js/interpolateTemplate.js.map +0 -1
- package/js/js/interpolations.js.map +0 -1
- package/js/js/onInit.d.ts +0 -6
- package/js/js/onInit.js +0 -17
- package/js/js/onInit.js.map +0 -1
- package/js/js/processTagArray.js.map +0 -1
- package/js/js/providers.d.ts +0 -25
- package/js/js/providers.js.map +0 -1
- package/js/js/render.d.ts +0 -6
- package/js/js/render.js +0 -31
- package/js/js/render.js.map +0 -1
- package/js/js/renderAppToElement.d.ts +0 -8
- package/js/js/renderAppToElement.js +0 -38
- package/js/js/renderAppToElement.js.map +0 -1
- package/js/js/state.d.ts +0 -21
- package/js/js/state.js +0 -63
- package/js/js/state.js.map +0 -1
- package/js/js/tag.d.ts +0 -17
- package/js/js/tag.js +0 -57
- package/js/js/tag.js.map +0 -1
- package/js/js/tagRunner.d.ts +0 -17
- package/js/js/tagRunner.js +0 -19
- package/js/js/tagRunner.js.map +0 -1
- /package/{js/js → _js}/ValueSubject.js +0 -0
- /package/{js/js → _js}/deepFunctions.d.ts +0 -0
- /package/{js/js → _js}/deepFunctions.js +0 -0
- /package/{js/js → _js}/deepFunctions.js.map +0 -0
- /package/{js/js → _js}/elementInitCheck.d.ts +0 -0
- /package/{js/js → _js}/elementInitCheck.js +0 -0
- /package/{js/js → _js}/html.js +0 -0
- /package/{js/js → _js}/inputAttribute.d.ts +0 -0
- /package/{js → _js}/js/getCallback.d.ts +0 -0
- /package/{js → _js}/js/inputAttribute.js +0 -0
- /package/{js → _js}/js/inputAttribute.js.map +0 -0
- /package/{js → _js}/js/wait.d.ts +0 -0
- /package/{js → _js}/js/wait.js +0 -0
- /package/{js → _js}/js/wait.js.map +0 -0
- /package/{js → _js}/wait.d.ts +0 -0
- /package/{js → _js}/wait.js +0 -0
- /package/{js → _js}/wait.js.map +0 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { processSubjectComponent } from "./processSubjectComponent.function.js";
|
|
2
|
+
import { processTagResult } from "./processTagResult.function.js";
|
|
3
|
+
import { isTagComponent, isTagInstance } from "./isInstance.js";
|
|
4
|
+
import { processTagArray } from "./processTagArray.js";
|
|
5
|
+
import { getTagSupport } from "./getTagSupport.js";
|
|
6
|
+
import { updateBetweenTemplates } from "./interpolateTemplate.js";
|
|
7
|
+
var ValueTypes;
|
|
8
|
+
(function (ValueTypes) {
|
|
9
|
+
ValueTypes["tag"] = "tag";
|
|
10
|
+
ValueTypes["tagArray"] = "tag-array";
|
|
11
|
+
ValueTypes["tagComponent"] = "tag-component";
|
|
12
|
+
ValueTypes["value"] = "value";
|
|
13
|
+
})(ValueTypes || (ValueTypes = {}));
|
|
14
|
+
function getValueType(value) {
|
|
15
|
+
if (isTagComponent(value)) {
|
|
16
|
+
return ValueTypes.tagComponent;
|
|
17
|
+
}
|
|
18
|
+
if (isTagInstance(value)) {
|
|
19
|
+
return ValueTypes.tag;
|
|
20
|
+
}
|
|
21
|
+
if (isTagArray(value)) {
|
|
22
|
+
return ValueTypes.tagArray;
|
|
23
|
+
}
|
|
24
|
+
return ValueTypes.value;
|
|
25
|
+
}
|
|
26
|
+
export function isTagArray(value) {
|
|
27
|
+
return value instanceof Array && value.every(x => isTagInstance(x));
|
|
28
|
+
}
|
|
29
|
+
export function processSubjectValue(value, result, // could be tag via result.tag
|
|
30
|
+
template, // <template end interpolate /> (will be removed)
|
|
31
|
+
tag, // owner
|
|
32
|
+
options) {
|
|
33
|
+
const valueType = getValueType(value);
|
|
34
|
+
// Previously was simple value, now its a tag of some sort
|
|
35
|
+
const resultTag = result;
|
|
36
|
+
const clone = resultTag.clone;
|
|
37
|
+
if (valueType !== ValueTypes.value && clone) {
|
|
38
|
+
const parent = clone.parentNode;
|
|
39
|
+
template.removeAttribute('removedAt');
|
|
40
|
+
parent.insertBefore(template, clone);
|
|
41
|
+
parent.removeChild(clone);
|
|
42
|
+
delete resultTag.clone;
|
|
43
|
+
// result.clone = template
|
|
44
|
+
}
|
|
45
|
+
switch (valueType) {
|
|
46
|
+
case ValueTypes.tag:
|
|
47
|
+
return {
|
|
48
|
+
clones: processTag(value, result, template, tag, options)
|
|
49
|
+
};
|
|
50
|
+
case ValueTypes.tagArray:
|
|
51
|
+
return {
|
|
52
|
+
clones: processTagArray(result, value, template, tag, options)
|
|
53
|
+
};
|
|
54
|
+
case ValueTypes.tagComponent:
|
|
55
|
+
return {
|
|
56
|
+
clones: processSubjectComponent(value, result, template, tag, options)
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// *if processing WAS a tag BUT NOW its some other non-tag value
|
|
60
|
+
if (result.tag) {
|
|
61
|
+
return {
|
|
62
|
+
clones: [],
|
|
63
|
+
promise: processWasTag(value, result, template, options),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
clones: processRegularValue(value, result, template, tag)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function processRegularValue(value, result, // could be tag via result.tag
|
|
71
|
+
template, // <template end interpolate /> (will be removed)
|
|
72
|
+
tag) {
|
|
73
|
+
const before = result.clone || template; // Either the template is on the doc OR its the first element we last put on doc
|
|
74
|
+
// Processing of regular values
|
|
75
|
+
const clone = updateBetweenTemplates(value, before);
|
|
76
|
+
result.clone = clone; // remember single element put down, for future updates
|
|
77
|
+
const clones = [];
|
|
78
|
+
const oldPos = tag.clones.indexOf(before); // is the insertBefore guide being considered one of the tags clones?
|
|
79
|
+
const isOnlyGuideInClones = oldPos >= 0 && !tag.clones.includes(clone);
|
|
80
|
+
const exchangeGuideForClone = isOnlyGuideInClones && !before.parentNode; // guide is in clones AND guide is not on the document
|
|
81
|
+
if (exchangeGuideForClone) {
|
|
82
|
+
tag.clones.splice(oldPos, 1); // remove insertBefore guide from tag
|
|
83
|
+
tag.clones.push(clone); // exchange guide for element actually on document
|
|
84
|
+
clones.push(clone); // record the one element that in the end is on the document
|
|
85
|
+
}
|
|
86
|
+
return clones;
|
|
87
|
+
}
|
|
88
|
+
export function processTag(value, result, // could be tag via result.tag
|
|
89
|
+
template, // <template end interpolate /> (will be removed)
|
|
90
|
+
tag, // owner
|
|
91
|
+
options) {
|
|
92
|
+
// first time seeing this tag?
|
|
93
|
+
if (!value.tagSupport) {
|
|
94
|
+
value.tagSupport = getTagSupport({});
|
|
95
|
+
// asking me to render will cause my parent to render
|
|
96
|
+
value.tagSupport.mutatingRender = tag.tagSupport.mutatingRender;
|
|
97
|
+
value.tagSupport.oldest = value.tagSupport.oldest || value;
|
|
98
|
+
tag.children.push(value);
|
|
99
|
+
value.ownerTag = tag;
|
|
100
|
+
result.sideTag = tag;
|
|
101
|
+
}
|
|
102
|
+
// (result as any).template = template
|
|
103
|
+
result.template = template;
|
|
104
|
+
const clones = processTagResult(value, result, // Function will attach result.tag
|
|
105
|
+
template, options);
|
|
106
|
+
return clones;
|
|
107
|
+
}
|
|
108
|
+
function processWasTag(value, result, // could be tag via result.tag,
|
|
109
|
+
template, // <template end interpolate /> (will be removed)
|
|
110
|
+
options) {
|
|
111
|
+
const tag = result.tag;
|
|
112
|
+
// put the template back
|
|
113
|
+
const lastFirstChild = result.clone || template; // result.tag.clones[0] // template.lastFirstChild
|
|
114
|
+
// const parentNode = lastFirstChild.parentNode || template.parentNode
|
|
115
|
+
// put the template back down
|
|
116
|
+
lastFirstChild.parentNode.insertBefore(template, lastFirstChild);
|
|
117
|
+
// cleanup old
|
|
118
|
+
if (result.clone) {
|
|
119
|
+
result.clone.parentNode.removeChild(result.clone);
|
|
120
|
+
}
|
|
121
|
+
delete result.tag;
|
|
122
|
+
const stagger = options.counts.removed;
|
|
123
|
+
const promise = tag.destroy({ stagger }).then(animated => options.counts.removed = stagger + animated);
|
|
124
|
+
delete result.tag;
|
|
125
|
+
const clone = updateBetweenTemplates(value, template);
|
|
126
|
+
result.clone = clone;
|
|
127
|
+
return promise;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=processSubjectValue.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processSubjectValue.function.js","sourceRoot":"","sources":["../ts/processSubjectValue.function.ts"],"names":[],"mappings":"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"}
|
package/js/processTagArray.d.ts
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
|
+
import { Clones } from "./Clones.type.js";
|
|
1
2
|
import { Tag } from "./Tag.class.js";
|
|
3
|
+
import { ValueSubject } from "./ValueSubject.js";
|
|
2
4
|
import { Counts } from "./interpolateTemplate.js";
|
|
3
|
-
export
|
|
5
|
+
export type LastArrayItem = {
|
|
6
|
+
tag: Tag;
|
|
7
|
+
index: number;
|
|
8
|
+
};
|
|
9
|
+
export type TagArraySubject = ValueSubject<Tag[]> & {
|
|
10
|
+
lastArray: LastArrayItem[];
|
|
11
|
+
template: Element;
|
|
12
|
+
};
|
|
13
|
+
export declare function processTagArray(result: TagArraySubject, value: Tag[], // arry of Tag classes
|
|
4
14
|
template: Element, // <template end interpolate />
|
|
5
|
-
ownerTag: Tag,
|
|
15
|
+
ownerTag: Tag, options: {
|
|
16
|
+
counts: Counts;
|
|
17
|
+
forceElement?: boolean;
|
|
18
|
+
}): Clones;
|
package/js/processTagArray.js
CHANGED
|
@@ -1,28 +1,44 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getTagSupport } from "./getTagSupport.js";
|
|
2
|
+
import { processTagResult } from "./processTagResult.function.js";
|
|
2
3
|
export function processTagArray(result, value, // arry of Tag classes
|
|
3
4
|
template, // <template end interpolate />
|
|
4
|
-
ownerTag,
|
|
5
|
+
ownerTag, options) {
|
|
6
|
+
const clones = [];
|
|
5
7
|
result.lastArray = result.lastArray || []; // {tag, index}[] populated in processTagResult
|
|
8
|
+
result.template = template;
|
|
6
9
|
let removed = 0;
|
|
7
10
|
/** 🗑️ remove previous items first */
|
|
8
11
|
result.lastArray = result.lastArray.filter((item, index) => {
|
|
9
|
-
const
|
|
12
|
+
const newLength = value.length - 1;
|
|
13
|
+
const at = index - removed;
|
|
14
|
+
const lessLength = newLength < at;
|
|
10
15
|
const subTag = value[index - removed];
|
|
11
16
|
const subArrayValue = subTag?.arrayValue;
|
|
12
|
-
|
|
17
|
+
const destroyItem = lessLength || subArrayValue !== item.tag.arrayValue;
|
|
18
|
+
if (destroyItem) {
|
|
13
19
|
const last = result.lastArray[index];
|
|
14
20
|
const tag = last.tag;
|
|
15
|
-
tag.destroy(
|
|
21
|
+
tag.destroy({
|
|
22
|
+
stagger: options.counts.removed,
|
|
23
|
+
byParent: false
|
|
24
|
+
});
|
|
16
25
|
++removed;
|
|
17
|
-
++counts.removed;
|
|
26
|
+
++options.counts.removed;
|
|
18
27
|
return false;
|
|
19
28
|
}
|
|
20
29
|
return true;
|
|
21
30
|
});
|
|
31
|
+
// const masterBefore = template || (template as any).clone
|
|
32
|
+
const before = template || template.clone;
|
|
22
33
|
value.forEach((subTag, index) => {
|
|
23
|
-
subTag.tagSupport = ownerTag.tagSupport
|
|
34
|
+
subTag.tagSupport = getTagSupport({}); // {...ownerTag.tagSupport} // ownerTag.tagSupport.templater
|
|
35
|
+
subTag.tagSupport.mutatingRender = () => {
|
|
36
|
+
ownerTag.tagSupport.render();
|
|
37
|
+
return subTag;
|
|
38
|
+
}; // fake having a render function
|
|
24
39
|
subTag.ownerTag = ownerTag;
|
|
25
40
|
ownerTag.children.push(subTag);
|
|
41
|
+
// check for html``.key()
|
|
26
42
|
if (subTag.arrayValue === undefined) {
|
|
27
43
|
// appears arrayValue is not there but maybe arrayValue is actually the value of undefined
|
|
28
44
|
if (!Object.keys(subTag).includes('arrayValue')) {
|
|
@@ -33,17 +49,18 @@ ownerTag, counts) {
|
|
|
33
49
|
}
|
|
34
50
|
const previous = result.lastArray[index];
|
|
35
51
|
if (previous) {
|
|
36
|
-
|
|
52
|
+
const isSame = previous.tag.arrayValue === subTag.arrayValue;
|
|
53
|
+
if (isSame) {
|
|
37
54
|
previous.tag.updateValues(subTag.values);
|
|
38
55
|
}
|
|
39
|
-
return;
|
|
56
|
+
return [];
|
|
40
57
|
}
|
|
41
|
-
const
|
|
42
|
-
processTagResult(subTag, result, before, {
|
|
58
|
+
const nextClones = processTagResult(subTag, result, before, {
|
|
43
59
|
index,
|
|
44
|
-
|
|
60
|
+
...options,
|
|
45
61
|
});
|
|
62
|
+
clones.push(...nextClones);
|
|
46
63
|
});
|
|
47
|
-
return;
|
|
64
|
+
return clones;
|
|
48
65
|
}
|
|
49
66
|
//# sourceMappingURL=processTagArray.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processTagArray.js","sourceRoot":"","sources":["../ts/processTagArray.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Tag } from "./Tag.class.js";
|
|
2
|
+
import { Clones } from "./Clones.type.js";
|
|
3
|
+
import { Counts } from "./interpolateTemplate.js";
|
|
4
|
+
import { TagArraySubject } from "./processTagArray.js";
|
|
5
|
+
import { TagSubject } from "./Tag.utils.js";
|
|
6
|
+
export declare function processTagResult(tag: Tag, result: TagArraySubject | TagSubject | Function, // used for recording past and current value
|
|
7
|
+
insertBefore: Element, // <template end interpolate />
|
|
8
|
+
{ index, counts, forceElement, }: {
|
|
9
|
+
index?: number;
|
|
10
|
+
counts: Counts;
|
|
11
|
+
forceElement?: boolean;
|
|
12
|
+
}): Clones;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export function processTagResult(tag, result, // used for recording past and current value
|
|
2
|
+
insertBefore, // <template end interpolate />
|
|
3
|
+
{ index, counts, forceElement, }) {
|
|
4
|
+
// *for
|
|
5
|
+
if (index !== undefined) {
|
|
6
|
+
const resultArray = result.lastArray;
|
|
7
|
+
const existing = resultArray[index];
|
|
8
|
+
if (existing?.tag.isLikeTag(tag)) {
|
|
9
|
+
existing.tag.updateByTag(tag);
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
// Added to previous array
|
|
13
|
+
resultArray.push({
|
|
14
|
+
tag, index
|
|
15
|
+
});
|
|
16
|
+
const lastFirstChild = insertBefore; // tag.clones[0] // insertBefore.lastFirstChild
|
|
17
|
+
const clones = tag.buildBeforeElement(lastFirstChild, { counts, forceElement });
|
|
18
|
+
return clones;
|
|
19
|
+
}
|
|
20
|
+
// *if appears we already have seen
|
|
21
|
+
const subjectTag = result;
|
|
22
|
+
const rTag = subjectTag.tag;
|
|
23
|
+
if (rTag && !forceElement) {
|
|
24
|
+
// are we just updating an if we already had?
|
|
25
|
+
if (rTag.isLikeTag(tag)) {
|
|
26
|
+
// components
|
|
27
|
+
if (result instanceof Function) {
|
|
28
|
+
const newTag = result(rTag.tagSupport);
|
|
29
|
+
rTag.updateByTag(newTag);
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
rTag.updateByTag(tag);
|
|
33
|
+
return []; // no clones created in element already on stage
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const clones = tag.buildBeforeElement(insertBefore, {
|
|
37
|
+
counts,
|
|
38
|
+
forceElement,
|
|
39
|
+
});
|
|
40
|
+
subjectTag.tag = tag; // let reprocessing know we saw this previously as an if
|
|
41
|
+
return clones;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=processTagResult.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processTagResult.function.js","sourceRoot":"","sources":["../ts/processTagResult.function.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,MAA+C,EAAE,4CAA4C;AAC7F,YAAqB,EAAE,+BAA+B;AACtD,EACE,KAAK,EAAE,MAAM,EAAE,YAAY,GAK5B;IAED,OAAO;IACP,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,WAAW,GAAI,MAA0B,CAAC,SAAS,CAAA;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAEnC,IAAG,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;QAGD,0BAA0B;QAC1B,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,KAAK;SACX,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,YAAY,CAAA,CAAC,mDAAmD;QACvF,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,cAAc,EAAE,EAAC,MAAM,EAAE,YAAY,EAAC,CAAC,CAAA;QAE7E,OAAO,MAAM,CAAA;IACf,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,MAAoB,CAAA;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAA;IAC3B,IAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACzB,6CAA6C;QAC7C,IAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,aAAa;YACb,IAAG,MAAM,YAAY,QAAQ,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBACxB,OAAO,EAAE,CAAA;YACX,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAErB,OAAO,EAAE,CAAA,CAAC,gDAAgD;QAC5D,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,YAAY,EAAE;QAClD,MAAM;QACN,YAAY;KACb,CAAC,CAAA;IACF,UAAU,CAAC,GAAG,GAAG,GAAG,CAAA,CAAC,wDAAwD;IAE7E,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/js/providers.d.ts
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
import { Tag } from "./Tag.class.js";
|
|
2
1
|
export type Provider = {
|
|
3
2
|
constructMethod: any;
|
|
4
3
|
instance: any;
|
|
5
4
|
clone: any;
|
|
6
5
|
};
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
currentTag: Tag | undefined;
|
|
10
|
-
ownerTag: Tag | undefined;
|
|
11
|
-
};
|
|
6
|
+
type functionProvider = <T>() => T;
|
|
7
|
+
type classProvider = new <T>(...args: any[]) => T;
|
|
12
8
|
export declare const providers: {
|
|
13
|
-
|
|
14
|
-
* @template T
|
|
15
|
-
* @param {(new (...args: any[]) => T) | () => T} constructor
|
|
16
|
-
* @returns {T}
|
|
17
|
-
*/
|
|
18
|
-
create: (constructMethod: any) => any;
|
|
9
|
+
create: <T>(constructMethod: classProvider | functionProvider) => T;
|
|
19
10
|
/**
|
|
20
11
|
* @template T
|
|
21
12
|
* @param {(new (...args: any[]) => T) | () => T} constructor
|
|
@@ -23,3 +14,4 @@ export declare const providers: {
|
|
|
23
14
|
*/
|
|
24
15
|
inject: (constructor: any) => any;
|
|
25
16
|
};
|
|
17
|
+
export {};
|
package/js/providers.js
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { deepClone } from "./deepFunctions.js";
|
|
2
|
-
import { setUse } from "./
|
|
3
|
-
|
|
2
|
+
import { setUse } from "./setUse.function.js";
|
|
3
|
+
// TODO: rename
|
|
4
|
+
setUse.memory.providerConfig = {
|
|
4
5
|
providers: [],
|
|
5
|
-
|
|
6
|
+
currentTagSupport: undefined,
|
|
6
7
|
ownerTag: undefined,
|
|
7
8
|
};
|
|
8
9
|
function get(constructMethod) {
|
|
9
|
-
|
|
10
|
+
const config = setUse.memory.providerConfig;
|
|
11
|
+
const providers = config.providers;
|
|
12
|
+
return providers.find(provider => provider.constructMethod === constructMethod);
|
|
10
13
|
}
|
|
11
14
|
export const providers = {
|
|
12
|
-
/**
|
|
13
|
-
* @template T
|
|
14
|
-
* @param {(new (...args: any[]) => T) | () => T} constructor
|
|
15
|
-
* @returns {T}
|
|
16
|
-
*/
|
|
17
15
|
create: (constructMethod) => {
|
|
18
16
|
const existing = get(constructMethod);
|
|
19
17
|
if (existing) {
|
|
@@ -22,6 +20,7 @@ export const providers = {
|
|
|
22
20
|
}
|
|
23
21
|
// Providers with provider requirements just need to use providers.create() and providers.inject()
|
|
24
22
|
const instance = constructMethod.constructor ? new constructMethod() : constructMethod();
|
|
23
|
+
const config = setUse.memory.providerConfig;
|
|
25
24
|
config.providers.push({
|
|
26
25
|
constructMethod,
|
|
27
26
|
instance,
|
|
@@ -39,11 +38,12 @@ export const providers = {
|
|
|
39
38
|
if (oldValue) {
|
|
40
39
|
return oldValue.instance;
|
|
41
40
|
}
|
|
41
|
+
const config = setUse.memory.providerConfig;
|
|
42
42
|
let owner = {
|
|
43
43
|
ownerTag: config.ownerTag
|
|
44
44
|
};
|
|
45
45
|
while (owner.ownerTag) {
|
|
46
|
-
const ownerProviders = owner.ownerTag.providers;
|
|
46
|
+
const ownerProviders = owner.ownerTag.tagSupport.memory.providers;
|
|
47
47
|
const provider = ownerProviders.find(provider => {
|
|
48
48
|
if (provider.constructMethod === constructor) {
|
|
49
49
|
return true;
|
|
@@ -56,23 +56,31 @@ export const providers = {
|
|
|
56
56
|
}
|
|
57
57
|
owner = owner.ownerTag; // cause reloop
|
|
58
58
|
}
|
|
59
|
-
const msg = `Could not inject provider: ${constructor}`;
|
|
59
|
+
const msg = `Could not inject provider: ${constructor.name} ${constructor}`;
|
|
60
60
|
console.warn(`${msg}. Available providers`, config.providers);
|
|
61
61
|
throw new Error(msg);
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
64
|
setUse({
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
config.providers.push(...tag.providers);
|
|
71
|
-
}
|
|
65
|
+
beforeRender: (tagSupport, ownerTag) => {
|
|
66
|
+
run(tagSupport, ownerTag);
|
|
67
|
+
},
|
|
68
|
+
beforeRedraw: (tagSupport, tag) => {
|
|
69
|
+
run(tagSupport, tag.ownerTag);
|
|
72
70
|
},
|
|
73
|
-
afterRender: (
|
|
74
|
-
|
|
71
|
+
afterRender: (tagSupport) => {
|
|
72
|
+
const config = setUse.memory.providerConfig;
|
|
73
|
+
tagSupport.memory.providers = [...config.providers];
|
|
75
74
|
config.providers.length = 0;
|
|
76
75
|
}
|
|
77
76
|
});
|
|
77
|
+
function run(tagSupport, ownerTag) {
|
|
78
|
+
const config = setUse.memory.providerConfig;
|
|
79
|
+
config.currentTagSuport = tagSupport;
|
|
80
|
+
config.ownerTag = ownerTag;
|
|
81
|
+
if (tagSupport.memory.providers.length) {
|
|
82
|
+
config.providers.length = 0;
|
|
83
|
+
config.providers.push(...tagSupport.memory.providers);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
78
86
|
//# sourceMappingURL=providers.js.map
|
package/js/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../ts/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TemplaterResult } from "./templater.utils.js";
|
|
2
|
+
import { Tag } from "./Tag.class.js";
|
|
3
|
+
export declare function redrawTag(existingTag: Tag | undefined, templater: TemplaterResult, // latest tag function to call for rendering
|
|
4
|
+
ownerTag?: Tag): {
|
|
5
|
+
remit: boolean;
|
|
6
|
+
retag: Tag;
|
|
7
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { getTagSupport } from "./getTagSupport.js";
|
|
2
|
+
export function redrawTag(existingTag, templater, // latest tag function to call for rendering
|
|
3
|
+
ownerTag) {
|
|
4
|
+
const tagSupport = existingTag?.tagSupport || getTagSupport(templater);
|
|
5
|
+
const result = templater.renderWithSupport(tagSupport, existingTag, ownerTag);
|
|
6
|
+
return result;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=redrawTag.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redrawTag.function.js","sourceRoot":"","sources":["../ts/redrawTag.function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIlD,MAAM,UAAU,SAAS,CACvB,WAA4B,EAC5B,SAA0B,EAAE,4CAA4C;AACxE,QAAc;IAEd,MAAM,UAAU,GAAG,WAAW,EAAE,UAAU,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IAEtE,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,CACxC,UAAU,EACV,WAAW,EACX,QAAQ,CACT,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/js/render.d.ts
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function buildItemTagMap(tag: Tag, template: {
|
|
3
|
-
string: string;
|
|
4
|
-
context: Context;
|
|
5
|
-
}, // {string, context}
|
|
6
|
-
insertBefore: Element): (ChildNode | Element)[];
|
|
1
|
+
export declare function buildClones(temporary: Element, insertBefore: Element): ChildNode[];
|
package/js/render.js
CHANGED
|
@@ -1,22 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
export function buildItemTagMap(tag, template, // {string, context}
|
|
3
|
-
insertBefore) {
|
|
4
|
-
const temporary = document.createElement('div');
|
|
5
|
-
temporary.id = 'tag-temp-holder';
|
|
6
|
-
// render content with a first child that we can know is our first element
|
|
7
|
-
temporary.innerHTML = '<div></div>' + template.string;
|
|
8
|
-
const context = tag.update();
|
|
9
|
-
interpolateElement(temporary, context, tag);
|
|
10
|
-
const clones = buildClones(temporary, insertBefore);
|
|
11
|
-
tag.clones.push(...clones);
|
|
12
|
-
return clones;
|
|
13
|
-
}
|
|
14
|
-
function buildClones(temporary, insertBefore) {
|
|
1
|
+
export function buildClones(temporary, insertBefore) {
|
|
15
2
|
const clones = [];
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
let nextSibling = sibling.nextSibling;
|
|
19
|
-
temporary.removeChild(templateClone); // remove the div
|
|
3
|
+
const template = temporary.children[0];
|
|
4
|
+
let nextSibling = template.content.firstChild;
|
|
20
5
|
while (nextSibling) {
|
|
21
6
|
const nextNextSibling = nextSibling.nextSibling;
|
|
22
7
|
buildSibling(nextSibling, insertBefore);
|
|
@@ -26,6 +11,7 @@ function buildClones(temporary, insertBefore) {
|
|
|
26
11
|
return clones;
|
|
27
12
|
}
|
|
28
13
|
function buildSibling(nextSibling, insertBefore) {
|
|
29
|
-
insertBefore.parentNode
|
|
14
|
+
const parentNode = insertBefore.parentNode;
|
|
15
|
+
parentNode.insertBefore(nextSibling, insertBefore);
|
|
30
16
|
}
|
|
31
17
|
//# sourceMappingURL=render.js.map
|
package/js/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../ts/render.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CACzB,SAAkB,EAClB,YAAqB;IAErB,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAA;IAC7D,IAAI,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;IAE7C,OAAO,WAAW,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,WAAW,CAAC,WAAW,CAAA;QAC/C,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACvC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,WAAW,GAAG,eAAe,CAAA;IAC/B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,YAAY,CACnB,WAAsB,EACtB,YAAqB;IAErB,MAAM,UAAU,GAAG,YAAY,CAAC,UAAwB,CAAA;IACxD,UAAU,CAAC,YAAY,CACrB,WAAW,EACX,YAAY,CACb,CAAA;AACH,CAAC"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { TagSupport } from "./getTagSupport.js";
|
|
2
|
+
import { TagComponent, TemplaterResult } from "./templater.utils.js";
|
|
2
3
|
import { Tag } from "./Tag.class.js";
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
export declare function renderAppToElement(app: TagComponent, // (...args: unknown[]) => TemplaterResult,
|
|
5
|
+
element: Element, props: unknown): {
|
|
6
|
+
tag: Tag;
|
|
7
|
+
tags: TagComponent[];
|
|
8
|
+
};
|
|
5
9
|
export declare function applyTagUpdater(wrapper: TemplaterResult): {
|
|
6
10
|
tag: Tag;
|
|
7
11
|
tagSupport: TagSupport;
|
|
8
12
|
};
|
|
13
|
+
/** Overwrites arguments.tagSupport.mutatingRender */
|
|
14
|
+
export declare function addAppTagRender(tagSupport: TagSupport, tag: Tag): void;
|
package/js/renderAppToElement.js
CHANGED
|
@@ -1,38 +1,57 @@
|
|
|
1
|
-
import { interpolateElement } from "./interpolateElement.js";
|
|
2
|
-
import { getTagSupport } from "./getTagSupport.js";
|
|
3
1
|
import { runBeforeRender } from "./tagRunner.js";
|
|
4
|
-
|
|
2
|
+
const appElements = [];
|
|
3
|
+
export function renderAppToElement(app, // (...args: unknown[]) => TemplaterResult,
|
|
4
|
+
element, props) {
|
|
5
|
+
const appElmIndex = appElements.findIndex(appElm => appElm.element === element);
|
|
6
|
+
if (appElmIndex >= 0) {
|
|
7
|
+
appElements[appElmIndex].tag.destroy();
|
|
8
|
+
appElements.splice(appElmIndex, 1);
|
|
9
|
+
console.warn('Found and destroyed app element already rendered to element', { element });
|
|
10
|
+
}
|
|
5
11
|
// Create the app which returns [props, runOneTimeFunction]
|
|
6
12
|
const wrapper = app(props);
|
|
7
13
|
// have a function setup and call the tagWrapper with (props, {update, async, on})
|
|
8
14
|
const result = applyTagUpdater(wrapper);
|
|
9
15
|
const { tag, tagSupport } = result;
|
|
16
|
+
tag.appElement = element;
|
|
17
|
+
addAppTagRender(tagSupport, tag);
|
|
18
|
+
// const context = tag.updateValues(tag.values)
|
|
19
|
+
const templateElm = document.createElement('template');
|
|
20
|
+
templateElm.setAttribute('tag-detail', 'app-template-placeholder');
|
|
21
|
+
element.appendChild(templateElm);
|
|
22
|
+
tag.buildBeforeElement(templateElm);
|
|
23
|
+
element.setUse = app.original.setUse;
|
|
24
|
+
appElements.push({ element, tag });
|
|
25
|
+
return { tag, tags: app.original.tags };
|
|
26
|
+
}
|
|
27
|
+
export function applyTagUpdater(wrapper) {
|
|
28
|
+
const tagSupport = wrapper.tagSupport; // getTagSupport(0, wrapper)
|
|
29
|
+
runBeforeRender(tagSupport, undefined);
|
|
30
|
+
// Call the apps function for our tag templater
|
|
31
|
+
// const templater = tagSupport.templater as TemplaterResult
|
|
32
|
+
const tag = wrapper.wrapper(); // templater.wrapper()
|
|
33
|
+
tag.tagSupport = tagSupport;
|
|
34
|
+
tag.afterRender();
|
|
35
|
+
return { tag, tagSupport };
|
|
36
|
+
}
|
|
37
|
+
/** Overwrites arguments.tagSupport.mutatingRender */
|
|
38
|
+
export function addAppTagRender(tagSupport, tag) {
|
|
10
39
|
let lastTag;
|
|
11
40
|
tagSupport.mutatingRender = () => {
|
|
12
|
-
runBeforeRender(tagSupport, tag);
|
|
13
41
|
tag.beforeRedraw();
|
|
14
|
-
const
|
|
15
|
-
fromTag.
|
|
42
|
+
const templater = tagSupport.templater; // wrapper
|
|
43
|
+
const fromTag = lastTag = templater.wrapper();
|
|
44
|
+
// tagSupport.props = fromTag.tagSupport.props
|
|
45
|
+
tagSupport.latestProps = fromTag.tagSupport.props;
|
|
46
|
+
tagSupport.latestClonedProps = fromTag.tagSupport.clonedProps;
|
|
47
|
+
fromTag.setSupport(tagSupport);
|
|
16
48
|
tag.afterRender();
|
|
17
49
|
tag.updateByTag(fromTag);
|
|
18
50
|
if (lastTag) {
|
|
19
|
-
lastTag.destroy(0);
|
|
51
|
+
lastTag.destroy({ stagger: 0 });
|
|
20
52
|
}
|
|
53
|
+
tagSupport.newest = fromTag;
|
|
21
54
|
return lastTag;
|
|
22
55
|
};
|
|
23
|
-
const context = tag.updateValues(tag.values);
|
|
24
|
-
const template = tag.getTemplate();
|
|
25
|
-
element.innerHTML = template.string;
|
|
26
|
-
interpolateElement(element, context, tag);
|
|
27
|
-
}
|
|
28
|
-
export function applyTagUpdater(wrapper) {
|
|
29
|
-
const tagSupport = getTagSupport(wrapper);
|
|
30
|
-
runBeforeRender(tagSupport);
|
|
31
|
-
// Call the apps function for our tag templater
|
|
32
|
-
const templater = tagSupport.templater;
|
|
33
|
-
const tag = templater.wrapper();
|
|
34
|
-
tag.tagSupport = tagSupport;
|
|
35
|
-
tag.afterRender();
|
|
36
|
-
return { tag, tagSupport };
|
|
37
56
|
}
|
|
38
57
|
//# sourceMappingURL=renderAppToElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderAppToElement.js","sourceRoot":"","sources":["../ts/renderAppToElement.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderAppToElement.js","sourceRoot":"","sources":["../ts/renderAppToElement.ts"],"names":[],"mappings":"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"}
|