@k-int/stripes-kint-components 1.7.0 → 1.7.1

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 (164) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/es/index.js +29 -49
  3. package/es/lib/ActionList/ActionList.js +28 -73
  4. package/es/lib/ActionList/ActionListFieldArray.js +97 -220
  5. package/es/lib/ActionList/index.js +2 -8
  6. package/es/lib/EditableRefdataList/EditableRefdataList.js +46 -134
  7. package/es/lib/EditableRefdataList/index.js +2 -8
  8. package/es/lib/EditableSettingsList/EditableSettingsList.js +11 -47
  9. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.js +16 -61
  10. package/es/lib/EditableSettingsList/EditableSettingsListFieldArray.test.js +62 -137
  11. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.js +23 -91
  12. package/es/lib/EditableSettingsList/SettingField/EditSettingValue.test.js +103 -127
  13. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.js +19 -75
  14. package/es/lib/EditableSettingsList/SettingField/RenderSettingValue.test.js +188 -357
  15. package/es/lib/EditableSettingsList/SettingField/SettingField.js +39 -120
  16. package/es/lib/EditableSettingsList/SettingField/SettingField.test.js +61 -157
  17. package/es/lib/EditableSettingsList/SettingField/index.js +4 -12
  18. package/es/lib/EditableSettingsList/index.js +4 -12
  19. package/es/lib/NoResultsMessage/NoResultsMessage.js +24 -61
  20. package/es/lib/NoResultsMessage/index.js +2 -8
  21. package/es/lib/QueryTypedown/QueryTypedown.js +15 -89
  22. package/es/lib/QueryTypedown/index.js +2 -8
  23. package/es/lib/RefdataButtons/RefdataButtons.js +32 -85
  24. package/es/lib/RefdataButtons/index.js +2 -8
  25. package/es/lib/SASQLookupComponent/SASQLookupComponent.js +120 -227
  26. package/es/lib/SASQLookupComponent/index.js +2 -8
  27. package/es/lib/SASQRoute/SASQRoute.js +27 -76
  28. package/es/lib/SASQRoute/index.js +2 -8
  29. package/es/lib/SASQViewComponent/SASQViewComponent.js +28 -89
  30. package/es/lib/SASQViewComponent/index.js +2 -8
  31. package/es/lib/SearchField/SearchField.js +11 -61
  32. package/es/lib/SearchField/index.js +2 -8
  33. package/es/lib/SettingPage/SettingPage.js +17 -63
  34. package/es/lib/SettingPage/SettingPagePane.js +13 -58
  35. package/es/lib/SettingPage/index.js +3 -10
  36. package/es/lib/TypeDown/TypeDown.js +61 -132
  37. package/es/lib/TypeDown/index.js +2 -8
  38. package/es/lib/Typedown/Typedown.js +74 -153
  39. package/es/lib/Typedown/index.js +2 -8
  40. package/es/lib/constants/eventCodes.js +3 -36
  41. package/es/lib/contexts/SettingsContext.js +2 -34
  42. package/es/lib/contexts/index.js +2 -8
  43. package/es/lib/hooks/index.js +12 -27
  44. package/es/lib/hooks/settingsHooks/index.js +3 -10
  45. package/es/lib/hooks/settingsHooks/useSettingSection.js +16 -60
  46. package/es/lib/hooks/settingsHooks/useSettings.js +51 -130
  47. package/es/lib/hooks/typedownHooks/index.js +4 -12
  48. package/es/lib/hooks/typedownHooks/useTypedown.js +60 -114
  49. package/es/lib/hooks/typedownHooks/useTypedownData.js +13 -69
  50. package/es/lib/hooks/typedownHooks/useTypedownToggle.js +15 -71
  51. package/es/lib/hooks/useActiveElement.js +10 -63
  52. package/es/lib/hooks/useHelperApp.js +37 -111
  53. package/es/lib/hooks/useKiwtFieldArray.js +35 -101
  54. package/es/lib/hooks/useKiwtSASQuery.js +36 -107
  55. package/es/lib/hooks/useLocalStorageState.js +7 -69
  56. package/es/lib/hooks/useMutateRefdataValue.js +31 -115
  57. package/es/lib/hooks/useQIndex.js +17 -87
  58. package/es/lib/hooks/useRefdata.js +19 -65
  59. package/es/lib/hooks/useTemplates.js +16 -60
  60. package/es/lib/utils/buildUrl.js +11 -51
  61. package/es/lib/utils/generateKiwtQuery.js +4 -40
  62. package/es/lib/utils/generateKiwtQueryParams.js +38 -125
  63. package/es/lib/utils/index.js +9 -22
  64. package/es/lib/utils/refdataOptions.js +2 -32
  65. package/es/lib/utils/renderHelpText.js +32 -89
  66. package/es/lib/utils/selectorSafe.js +2 -34
  67. package/es/lib/utils/sortByLabel.js +4 -41
  68. package/es/lib/utils/toCamelCase.js +8 -42
  69. package/package.json +17 -3
  70. package/es/artifacts/coverage-jest/lcov-report/block-navigation.js +0 -109
  71. package/es/artifacts/coverage-jest/lcov-report/prettify.js +0 -998
  72. package/es/artifacts/coverage-jest/lcov-report/sorter.js +0 -238
  73. package/junit.xml +0 -79
  74. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +0 -256
  75. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +0 -799
  76. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +0 -146
  77. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +0 -88
  78. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +0 -376
  79. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +0 -131
  80. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +0 -88
  81. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +0 -223
  82. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +0 -211
  83. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +0 -376
  84. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +0 -262
  85. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +0 -436
  86. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +0 -161
  87. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +0 -94
  88. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +0 -146
  89. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +0 -94
  90. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +0 -319
  91. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +0 -131
  92. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +0 -88
  93. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +0 -184
  94. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +0 -131
  95. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +0 -88
  96. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +0 -370
  97. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +0 -131
  98. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +0 -88
  99. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +0 -949
  100. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +0 -131
  101. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +0 -88
  102. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +0 -274
  103. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +0 -131
  104. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +0 -88
  105. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +0 -250
  106. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +0 -131
  107. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +0 -88
  108. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +0 -214
  109. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +0 -131
  110. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +0 -88
  111. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +0 -211
  112. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +0 -178
  113. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +0 -146
  114. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +0 -91
  115. package/src/artifacts/coverage-jest/lcov-report/TypeDown/TypeDown.js.html +0 -769
  116. package/src/artifacts/coverage-jest/lcov-report/TypeDown/index.html +0 -131
  117. package/src/artifacts/coverage-jest/lcov-report/TypeDown/index.js.html +0 -88
  118. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +0 -790
  119. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +0 -131
  120. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +0 -88
  121. package/src/artifacts/coverage-jest/lcov-report/base.css +0 -224
  122. package/src/artifacts/coverage-jest/lcov-report/block-navigation.js +0 -87
  123. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +0 -94
  124. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +0 -116
  125. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +0 -97
  126. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +0 -131
  127. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +0 -91
  128. package/src/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  129. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +0 -251
  130. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +0 -115
  131. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +0 -146
  132. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +0 -91
  133. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +0 -163
  134. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +0 -403
  135. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +0 -161
  136. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +0 -94
  137. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +0 -520
  138. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +0 -163
  139. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +0 -163
  140. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +0 -157
  141. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +0 -283
  142. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +0 -274
  143. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +0 -178
  144. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +0 -136
  145. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +0 -301
  146. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +0 -208
  147. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +0 -268
  148. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +0 -166
  149. package/src/artifacts/coverage-jest/lcov-report/index.html +0 -401
  150. package/src/artifacts/coverage-jest/lcov-report/prettify.css +0 -1
  151. package/src/artifacts/coverage-jest/lcov-report/prettify.js +0 -2
  152. package/src/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  153. package/src/artifacts/coverage-jest/lcov-report/sorter.js +0 -196
  154. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +0 -193
  155. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +0 -109
  156. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +0 -286
  157. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +0 -236
  158. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +0 -121
  159. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +0 -106
  160. package/src/artifacts/coverage-jest/lcov-report/utils/renderHelpText.js.html +0 -166
  161. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +0 -103
  162. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +0 -130
  163. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +0 -127
  164. package/src/artifacts/coverage-jest/lcov.info +0 -1999
@@ -1,520 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for hooks/typedownHooks/useTypedown.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">hooks/typedownHooks</a> useTypedown.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/55</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/38</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/5</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/54</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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-no">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-no">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-no">&nbsp;</span>
237
- <span class="cline-any cline-no">&nbsp;</span>
238
- <span class="cline-any cline-no">&nbsp;</span>
239
- <span class="cline-any cline-no">&nbsp;</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span>
241
- <span class="cline-any cline-no">&nbsp;</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-no">&nbsp;</span>
245
- <span class="cline-any cline-no">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-no">&nbsp;</span>
248
- <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-no">&nbsp;</span>
250
- <span class="cline-any cline-no">&nbsp;</span>
251
- <span class="cline-any cline-no">&nbsp;</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-no">&nbsp;</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-no">&nbsp;</span>
256
- <span class="cline-any cline-no">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-no">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-no">&nbsp;</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-neutral">&nbsp;</span>
266
- <span class="cline-any cline-no">&nbsp;</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-no">&nbsp;</span>
271
- <span class="cline-any cline-no">&nbsp;</span>
272
- <span class="cline-any cline-no">&nbsp;</span>
273
- <span class="cline-any cline-no">&nbsp;</span>
274
- <span class="cline-any cline-no">&nbsp;</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-no">&nbsp;</span>
279
- <span class="cline-any cline-no">&nbsp;</span>
280
- <span class="cline-any cline-no">&nbsp;</span>
281
- <span class="cline-any cline-no">&nbsp;</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-no">&nbsp;</span>
287
- <span class="cline-any cline-no">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-no">&nbsp;</span>
290
- <span class="cline-any cline-no">&nbsp;</span>
291
- <span class="cline-any cline-no">&nbsp;</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-no">&nbsp;</span>
294
- <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-no">&nbsp;</span>
299
- <span class="cline-any cline-no">&nbsp;</span>
300
- <span class="cline-any cline-no">&nbsp;</span>
301
- <span class="cline-any cline-no">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-no">&nbsp;</span>
305
- <span class="cline-any cline-no">&nbsp;</span>
306
- <span class="cline-any cline-no">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-no">&nbsp;</span>
310
- <span class="cline-any cline-no">&nbsp;</span>
311
- <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-no">&nbsp;</span>
313
- <span class="cline-any cline-no">&nbsp;</span>
314
- <span class="cline-any cline-no">&nbsp;</span>
315
- <span class="cline-any cline-no">&nbsp;</span>
316
- <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-no">&nbsp;</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-no">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-neutral">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-no">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
- <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-no">&nbsp;</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-no">&nbsp;</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-no">&nbsp;</span>
333
- <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-no">&nbsp;</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <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></td><td class="text"><pre class="prettyprint lang-js">import { useRef } from 'react';
357
- import { useResizeDetector } from 'react-resize-detector';
358
- &nbsp;
359
- import {
360
- getFirstFocusable,
361
- getLastFocusable,
362
- getNextFocusable,
363
- getPreviousFocusable,
364
- } from '@folio/stripes/components';
365
- &nbsp;
366
- import {
367
- DOWN_ARROW,
368
- TAB,
369
- UP_ARROW
370
- } from '../../constants/eventCodes';
371
- &nbsp;
372
- import selectorSafe from '../../utils/selectorSafe';
373
- &nbsp;
374
- import useTypedownToggle from './useTypedownToggle';
375
- &nbsp;
376
- const useTypedown = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(n</span>ame) =&gt; {</span>
377
- // SEARCHFIELD COMPONENT
378
- const searchFieldComponent = <span class="cstat-no" title="statement not covered" >document.getElementById(`typedown-searchField-${selectorSafe(name)}`);</span>
379
- &nbsp;
380
- // SET UP REFS
381
- const listRef = <span class="cstat-no" title="statement not covered" >useRef();</span>
382
- const triggerRef = <span class="cstat-no" title="statement not covered" >useRef();</span>
383
- const overlayRef = <span class="cstat-no" title="statement not covered" >useRef();</span>
384
- const footerRef = <span class="cstat-no" title="statement not covered" >useRef();</span>
385
- &nbsp;
386
- const footer = <span class="cstat-no" title="statement not covered" >document.getElementById(`typedown-footer-${selectorSafe(name)}`);</span>
387
- // Add an event listener to the footer, so that we can control tab behaviour between footer elements
388
- &nbsp;
389
- <span class="cstat-no" title="statement not covered" > if (footer &amp;&amp; footer.getAttribute('hasListener') !== 'true') {</span>
390
- <span class="cstat-no" title="statement not covered" > footer.addEventListener('keydown', <span class="fstat-no" title="function not covered" >e </span>=&gt; {</span>
391
- // We want special behaviour on tab
392
- <span class="cstat-no" title="statement not covered" > if (e.code === TAB) {</span>
393
- // Prevent the default behaviour
394
- <span class="cstat-no" title="statement not covered" > e.preventDefault();</span>
395
- const focusFunc = <span class="cstat-no" title="statement not covered" >e.shiftKey ? getPreviousFocusable : getNextFocusable;</span>
396
- const elem = <span class="cstat-no" title="statement not covered" >focusFunc(footerRef.current, true, true, false, true);</span>
397
- &nbsp;
398
- <span class="cstat-no" title="statement not covered" > if (elem) {</span>
399
- // Focus on next focusable element
400
- <span class="cstat-no" title="statement not covered" > elem.focus();</span>
401
- } else <span class="cstat-no" title="statement not covered" >if (e.shiftKey) {</span>
402
- // We are at the beginning of the list, refocus on search bar
403
- <span class="cstat-no" title="statement not covered" > searchFieldComponent.focus();</span>
404
- } else {
405
- // We are at the end of the list, move onto next focusable element in page
406
- <span class="cstat-no" title="statement not covered" > getNextFocusable(searchFieldComponent, false).focus();</span>
407
- }
408
- }
409
- });
410
- &nbsp;
411
- <span class="cstat-no" title="statement not covered" > footer.setAttribute('hasListener', 'true');</span>
412
- }
413
- &nbsp;
414
- // SET UP HANDLERS
415
- const searchFieldKeyDownHandler = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >e </span>=&gt; {</span>
416
- <span class="cstat-no" title="statement not covered" > if (e.code === UP_ARROW) {</span>
417
- const elem = <span class="cstat-no" title="statement not covered" >getLastFocusable(listRef.current, true, true);</span>
418
- <span class="cstat-no" title="statement not covered" > if (elem) {</span>
419
- <span class="cstat-no" title="statement not covered" > elem.focus();</span>
420
- }
421
- }
422
- &nbsp;
423
- <span class="cstat-no" title="statement not covered" > if (e.code === DOWN_ARROW) {</span>
424
- const elem = <span class="cstat-no" title="statement not covered" >getFirstFocusable(listRef.current, true, true);</span>
425
- <span class="cstat-no" title="statement not covered" > if (elem) {</span>
426
- <span class="cstat-no" title="statement not covered" > elem.focus();</span>
427
- }
428
- }
429
- &nbsp;
430
- // Tab key (But not while shifting)
431
- <span class="cstat-no" title="statement not covered" > if (e.code === TAB &amp;&amp; !e.shiftKey) {</span>
432
- <span class="cstat-no" title="statement not covered" > e.preventDefault();</span>
433
- // If we have focusable elements in the footer, then focus on them, else unfocus searchbar
434
- const elem = <span class="cstat-no" title="statement not covered" >getNextFocusable(footerRef.current, true, true, true, true);</span>
435
- <span class="cstat-no" title="statement not covered" > if (elem) {</span>
436
- <span class="cstat-no" title="statement not covered" > elem.focus();</span>
437
- } else {
438
- <span class="cstat-no" title="statement not covered" > getNextFocusable(searchFieldComponent, false).focus();</span>
439
- }
440
- }
441
- };
442
- &nbsp;
443
- const listKeyDownHandler = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >e </span>=&gt; {</span>
444
- <span class="cstat-no" title="statement not covered" > if (e.code === DOWN_ARROW) {</span>
445
- const elem = <span class="cstat-no" title="statement not covered" >getNextFocusable(listRef.current, true, true);</span>
446
- <span class="cstat-no" title="statement not covered" > elem.focus();</span>
447
- }
448
- &nbsp;
449
- <span class="cstat-no" title="statement not covered" > if (e.code === UP_ARROW) {</span>
450
- const elem = <span class="cstat-no" title="statement not covered" >getPreviousFocusable(listRef.current, true, true);</span>
451
- <span class="cstat-no" title="statement not covered" > elem.focus();</span>
452
- }
453
- &nbsp;
454
- <span class="cstat-no" title="statement not covered" > if (e.code === TAB) {</span>
455
- <span class="cstat-no" title="statement not covered" > e.preventDefault();</span>
456
- let elem;
457
- <span class="cstat-no" title="statement not covered" > if (!e.shiftKey &amp;&amp; !footerRef.current) {</span>
458
- <span class="cstat-no" title="statement not covered" > elem = getNextFocusable(searchFieldComponent, false);</span>
459
- } else <span class="cstat-no" title="statement not covered" >if (!e.shiftKey) {</span>
460
- <span class="cstat-no" title="statement not covered" > elem = getNextFocusable(footerRef.current, true, true, true, true);</span>
461
- } else {
462
- <span class="cstat-no" title="statement not covered" > elem = searchFieldComponent;</span>
463
- }
464
- <span class="cstat-no" title="statement not covered" > elem.focus();</span>
465
- }
466
- };
467
- &nbsp;
468
- const handleNextFocus = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >()</span> =&gt; <span class="cstat-no" title="statement not covered" >getNextFocusable(searchFieldComponent, false).focus();</span></span>
469
- &nbsp;
470
- // SET UP VARIABLES
471
- const { open } = <span class="cstat-no" title="statement not covered" >useTypedownToggle(name);</span>
472
- &nbsp;
473
- // RESIZE STUFF
474
- const { width: searchWidth, ref: resizeRef } = <span class="cstat-no" title="statement not covered" >useResizeDetector();</span>
475
- &nbsp;
476
- // OVERLAY PORTAL
477
- const portal = <span class="cstat-no" title="statement not covered" >document.getElementById('OverlayContainer');</span>
478
- &nbsp;
479
- <span class="cstat-no" title="statement not covered" > return {</span>
480
- refs: {
481
- listRef,
482
- triggerRef,
483
- overlayRef,
484
- footerRef
485
- },
486
- handlers: {
487
- handleNextFocus,
488
- listKeyDownHandler,
489
- searchFieldKeyDownHandler
490
- },
491
- variables: {
492
- open,
493
- portal,
494
- resizeRef,
495
- searchWidth
496
- }
497
- };
498
- };
499
- &nbsp;
500
- export default useTypedown;
501
- &nbsp;</pre></td></tr></table></pre>
502
-
503
- <div class='push'></div><!-- for sticky footer -->
504
- </div><!-- /wrapper -->
505
- <div class='footer quiet pad2 space-top1 center small'>
506
- Code coverage generated by
507
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
508
- at Thu Jan 20 2022 16:19:40 GMT+0000 (Greenwich Mean Time)
509
- </div>
510
- <script src="../../prettify.js"></script>
511
- <script>
512
- window.onload = function () {
513
- prettyPrint();
514
- };
515
- </script>
516
- <script src="../../sorter.js"></script>
517
- <script src="../../block-navigation.js"></script>
518
- </body>
519
- </html>
520
-