@k-int/stripes-kint-components 2.3.2 → 2.3.3

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 (211) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/es/artifacts/coverage-jest/lcov-report/block-navigation.js +109 -0
  3. package/es/artifacts/coverage-jest/lcov-report/prettify.js +998 -0
  4. package/es/artifacts/coverage-jest/lcov-report/sorter.js +238 -0
  5. package/es/index.js +5 -1
  6. package/es/lib/ActionList/ActionList.js +31 -1
  7. package/es/lib/ActionList/ActionListFieldArray.js +38 -1
  8. package/es/lib/ActionList/index.js +5 -1
  9. package/es/lib/CustomProperties/Config/CustomPropertiesLookup.js +35 -1
  10. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +46 -7
  11. package/es/lib/CustomProperties/Config/CustomPropertyForm.js +34 -1
  12. package/es/lib/CustomProperties/Config/CustomPropertyView.js +30 -1
  13. package/es/lib/CustomProperties/Config/index.js +5 -1
  14. package/es/lib/CustomProperties/Edit/CustomPropertiesEdit.js +30 -1
  15. package/es/lib/CustomProperties/Edit/CustomPropertiesEditCtx.js +34 -1
  16. package/es/lib/CustomProperties/Edit/CustomPropertiesListField.js +37 -1
  17. package/es/lib/CustomProperties/Edit/CustomPropertyField.js +34 -1
  18. package/es/lib/CustomProperties/Edit/CustomPropertyFormCard.js +30 -1
  19. package/es/lib/CustomProperties/Edit/index.js +5 -1
  20. package/es/lib/CustomProperties/Filter/CustomPropertiesFilter.js +34 -1
  21. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterField.js +34 -1
  22. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js +34 -1
  23. package/es/lib/CustomProperties/Filter/CustomPropertiesFilterForm.js +30 -1
  24. package/es/lib/CustomProperties/Filter/CustomPropertiesRule.js +35 -1
  25. package/es/lib/CustomProperties/Filter/index.js +5 -1
  26. package/es/lib/CustomProperties/Filter/useOperators.js +39 -1
  27. package/es/lib/CustomProperties/Filter/useParseActiveFilterStrings.js +34 -1
  28. package/es/lib/CustomProperties/Filter/useValueProps.js +35 -1
  29. package/es/lib/CustomProperties/View/CustomPropertiesView.js +30 -1
  30. package/es/lib/CustomProperties/View/CustomPropertiesViewCtx.js +56 -16
  31. package/es/lib/CustomProperties/View/CustomPropertyCard.js +33 -3
  32. package/es/lib/CustomProperties/View/index.js +5 -1
  33. package/es/lib/CustomProperties/index.js +5 -1
  34. package/es/lib/EditableRefdataList/EditableRefdataList.js +35 -1
  35. package/es/lib/EditableRefdataList/index.js +5 -1
  36. package/es/lib/EditableSettingsList/EditableSettingsList.js +30 -1
  37. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js +30 -1
  38. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +30 -1
  39. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.js +34 -1
  40. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +34 -1
  41. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.js +34 -1
  42. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +41 -1
  43. package/es/lib/EditableSettingsList/SettingField/SettingField.js +34 -1
  44. package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +30 -1
  45. package/es/lib/EditableSettingsList/SettingField/index.js +5 -1
  46. package/es/lib/EditableSettingsList/index.js +5 -1
  47. package/es/lib/FormModal/FormModal.js +30 -1
  48. package/es/lib/FormModal/index.js +5 -1
  49. package/es/lib/NoResultsMessage/NoResultsMessage.js +30 -1
  50. package/es/lib/NoResultsMessage/index.js +5 -1
  51. package/es/lib/QueryTypedown/QueryTypedown.js +34 -1
  52. package/es/lib/QueryTypedown/index.js +5 -1
  53. package/es/lib/RefdataButtons/RefdataButtons.js +34 -1
  54. package/es/lib/RefdataButtons/index.js +5 -1
  55. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +34 -1
  56. package/es/lib/SASQLookupComponent/index.js +5 -1
  57. package/es/lib/SASQRoute/SASQRoute.js +30 -1
  58. package/es/lib/SASQRoute/index.js +5 -1
  59. package/es/lib/SASQViewComponent/SASQViewComponent.js +34 -1
  60. package/es/lib/SASQViewComponent/index.js +5 -1
  61. package/es/lib/SearchField/SearchField.js +31 -1
  62. package/es/lib/SearchField/index.js +5 -1
  63. package/es/lib/SettingPage/SettingPage.js +34 -1
  64. package/es/lib/SettingPage/SettingPagePane.js +32 -1
  65. package/es/lib/SettingPage/index.js +5 -1
  66. package/es/lib/Typedown/Typedown.js +34 -1
  67. package/es/lib/Typedown/index.js +5 -1
  68. package/es/lib/constants/customProperties.js +38 -1
  69. package/es/lib/constants/eventCodes.js +31 -1
  70. package/es/lib/contexts/SettingsContext.js +30 -1
  71. package/es/lib/contexts/index.js +5 -1
  72. package/es/lib/hooks/index.js +5 -1
  73. package/es/lib/hooks/settingsHooks/index.js +5 -1
  74. package/es/lib/hooks/settingsHooks/useSettingSection.js +34 -1
  75. package/es/lib/hooks/settingsHooks/useSettings.js +36 -1
  76. package/es/lib/hooks/typedownHooks/index.js +5 -1
  77. package/es/lib/hooks/typedownHooks/useTypedown.js +34 -1
  78. package/es/lib/hooks/typedownHooks/useTypedownData.js +34 -1
  79. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +34 -1
  80. package/es/lib/hooks/useActiveElement.js +32 -1
  81. package/es/lib/hooks/useAvailableCustomProperties.js +34 -1
  82. package/es/lib/hooks/useCustomProperties.js +34 -1
  83. package/es/lib/hooks/useHelperApp.js +34 -1
  84. package/es/lib/hooks/useInvalidateRefdata.js +34 -1
  85. package/es/lib/hooks/useKiwtFieldArray.js +34 -1
  86. package/es/lib/hooks/useKiwtSASQuery.js +35 -1
  87. package/es/lib/hooks/useLocalStorageState.js +34 -1
  88. package/es/lib/hooks/useMutateCustomProperties.js +34 -1
  89. package/es/lib/hooks/useMutateRefdataValue.js +34 -1
  90. package/es/lib/hooks/useQIndex.js +34 -1
  91. package/es/lib/hooks/useRefdata.js +34 -1
  92. package/es/lib/hooks/useTemplates.js +34 -1
  93. package/es/lib/utils/buildUrl.js +31 -2
  94. package/es/lib/utils/generateKiwtQuery.js +30 -1
  95. package/es/lib/utils/generateKiwtQueryParams.js +30 -1
  96. package/es/lib/utils/groupCustomPropertiesByCtx.js +30 -1
  97. package/es/lib/utils/index.js +5 -1
  98. package/es/lib/utils/refdataOptions.js +30 -1
  99. package/es/lib/utils/refdataQueryKey.js +30 -1
  100. package/es/lib/utils/renderHelpText.js +30 -1
  101. package/es/lib/utils/selectorSafe.js +30 -1
  102. package/es/lib/utils/sortByLabel.js +30 -1
  103. package/es/lib/utils/toCamelCase.js +30 -1
  104. package/es/lib/utils/typedownQueryKey.js +30 -1
  105. package/es/lib/utils/validators.js +32 -1
  106. package/junit.xml +79 -0
  107. package/package.json +1 -1
  108. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +286 -0
  109. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +925 -0
  110. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +146 -0
  111. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +88 -0
  112. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +418 -0
  113. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +808 -0
  114. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesView.js.html +601 -0
  115. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +1135 -0
  116. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +176 -0
  117. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +97 -0
  118. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +373 -0
  119. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +131 -0
  120. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +88 -0
  121. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +223 -0
  122. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +211 -0
  123. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +376 -0
  124. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +262 -0
  125. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +436 -0
  126. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +161 -0
  127. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +94 -0
  128. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +146 -0
  129. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +94 -0
  130. package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +283 -0
  131. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +131 -0
  132. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +88 -0
  133. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +319 -0
  134. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +131 -0
  135. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +88 -0
  136. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +184 -0
  137. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +131 -0
  138. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +88 -0
  139. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +370 -0
  140. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +131 -0
  141. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +88 -0
  142. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +949 -0
  143. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +131 -0
  144. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +88 -0
  145. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +301 -0
  146. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +131 -0
  147. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +88 -0
  148. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +253 -0
  149. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +131 -0
  150. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +88 -0
  151. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +214 -0
  152. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +131 -0
  153. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +88 -0
  154. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +211 -0
  155. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +178 -0
  156. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +146 -0
  157. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +91 -0
  158. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +919 -0
  159. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +131 -0
  160. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +88 -0
  161. package/src/artifacts/coverage-jest/lcov-report/base.css +224 -0
  162. package/src/artifacts/coverage-jest/lcov-report/block-navigation.js +87 -0
  163. package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +112 -0
  164. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +94 -0
  165. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +131 -0
  166. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +97 -0
  167. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +131 -0
  168. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +91 -0
  169. package/src/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  170. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +281 -0
  171. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +121 -0
  172. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +146 -0
  173. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +91 -0
  174. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +163 -0
  175. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +403 -0
  176. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +161 -0
  177. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +94 -0
  178. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +520 -0
  179. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +163 -0
  180. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +163 -0
  181. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +157 -0
  182. package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +313 -0
  183. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +283 -0
  184. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +274 -0
  185. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +178 -0
  186. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +136 -0
  187. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +271 -0
  188. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +301 -0
  189. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +208 -0
  190. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +268 -0
  191. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +166 -0
  192. package/src/artifacts/coverage-jest/lcov-report/index.html +416 -0
  193. package/src/artifacts/coverage-jest/lcov-report/prettify.css +1 -0
  194. package/src/artifacts/coverage-jest/lcov-report/prettify.js +2 -0
  195. package/src/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  196. package/src/artifacts/coverage-jest/lcov-report/sorter.js +196 -0
  197. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +193 -0
  198. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +109 -0
  199. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +454 -0
  200. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +251 -0
  201. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +121 -0
  202. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +106 -0
  203. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +166 -0
  204. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +103 -0
  205. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +130 -0
  206. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +127 -0
  207. package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +202 -0
  208. package/src/artifacts/coverage-jest/lcov.info +2562 -0
  209. package/src/lib/CustomProperties/Config/CustomPropertiesSettings.js +9 -6
  210. package/src/lib/CustomProperties/View/CustomPropertiesViewCtx.js +13 -8
  211. package/src/lib/CustomProperties/View/CustomPropertyCard.js +2 -2
@@ -0,0 +1,919 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for Typedown/Typedown.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">Typedown</a> Typedown.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/41</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/32</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/13</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/39</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-neutral">&nbsp;</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
353
+ <span class="cline-any cline-neutral">&nbsp;</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
359
+ <span class="cline-any cline-neutral">&nbsp;</span>
360
+ <span class="cline-any cline-neutral">&nbsp;</span>
361
+ <span class="cline-any cline-neutral">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-no">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-no">&nbsp;</span>
379
+ <span class="cline-any cline-neutral">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-no">&nbsp;</span>
382
+ <span class="cline-any cline-no">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-no">&nbsp;</span>
385
+ <span class="cline-any cline-no">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-no">&nbsp;</span>
390
+ <span class="cline-any cline-no">&nbsp;</span>
391
+ <span class="cline-any cline-no">&nbsp;</span>
392
+ <span class="cline-any cline-no">&nbsp;</span>
393
+ <span class="cline-any cline-no">&nbsp;</span>
394
+ <span class="cline-any cline-no">&nbsp;</span>
395
+ <span class="cline-any cline-no">&nbsp;</span>
396
+ <span class="cline-any cline-no">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-no">&nbsp;</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-no">&nbsp;</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-no">&nbsp;</span>
404
+ <span class="cline-any cline-no">&nbsp;</span>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-no">&nbsp;</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-no">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-no">&nbsp;</span>
432
+ <span class="cline-any cline-no">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-no">&nbsp;</span>
443
+ <span class="cline-any cline-no">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-no">&nbsp;</span>
446
+ <span class="cline-any cline-no">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-no">&nbsp;</span>
451
+ <span class="cline-any cline-no">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-no">&nbsp;</span>
464
+ <span class="cline-any cline-no">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-no">&nbsp;</span>
475
+ <span class="cline-any cline-no">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-neutral">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-no">&nbsp;</span>
517
+ <span class="cline-any cline-no">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-no">&nbsp;</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-neutral">&nbsp;</span>
542
+ <span class="cline-any cline-neutral">&nbsp;</span>
543
+ <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-neutral">&nbsp;</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-no">&nbsp;</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-no">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-no">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-neutral">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useCallback, useEffect, useState } from 'react';
623
+ import PropTypes from 'prop-types';
624
+ import classnames from 'classnames';
625
+ &nbsp;
626
+ import get from 'lodash/get';
627
+ &nbsp;
628
+ import { EndOfList, IconButton, Label, Popper } from '@folio/stripes/components';
629
+ &nbsp;
630
+ import SearchField from '../SearchField';
631
+ import css from '../../../styles/TypeDown.css';
632
+ &nbsp;
633
+ import { useTypedown } from '../hooks/typedownHooks';
634
+ import selectorSafe from '../utils/selectorSafe';
635
+ &nbsp;
636
+ const Typedown = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >({</span></span>
637
+ className,
638
+ dataOptions,
639
+ endOfList,
640
+ id,
641
+ input,
642
+ isSelected,
643
+ filterPath,
644
+ label,
645
+ meta,
646
+ onChange,
647
+ onType,
648
+ renderFooter = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
649
+ renderListItem = <span class="branch-0 cbranch-no" title="branch not covered" >null,</span>
650
+ required,
651
+ uniqueIdentificationPath = <span class="branch-0 cbranch-no" title="branch not covered" >'id'</span>
652
+ }) =&gt; {
653
+ const selectedUniqueId = <span class="cstat-no" title="statement not covered" >get(input.value, uniqueIdentificationPath);</span>
654
+ &nbsp;
655
+ // Display data needs to be in line with data options but also able to react to default handleType
656
+ const [displayData, setDisplayData] = <span class="cstat-no" title="statement not covered" >useState(dataOptions);</span>
657
+ &nbsp;
658
+ // keep track of what we've typed and whether we've typed an exact match or not
659
+ const [currentlyTyped, setCurrentlyTyped] = <span class="cstat-no" title="statement not covered" >useState('');</span>
660
+ const [exactMatch, setExactMatch] = <span class="cstat-no" title="statement not covered" >useState(false);</span>
661
+ &nbsp;
662
+ <span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
663
+ <span class="cstat-no" title="statement not covered" > setDisplayData(dataOptions);</span>
664
+ }, [dataOptions]);
665
+ &nbsp;
666
+ // Setup default handleType
667
+ const handleType = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(e</span>) =&gt; {</span>
668
+ const regex = <span class="cstat-no" title="statement not covered" >new RegExp(`${e.target.value.toLowerCase()}`);</span>
669
+ <span class="cstat-no" title="statement not covered" > if (onType) {</span>
670
+ <span class="cstat-no" title="statement not covered" > onType(e);</span>
671
+ } else <span class="cstat-no" title="statement not covered" >if (filterPath &amp;&amp; e?.target?.value) {</span>
672
+ <span class="cstat-no" title="statement not covered" > setDisplayData(dataOptions.filter(<span class="fstat-no" title="function not covered" >it</span>em =&gt; <span class="cstat-no" title="statement not covered" >get(item, filterPath)?.toLowerCase()?.match(regex))</span>);</span>
673
+ } else <span class="cstat-no" title="statement not covered" >if (e?.target?.value) {</span>
674
+ <span class="cstat-no" title="statement not covered" > setDisplayData(dataOptions.filter(<span class="fstat-no" title="function not covered" >it</span>em =&gt; <span class="cstat-no" title="statement not covered" >get(item, uniqueIdentificationPath)?.toLowerCase()?.match(regex))</span>);</span>
675
+ } else {
676
+ <span class="cstat-no" title="statement not covered" > setDisplayData(dataOptions);</span>
677
+ }
678
+ &nbsp;
679
+ <span class="cstat-no" title="statement not covered" > setCurrentlyTyped(e.target.value);</span>
680
+ &nbsp;
681
+ <span class="cstat-no" title="statement not covered" > if (displayData.length === 1 &amp;&amp; get(displayData[0], filterPath) === e.target.value) {</span>
682
+ <span class="cstat-no" title="statement not covered" > setExactMatch(true);</span>
683
+ } else {
684
+ <span class="cstat-no" title="statement not covered" > setExactMatch(false);</span>
685
+ }
686
+ };
687
+ &nbsp;
688
+ // Hook to set up all the essentials
689
+ const {
690
+ refs: {
691
+ listRef,
692
+ triggerRef,
693
+ overlayRef,
694
+ footerRef
695
+ },
696
+ handlers: {
697
+ handleNextFocus,
698
+ listKeyDownHandler,
699
+ searchFieldKeyDownHandler
700
+ },
701
+ variables: {
702
+ open,
703
+ portal,
704
+ resizeRef,
705
+ searchWidth
706
+ }
707
+ } = <span class="cstat-no" title="statement not covered" >useTypedown(input.name);</span>
708
+ &nbsp;
709
+ const renderItem = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >(o</span>ption) =&gt; (</span>
710
+ <span class="cstat-no" title="statement not covered" > &lt;div</span>
711
+ className={css.listItem}
712
+ &gt;
713
+ {renderListItem ?
714
+ renderListItem(option, currentlyTyped, exactMatch) :
715
+ get(option, uniqueIdentificationPath)
716
+ }
717
+ &lt;/div&gt;
718
+ ), [currentlyTyped, exactMatch, renderListItem, uniqueIdentificationPath]);
719
+ &nbsp;
720
+ const handleChange = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >va</span>lue =&gt; {</span>
721
+ <span class="cstat-no" title="statement not covered" > input.onChange(value);</span>
722
+ &nbsp;
723
+ <span class="cstat-no" title="statement not covered" > if (typeof onChange === 'function') {</span>
724
+ <span class="cstat-no" title="statement not covered" > onChange(value);</span>
725
+ }
726
+ }, [input, onChange]);
727
+ &nbsp;
728
+ const dropDown = <span class="cstat-no" title="statement not covered" >useCallback(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
729
+ <span class="cstat-no" title="statement not covered" > return (</span>
730
+ &lt;div
731
+ className={css.dropdownMenu}
732
+ id={`typedown-parent-${selectorSafe(input.name)}-menu`}
733
+ style={{ '--searchWidth': `${searchWidth}px` }}
734
+ &gt;
735
+ &lt;div
736
+ ref={listRef}
737
+ className={css.listContainer}
738
+ id="typedown-list"
739
+ &gt;
740
+ {displayData?.length ? displayData?.map(<span class="fstat-no" title="function not covered" >(d</span>, index) =&gt; {
741
+ const isSelectedEval = <span class="cstat-no" title="statement not covered" >isSelected ? isSelected(input.value, d) : get(input.value, uniqueIdentificationPath) === get(d, uniqueIdentificationPath);</span>
742
+ <span class="cstat-no" title="statement not covered" > return (</span>
743
+ &lt;button
744
+ key={`typedown-button-[${index}]`}
745
+ className={classnames(
746
+ css.fullWidth,
747
+ css.menuButton
748
+ )}
749
+ data-selected={isSelectedEval}
750
+ id={`typedown-button-[${index}]`}
751
+ onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
752
+ <span class="cstat-no" title="statement not covered" > handleChange(d);</span>
753
+ <span class="cstat-no" title="statement not covered" > handleNextFocus();</span>
754
+ }}
755
+ onKeyDown={listKeyDownHandler}
756
+ type="button"
757
+ &gt;
758
+ {renderItem(d)}
759
+ &lt;/button&gt;
760
+ );
761
+ }) :
762
+ endOfList || &lt;EndOfList /&gt;
763
+ }
764
+ &lt;/div&gt;
765
+ {renderFooter &amp;&amp;
766
+ &lt;div
767
+ ref={footerRef}
768
+ className={css.footer}
769
+ id={`typedown-footer-${selectorSafe(input.name)}`}
770
+ &gt;
771
+ {renderFooter(displayData, currentlyTyped, exactMatch)}
772
+ &lt;/div&gt;
773
+ }
774
+ &lt;/div&gt;
775
+ );
776
+ }, [
777
+ currentlyTyped,
778
+ displayData,
779
+ endOfList,
780
+ exactMatch,
781
+ footerRef,
782
+ handleChange,
783
+ handleNextFocus,
784
+ input,
785
+ isSelected,
786
+ listKeyDownHandler,
787
+ listRef,
788
+ renderFooter,
789
+ renderItem,
790
+ searchWidth,
791
+ uniqueIdentificationPath
792
+ ]);
793
+ &nbsp;
794
+ const renderSearchField = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
795
+ <span class="cstat-no" title="statement not covered" > return (</span>
796
+ &lt;div
797
+ ref={triggerRef}
798
+ id={`typedown-parent-${selectorSafe(input.name)}-searchField`}
799
+ &gt;
800
+ &lt;SearchField
801
+ // Pass meta through so correct styling gets applied to the TextField
802
+ id={`typedown-searchField-${selectorSafe(input.name)}`}
803
+ marginBottom0
804
+ meta={meta}
805
+ onChange={handleType}
806
+ onKeyDown={searchFieldKeyDownHandler}
807
+ /&gt;
808
+ &lt;/div&gt;
809
+ );
810
+ };
811
+ &nbsp;
812
+ <span class="cstat-no" title="statement not covered" > return (</span>
813
+ &lt;div
814
+ ref={resizeRef}
815
+ className={classnames(
816
+ css.typedown,
817
+ className
818
+ )}
819
+ &gt;
820
+ {label &amp;&amp;
821
+ &lt;Label
822
+ htmlFor={id}
823
+ id={`${id}-label`}
824
+ required={required}
825
+ &gt;
826
+ {label}
827
+ &lt;/Label&gt;
828
+ }
829
+ {renderSearchField()}
830
+ &lt;Popper
831
+ key="typedown-menu-toggle"
832
+ anchorRef={triggerRef}
833
+ className={classnames(
834
+ css.dropdown,
835
+ css.fullWidth
836
+ )}
837
+ isOpen={open}
838
+ modifiers={{
839
+ flip: { boundariesElement: 'viewport', padding: 10 },
840
+ preventOverflow: { boundariesElement: 'viewport', padding: 10 }
841
+ }}
842
+ overlayProps={{
843
+ 'ref': overlayRef,
844
+ 'tabIndex': '-1',
845
+ 'onClick': <span class="fstat-no" title="function not covered" >(e</span>) =&gt; { <span class="cstat-no" title="statement not covered" >e.stopPropagation(); </span>} // prevent propagation of click events
846
+ }}
847
+ overlayRef={overlayRef}
848
+ portal={portal}
849
+ &gt;
850
+ {dropDown()}
851
+ &lt;/Popper&gt;
852
+ {selectedUniqueId &amp;&amp; !open &amp;&amp;
853
+ &lt;div
854
+ className={classnames(
855
+ css.selectedDisplay
856
+ )}
857
+ &gt;
858
+ &lt;div
859
+ className={css.selectedItem}
860
+ &gt;
861
+ {renderItem(input.value)}
862
+ &lt;/div&gt;
863
+ &lt;IconButton
864
+ className={css.clearItem}
865
+ icon="times-circle-solid"
866
+ onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >handleChange()}</span>
867
+ /&gt;
868
+ &lt;/div&gt;
869
+ }
870
+ &lt;/div&gt;
871
+ );
872
+ };
873
+ &nbsp;
874
+ <span class="cstat-no" title="statement not covered" >Typedown.propTypes = {</span>
875
+ className: PropTypes.string,
876
+ dataOptions: PropTypes.arrayOf(PropTypes.object),
877
+ endOfList: PropTypes.oneOfType([
878
+ PropTypes.func,
879
+ PropTypes.node,
880
+ PropTypes.element
881
+ ]),
882
+ filterPath: PropTypes.string,
883
+ id: PropTypes.string,
884
+ input: PropTypes.object,
885
+ isSelected: PropTypes.func,
886
+ label: PropTypes.oneOfType([
887
+ PropTypes.string,
888
+ PropTypes.element
889
+ ]),
890
+ meta: PropTypes.object,
891
+ onChange: PropTypes.func,
892
+ onType: PropTypes.func,
893
+ renderFooter: PropTypes.func,
894
+ renderListItem: PropTypes.func,
895
+ required: PropTypes.bool,
896
+ uniqueIdentificationPath: PropTypes.string
897
+ };
898
+ &nbsp;
899
+ export default Typedown;
900
+ &nbsp;</pre></td></tr></table></pre>
901
+
902
+ <div class='push'></div><!-- for sticky footer -->
903
+ </div><!-- /wrapper -->
904
+ <div class='footer quiet pad2 space-top1 center small'>
905
+ Code coverage generated by
906
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
907
+ at Fri Mar 11 2022 16:43:16 GMT+0000 (Greenwich Mean Time)
908
+ </div>
909
+ <script src="../prettify.js"></script>
910
+ <script>
911
+ window.onload = function () {
912
+ prettyPrint();
913
+ };
914
+ </script>
915
+ <script src="../sorter.js"></script>
916
+ <script src="../block-navigation.js"></script>
917
+ </body>
918
+ </html>
919
+