@genesislcap/foundation-utils 14.498.0 → 14.499.0
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/dist/custom-elements.json +245 -245
- package/dist/dts/mixins/lifecycle/lifecycle.d.ts +9 -0
- package/dist/dts/mixins/lifecycle/lifecycle.d.ts.map +1 -1
- package/dist/esm/mixins/lifecycle/lifecycle.js +20 -2
- package/dist/foundation-utils.api.json +1 -1
- package/dist/foundation-utils.d.ts +9 -0
- package/package.json +11 -11
|
@@ -452,6 +452,44 @@
|
|
|
452
452
|
}
|
|
453
453
|
]
|
|
454
454
|
},
|
|
455
|
+
{
|
|
456
|
+
"kind": "javascript-module",
|
|
457
|
+
"path": "src/encoding/index.ts",
|
|
458
|
+
"declarations": [],
|
|
459
|
+
"exports": [
|
|
460
|
+
{
|
|
461
|
+
"kind": "js",
|
|
462
|
+
"name": "*",
|
|
463
|
+
"declaration": {
|
|
464
|
+
"name": "*",
|
|
465
|
+
"package": "./base64"
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
]
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"kind": "javascript-module",
|
|
472
|
+
"path": "src/directives/index.ts",
|
|
473
|
+
"declarations": [],
|
|
474
|
+
"exports": [
|
|
475
|
+
{
|
|
476
|
+
"kind": "js",
|
|
477
|
+
"name": "*",
|
|
478
|
+
"declaration": {
|
|
479
|
+
"name": "*",
|
|
480
|
+
"package": "./sync"
|
|
481
|
+
}
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"kind": "js",
|
|
485
|
+
"name": "*",
|
|
486
|
+
"declaration": {
|
|
487
|
+
"name": "*",
|
|
488
|
+
"package": "./when-else"
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
]
|
|
492
|
+
},
|
|
455
493
|
{
|
|
456
494
|
"kind": "javascript-module",
|
|
457
495
|
"path": "src/data/inMemoryDatabase.ts",
|
|
@@ -650,97 +688,6 @@
|
|
|
650
688
|
}
|
|
651
689
|
]
|
|
652
690
|
},
|
|
653
|
-
{
|
|
654
|
-
"kind": "javascript-module",
|
|
655
|
-
"path": "src/directives/index.ts",
|
|
656
|
-
"declarations": [],
|
|
657
|
-
"exports": [
|
|
658
|
-
{
|
|
659
|
-
"kind": "js",
|
|
660
|
-
"name": "*",
|
|
661
|
-
"declaration": {
|
|
662
|
-
"name": "*",
|
|
663
|
-
"package": "./sync"
|
|
664
|
-
}
|
|
665
|
-
},
|
|
666
|
-
{
|
|
667
|
-
"kind": "js",
|
|
668
|
-
"name": "*",
|
|
669
|
-
"declaration": {
|
|
670
|
-
"name": "*",
|
|
671
|
-
"package": "./when-else"
|
|
672
|
-
}
|
|
673
|
-
}
|
|
674
|
-
]
|
|
675
|
-
},
|
|
676
|
-
{
|
|
677
|
-
"kind": "javascript-module",
|
|
678
|
-
"path": "src/decorators/index.ts",
|
|
679
|
-
"declarations": [],
|
|
680
|
-
"exports": [
|
|
681
|
-
{
|
|
682
|
-
"kind": "js",
|
|
683
|
-
"name": "*",
|
|
684
|
-
"declaration": {
|
|
685
|
-
"name": "*",
|
|
686
|
-
"package": "./renderOnChange"
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
]
|
|
690
|
-
},
|
|
691
|
-
{
|
|
692
|
-
"kind": "javascript-module",
|
|
693
|
-
"path": "src/decorators/renderOnChange.ts",
|
|
694
|
-
"declarations": [
|
|
695
|
-
{
|
|
696
|
-
"kind": "function",
|
|
697
|
-
"name": "renderOnChange",
|
|
698
|
-
"parameters": [
|
|
699
|
-
{
|
|
700
|
-
"name": "target",
|
|
701
|
-
"type": {
|
|
702
|
-
"text": "FASTElement & { render(): void }"
|
|
703
|
-
},
|
|
704
|
-
"description": "The target to define the property change handler on."
|
|
705
|
-
},
|
|
706
|
-
{
|
|
707
|
-
"name": "name",
|
|
708
|
-
"type": {
|
|
709
|
-
"text": "string"
|
|
710
|
-
},
|
|
711
|
-
"description": "The property name."
|
|
712
|
-
}
|
|
713
|
-
],
|
|
714
|
-
"description": "Defines a property changed handler that calls a render() method on the target as an internal observation enhancement.",
|
|
715
|
-
"privacy": "public"
|
|
716
|
-
}
|
|
717
|
-
],
|
|
718
|
-
"exports": [
|
|
719
|
-
{
|
|
720
|
-
"kind": "js",
|
|
721
|
-
"name": "renderOnChange",
|
|
722
|
-
"declaration": {
|
|
723
|
-
"name": "renderOnChange",
|
|
724
|
-
"module": "src/decorators/renderOnChange.ts"
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
]
|
|
728
|
-
},
|
|
729
|
-
{
|
|
730
|
-
"kind": "javascript-module",
|
|
731
|
-
"path": "src/encoding/index.ts",
|
|
732
|
-
"declarations": [],
|
|
733
|
-
"exports": [
|
|
734
|
-
{
|
|
735
|
-
"kind": "js",
|
|
736
|
-
"name": "*",
|
|
737
|
-
"declaration": {
|
|
738
|
-
"name": "*",
|
|
739
|
-
"package": "./base64"
|
|
740
|
-
}
|
|
741
|
-
}
|
|
742
|
-
]
|
|
743
|
-
},
|
|
744
691
|
{
|
|
745
692
|
"kind": "javascript-module",
|
|
746
693
|
"path": "src/env/index.ts",
|
|
@@ -1216,6 +1163,59 @@
|
|
|
1216
1163
|
}
|
|
1217
1164
|
]
|
|
1218
1165
|
},
|
|
1166
|
+
{
|
|
1167
|
+
"kind": "javascript-module",
|
|
1168
|
+
"path": "src/decorators/index.ts",
|
|
1169
|
+
"declarations": [],
|
|
1170
|
+
"exports": [
|
|
1171
|
+
{
|
|
1172
|
+
"kind": "js",
|
|
1173
|
+
"name": "*",
|
|
1174
|
+
"declaration": {
|
|
1175
|
+
"name": "*",
|
|
1176
|
+
"package": "./renderOnChange"
|
|
1177
|
+
}
|
|
1178
|
+
}
|
|
1179
|
+
]
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"kind": "javascript-module",
|
|
1183
|
+
"path": "src/decorators/renderOnChange.ts",
|
|
1184
|
+
"declarations": [
|
|
1185
|
+
{
|
|
1186
|
+
"kind": "function",
|
|
1187
|
+
"name": "renderOnChange",
|
|
1188
|
+
"parameters": [
|
|
1189
|
+
{
|
|
1190
|
+
"name": "target",
|
|
1191
|
+
"type": {
|
|
1192
|
+
"text": "FASTElement & { render(): void }"
|
|
1193
|
+
},
|
|
1194
|
+
"description": "The target to define the property change handler on."
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"name": "name",
|
|
1198
|
+
"type": {
|
|
1199
|
+
"text": "string"
|
|
1200
|
+
},
|
|
1201
|
+
"description": "The property name."
|
|
1202
|
+
}
|
|
1203
|
+
],
|
|
1204
|
+
"description": "Defines a property changed handler that calls a render() method on the target as an internal observation enhancement.",
|
|
1205
|
+
"privacy": "public"
|
|
1206
|
+
}
|
|
1207
|
+
],
|
|
1208
|
+
"exports": [
|
|
1209
|
+
{
|
|
1210
|
+
"kind": "js",
|
|
1211
|
+
"name": "renderOnChange",
|
|
1212
|
+
"declaration": {
|
|
1213
|
+
"name": "renderOnChange",
|
|
1214
|
+
"module": "src/decorators/renderOnChange.ts"
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
]
|
|
1218
|
+
},
|
|
1219
1219
|
{
|
|
1220
1220
|
"kind": "javascript-module",
|
|
1221
1221
|
"path": "src/error/errorMap.ts",
|
|
@@ -4878,160 +4878,6 @@
|
|
|
4878
4878
|
}
|
|
4879
4879
|
]
|
|
4880
4880
|
},
|
|
4881
|
-
{
|
|
4882
|
-
"kind": "javascript-module",
|
|
4883
|
-
"path": "src/directives/sync/index.ts",
|
|
4884
|
-
"declarations": [],
|
|
4885
|
-
"exports": [
|
|
4886
|
-
{
|
|
4887
|
-
"kind": "js",
|
|
4888
|
-
"name": "*",
|
|
4889
|
-
"declaration": {
|
|
4890
|
-
"name": "*",
|
|
4891
|
-
"package": "./sync"
|
|
4892
|
-
}
|
|
4893
|
-
}
|
|
4894
|
-
]
|
|
4895
|
-
},
|
|
4896
|
-
{
|
|
4897
|
-
"kind": "javascript-module",
|
|
4898
|
-
"path": "src/directives/sync/sync.ts",
|
|
4899
|
-
"declarations": [
|
|
4900
|
-
{
|
|
4901
|
-
"kind": "variable",
|
|
4902
|
-
"name": "defaultEventMap",
|
|
4903
|
-
"type": {
|
|
4904
|
-
"text": "Map<string, EventName>"
|
|
4905
|
-
},
|
|
4906
|
-
"default": "new Map([\n ['FAST-TEXT-AREA', 'input'],\n ['FAST-TEXT-FIELD', 'input'],\n ['FOUNDATION-TEXT-AREA', 'input'],\n ['FOUNDATION-TEXT-FIELD', 'input'],\n ['INPUT', 'input'],\n ['ZERO-TEXT-FIELD', 'input'],\n])",
|
|
4907
|
-
"description": "A map that associates specific HTML element tags with their corresponding default event names.",
|
|
4908
|
-
"privacy": "public"
|
|
4909
|
-
},
|
|
4910
|
-
{
|
|
4911
|
-
"kind": "function",
|
|
4912
|
-
"name": "sync",
|
|
4913
|
-
"return": {
|
|
4914
|
-
"type": {
|
|
4915
|
-
"text": "CaptureType<TSource>"
|
|
4916
|
-
}
|
|
4917
|
-
},
|
|
4918
|
-
"parameters": [
|
|
4919
|
-
{
|
|
4920
|
-
"name": "binding",
|
|
4921
|
-
"type": {
|
|
4922
|
-
"text": "Binding<TSource, TReturn>"
|
|
4923
|
-
}
|
|
4924
|
-
},
|
|
4925
|
-
{
|
|
4926
|
-
"name": "conversionType",
|
|
4927
|
-
"default": "'string'",
|
|
4928
|
-
"type": {
|
|
4929
|
-
"text": "ConversionType"
|
|
4930
|
-
}
|
|
4931
|
-
},
|
|
4932
|
-
{
|
|
4933
|
-
"name": "eventName",
|
|
4934
|
-
"default": "'default'",
|
|
4935
|
-
"type": {
|
|
4936
|
-
"text": "EventName"
|
|
4937
|
-
}
|
|
4938
|
-
},
|
|
4939
|
-
{
|
|
4940
|
-
"name": "keyAttr",
|
|
4941
|
-
"optional": true,
|
|
4942
|
-
"type": {
|
|
4943
|
-
"text": "string"
|
|
4944
|
-
}
|
|
4945
|
-
}
|
|
4946
|
-
],
|
|
4947
|
-
"description": "Creates a synchronization directive that binds a data source to an HTML element,",
|
|
4948
|
-
"privacy": "public"
|
|
4949
|
-
}
|
|
4950
|
-
],
|
|
4951
|
-
"exports": [
|
|
4952
|
-
{
|
|
4953
|
-
"kind": "js",
|
|
4954
|
-
"name": "defaultEventMap",
|
|
4955
|
-
"declaration": {
|
|
4956
|
-
"name": "defaultEventMap",
|
|
4957
|
-
"module": "src/directives/sync/sync.ts"
|
|
4958
|
-
}
|
|
4959
|
-
},
|
|
4960
|
-
{
|
|
4961
|
-
"kind": "js",
|
|
4962
|
-
"name": "sync",
|
|
4963
|
-
"declaration": {
|
|
4964
|
-
"name": "sync",
|
|
4965
|
-
"module": "src/directives/sync/sync.ts"
|
|
4966
|
-
}
|
|
4967
|
-
}
|
|
4968
|
-
]
|
|
4969
|
-
},
|
|
4970
|
-
{
|
|
4971
|
-
"kind": "javascript-module",
|
|
4972
|
-
"path": "src/directives/when-else/index.ts",
|
|
4973
|
-
"declarations": [],
|
|
4974
|
-
"exports": [
|
|
4975
|
-
{
|
|
4976
|
-
"kind": "js",
|
|
4977
|
-
"name": "*",
|
|
4978
|
-
"declaration": {
|
|
4979
|
-
"name": "*",
|
|
4980
|
-
"package": "./when-else"
|
|
4981
|
-
}
|
|
4982
|
-
}
|
|
4983
|
-
]
|
|
4984
|
-
},
|
|
4985
|
-
{
|
|
4986
|
-
"kind": "javascript-module",
|
|
4987
|
-
"path": "src/directives/when-else/when-else.ts",
|
|
4988
|
-
"declarations": [
|
|
4989
|
-
{
|
|
4990
|
-
"kind": "function",
|
|
4991
|
-
"name": "whenElse",
|
|
4992
|
-
"return": {
|
|
4993
|
-
"type": {
|
|
4994
|
-
"text": "CaptureType<TSource>"
|
|
4995
|
-
}
|
|
4996
|
-
},
|
|
4997
|
-
"parameters": [
|
|
4998
|
-
{
|
|
4999
|
-
"name": "binding",
|
|
5000
|
-
"type": {
|
|
5001
|
-
"text": "Binding<TSource, TReturn>"
|
|
5002
|
-
},
|
|
5003
|
-
"description": "The condition to test for rendering."
|
|
5004
|
-
},
|
|
5005
|
-
{
|
|
5006
|
-
"name": "trueTemplateOrTemplateBinding",
|
|
5007
|
-
"type": {
|
|
5008
|
-
"text": "WhenTemplate<TSource>"
|
|
5009
|
-
},
|
|
5010
|
-
"description": "The template or a binding that gets the template to render when the condition is true."
|
|
5011
|
-
},
|
|
5012
|
-
{
|
|
5013
|
-
"name": "falseTemplateOrTemplateBinding",
|
|
5014
|
-
"type": {
|
|
5015
|
-
"text": "WhenTemplate<TSource>"
|
|
5016
|
-
},
|
|
5017
|
-
"description": "The template or a binding that gets the template to render when the condition is false."
|
|
5018
|
-
}
|
|
5019
|
-
],
|
|
5020
|
-
"description": "Directive that allows supplying an \"else\" template to the traditional https://www.fast.design/docs/api/fast-element.when/#when-function directive",
|
|
5021
|
-
"privacy": "public"
|
|
5022
|
-
}
|
|
5023
|
-
],
|
|
5024
|
-
"exports": [
|
|
5025
|
-
{
|
|
5026
|
-
"kind": "js",
|
|
5027
|
-
"name": "whenElse",
|
|
5028
|
-
"declaration": {
|
|
5029
|
-
"name": "whenElse",
|
|
5030
|
-
"module": "src/directives/when-else/when-else.ts"
|
|
5031
|
-
}
|
|
5032
|
-
}
|
|
5033
|
-
]
|
|
5034
|
-
},
|
|
5035
4881
|
{
|
|
5036
4882
|
"kind": "javascript-module",
|
|
5037
4883
|
"path": "src/encoding/base64/decode.ts",
|
|
@@ -5186,6 +5032,160 @@
|
|
|
5186
5032
|
}
|
|
5187
5033
|
]
|
|
5188
5034
|
},
|
|
5035
|
+
{
|
|
5036
|
+
"kind": "javascript-module",
|
|
5037
|
+
"path": "src/directives/sync/index.ts",
|
|
5038
|
+
"declarations": [],
|
|
5039
|
+
"exports": [
|
|
5040
|
+
{
|
|
5041
|
+
"kind": "js",
|
|
5042
|
+
"name": "*",
|
|
5043
|
+
"declaration": {
|
|
5044
|
+
"name": "*",
|
|
5045
|
+
"package": "./sync"
|
|
5046
|
+
}
|
|
5047
|
+
}
|
|
5048
|
+
]
|
|
5049
|
+
},
|
|
5050
|
+
{
|
|
5051
|
+
"kind": "javascript-module",
|
|
5052
|
+
"path": "src/directives/sync/sync.ts",
|
|
5053
|
+
"declarations": [
|
|
5054
|
+
{
|
|
5055
|
+
"kind": "variable",
|
|
5056
|
+
"name": "defaultEventMap",
|
|
5057
|
+
"type": {
|
|
5058
|
+
"text": "Map<string, EventName>"
|
|
5059
|
+
},
|
|
5060
|
+
"default": "new Map([\n ['FAST-TEXT-AREA', 'input'],\n ['FAST-TEXT-FIELD', 'input'],\n ['FOUNDATION-TEXT-AREA', 'input'],\n ['FOUNDATION-TEXT-FIELD', 'input'],\n ['INPUT', 'input'],\n ['ZERO-TEXT-FIELD', 'input'],\n])",
|
|
5061
|
+
"description": "A map that associates specific HTML element tags with their corresponding default event names.",
|
|
5062
|
+
"privacy": "public"
|
|
5063
|
+
},
|
|
5064
|
+
{
|
|
5065
|
+
"kind": "function",
|
|
5066
|
+
"name": "sync",
|
|
5067
|
+
"return": {
|
|
5068
|
+
"type": {
|
|
5069
|
+
"text": "CaptureType<TSource>"
|
|
5070
|
+
}
|
|
5071
|
+
},
|
|
5072
|
+
"parameters": [
|
|
5073
|
+
{
|
|
5074
|
+
"name": "binding",
|
|
5075
|
+
"type": {
|
|
5076
|
+
"text": "Binding<TSource, TReturn>"
|
|
5077
|
+
}
|
|
5078
|
+
},
|
|
5079
|
+
{
|
|
5080
|
+
"name": "conversionType",
|
|
5081
|
+
"default": "'string'",
|
|
5082
|
+
"type": {
|
|
5083
|
+
"text": "ConversionType"
|
|
5084
|
+
}
|
|
5085
|
+
},
|
|
5086
|
+
{
|
|
5087
|
+
"name": "eventName",
|
|
5088
|
+
"default": "'default'",
|
|
5089
|
+
"type": {
|
|
5090
|
+
"text": "EventName"
|
|
5091
|
+
}
|
|
5092
|
+
},
|
|
5093
|
+
{
|
|
5094
|
+
"name": "keyAttr",
|
|
5095
|
+
"optional": true,
|
|
5096
|
+
"type": {
|
|
5097
|
+
"text": "string"
|
|
5098
|
+
}
|
|
5099
|
+
}
|
|
5100
|
+
],
|
|
5101
|
+
"description": "Creates a synchronization directive that binds a data source to an HTML element,",
|
|
5102
|
+
"privacy": "public"
|
|
5103
|
+
}
|
|
5104
|
+
],
|
|
5105
|
+
"exports": [
|
|
5106
|
+
{
|
|
5107
|
+
"kind": "js",
|
|
5108
|
+
"name": "defaultEventMap",
|
|
5109
|
+
"declaration": {
|
|
5110
|
+
"name": "defaultEventMap",
|
|
5111
|
+
"module": "src/directives/sync/sync.ts"
|
|
5112
|
+
}
|
|
5113
|
+
},
|
|
5114
|
+
{
|
|
5115
|
+
"kind": "js",
|
|
5116
|
+
"name": "sync",
|
|
5117
|
+
"declaration": {
|
|
5118
|
+
"name": "sync",
|
|
5119
|
+
"module": "src/directives/sync/sync.ts"
|
|
5120
|
+
}
|
|
5121
|
+
}
|
|
5122
|
+
]
|
|
5123
|
+
},
|
|
5124
|
+
{
|
|
5125
|
+
"kind": "javascript-module",
|
|
5126
|
+
"path": "src/directives/when-else/index.ts",
|
|
5127
|
+
"declarations": [],
|
|
5128
|
+
"exports": [
|
|
5129
|
+
{
|
|
5130
|
+
"kind": "js",
|
|
5131
|
+
"name": "*",
|
|
5132
|
+
"declaration": {
|
|
5133
|
+
"name": "*",
|
|
5134
|
+
"package": "./when-else"
|
|
5135
|
+
}
|
|
5136
|
+
}
|
|
5137
|
+
]
|
|
5138
|
+
},
|
|
5139
|
+
{
|
|
5140
|
+
"kind": "javascript-module",
|
|
5141
|
+
"path": "src/directives/when-else/when-else.ts",
|
|
5142
|
+
"declarations": [
|
|
5143
|
+
{
|
|
5144
|
+
"kind": "function",
|
|
5145
|
+
"name": "whenElse",
|
|
5146
|
+
"return": {
|
|
5147
|
+
"type": {
|
|
5148
|
+
"text": "CaptureType<TSource>"
|
|
5149
|
+
}
|
|
5150
|
+
},
|
|
5151
|
+
"parameters": [
|
|
5152
|
+
{
|
|
5153
|
+
"name": "binding",
|
|
5154
|
+
"type": {
|
|
5155
|
+
"text": "Binding<TSource, TReturn>"
|
|
5156
|
+
},
|
|
5157
|
+
"description": "The condition to test for rendering."
|
|
5158
|
+
},
|
|
5159
|
+
{
|
|
5160
|
+
"name": "trueTemplateOrTemplateBinding",
|
|
5161
|
+
"type": {
|
|
5162
|
+
"text": "WhenTemplate<TSource>"
|
|
5163
|
+
},
|
|
5164
|
+
"description": "The template or a binding that gets the template to render when the condition is true."
|
|
5165
|
+
},
|
|
5166
|
+
{
|
|
5167
|
+
"name": "falseTemplateOrTemplateBinding",
|
|
5168
|
+
"type": {
|
|
5169
|
+
"text": "WhenTemplate<TSource>"
|
|
5170
|
+
},
|
|
5171
|
+
"description": "The template or a binding that gets the template to render when the condition is false."
|
|
5172
|
+
}
|
|
5173
|
+
],
|
|
5174
|
+
"description": "Directive that allows supplying an \"else\" template to the traditional https://www.fast.design/docs/api/fast-element.when/#when-function directive",
|
|
5175
|
+
"privacy": "public"
|
|
5176
|
+
}
|
|
5177
|
+
],
|
|
5178
|
+
"exports": [
|
|
5179
|
+
{
|
|
5180
|
+
"kind": "js",
|
|
5181
|
+
"name": "whenElse",
|
|
5182
|
+
"declaration": {
|
|
5183
|
+
"name": "whenElse",
|
|
5184
|
+
"module": "src/directives/when-else/when-else.ts"
|
|
5185
|
+
}
|
|
5186
|
+
}
|
|
5187
|
+
]
|
|
5188
|
+
},
|
|
5189
5189
|
{
|
|
5190
5190
|
"kind": "javascript-module",
|
|
5191
5191
|
"path": "src/mappers/dto/index.ts",
|
|
@@ -70,6 +70,15 @@ export declare const LifecycleMixin: <T extends ConstructableLifecycleHandler>(B
|
|
|
70
70
|
* @internal
|
|
71
71
|
**/
|
|
72
72
|
#_shouldForceLifecycle: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Set once a short grace period (`setTimeout`) has elapsed since a blocked ('reflow')
|
|
75
|
+
* disconnect. Some consumers run defensive cleanup after the block via schedulers that can
|
|
76
|
+
* outlast a microtask (e.g. FAST's `DOM.queueUpdate`), so a macrotask-scale grace period is
|
|
77
|
+
* needed - once it has passed, the paired reconnect must not stay blocked, or the consumer
|
|
78
|
+
* never re-initializes.
|
|
79
|
+
* @internal
|
|
80
|
+
**/
|
|
81
|
+
#_blockedDisconnectSurvivedGracePeriod: boolean;
|
|
73
82
|
/**
|
|
74
83
|
* @privateRemarks
|
|
75
84
|
* Rather than using the basic implementation of cloning we run a copy constructor (deepClone)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/mixins/lifecycle/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;AAErF;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,yBAAyB,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,KAAK,SAAS,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,YAAY,CAAC;AAEjF,KAAK,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC;AAK5D;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,6BAA6B,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/mixins/lifecycle/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC;AAErF;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,yBAAyB,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,KAAK,SAAS,GAAG,yBAAyB,GAAG,oBAAoB,GAAG,YAAY,CAAC;AAEjF,KAAK,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC;AAK5D;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,6BAA6B,EAAE,MAAM,CAAC;kBAwCtD,GAAG,EAAE;QAtC1B,iBAAiB;qBACJ,SAAS;QAEtB;;;YAGI;2BACe,MAAM;QACzB;;;YAGI;0BACc,OAAO;QACzB;;;;;;;YAOI;0BACc,MAAM,CAAC,OAAO;QAChC;;;;YAII;gCACoB,OAAO;QAC/B;;;;;;;YAOI;gDACoC,OAAO;QAM/C;;;;;WAKG;yBACuB,OAAO,GAAG,IAAI;QAUxC;;;;;;WAMG;qBACU,IAAI;QAMjB;;;WAGG;;QAmBH;;;;;WAKG;;wDAwB6C,aAAa,GAAG,OAAO;QAyCvE;;;;;;WAMG;qCAC0B,OAAO,GAAG,SAAS;6BA4B3B,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAM1B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAkC,CAAC"}
|
|
@@ -11,7 +11,7 @@ const CLEANUP_TIMEOUT_MS = 10000;
|
|
|
11
11
|
* #_ syntax is used for a javascript private method/variable
|
|
12
12
|
* we can't use private/protected from typescript in an anonymous class like this
|
|
13
13
|
*/
|
|
14
|
-
export const LifecycleMixin = (Base) => { var _instances, __container, __latestTokenCode, __hasFirstLoaded, __cleanupTimeout, __shouldForceLifecycle, __blockLifecycleDueToTokenChange, __tryFindContainingLayout, _a; return _a = class extends Base {
|
|
14
|
+
export const LifecycleMixin = (Base) => { var _instances, __container, __latestTokenCode, __hasFirstLoaded, __cleanupTimeout, __shouldForceLifecycle, __blockedDisconnectSurvivedGracePeriod, __blockLifecycleDueToTokenChange, __tryFindContainingLayout, _a; return _a = class extends Base {
|
|
15
15
|
constructor(...args) {
|
|
16
16
|
super(args);
|
|
17
17
|
_instances.add(this);
|
|
@@ -42,6 +42,15 @@ export const LifecycleMixin = (Base) => { var _instances, __container, __latestT
|
|
|
42
42
|
* @internal
|
|
43
43
|
**/
|
|
44
44
|
__shouldForceLifecycle.set(this, false);
|
|
45
|
+
/**
|
|
46
|
+
* Set once a short grace period (`setTimeout`) has elapsed since a blocked ('reflow')
|
|
47
|
+
* disconnect. Some consumers run defensive cleanup after the block via schedulers that can
|
|
48
|
+
* outlast a microtask (e.g. FAST's `DOM.queueUpdate`), so a macrotask-scale grace period is
|
|
49
|
+
* needed - once it has passed, the paired reconnect must not stay blocked, or the consumer
|
|
50
|
+
* never re-initializes.
|
|
51
|
+
* @internal
|
|
52
|
+
**/
|
|
53
|
+
__blockedDisconnectSurvivedGracePeriod.set(this, false);
|
|
45
54
|
}
|
|
46
55
|
/**
|
|
47
56
|
* @privateRemarks
|
|
@@ -127,6 +136,7 @@ export const LifecycleMixin = (Base) => { var _instances, __container, __latestT
|
|
|
127
136
|
__hasFirstLoaded = new WeakMap(),
|
|
128
137
|
__cleanupTimeout = new WeakMap(),
|
|
129
138
|
__shouldForceLifecycle = new WeakMap(),
|
|
139
|
+
__blockedDisconnectSurvivedGracePeriod = new WeakMap(),
|
|
130
140
|
_instances = new WeakSet(),
|
|
131
141
|
__blockLifecycleDueToTokenChange = function __blockLifecycleDueToTokenChange(lifecycleType) {
|
|
132
142
|
var _b, _c;
|
|
@@ -146,6 +156,14 @@ export const LifecycleMixin = (Base) => { var _instances, __container, __latestT
|
|
|
146
156
|
// 'reconnect' - otherwise unrelated layout changes while disconnected can block it forever.
|
|
147
157
|
__classPrivateFieldSet(this, __hasFirstLoaded, false, "f");
|
|
148
158
|
}
|
|
159
|
+
else {
|
|
160
|
+
// Blocked disconnect: track whether a grace period elapses before the paired reconnect
|
|
161
|
+
// arrives. See `#_blockedDisconnectSurvivedGracePeriod` for why this matters.
|
|
162
|
+
__classPrivateFieldSet(this, __blockedDisconnectSurvivedGracePeriod, false, "f");
|
|
163
|
+
setTimeout(() => {
|
|
164
|
+
__classPrivateFieldSet(this, __blockedDisconnectSurvivedGracePeriod, true, "f");
|
|
165
|
+
}, 0);
|
|
166
|
+
}
|
|
149
167
|
__classPrivateFieldSet(this, __cleanupTimeout, setTimeout(() => {
|
|
150
168
|
__classPrivateFieldSet(this, __shouldForceLifecycle, result, "f");
|
|
151
169
|
if (__classPrivateFieldGet(this, __shouldForceLifecycle, "f")) {
|
|
@@ -154,7 +172,7 @@ export const LifecycleMixin = (Base) => { var _instances, __container, __latestT
|
|
|
154
172
|
}, CLEANUP_TIMEOUT_MS), "f");
|
|
155
173
|
}
|
|
156
174
|
else if (lifecycleType === 'reconnect') {
|
|
157
|
-
result = tokensDifferent;
|
|
175
|
+
result = tokensDifferent && !__classPrivateFieldGet(this, __blockedDisconnectSurvivedGracePeriod, "f");
|
|
158
176
|
__classPrivateFieldSet(this, __latestTokenCode, (_c = __classPrivateFieldGet(this, __container, "f").lifecycleUpdateToken) !== null && _c !== void 0 ? _c : '', "f");
|
|
159
177
|
clearTimeout(__classPrivateFieldGet(this, __cleanupTimeout, "f"));
|
|
160
178
|
}
|
|
@@ -9118,7 +9118,7 @@
|
|
|
9118
9118
|
},
|
|
9119
9119
|
{
|
|
9120
9120
|
"kind": "Content",
|
|
9121
|
-
"text": ";\n #_shouldForceLifecycle: boolean;\n cloneNode(deep?: boolean): "
|
|
9121
|
+
"text": ";\n #_shouldForceLifecycle: boolean;\n #_blockedDisconnectSurvivedGracePeriod: boolean;\n cloneNode(deep?: boolean): "
|
|
9122
9122
|
},
|
|
9123
9123
|
{
|
|
9124
9124
|
"kind": "Reference",
|
|
@@ -1049,6 +1049,15 @@ export declare const LifecycleMixin: <T extends ConstructableLifecycleHandler>(B
|
|
|
1049
1049
|
* @internal
|
|
1050
1050
|
**/
|
|
1051
1051
|
#_shouldForceLifecycle: boolean;
|
|
1052
|
+
/**
|
|
1053
|
+
* Set once a short grace period (`setTimeout`) has elapsed since a blocked ('reflow')
|
|
1054
|
+
* disconnect. Some consumers run defensive cleanup after the block via schedulers that can
|
|
1055
|
+
* outlast a microtask (e.g. FAST's `DOM.queueUpdate`), so a macrotask-scale grace period is
|
|
1056
|
+
* needed - once it has passed, the paired reconnect must not stay blocked, or the consumer
|
|
1057
|
+
* never re-initializes.
|
|
1058
|
+
* @internal
|
|
1059
|
+
**/
|
|
1060
|
+
#_blockedDisconnectSurvivedGracePeriod: boolean;
|
|
1052
1061
|
/**
|
|
1053
1062
|
* @privateRemarks
|
|
1054
1063
|
* Rather than using the basic implementation of cloning we run a copy constructor (deepClone)
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/foundation-utils",
|
|
3
3
|
"description": "Genesis Foundation Utils",
|
|
4
|
-
"version": "14.
|
|
4
|
+
"version": "14.499.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "SEE LICENSE IN license.txt",
|
|
7
7
|
"main": "dist/esm/index.js",
|
|
@@ -29,18 +29,18 @@
|
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@genesislcap/foundation-testing": "14.
|
|
33
|
-
"@genesislcap/genx": "14.
|
|
34
|
-
"@genesislcap/rollup-builder": "14.
|
|
35
|
-
"@genesislcap/ts-builder": "14.
|
|
36
|
-
"@genesislcap/uvu-playwright-builder": "14.
|
|
37
|
-
"@genesislcap/vite-builder": "14.
|
|
38
|
-
"@genesislcap/webpack-builder": "14.
|
|
32
|
+
"@genesislcap/foundation-testing": "14.499.0",
|
|
33
|
+
"@genesislcap/genx": "14.499.0",
|
|
34
|
+
"@genesislcap/rollup-builder": "14.499.0",
|
|
35
|
+
"@genesislcap/ts-builder": "14.499.0",
|
|
36
|
+
"@genesislcap/uvu-playwright-builder": "14.499.0",
|
|
37
|
+
"@genesislcap/vite-builder": "14.499.0",
|
|
38
|
+
"@genesislcap/webpack-builder": "14.499.0",
|
|
39
39
|
"@types/json-schema": "^7.0.11"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@genesislcap/expression-builder": "14.
|
|
43
|
-
"@genesislcap/foundation-logger": "14.
|
|
42
|
+
"@genesislcap/expression-builder": "14.499.0",
|
|
43
|
+
"@genesislcap/foundation-logger": "14.499.0",
|
|
44
44
|
"@microsoft/fast-components": "2.30.6",
|
|
45
45
|
"@microsoft/fast-element": "1.14.0",
|
|
46
46
|
"@microsoft/fast-foundation": "2.50.0",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
60
|
"customElements": "dist/custom-elements.json",
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "49903bfdc57c5c5a7dd0d711d9717908df0b7ac7"
|
|
62
62
|
}
|