@k-int/stripes-kint-components 2.8.2 → 2.8.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 (158) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/es/lib/CustomProperties/Config/CustomPropertiesSettings.js +2 -2
  3. package/junit.xml +157 -656
  4. package/package.json +1 -1
  5. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionList.js.html +56 -8
  6. package/src/artifacts/coverage-jest/lcov-report/ActionList/ActionListFieldArray.js.html +394 -64
  7. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.html +10 -10
  8. package/src/artifacts/coverage-jest/lcov-report/ActionList/index.js.html +1 -1
  9. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesLookup.js.html +187 -52
  10. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertiesSettings.js.html +372 -87
  11. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyForm.js.html +293 -74
  12. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/CustomPropertyView.js.html +126 -54
  13. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.html +45 -60
  14. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Config/index.js.html +1 -1
  15. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEdit.js.html +23 -5
  16. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesEditCtx.js.html +59 -47
  17. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertiesListField.js.html +259 -97
  18. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyField.js.html +399 -105
  19. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/CustomPropertyFormCard.js.html +41 -68
  20. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.html +57 -57
  21. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/index.js.html +1 -1
  22. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Edit/testResources.js.html +67 -688
  23. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilter.js.html +92 -53
  24. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterField.js.html +103 -64
  25. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterFieldArray.js.html +54 -63
  26. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesFilterForm.js.html +49 -16
  27. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/CustomPropertiesRule.js.html +69 -18
  28. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.html +89 -89
  29. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/index.js.html +1 -1
  30. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/testResources.js.html +33 -786
  31. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useOperators.js.html +46 -46
  32. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useParseActiveFilterStrings.js.html +45 -36
  33. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/Filter/useValueProps.js.html +43 -28
  34. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesView.js.html +20 -2
  35. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertiesViewCtx.js.html +50 -41
  36. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/CustomPropertyCard.js.html +54 -75
  37. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.html +24 -24
  38. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/index.js.html +1 -1
  39. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/View/testResources.js.html +1 -1
  40. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.html +1 -1
  41. package/src/artifacts/coverage-jest/lcov-report/CustomProperties/index.js.html +1 -1
  42. package/src/artifacts/coverage-jest/lcov-report/{hooks/useAvailableCustomProperties.js.html → CycleButton/CycleButton.js.html} +62 -50
  43. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.html +131 -0
  44. package/src/artifacts/coverage-jest/lcov-report/CycleButton/index.js.html +88 -0
  45. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/EditableRefdataCategoryList.js.html +664 -0
  46. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.html +131 -0
  47. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataCategoryList/index.js.html +88 -0
  48. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/EditableRefdataList.js.html +264 -39
  49. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.html +9 -9
  50. package/src/artifacts/coverage-jest/lcov-report/EditableRefdataList/index.js.html +1 -1
  51. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsList.js.html +41 -14
  52. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/EditableSettingsListFieldArray.js.html +45 -6
  53. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/EditSettingValue.js.html +47 -11
  54. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/RenderSettingValue.js.html +65 -14
  55. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/SettingField.js.html +154 -31
  56. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.html +26 -26
  57. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/SettingField/index.js.html +1 -1
  58. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.html +18 -18
  59. package/src/artifacts/coverage-jest/lcov-report/EditableSettingsList/index.js.html +1 -1
  60. package/src/artifacts/coverage-jest/lcov-report/FormModal/FormModal.js.html +35 -17
  61. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.html +15 -15
  62. package/src/artifacts/coverage-jest/lcov-report/FormModal/index.js.html +1 -1
  63. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/FormattedKintMessage.js.html +247 -0
  64. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.html +131 -0
  65. package/src/artifacts/coverage-jest/lcov-report/FormattedKintMessage/index.js.html +88 -0
  66. package/src/artifacts/coverage-jest/lcov-report/{CustomProperties/Config/CustomPropertiesView.js.html → IconSelect/IconSelect.js.html} +158 -257
  67. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.html +131 -0
  68. package/src/artifacts/coverage-jest/lcov-report/IconSelect/index.js.html +88 -0
  69. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/NoResultsMessage.js.html +48 -6
  70. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.html +7 -7
  71. package/src/artifacts/coverage-jest/lcov-report/NoResultsMessage/index.js.html +1 -1
  72. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/QueryTypedown.js.html +1 -1
  73. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.html +1 -1
  74. package/src/artifacts/coverage-jest/lcov-report/QueryTypedown/index.js.html +1 -1
  75. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/RefdataButtons.js.html +3 -3
  76. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.html +1 -1
  77. package/src/artifacts/coverage-jest/lcov-report/RefdataButtons/index.js.html +1 -1
  78. package/src/artifacts/coverage-jest/lcov-report/{CustomProperties/Config/testResources.js.html → RichSelect/RichSelect.js.html} +256 -334
  79. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.html +146 -0
  80. package/src/artifacts/coverage-jest/lcov-report/RichSelect/index.js.html +91 -0
  81. package/src/artifacts/coverage-jest/lcov-report/RichSelect/useSelectedOption.js.html +127 -0
  82. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/SASQLookupComponent.js.html +52 -7
  83. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/TableBody.js.html +31 -4
  84. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.html +3 -3
  85. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/TableBody/index.js.html +1 -1
  86. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.html +7 -7
  87. package/src/artifacts/coverage-jest/lcov-report/SASQLookupComponent/index.js.html +1 -1
  88. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/SASQRoute.js.html +1 -1
  89. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.html +1 -1
  90. package/src/artifacts/coverage-jest/lcov-report/SASQRoute/index.js.html +1 -1
  91. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/SASQViewComponent.js.html +1 -1
  92. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.html +1 -1
  93. package/src/artifacts/coverage-jest/lcov-report/SASQViewComponent/index.js.html +1 -1
  94. package/src/artifacts/coverage-jest/lcov-report/SearchField/SearchField.js.html +1 -1
  95. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.html +1 -1
  96. package/src/artifacts/coverage-jest/lcov-report/SearchField/index.js.html +1 -1
  97. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPage.js.html +24 -27
  98. package/src/artifacts/coverage-jest/lcov-report/SettingPage/SettingPagePane.js.html +47 -17
  99. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.html +22 -22
  100. package/src/artifacts/coverage-jest/lcov-report/SettingPage/index.js.html +1 -1
  101. package/src/artifacts/coverage-jest/lcov-report/Typedown/Typedown.js.html +1 -1
  102. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.html +1 -1
  103. package/src/artifacts/coverage-jest/lcov-report/Typedown/index.js.html +1 -1
  104. package/src/artifacts/coverage-jest/lcov-report/constants/customProperties.js.html +1 -1
  105. package/src/artifacts/coverage-jest/lcov-report/constants/eventCodes.js.html +1 -1
  106. package/src/artifacts/coverage-jest/lcov-report/constants/index.html +1 -1
  107. package/src/artifacts/coverage-jest/lcov-report/contexts/SettingsContext.js.html +2 -2
  108. package/src/artifacts/coverage-jest/lcov-report/contexts/index.html +1 -1
  109. package/src/artifacts/coverage-jest/lcov-report/contexts/index.js.html +1 -1
  110. package/src/artifacts/coverage-jest/lcov-report/favicon.png +0 -0
  111. package/src/artifacts/coverage-jest/lcov-report/hooks/index.html +142 -97
  112. package/src/artifacts/coverage-jest/lcov-report/hooks/index.js.html +13 -4
  113. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.html +35 -20
  114. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/index.js.html +5 -2
  115. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useAppSettings.js.html +7 -7
  116. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettingSection.js.html +7 -7
  117. package/src/artifacts/coverage-jest/lcov-report/hooks/settingsHooks/useSettings.js.html +61 -22
  118. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.html +1 -1
  119. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/index.js.html +1 -1
  120. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedown.js.html +1 -1
  121. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownData.js.html +1 -1
  122. package/src/artifacts/coverage-jest/lcov-report/hooks/typedownHooks/useTypedownToggle.js.html +1 -1
  123. package/src/artifacts/coverage-jest/lcov-report/hooks/useActiveElement.js.html +7 -7
  124. package/src/artifacts/coverage-jest/lcov-report/hooks/useCustomProperties.js.html +19 -22
  125. package/src/artifacts/coverage-jest/lcov-report/hooks/useHelperApp.js.html +7 -7
  126. package/src/artifacts/coverage-jest/lcov-report/hooks/useIntlKey.js.html +151 -0
  127. package/src/artifacts/coverage-jest/lcov-report/{utils/renderHelpText.js.html → hooks/useIntlKeyStore.js.html} +71 -38
  128. package/src/artifacts/coverage-jest/lcov-report/hooks/useInvalidateRefdata.js.html +7 -7
  129. package/src/artifacts/coverage-jest/lcov-report/hooks/useKintIntl.js.html +238 -0
  130. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtFieldArray.js.html +7 -7
  131. package/src/artifacts/coverage-jest/lcov-report/hooks/useKiwtSASQuery.js.html +9 -9
  132. package/src/artifacts/coverage-jest/lcov-report/hooks/useLocalStorageState.js.html +7 -7
  133. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateCustomProperties.js.html +23 -11
  134. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataCategory.js.html +274 -0
  135. package/src/artifacts/coverage-jest/lcov-report/hooks/useMutateRefdataValue.js.html +19 -10
  136. package/src/artifacts/coverage-jest/lcov-report/hooks/useQIndex.js.html +7 -7
  137. package/src/artifacts/coverage-jest/lcov-report/hooks/useRefdata.js.html +9 -9
  138. package/src/artifacts/coverage-jest/lcov-report/hooks/useTemplates.js.html +7 -7
  139. package/src/artifacts/coverage-jest/lcov-report/index.html +205 -130
  140. package/src/artifacts/coverage-jest/lcov-report/sort-arrow-sprite.png +0 -0
  141. package/src/artifacts/coverage-jest/lcov-report/utils/buildUrl.js.html +1 -1
  142. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQuery.js.html +2 -2
  143. package/src/artifacts/coverage-jest/lcov-report/utils/generateKiwtQueryParams.js.html +2 -2
  144. package/src/artifacts/coverage-jest/lcov-report/utils/groupCustomPropertiesByCtx.js.html +7 -7
  145. package/src/artifacts/coverage-jest/lcov-report/utils/highlightString.js.html +3 -3
  146. package/src/artifacts/coverage-jest/lcov-report/utils/index.html +34 -34
  147. package/src/artifacts/coverage-jest/lcov-report/utils/index.js.html +42 -3
  148. package/src/artifacts/coverage-jest/lcov-report/utils/matchString.js.html +2 -2
  149. package/src/artifacts/coverage-jest/lcov-report/utils/parseErrorResponse.js.html +139 -0
  150. package/src/artifacts/coverage-jest/lcov-report/utils/refdataOptions.js.html +5 -2
  151. package/src/artifacts/coverage-jest/lcov-report/utils/refdataQueryKey.js.html +2 -2
  152. package/src/artifacts/coverage-jest/lcov-report/utils/selectorSafe.js.html +2 -2
  153. package/src/artifacts/coverage-jest/lcov-report/utils/sortByLabel.js.html +2 -2
  154. package/src/artifacts/coverage-jest/lcov-report/utils/toCamelCase.js.html +2 -2
  155. package/src/artifacts/coverage-jest/lcov-report/utils/typedownQueryKey.js.html +2 -2
  156. package/src/artifacts/coverage-jest/lcov-report/utils/validators.js.html +128 -80
  157. package/src/artifacts/coverage-jest/lcov.info +2603 -2086
  158. package/src/lib/CustomProperties/Config/CustomPropertiesSettings.js +1 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">42.02% </span>
26
+ <span class="strong">54.65% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>29/69</span>
28
+ <span class='fraction'>47/86</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">36.58% </span>
33
+ <span class="strong">48.33% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>15/41</span>
35
+ <span class='fraction'>29/60</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">35% </span>
40
+ <span class="strong">50% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/20</span>
42
+ <span class='fraction'>11/22</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">44.61% </span>
47
+ <span class="strong">57.31% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>29/65</span>
49
+ <span class='fraction'>47/82</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line low'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -390,7 +390,110 @@
390
390
  <a name='L325'></a><a href='#L325'>325</a>
391
391
  <a name='L326'></a><a href='#L326'>326</a>
392
392
  <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a></td><td class="line-coverage quiet"><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>
394
497
  <span class="cline-any cline-neutral">&nbsp;</span>
395
498
  <span class="cline-any cline-neutral">&nbsp;</span>
396
499
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -422,13 +525,67 @@
422
525
  <span class="cline-any cline-neutral">&nbsp;</span>
423
526
  <span class="cline-any cline-neutral">&nbsp;</span>
424
527
  <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-yes">7x</span>
426
528
  <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-yes">7x</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-yes">14x</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-yes">14x</span>
534
+ <span class="cline-any cline-yes">12x</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-yes">12x</span>
428
537
  <span class="cline-any cline-no">&nbsp;</span>
429
538
  <span class="cline-any cline-neutral">&nbsp;</span>
430
539
  <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-yes">7x</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-no">&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-no">&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-yes">12x</span>
558
+ <span class="cline-any cline-no">&nbsp;</span>
559
+ <span class="cline-any cline-no">&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-yes">12x</span>
567
+ <span class="cline-any cline-no">&nbsp;</span>
568
+ <span class="cline-any cline-no">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-no">&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-yes">12x</span>
578
+ <span class="cline-any cline-no">&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-yes">12x</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-yes">14x</span>
585
+ <span class="cline-any cline-no">&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-yes">14x</span>
432
589
  <span class="cline-any cline-no">&nbsp;</span>
433
590
  <span class="cline-any cline-neutral">&nbsp;</span>
434
591
  <span class="cline-any cline-no">&nbsp;</span>
@@ -456,6 +613,8 @@
456
613
  <span class="cline-any cline-neutral">&nbsp;</span>
457
614
  <span class="cline-any cline-neutral">&nbsp;</span>
458
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>
459
618
  <span class="cline-any cline-no">&nbsp;</span>
460
619
  <span class="cline-any cline-neutral">&nbsp;</span>
461
620
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -483,13 +642,13 @@
483
642
  <span class="cline-any cline-neutral">&nbsp;</span>
484
643
  <span class="cline-any cline-neutral">&nbsp;</span>
485
644
  <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-yes">7x</span>
487
- <span class="cline-any cline-yes">7x</span>
488
- <span class="cline-any cline-yes">7x</span>
489
- <span class="cline-any cline-yes">7x</span>
645
+ <span class="cline-any cline-yes">14x</span>
646
+ <span class="cline-any cline-yes">14x</span>
647
+ <span class="cline-any cline-yes">14x</span>
648
+ <span class="cline-any cline-yes">14x</span>
490
649
  <span class="cline-any cline-neutral">&nbsp;</span>
491
650
  <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-yes">7x</span>
651
+ <span class="cline-any cline-yes">14x</span>
493
652
  <span class="cline-any cline-no">&nbsp;</span>
494
653
  <span class="cline-any cline-neutral">&nbsp;</span>
495
654
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -502,7 +661,7 @@
502
661
  <span class="cline-any cline-neutral">&nbsp;</span>
503
662
  <span class="cline-any cline-neutral">&nbsp;</span>
504
663
  <span class="cline-any cline-neutral">&nbsp;</span>
505
- <span class="cline-any cline-yes">7x</span>
664
+ <span class="cline-any cline-yes">14x</span>
506
665
  <span class="cline-any cline-neutral">&nbsp;</span>
507
666
  <span class="cline-any cline-yes">7x</span>
508
667
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -511,15 +670,15 @@
511
670
  <span class="cline-any cline-neutral">&nbsp;</span>
512
671
  <span class="cline-any cline-yes">7x</span>
513
672
  <span class="cline-any cline-neutral">&nbsp;</span>
514
- <span class="cline-any cline-no">&nbsp;</span>
673
+ <span class="cline-any cline-yes">3x</span>
515
674
  <span class="cline-any cline-neutral">&nbsp;</span>
516
675
  <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-no">&nbsp;</span>
676
+ <span class="cline-any cline-yes">15x</span>
518
677
  <span class="cline-any cline-neutral">&nbsp;</span>
519
678
  <span class="cline-any cline-neutral">&nbsp;</span>
520
679
  <span class="cline-any cline-neutral">&nbsp;</span>
521
- <span class="cline-any cline-no">&nbsp;</span>
522
- <span class="cline-any cline-no">&nbsp;</span>
680
+ <span class="cline-any cline-yes">3x</span>
681
+ <span class="cline-any cline-yes">4x</span>
523
682
  <span class="cline-any cline-neutral">&nbsp;</span>
524
683
  <span class="cline-any cline-neutral">&nbsp;</span>
525
684
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -528,21 +687,20 @@
528
687
  <span class="cline-any cline-neutral">&nbsp;</span>
529
688
  <span class="cline-any cline-neutral">&nbsp;</span>
530
689
  <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-no">&nbsp;</span>
690
+ <span class="cline-any cline-yes">3x</span>
532
691
  <span class="cline-any cline-neutral">&nbsp;</span>
533
692
  <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-no">&nbsp;</span>
693
+ <span class="cline-any cline-yes">2x</span>
535
694
  <span class="cline-any cline-neutral">&nbsp;</span>
536
695
  <span class="cline-any cline-neutral">&nbsp;</span>
537
696
  <span class="cline-any cline-neutral">&nbsp;</span>
538
697
  <span class="cline-any cline-neutral">&nbsp;</span>
539
698
  <span class="cline-any cline-neutral">&nbsp;</span>
540
699
  <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-yes">2x</span>
541
701
  <span class="cline-any cline-neutral">&nbsp;</span>
542
702
  <span class="cline-any cline-neutral">&nbsp;</span>
543
703
  <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-no">&nbsp;</span>
545
- <span class="cline-any cline-no">&nbsp;</span>
546
704
  <span class="cline-any cline-neutral">&nbsp;</span>
547
705
  <span class="cline-any cline-neutral">&nbsp;</span>
548
706
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -551,27 +709,39 @@
551
709
  <span class="cline-any cline-neutral">&nbsp;</span>
552
710
  <span class="cline-any cline-neutral">&nbsp;</span>
553
711
  <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-no">&nbsp;</span>
555
712
  <span class="cline-any cline-neutral">&nbsp;</span>
713
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
+ <span class="cline-any cline-yes">2x</span>
556
715
  <span class="cline-any cline-no">&nbsp;</span>
557
716
  <span class="cline-any cline-neutral">&nbsp;</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-yes">2x</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
726
  <span class="cline-any cline-no">&nbsp;</span>
559
727
  <span class="cline-any cline-neutral">&nbsp;</span>
560
728
  <span class="cline-any cline-no">&nbsp;</span>
561
729
  <span class="cline-any cline-neutral">&nbsp;</span>
562
730
  <span class="cline-any cline-no">&nbsp;</span>
563
731
  <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-yes">2x</span>
564
733
  <span class="cline-any cline-neutral">&nbsp;</span>
565
734
  <span class="cline-any cline-neutral">&nbsp;</span>
566
735
  <span class="cline-any cline-neutral">&nbsp;</span>
567
736
  <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-no">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-yes">2x</span>
569
739
  <span class="cline-any cline-neutral">&nbsp;</span>
570
740
  <span class="cline-any cline-no">&nbsp;</span>
571
741
  <span class="cline-any cline-no">&nbsp;</span>
572
742
  <span class="cline-any cline-neutral">&nbsp;</span>
573
743
  <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-yes">7x</span>
744
+ <span class="cline-any cline-yes">14x</span>
575
745
  <span class="cline-any cline-neutral">&nbsp;</span>
576
746
  <span class="cline-any cline-neutral">&nbsp;</span>
577
747
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -582,17 +752,18 @@
582
752
  <span class="cline-any cline-neutral">&nbsp;</span>
583
753
  <span class="cline-any cline-neutral">&nbsp;</span>
584
754
  <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-yes">7x</span>
586
755
  <span class="cline-any cline-neutral">&nbsp;</span>
587
756
  <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-yes">12x</span>
588
758
  <span class="cline-any cline-neutral">&nbsp;</span>
589
759
  <span class="cline-any cline-neutral">&nbsp;</span>
590
760
  <span class="cline-any cline-neutral">&nbsp;</span>
591
761
  <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-yes">7x</span>
593
- <span class="cline-any cline-yes">7x</span>
594
762
  <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-yes">7x</span>
763
+ <span class="cline-any cline-yes">14x</span>
764
+ <span class="cline-any cline-yes">14x</span>
765
+ <span class="cline-any cline-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-yes">14x</span>
596
767
  <span class="cline-any cline-no">&nbsp;</span>
597
768
  <span class="cline-any cline-neutral">&nbsp;</span>
598
769
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -602,7 +773,7 @@
602
773
  <span class="cline-any cline-neutral">&nbsp;</span>
603
774
  <span class="cline-any cline-neutral">&nbsp;</span>
604
775
  <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-yes">7x</span>
776
+ <span class="cline-any cline-yes">14x</span>
606
777
  <span class="cline-any cline-neutral">&nbsp;</span>
607
778
  <span class="cline-any cline-neutral">&nbsp;</span>
608
779
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -620,10 +791,24 @@
620
791
  <span class="cline-any cline-neutral">&nbsp;</span>
621
792
  <span class="cline-any cline-neutral">&nbsp;</span>
622
793
  <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-yes">7x</span>
624
- <span class="cline-any cline-yes">7x</span>
625
794
  <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-yes">7x</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-neutral">&nbsp;</span>
800
+ <span class="cline-any cline-neutral">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-neutral">&nbsp;</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-yes">14x</span>
809
+ <span class="cline-any cline-yes">14x</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-yes">14x</span>
627
812
  <span class="cline-any cline-no">&nbsp;</span>
628
813
  <span class="cline-any cline-neutral">&nbsp;</span>
629
814
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -633,7 +818,7 @@
633
818
  <span class="cline-any cline-neutral">&nbsp;</span>
634
819
  <span class="cline-any cline-neutral">&nbsp;</span>
635
820
  <span class="cline-any cline-neutral">&nbsp;</span>
636
- <span class="cline-any cline-yes">7x</span>
821
+ <span class="cline-any cline-yes">14x</span>
637
822
  <span class="cline-any cline-neutral">&nbsp;</span>
638
823
  <span class="cline-any cline-neutral">&nbsp;</span>
639
824
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -646,10 +831,13 @@
646
831
  <span class="cline-any cline-neutral">&nbsp;</span>
647
832
  <span class="cline-any cline-neutral">&nbsp;</span>
648
833
  <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-yes">7x</span>
650
- <span class="cline-any cline-yes">7x</span>
651
834
  <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-yes">7x</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-yes">14x</span>
838
+ <span class="cline-any cline-yes">14x</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-yes">14x</span>
653
841
  <span class="cline-any cline-no">&nbsp;</span>
654
842
  <span class="cline-any cline-neutral">&nbsp;</span>
655
843
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -659,7 +847,8 @@
659
847
  <span class="cline-any cline-neutral">&nbsp;</span>
660
848
  <span class="cline-any cline-neutral">&nbsp;</span>
661
849
  <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-yes">7x</span>
850
+ <span class="cline-any cline-yes">14x</span>
851
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
852
  <span class="cline-any cline-neutral">&nbsp;</span>
664
853
  <span class="cline-any cline-neutral">&nbsp;</span>
665
854
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -673,7 +862,12 @@
673
862
  <span class="cline-any cline-neutral">&nbsp;</span>
674
863
  <span class="cline-any cline-neutral">&nbsp;</span>
675
864
  <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-yes">7x</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-yes">14x</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
677
871
  <span class="cline-any cline-neutral">&nbsp;</span>
678
872
  <span class="cline-any cline-neutral">&nbsp;</span>
679
873
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -717,11 +911,11 @@
717
911
  <span class="cline-any cline-neutral">&nbsp;</span>
718
912
  <span class="cline-any cline-neutral">&nbsp;</span>
719
913
  <span class="cline-any cline-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-neutral">&nbsp;</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
916
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import PropTypes from 'prop-types';
721
917
  &nbsp;
722
- import { FormattedMessage, useIntl } from 'react-intl';
723
- &nbsp;
724
- import { Field, useFormState } from 'react-final-form';
918
+ import { Field } from 'react-final-form';
725
919
  &nbsp;
726
920
  import {
727
921
  Col,
@@ -735,7 +929,14 @@ import {
735
929
  &nbsp;
736
930
  import * as CUSTOM_PROPERTY_TYPES from '../../constants/customProperties';
737
931
  &nbsp;
738
- import { customPropertyValidator } from '../../utils/validators';
932
+ import { useKintIntl } from '../../hooks';
933
+ &nbsp;
934
+ import {
935
+ composeValidatorsWithArgs,
936
+ invalidNumber,
937
+ rangeOverflow,
938
+ rangeUnderflow
939
+ } from '../../utils';
739
940
  &nbsp;
740
941
  const CustomPropertyField = ({
741
942
  availableCustomProperties,
@@ -743,13 +944,67 @@ const CustomPropertyField = ({
743
944
  customPropertyType,
744
945
  customProperties,
745
946
  index,
746
- labelOverrides,
947
+ intlKey: passedIntlKey,
948
+ intlNS: passedIntlNS,
949
+ labelOverrides = {},
747
950
  name,
748
951
  onChange,
749
952
  value,
750
953
  setCustomProperties
751
954
  }) =&gt; {
752
- const intl = useIntl();
955
+ const kintIntl = useKintIntl(passedIntlKey, passedIntlNS);
956
+ &nbsp;
957
+ // Set up the validator for the customProperty
958
+ const customPropertyValidator = (fieldValue, allValues) =&gt; {
959
+ const { note, publicNote, value: currentValue } = allValues?.customProperties?.[customProperty?.value]?.[0] ?? {};
960
+ &nbsp;
961
+ <span class="missing-if-branch" title="if path not taken" >I</span>if ((note &amp;&amp; !currentValue) || (publicNote &amp;&amp; !currentValue)) {
962
+ <span class="cstat-no" title="statement not covered" > if (</span>
963
+ customProperty.type === CUSTOM_PROPERTY_TYPES.DECIMAL_CLASS_NAME ||
964
+ customProperty.type === CUSTOM_PROPERTY_TYPES.INTEGER_CLASS_NAME
965
+ ) {
966
+ <span class="cstat-no" title="statement not covered" > return (</span>
967
+ kintIntl.formatKintMessage({
968
+ id: 'customProperties.errors.customPropertyNoteInvalidNumber',
969
+ overrideValue: labelOverrides.customPropertyNoteInvalidNumberError
970
+ })
971
+ );
972
+ } else {
973
+ <span class="cstat-no" title="statement not covered" > return (</span>
974
+ kintIntl.formatKintMessage({
975
+ id: 'customProperties.errors.customPropertyNoteWithoutValue',
976
+ overrideValue: labelOverrides.customPropertyNoteWithoutValueError
977
+ })
978
+ );
979
+ }
980
+ }
981
+ &nbsp;
982
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (customProperty.type === CUSTOM_PROPERTY_TYPES.DECIMAL_CLASS_NAME) {
983
+ const regexp = <span class="cstat-no" title="statement not covered" >/^-?[\d]*(\.[\d]{0,2})?$/;</span>
984
+ <span class="cstat-no" title="statement not covered" > return (fieldValue &amp;&amp; !regexp.test(fieldValue)) ?</span>
985
+ kintIntl.formatKintMessage({
986
+ id: 'errors.maxTwoDecimals',
987
+ overrideValue: labelOverrides.maxTwoDecimalsError
988
+ }) : undefined;
989
+ }
990
+ &nbsp;
991
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (customProperty.type === CUSTOM_PROPERTY_TYPES.INTEGER_CLASS_NAME) {
992
+ const min = <span class="cstat-no" title="statement not covered" >Number.MIN_SAFE_INTEGER;</span>
993
+ const max = <span class="cstat-no" title="statement not covered" >Number.MAX_SAFE_INTEGER;</span>
994
+ &nbsp;
995
+ <span class="cstat-no" title="statement not covered" > return (fieldValue &amp;&amp; !Number.isInteger(+fieldValue)) ?</span>
996
+ kintIntl.formatKintMessage({
997
+ id: 'errors.valueNotInRange',
998
+ overrideValue: labelOverrides.valueNotInRangeError
999
+ }, { min, max }) : undefined;
1000
+ }
1001
+ &nbsp;
1002
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!customProperty.primary &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >!currentValue)</span> {
1003
+ <span class="cstat-no" title="statement not covered" > return kintIntl.formatMessage({ id: 'stripes-core.label.missingRequiredField' });</span>
1004
+ }
1005
+ &nbsp;
1006
+ return undefined;
1007
+ };
753
1008
  &nbsp;
754
1009
  const getCustomProperty = <span class="fstat-no" title="function not covered" >(c</span>ustomPropertyValue) =&gt; {
755
1010
  <span class="cstat-no" title="statement not covered" > return availableCustomProperties.find(<span class="fstat-no" title="function not covered" >cp</span> =&gt; <span class="cstat-no" title="statement not covered" >cp.value === customPropertyValue)</span>;</span>
@@ -779,8 +1034,10 @@ const CustomPropertyField = ({
779
1034
  dataOptions={[customProperty, ...unsetCustomProperties]} // The selected customProperty, and the available unset customProperties
780
1035
  id={`edit-customproperty-${index}-name`}
781
1036
  label={
782
- labelOverrides.name ??
783
- &lt;FormattedMessage id="stripes-kint-components.customProperty.name" /&gt;
1037
+ kintIntl.formatKintMessage({
1038
+ id: 'customProperties.name',
1039
+ overrideValue: labelOverrides.name
1040
+ })
784
1041
  }
785
1042
  onChange={<span class="fstat-no" title="function not covered" >e </span>=&gt; {
786
1043
  const newValue = <span class="cstat-no" title="statement not covered" >e.target.value;</span>
@@ -811,7 +1068,7 @@ const CustomPropertyField = ({
811
1068
  };
812
1069
  &nbsp;
813
1070
  const renderCustomPropertyValue = () =&gt; {
814
- const currentValue = value[customProperty.value] ? value[customProperty.value][0] : <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
1071
+ const currentValue = value[customProperty.value] ? value[customProperty.value][0] : {};
815
1072
  const min = Number.MIN_SAFE_INTEGER;
816
1073
  const max = Number.MAX_SAFE_INTEGER;
817
1074
  &nbsp;
@@ -837,38 +1094,49 @@ const CustomPropertyField = ({
837
1094
  format: (v) =&gt; v?.value,
838
1095
  };
839
1096
  break;
840
- <span class="branch-1 cbranch-no" title="branch not covered" > case CUSTOM_PROPERTY_TYPES.MULTI_REFDATA_CLASS_NAME:</span>
841
- <span class="cstat-no" title="statement not covered" > fieldProps = {</span>
1097
+ case CUSTOM_PROPERTY_TYPES.MULTI_REFDATA_CLASS_NAME:
1098
+ fieldProps = {
842
1099
  component: MultiSelection,
843
1100
  // The "not set" value is not relevant for a multi select
844
- dataOptions: customProperty.options?.filter(<span class="fstat-no" title="function not covered" >op</span>t =&gt; <span class="cstat-no" title="statement not covered" >!!opt?.value)</span>,
1101
+ dataOptions: customProperty.options?.filter(opt =&gt; !!opt?.value),
845
1102
  renderToOverlay: true
846
1103
  };
847
1104
  // MultiSelection passes the changed array as a value not an event
848
- <span class="cstat-no" title="statement not covered" > handleChange = <span class="fstat-no" title="function not covered" >re</span>fdataArray =&gt; {</span>
849
- <span class="cstat-no" title="statement not covered" > onChange({</span>
1105
+ handleChange = refdataArray =&gt; {
1106
+ onChange({
850
1107
  ...value,
851
1108
  [customProperty.value]: [{
852
1109
  ...currentValue,
853
- _delete: refdataArray?.length === 0 ? true : undefined, // Delete customProperty if removing all values.
1110
+ _delete: refdataArray?.length === 0 ? <span class="branch-0 cbranch-no" title="branch not covered" >true </span>: undefined, // Delete customProperty if removing all values.
854
1111
  value: refdataArray
855
1112
  }]
856
1113
  });
857
1114
  };
858
- <span class="cstat-no" title="statement not covered" > break;</span>
859
- <span class="branch-2 cbranch-no" title="branch not covered" > case CUSTOM_PROPERTY_TYPES.INTEGER_CLASS_NAME:</span>
860
- <span class="branch-3 cbranch-no" title="branch not covered" > case CUSTOM_PROPERTY_TYPES.DECIMAL_CLASS_NAME:</span>
861
- <span class="cstat-no" title="statement not covered" > fieldProps = {</span>
862
- badInput: intl.formatMessage({ id: 'stripes-kint-components.errors.customPropertyInvalidNumber' }),
1115
+ break;
1116
+ case CUSTOM_PROPERTY_TYPES.INTEGER_CLASS_NAME:
1117
+ case CUSTOM_PROPERTY_TYPES.DECIMAL_CLASS_NAME:
1118
+ fieldProps = {
863
1119
  component: TextField,
864
1120
  max,
865
1121
  min,
866
- rangeOverflow: intl.formatMessage({ id: 'stripes-kint-components.errors.customPropertyDecimalValueNotInRange' }, { min, max }),
867
- rangeUnderflow: intl.formatMessage({ id: 'stripes-kint-components.errors.customPropertyDecimalValueNotInRange' }, { min, max }),
868
1122
  step: 'any',
869
1123
  type: 'number',
1124
+ validate: (validateValue) =&gt; {
1125
+ return composeValidatorsWithArgs(
1126
+ invalidNumber,
1127
+ rangeOverflow,
1128
+ rangeUnderflow
1129
+ )(
1130
+ validateValue,
1131
+ min,
1132
+ max,
1133
+ passedIntlKey,
1134
+ passedIntlNS,
1135
+ labelOverrides
1136
+ );
1137
+ }
870
1138
  };
871
- <span class="cstat-no" title="statement not covered" > handleChange = <span class="fstat-no" title="function not covered" >e </span>=&gt; {</span>
1139
+ handleChange = <span class="fstat-no" title="function not covered" >e </span>=&gt; {
872
1140
  <span class="cstat-no" title="statement not covered" > onChange({</span>
873
1141
  ...value,
874
1142
  [customProperty.value]: [{
@@ -878,21 +1146,21 @@ const CustomPropertyField = ({
878
1146
  }],
879
1147
  });
880
1148
  };
881
- <span class="cstat-no" title="statement not covered" > break;</span>
1149
+ break;
882
1150
  <span class="branch-4 cbranch-no" title="branch not covered" > case CUSTOM_PROPERTY_TYPES.TEXT_CLASS_NAME:</span>
883
1151
  <span class="cstat-no" title="statement not covered" > fieldProps = {</span>
884
1152
  component: TextArea,
885
1153
  parse: <span class="fstat-no" title="function not covered" >v </span>=&gt; <span class="cstat-no" title="statement not covered" >v </span> // Lets us send an empty string instead of `undefined`
886
1154
  };
887
1155
  <span class="cstat-no" title="statement not covered" > break;</span>
888
- <span class="branch-5 cbranch-no" title="branch not covered" > case CUSTOM_PROPERTY_TYPES.DATE_CLASS_NAME:</span>
889
- <span class="cstat-no" title="statement not covered" > fieldProps = {</span>
1156
+ case CUSTOM_PROPERTY_TYPES.DATE_CLASS_NAME:
1157
+ fieldProps = {
890
1158
  component: Datepicker,
891
1159
  backendDateStandard: 'YYYY-MM-DD',
892
1160
  timeZone: 'UTC',
893
1161
  usePortal: true
894
1162
  };
895
- <span class="cstat-no" title="statement not covered" > break;</span>
1163
+ break;
896
1164
  <span class="branch-6 cbranch-no" title="branch not covered" > default:</span>
897
1165
  <span class="cstat-no" title="statement not covered" > fieldProps = { component: TextField };</span>
898
1166
  <span class="cstat-no" title="statement not covered" > break;</span>
@@ -903,21 +1171,22 @@ const CustomPropertyField = ({
903
1171
  data-test-customproperty-value
904
1172
  id={`edit-customproperty-${index}-value`}
905
1173
  label={
906
- labelOverrides.value ??
907
- &lt;FormattedMessage id="stripes-kint-components.customProperty.value" /&gt;
1174
+ kintIntl.formatKintMessage({
1175
+ id: 'customProperties.value',
1176
+ overrideValue: labelOverrides.value
1177
+ })
908
1178
  }
909
1179
  name={`${name}.${customProperty.value}[0].value`}
910
1180
  onChange={handleChange}
911
1181
  required={!customProperty.primary}
912
- validate={(fieldValue, allValues) =&gt; customPropertyValidator(fieldValue, allValues, customProperty)}
913
- valueMissing={intl.formatMessage({ id: 'stripes-core.label.missingRequiredField' })}
1182
+ validate={(fieldValue, allValues) =&gt; customPropertyValidator(fieldValue, allValues)}
914
1183
  {...fieldProps}
915
1184
  /&gt;
916
1185
  );
917
1186
  };
918
1187
  &nbsp;
919
1188
  const renderCustomPropertyVisibility = () =&gt; {
920
- const customPropertyObject = value[customProperty.value]?.[0] ?? <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
1189
+ const customPropertyObject = value[customProperty.value]?.[0] ?? {};
921
1190
  &nbsp;
922
1191
  const handleChange = <span class="fstat-no" title="function not covered" >e </span>=&gt; {
923
1192
  <span class="cstat-no" title="statement not covered" > onChange({</span>
@@ -933,22 +1202,36 @@ const CustomPropertyField = ({
933
1202
  &lt;Select
934
1203
  data-test-customproperty-visibility
935
1204
  dataOptions={[
936
- { value: true, label: intl.formatMessage({ id: 'stripes-kint-components.customProperty.internalTrue' }) },
937
- { value: false, label: intl.formatMessage({ id: 'stripes-kint-components.customProperty.internalFalse' }) }
1205
+ {
1206
+ value: true,
1207
+ label: kintIntl.formatKintMessage({
1208
+ id: 'customProperties.internalTrue',
1209
+ overrideValue: labelOverrides.internalTrue
1210
+ })
1211
+ },
1212
+ {
1213
+ value: false,
1214
+ label: kintIntl.formatKintMessage({
1215
+ id: 'customProperties.internalFalse',
1216
+ overrideValue: labelOverrides.internalFalse
1217
+ })
1218
+ }
938
1219
  ]}
939
1220
  id={`edit-customproperty-${index}-visibility`}
940
1221
  label={
941
- labelOverrides.visibility ??
942
- &lt;FormattedMessage id="stripes-kint-components.customProperty.visibility" /&gt;
1222
+ kintIntl.formatKintMessage({
1223
+ id: 'customProperties.visibility',
1224
+ overrideValue: labelOverrides.visibility
1225
+ })
943
1226
  }
944
1227
  onChange={handleChange}
945
- value={customPropertyObject?.internal ?? <span class="branch-1 cbranch-no" title="branch not covered" >customProperty.defaultInternal}</span>
1228
+ value={customPropertyObject?.internal ?? customProperty.defaultInternal}
946
1229
  /&gt;
947
1230
  );
948
1231
  };
949
1232
  &nbsp;
950
1233
  const renderCustomPropertyNoteInternal = () =&gt; {
951
- const customPropertyObject = value[customProperty.value]?.[0] ?? <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
1234
+ const customPropertyObject = value[customProperty.value]?.[0] ?? {};
952
1235
  &nbsp;
953
1236
  const handleChange = <span class="fstat-no" title="function not covered" >e </span>=&gt; {
954
1237
  <span class="cstat-no" title="statement not covered" > onChange({</span>
@@ -965,8 +1248,11 @@ const CustomPropertyField = ({
965
1248
  data-test-customproperty-note
966
1249
  id={`edit-customproperty-${index}-internal-note`}
967
1250
  label={
968
- labelOverrides.internalNote ??
969
- &lt;FormattedMessage id="stripes-kint-components.customProperty.internalNote" /&gt;}
1251
+ kintIntl.formatKintMessage({
1252
+ id: 'customProperties.internalNote',
1253
+ overrideValue: labelOverrides.internalNote
1254
+ })
1255
+ }
970
1256
  onChange={handleChange}
971
1257
  value={customPropertyObject?.note}
972
1258
  /&gt;
@@ -974,7 +1260,7 @@ const CustomPropertyField = ({
974
1260
  };
975
1261
  &nbsp;
976
1262
  const renderCustomPropertyNotePublic = () =&gt; {
977
- const customPropertyObject = value[customProperty.value]?.[0] ?? <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
1263
+ const customPropertyObject = value[customProperty.value]?.[0] ?? {};
978
1264
  &nbsp;
979
1265
  const handleChange = <span class="fstat-no" title="function not covered" >e </span>=&gt; {
980
1266
  <span class="cstat-no" title="statement not covered" > onChange({</span>
@@ -991,8 +1277,10 @@ const CustomPropertyField = ({
991
1277
  data-test-customproperty-public-note
992
1278
  id={`edit-customproperty-${index}-public-note`}
993
1279
  label={
994
- labelOverrides.publicNote ??
995
- &lt;FormattedMessage id="stripes-kint-components.customProperty.publicNote" /&gt;
1280
+ kintIntl.formatKintMessage({
1281
+ id: 'customProperties.publicNote',
1282
+ overrideValue: labelOverrides.publicNote
1283
+ })
996
1284
  }
997
1285
  onChange={handleChange}
998
1286
  value={customPropertyObject?.publicNote}
@@ -1002,7 +1290,10 @@ const CustomPropertyField = ({
1002
1290
  &nbsp;
1003
1291
  return (
1004
1292
  &lt;&gt;
1005
- {
1293
+ &lt;div
1294
+ data-testid="customPropertyField"
1295
+ &gt;
1296
+ {
1006
1297
  customPropertyType === 'optional' &amp;&amp;
1007
1298
  <span class="branch-1 cbranch-no" title="branch not covered" > &lt;Row&gt;</span>
1008
1299
  &lt;Col xs={12}&gt;
@@ -1010,22 +1301,23 @@ const CustomPropertyField = ({
1010
1301
  &lt;/Col&gt;
1011
1302
  &lt;/Row&gt;
1012
1303
  }
1013
- &lt;Row&gt;
1014
- &lt;Col md={6} xs={12}&gt;
1015
- {renderCustomPropertyValue()}
1016
- &lt;/Col&gt;
1017
- &lt;Col md={6} xs={12}&gt;
1018
- {renderCustomPropertyNoteInternal()}
1019
- &lt;/Col&gt;
1020
- &lt;/Row&gt;
1021
- &lt;Row&gt;
1022
- &lt;Col md={6} xs={12}&gt;
1023
- {renderCustomPropertyVisibility()}
1024
- &lt;/Col&gt;
1025
- &lt;Col md={6} xs={12}&gt;
1026
- {renderCustomPropertyNotePublic()}
1027
- &lt;/Col&gt;
1028
- &lt;/Row&gt;
1304
+ &lt;Row&gt;
1305
+ &lt;Col md={6} xs={12}&gt;
1306
+ {renderCustomPropertyValue()}
1307
+ &lt;/Col&gt;
1308
+ &lt;Col md={6} xs={12}&gt;
1309
+ {renderCustomPropertyNoteInternal()}
1310
+ &lt;/Col&gt;
1311
+ &lt;/Row&gt;
1312
+ &lt;Row&gt;
1313
+ &lt;Col md={6} xs={12}&gt;
1314
+ {renderCustomPropertyVisibility()}
1315
+ &lt;/Col&gt;
1316
+ &lt;Col md={6} xs={12}&gt;
1317
+ {renderCustomPropertyNotePublic()}
1318
+ &lt;/Col&gt;
1319
+ &lt;/Row&gt;
1320
+ &lt;/div&gt;
1029
1321
  &lt;/&gt;
1030
1322
  );
1031
1323
  };
@@ -1036,6 +1328,8 @@ CustomPropertyField.propTypes = {
1036
1328
  customPropertyType: PropTypes.string,
1037
1329
  customProperties: PropTypes.arrayOf(PropTypes.object),
1038
1330
  index: PropTypes.number,
1331
+ intlKey: PropTypes.string,
1332
+ intlNS: PropTypes.string,
1039
1333
  labelOverrides: PropTypes.object,
1040
1334
  name: PropTypes.string,
1041
1335
  onChange: PropTypes.func,
@@ -1051,7 +1345,7 @@ export default CustomPropertyField;
1051
1345
  <div class='footer quiet pad2 space-top1 center small'>
1052
1346
  Code coverage generated by
1053
1347
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1054
- at Thu Jun 16 2022 14:59:18 GMT+0100 (British Summer Time)
1348
+ at 2022-09-16T13:23:25.290Z
1055
1349
  </div>
1056
1350
  <script src="../../prettify.js"></script>
1057
1351
  <script>