@opengeoweb/taf 4.12.0 → 4.13.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 (125) hide show
  1. package/README.md +0 -0
  2. package/index.d.ts +0 -0
  3. package/index.esm.js +219 -138
  4. package/index.umd.js +214 -131
  5. package/lib/TafDemo.stories.d.ts +0 -0
  6. package/lib/components/ComponentsLookUp/ComponentsLookUp.d.ts +0 -0
  7. package/lib/components/ComponentsLookUp/ComponentsLookUp.spec.d.ts +0 -0
  8. package/lib/components/ComponentsLookUp/index.d.ts +0 -0
  9. package/lib/components/IssuesPane/IssuesButton.d.ts +0 -0
  10. package/lib/components/IssuesPane/IssuesButton.spec.d.ts +0 -0
  11. package/lib/components/IssuesPane/IssuesPane.d.ts +0 -0
  12. package/lib/components/IssuesPane/IssuesPane.spec.d.ts +0 -0
  13. package/lib/components/IssuesPane/IssuesPane.stories.d.ts +0 -0
  14. package/lib/components/IssuesPane/IssuesPaneWrapper.d.ts +0 -0
  15. package/lib/components/IssuesPane/IssuesPaneWrapper.spec.d.ts +0 -0
  16. package/lib/components/IssuesPane/index.d.ts +0 -0
  17. package/lib/components/IssuesPane/types.d.ts +0 -0
  18. package/lib/components/IssuesPane/utils.d.ts +0 -0
  19. package/lib/components/IssuesPane/utils.spec.d.ts +0 -0
  20. package/lib/components/Providers/Providers.d.ts +0 -0
  21. package/lib/components/Providers/index.d.ts +0 -0
  22. package/lib/components/ResponsiveWrapper/ResponsiveWrapper.d.ts +4 -0
  23. package/lib/components/ResponsiveWrapper/ResponsiveWrapper.spec.d.ts +1 -0
  24. package/lib/components/Spinner/Spinner.d.ts +0 -0
  25. package/lib/components/Spinner/Spinner.spec.d.ts +0 -0
  26. package/lib/components/Spinner/Spinner.stories.d.ts +0 -0
  27. package/lib/components/StatusIcon/StatusIcon.d.ts +0 -0
  28. package/lib/components/StatusIcon/StatusIcon.spec.d.ts +0 -0
  29. package/lib/components/SwitchButton/SwitchButton.d.ts +0 -0
  30. package/lib/components/SwitchButton/SwitchButton.spec.d.ts +0 -0
  31. package/lib/components/SwitchButton/index.d.ts +0 -0
  32. package/lib/components/TabPanel/TabPanel.d.ts +0 -0
  33. package/lib/components/TabPanel/TabPanel.spec.d.ts +0 -0
  34. package/lib/components/TabPanel/index.d.ts +0 -0
  35. package/lib/components/TafAvatar/TafAvatar.d.ts +0 -0
  36. package/lib/components/TafAvatar/index.d.ts +0 -0
  37. package/lib/components/TafForm/TafForm.d.ts +0 -0
  38. package/lib/components/TafForm/TafForm.spec.d.ts +0 -0
  39. package/lib/components/TafForm/TafForm.statusChanges.spec.d.ts +0 -0
  40. package/lib/components/TafForm/TafForm.stories.d.ts +0 -0
  41. package/lib/components/TafForm/TafFormButtons/TafFormButtons.d.ts +0 -0
  42. package/lib/components/TafForm/TafFormButtons/TafFormButtons.spec.d.ts +0 -0
  43. package/lib/components/TafForm/TafFormButtons/TafFormOptionsButton.d.ts +0 -0
  44. package/lib/components/TafForm/TafFormButtons/TafFormOptionsButton.spec.d.ts +0 -0
  45. package/lib/components/TafForm/TafFormRow/DragHandle.d.ts +0 -0
  46. package/lib/components/TafForm/TafFormRow/DragHandle.spec.d.ts +0 -0
  47. package/lib/components/TafForm/TafFormRow/TafFormRow.d.ts +0 -0
  48. package/lib/components/TafForm/TafFormRow/TafFormRow.spec.d.ts +0 -0
  49. package/lib/components/TafForm/TafFormRow/TafFormTextField.d.ts +5 -1
  50. package/lib/components/TafForm/TafFormRow/TafFormTextField.spec.d.ts +0 -0
  51. package/lib/components/TafForm/TafFormRow/types.d.ts +0 -0
  52. package/lib/components/TafForm/TafFormRow/validations/change.d.ts +0 -0
  53. package/lib/components/TafForm/TafFormRow/validations/change.spec.d.ts +0 -0
  54. package/lib/components/TafForm/TafFormRow/validations/clouds.d.ts +3 -3
  55. package/lib/components/TafForm/TafFormRow/validations/clouds.spec.d.ts +0 -0
  56. package/lib/components/TafForm/TafFormRow/validations/probability.d.ts +0 -0
  57. package/lib/components/TafForm/TafFormRow/validations/probability.spec.d.ts +0 -0
  58. package/lib/components/TafForm/TafFormRow/validations/utils.d.ts +0 -0
  59. package/lib/components/TafForm/TafFormRow/validations/utils.spec.d.ts +0 -0
  60. package/lib/components/TafForm/TafFormRow/validations/validField.d.ts +0 -0
  61. package/lib/components/TafForm/TafFormRow/validations/validField.spec.d.ts +0 -0
  62. package/lib/components/TafForm/TafFormRow/validations/visibility.d.ts +0 -0
  63. package/lib/components/TafForm/TafFormRow/validations/visibility.spec.d.ts +0 -0
  64. package/lib/components/TafForm/TafFormRow/validations/weather.d.ts +3 -3
  65. package/lib/components/TafForm/TafFormRow/validations/weather.spec.d.ts +0 -0
  66. package/lib/components/TafForm/TafFormRow/validations/wind.d.ts +0 -0
  67. package/lib/components/TafForm/TafFormRow/validations/wind.spec.d.ts +0 -0
  68. package/lib/components/TafForm/index.d.ts +0 -0
  69. package/lib/components/TafForm/utils.d.ts +0 -0
  70. package/lib/components/TafForm/utils.spec.d.ts +0 -0
  71. package/lib/components/TafHeader/TafHeader.d.ts +0 -0
  72. package/lib/components/TafHeader/TafHeader.spec.d.ts +0 -0
  73. package/lib/components/TafLayout/LastUpdateTime/LastUpdateTime.d.ts +0 -0
  74. package/lib/components/TafLayout/LastUpdateTime/LastUpdateTime.spec.d.ts +0 -0
  75. package/lib/components/TafLayout/LastUpdateTime/LastUpdateTime.stories.d.ts +0 -0
  76. package/lib/components/TafLayout/LastUpdateTime/index.d.ts +0 -0
  77. package/lib/components/TafLayout/LocationTabs/LocationTabs.d.ts +0 -0
  78. package/lib/components/TafLayout/LocationTabs/LocationTabs.spec.d.ts +0 -0
  79. package/lib/components/TafLayout/LocationTabs/LocationTabs.stories.d.ts +0 -0
  80. package/lib/components/TafLayout/LocationTabs/index.d.ts +0 -0
  81. package/lib/components/TafLayout/TacOverview/AdverseWeatherTacMessage.d.ts +0 -0
  82. package/lib/components/TafLayout/TacOverview/AdverseWeatherTacMessage.spec.d.ts +0 -0
  83. package/lib/components/TafLayout/TacOverview/AdverseWeatherTacMessage.stories.d.ts +0 -0
  84. package/lib/components/TafLayout/TacOverview/ExportButton.d.ts +0 -0
  85. package/lib/components/TafLayout/TacOverview/ExportButton.spec.d.ts +0 -0
  86. package/lib/components/TafLayout/TacOverview/TacContainer.d.ts +0 -0
  87. package/lib/components/TafLayout/TacOverview/TacContainer.spec.d.ts +0 -0
  88. package/lib/components/TafLayout/TacOverview/TacOverview.d.ts +0 -0
  89. package/lib/components/TafLayout/TacOverview/TacOverview.spec.d.ts +0 -0
  90. package/lib/components/TafLayout/TacOverview/TacOverview.stories.d.ts +0 -0
  91. package/lib/components/TafLayout/TacOverview/TacOverviewMobile.d.ts +0 -0
  92. package/lib/components/TafLayout/TacOverview/TacOverviewMobile.spec.d.ts +0 -0
  93. package/lib/components/TafLayout/TacOverview/TacOverviewMobile.stories.d.ts +0 -0
  94. package/lib/components/TafLayout/TacOverview/index.d.ts +0 -0
  95. package/lib/components/TafLayout/TafLayout.d.ts +0 -0
  96. package/lib/components/TafLayout/TafLayout.spec.d.ts +0 -0
  97. package/lib/components/TafLayout/TafLayout.stories.d.ts +0 -0
  98. package/lib/components/TafLayout/TafPanel/TafPanel.d.ts +0 -0
  99. package/lib/components/TafLayout/TafPanel/TafPanel.spec.d.ts +0 -0
  100. package/lib/components/TafLayout/TafPanel/TafPanel.stories.d.ts +0 -0
  101. package/lib/components/TafLayout/TafPanel/index.d.ts +0 -0
  102. package/lib/components/TafLayout/TopTabs/TopTabs.d.ts +0 -0
  103. package/lib/components/TafLayout/TopTabs/TopTabs.spec.d.ts +0 -0
  104. package/lib/components/TafLayout/TopTabs/TopTabs.stories.d.ts +0 -0
  105. package/lib/components/TafLayout/TopTabs/index.d.ts +0 -0
  106. package/lib/components/TafLayout/utils.d.ts +0 -0
  107. package/lib/components/TafLayout/utils.spec.d.ts +0 -0
  108. package/lib/components/TafModule/TafModule.d.ts +0 -0
  109. package/lib/components/TafModule/TafModule.spec.d.ts +0 -0
  110. package/lib/components/TafModule/TafModule.stories.d.ts +0 -0
  111. package/lib/components/TafModule/TafModuleProvider.d.ts +0 -0
  112. package/lib/components/TafModule/index.d.ts +0 -0
  113. package/lib/components/TafWrapper/TafWrapper.d.ts +0 -0
  114. package/lib/components/TafWrapper/TafWrapper.spec.d.ts +0 -0
  115. package/lib/components/TafWrapper/index.d.ts +0 -0
  116. package/lib/storyshots/Storyshots.spec.d.ts +0 -0
  117. package/lib/types.d.ts +0 -0
  118. package/lib/utils/__mocks__/api.d.ts +0 -0
  119. package/lib/utils/api.d.ts +0 -0
  120. package/lib/utils/api.spec.d.ts +0 -0
  121. package/lib/utils/fakeApi.d.ts +0 -0
  122. package/lib/utils/fakeApi.spec.d.ts +0 -0
  123. package/lib/utils/mockdata/fakeTafList.d.ts +0 -0
  124. package/lib/utils/weatherPhenomena.d.ts +0 -0
  125. package/package.json +10 -9
package/index.umd.js CHANGED
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@mui/material'), require('react-hook-form'), require('react-redux'), require('react-sortablejs'), require('sortablejs'), require('@opengeoweb/authentication'), require('@opengeoweb/form-fields'), require('@opengeoweb/shared'), require('@opengeoweb/core'), require('moment'), require('lodash'), require('@opengeoweb/theme'), require('react-dom'), require('@opengeoweb/api'), require('@mui/material/LinearProgress'), require('@mui/material/Box')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'react', '@mui/material', 'react-hook-form', 'react-redux', 'react-sortablejs', 'sortablejs', '@opengeoweb/authentication', '@opengeoweb/form-fields', '@opengeoweb/shared', '@opengeoweb/core', 'moment', 'lodash', '@opengeoweb/theme', 'react-dom', '@opengeoweb/api', '@mui/material/LinearProgress', '@mui/material/Box'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taf = {}, global.React, global.material, global.reactHookForm, global.reactRedux, global.reactSortablejs, global.Sortable, global.authentication, global.formFields, global.shared, global.core, global.moment, global.lodash, global.theme, global.ReactDOM, global.api, global.LinearProgress, global.Box));
5
- })(this, (function (exports, React, material, reactHookForm, reactRedux, reactSortablejs, Sortable, authentication, formFields, shared, core, moment, lodash, theme, ReactDOM, api, LinearProgress, Box) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@mui/material'), require('react-hook-form'), require('react-redux'), require('react-sortablejs'), require('sortablejs'), require('@opengeoweb/authentication'), require('@opengeoweb/form-fields'), require('@opengeoweb/shared'), require('@opengeoweb/core'), require('moment'), require('lodash'), require('@opengeoweb/theme'), require('react-dom'), require('@emotion/react'), require('@opengeoweb/api'), require('@mui/material/LinearProgress'), require('@mui/material/Box')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'react', '@mui/material', 'react-hook-form', 'react-redux', 'react-sortablejs', 'sortablejs', '@opengeoweb/authentication', '@opengeoweb/form-fields', '@opengeoweb/shared', '@opengeoweb/core', 'moment', 'lodash', '@opengeoweb/theme', 'react-dom', '@emotion/react', '@opengeoweb/api', '@mui/material/LinearProgress', '@mui/material/Box'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taf = {}, global.React, global.material, global.reactHookForm, global.reactRedux, global.reactSortablejs, global.Sortable, global.authentication, global.formFields, global.shared, global.core, global.moment, global.lodash, global.theme, global.ReactDOM, global.emotionReact, global.api, global.LinearProgress, global.Box));
5
+ })(this, (function (exports, React, material, reactHookForm, reactRedux, reactSortablejs, Sortable, authentication, formFields, shared, core, moment, lodash, theme, ReactDOM, react, api, LinearProgress, Box) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -316,8 +316,35 @@
316
316
  * See the License for the specific language governing permissions and
317
317
  * limitations under the License.
318
318
  *
319
- * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
320
- * Copyright 2021 - Finnish Meteorological Institute (FMI)
319
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
320
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
321
+ * */
322
+
323
+ var prependZeroes = function prependZeroes(value, totalDigits) {
324
+ var valueAsString = value.toString();
325
+ return __spreadArray([], __read(Array(totalDigits - valueAsString.length))).reduce(function (newVal) {
326
+ return "0" + newVal;
327
+ }, valueAsString);
328
+ };
329
+ var getFieldValue = function getFieldValue(fieldValue) {
330
+ return fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.trim().toUpperCase();
331
+ };
332
+
333
+ /* *
334
+ * Licensed under the Apache License, Version 2.0 (the "License");
335
+ * you may not use this file except in compliance with the License.
336
+ * You may obtain a copy of the License at
337
+ *
338
+ * http://www.apache.org/licenses/LICENSE-2.0
339
+ *
340
+ * Unless required by applicable law or agreed to in writing, software
341
+ * distributed under the License is distributed on an "AS IS" BASIS,
342
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
343
+ * See the License for the specific language governing permissions and
344
+ * limitations under the License.
345
+ *
346
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
347
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
321
348
  * */
322
349
  var FORMAT_DAYS_HOURS = 'DDHH';
323
350
  var FORMAT_DAYS_HOURS_MINUTES = 'DDHHmm'; // formatters
@@ -451,7 +478,7 @@
451
478
 
452
479
 
453
480
  var validateValidField = function validateValidField(value, tafStart, tafEnd) {
454
- var trimmedValue = value.trim();
481
+ var trimmedValue = getFieldValue(value);
455
482
 
456
483
  if (!trimmedValue.length) {
457
484
  return true;
@@ -474,9 +501,9 @@
474
501
  return true;
475
502
  };
476
503
  var validateValidChangeGroupInterField = function validateValidChangeGroupInterField(value, valueChange, valueProb, tafStart, tafEnd) {
477
- var trimmedValue = value.trim();
478
- var trimmedValueChange = valueChange.trim();
479
- var trimmedValueProb = valueProb.trim();
504
+ var trimmedValue = getFieldValue(value);
505
+ var trimmedValueChange = getFieldValue(valueChange);
506
+ var trimmedValueProb = getFieldValue(valueProb);
480
507
 
481
508
  if (!trimmedValue.length) {
482
509
  return true;
@@ -526,16 +553,12 @@
526
553
  var invalidPreviousChangeGroupHasSameValue = "When valid times are equal, probability/change can't have the same value as previous row value";
527
554
  var validatePreviousChangeGroup = function validatePreviousChangeGroup(currentChangeGroup, previousChangeGroup, tafStart, tafEnd) {
528
555
  // extract the needed values from changeGroups
529
- var valid = currentChangeGroup.valid,
530
- _a = currentChangeGroup.change,
531
- change = _a === void 0 ? '' : _a,
532
- _b = currentChangeGroup.probability,
533
- probability = _b === void 0 ? '' : _b;
534
- var previousValid = previousChangeGroup.valid,
535
- _c = previousChangeGroup.change,
536
- previousChange = _c === void 0 ? '' : _c,
537
- _d = previousChangeGroup.probability,
538
- previousProbability = _d === void 0 ? '' : _d; // get the parsed values
556
+ var valid = getFieldValue(currentChangeGroup.valid);
557
+ var change = getFieldValue(currentChangeGroup.change || '');
558
+ var probability = getFieldValue(currentChangeGroup.probability || '');
559
+ var previousValid = getFieldValue(previousChangeGroup.valid);
560
+ var previousChange = getFieldValue(previousChangeGroup.change || '');
561
+ var previousProbability = getFieldValue(previousChangeGroup.probability || ''); // get the parsed values
539
562
 
540
563
  var validValue = parseValidToObject(valid, tafStart, tafEnd);
541
564
  var previousValidValue = parseValidToObject(previousValid, tafStart, tafEnd);
@@ -572,12 +595,12 @@
572
595
  }; // validate overlapping validity when one of the following changegroups is FM
573
596
 
574
597
  var validateOverlapWithFM = function validateOverlapWithFM(currentChangeGroup, nextChangeGroups, tafStart, tafEnd) {
575
- var valid = currentChangeGroup.valid;
598
+ var valid = getFieldValue(currentChangeGroup.valid);
576
599
  if (!valid || !nextChangeGroups.length) return true;
577
600
  var validValue = parseValidToObject(valid, tafStart, tafEnd);
578
601
  var currentRowEndTime = moment__default["default"](validValue.end);
579
602
  var firstFMChangeGroup = nextChangeGroups.find(function (nextChangeGroup) {
580
- return nextChangeGroup.change.trim() === 'FM';
603
+ return getFieldValue(nextChangeGroup.change) === 'FM';
581
604
  });
582
605
 
583
606
  if (firstFMChangeGroup && firstFMChangeGroup.valid) {
@@ -592,33 +615,6 @@
592
615
  return true;
593
616
  };
594
617
 
595
- /* *
596
- * Licensed under the Apache License, Version 2.0 (the "License");
597
- * you may not use this file except in compliance with the License.
598
- * You may obtain a copy of the License at
599
- *
600
- * http://www.apache.org/licenses/LICENSE-2.0
601
- *
602
- * Unless required by applicable law or agreed to in writing, software
603
- * distributed under the License is distributed on an "AS IS" BASIS,
604
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
605
- * See the License for the specific language governing permissions and
606
- * limitations under the License.
607
- *
608
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
609
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
610
- * */
611
-
612
- var prependZeroes = function prependZeroes(value, totalDigits) {
613
- var valueAsString = value.toString();
614
- return __spreadArray([], __read(Array(totalDigits - valueAsString.length))).reduce(function (newVal) {
615
- return "0" + newVal;
616
- }, valueAsString);
617
- };
618
- var getFieldValue = function getFieldValue(fieldValue) {
619
- return fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.trim().toUpperCase();
620
- };
621
-
622
618
  var config$1 = [{
623
619
  key: 'range',
624
620
  size: 4
@@ -650,7 +646,7 @@
650
646
  // returns object with validity if passed numbers - returns object with cavOK: true if passed CAVOK
651
647
 
652
648
  var parseVisibilityToObject = function parseVisibilityToObject(value) {
653
- var trimmedValue = value.trim();
649
+ var trimmedValue = getFieldValue(value);
654
650
 
655
651
  if (trimmedValue === 'CAVOK') {
656
652
  return {
@@ -698,7 +694,7 @@
698
694
 
699
695
 
700
696
  var validateVisibilityField = function validateVisibilityField(value) {
701
- var trimmedValue = value.trim();
697
+ var trimmedValue = getFieldValue(value);
702
698
 
703
699
  if (!trimmedValue.length) {
704
700
  return true;
@@ -711,7 +707,7 @@
711
707
 
712
708
 
713
709
  if (!trimmedValue.match(/^[0-9]+$/)) {
714
- return value === 'CAVOK' || invalidVisibilityMessage;
710
+ return trimmedValue === 'CAVOK' || invalidVisibilityMessage;
715
711
  } // validate range
716
712
 
717
713
 
@@ -1177,12 +1173,13 @@
1177
1173
  var invalidWeatherFGVisibility = 'Invalid weather input, weather code FG needs to be combined with a visibility below 1000m'; // validations
1178
1174
 
1179
1175
  var WeatherVisibilityBelow5000 = [WeatherPhenomena.FU, WeatherPhenomena.DU, WeatherPhenomena.HZ, WeatherPhenomena.DRDU, WeatherPhenomena.BLDU];
1180
- var validateWeatherField = function validateWeatherField(value, visibilityValue, NSWAllowed) {
1176
+ var validateWeatherField = function validateWeatherField(value, visibilityFieldValue, NSWAllowed) {
1181
1177
  if (NSWAllowed === void 0) {
1182
1178
  NSWAllowed = true;
1183
1179
  }
1184
1180
 
1185
- var trimmedValue = value.trim(); // if empty, validate as true
1181
+ var trimmedValue = getFieldValue(value);
1182
+ var visibilityValue = getFieldValue(visibilityFieldValue); // if empty, validate as true
1186
1183
 
1187
1184
  if (trimmedValue === '') {
1188
1185
  return true;
@@ -1221,14 +1218,15 @@
1221
1218
 
1222
1219
  return true;
1223
1220
  };
1224
- var validateSecondWeatherField = function validateSecondWeatherField(weather1Value, weather2Value, visibilityValue) {
1225
- var trimmedWeather2Value = weather2Value.trim(); // Field can be left empty
1221
+ var validateSecondWeatherField = function validateSecondWeatherField(weather1Value, weather2Value, visibilityFieldValue) {
1222
+ var trimmedWeather2Value = getFieldValue(weather2Value);
1223
+ var visibilityValue = getFieldValue(visibilityFieldValue); // Field can be left empty
1226
1224
 
1227
1225
  if (!trimmedWeather2Value.length) {
1228
1226
  return true;
1229
1227
  }
1230
1228
 
1231
- var trimmedWeather1Value = weather1Value.trim(); // If weather1 is NSW weather2 should be empty
1229
+ var trimmedWeather1Value = getFieldValue(weather1Value); // If weather1 is NSW weather2 should be empty
1232
1230
 
1233
1231
  if (trimmedWeather1Value === 'NSW' && trimmedWeather2Value !== '') {
1234
1232
  return invalidWeatherNonEmptyNSWGroups;
@@ -1246,15 +1244,16 @@
1246
1244
 
1247
1245
  return validateWeatherField(weather2Value, visibilityValue, false);
1248
1246
  };
1249
- var validateThirdWeatherField = function validateThirdWeatherField(weather1Value, weather2Value, weather3Value, visibilityValue) {
1250
- var trimmedWeather3Value = weather3Value.trim(); // Field can be left empty
1247
+ var validateThirdWeatherField = function validateThirdWeatherField(weather1Value, weather2Value, weather3Value, visibilityFieldValue) {
1248
+ var trimmedWeather3Value = getFieldValue(weather3Value);
1249
+ var visibilityValue = getFieldValue(visibilityFieldValue); // Field can be left empty
1251
1250
 
1252
1251
  if (!trimmedWeather3Value.length) {
1253
1252
  return true;
1254
1253
  }
1255
1254
 
1256
- var trimmedWeather1Value = weather1Value.trim();
1257
- var trimmedWeather2Value = weather2Value.trim(); // If weather1 is NSW weather3 should be empty
1255
+ var trimmedWeather1Value = getFieldValue(weather1Value);
1256
+ var trimmedWeather2Value = getFieldValue(weather2Value); // If weather1 is NSW weather3 should be empty
1258
1257
 
1259
1258
  if (trimmedWeather1Value === 'NSW' && trimmedWeather3Value !== '') {
1260
1259
  return invalidWeatherNonEmptyNSWGroups;
@@ -1616,10 +1615,10 @@
1616
1615
 
1617
1616
 
1618
1617
  var validateWindField = function validateWindField(value, weatherfield1, weatherfield2, weatherfield3) {
1619
- var trimmedWindValue = value.trim();
1620
- var trimmedWeather1Value = weatherfield1.trim();
1621
- var trimmedWeather2Value = weatherfield2.trim();
1622
- var trimmedWeather3Value = weatherfield3.trim();
1618
+ var trimmedWindValue = getFieldValue(value);
1619
+ var trimmedWeather1Value = getFieldValue(weatherfield1);
1620
+ var trimmedWeather2Value = getFieldValue(weatherfield2);
1621
+ var trimmedWeather3Value = getFieldValue(weatherfield3);
1623
1622
 
1624
1623
  if (!trimmedWindValue.length) {
1625
1624
  return true;
@@ -1890,11 +1889,11 @@
1890
1889
  };
1891
1890
 
1892
1891
  var validateFirstCloud = function validateFirstCloud(value, visibilityValue, weatherfield1, weatherfield2, weatherfield3) {
1893
- var trimmedValueFirstCloud = value.trim();
1894
- var trimmedValueVisibility = visibilityValue.trim();
1895
- var trimmedWeather1Value = weatherfield1.trim();
1896
- var trimmedWeather2Value = weatherfield2.trim();
1897
- var trimmedWeather3Value = weatherfield3.trim(); // Field can be left empty
1892
+ var trimmedValueFirstCloud = getFieldValue(value);
1893
+ var trimmedValueVisibility = getFieldValue(visibilityValue);
1894
+ var trimmedWeather1Value = getFieldValue(weatherfield1);
1895
+ var trimmedWeather2Value = getFieldValue(weatherfield2);
1896
+ var trimmedWeather3Value = getFieldValue(weatherfield3); // Field can be left empty
1898
1897
 
1899
1898
  if (!trimmedValueFirstCloud.length) {
1900
1899
  return true;
@@ -1928,9 +1927,10 @@
1928
1927
 
1929
1928
  return errorMessages.length ? errorMessages[0] : true;
1930
1929
  };
1931
- var validateSecondCloud = function validateSecondCloud(firstCloudValue, secondCloudValue, visibilityValue) {
1932
- var trimmedValueFirstCloud = firstCloudValue.trim();
1933
- var trimmedValueSecondCloud = secondCloudValue.trim(); // Field can be left empty
1930
+ var validateSecondCloud = function validateSecondCloud(firstCloudValue, secondCloudValue, visibilityFieldValue) {
1931
+ var trimmedValueFirstCloud = getFieldValue(firstCloudValue);
1932
+ var trimmedValueSecondCloud = getFieldValue(secondCloudValue);
1933
+ var visibilityValue = getFieldValue(visibilityFieldValue); // Field can be left empty
1934
1934
 
1935
1935
  if (!trimmedValueSecondCloud.length) {
1936
1936
  return true;
@@ -1997,10 +1997,11 @@
1997
1997
 
1998
1998
  return true;
1999
1999
  };
2000
- var validateThirdCloud = function validateThirdCloud(firstCloudValue, secondCloudValue, thirdCloudValue, visibilityValue) {
2001
- var trimmedValueFirstCloud = firstCloudValue.trim();
2002
- var trimmedValueSecondCloud = secondCloudValue.trim();
2003
- var trimmedValueThirdCloud = thirdCloudValue.trim(); // Field can be left empty
2000
+ var validateThirdCloud = function validateThirdCloud(firstCloudValue, secondCloudValue, thirdCloudValue, visibilityFieldValue) {
2001
+ var trimmedValueFirstCloud = getFieldValue(firstCloudValue);
2002
+ var trimmedValueSecondCloud = getFieldValue(secondCloudValue);
2003
+ var trimmedValueThirdCloud = getFieldValue(thirdCloudValue);
2004
+ var visibilityValue = getFieldValue(visibilityFieldValue); // Field can be left empty
2004
2005
 
2005
2006
  if (!trimmedValueThirdCloud.length) {
2006
2007
  return true;
@@ -2075,11 +2076,12 @@
2075
2076
 
2076
2077
  return true;
2077
2078
  };
2078
- var validateFourthCloud = function validateFourthCloud(firstCloudValue, secondCloudValue, thirdCloudValue, fourthCloudValue, visibilityValue) {
2079
- var trimmedValueFirstCloud = firstCloudValue.trim();
2080
- var trimmedValueSecondCloud = secondCloudValue.trim();
2081
- var trimmedValueThirdCloud = thirdCloudValue.trim();
2082
- var trimmedValueFourthCloud = fourthCloudValue.trim(); // Field can be left empty
2079
+ var validateFourthCloud = function validateFourthCloud(firstCloudValue, secondCloudValue, thirdCloudValue, fourthCloudValue, visibilityFieldValue) {
2080
+ var trimmedValueFirstCloud = getFieldValue(firstCloudValue);
2081
+ var trimmedValueSecondCloud = getFieldValue(secondCloudValue);
2082
+ var trimmedValueThirdCloud = getFieldValue(thirdCloudValue);
2083
+ var trimmedValueFourthCloud = getFieldValue(fourthCloudValue);
2084
+ var visibilityValue = getFieldValue(visibilityFieldValue); // Field can be left empty
2083
2085
 
2084
2086
  if (!trimmedValueFourthCloud.length) {
2085
2087
  return true;
@@ -3132,6 +3134,7 @@
3132
3134
  isOpen: isOpen,
3133
3135
  "data-testid": "moveable-issues-pane",
3134
3136
  bounds: "parent",
3137
+ cancel: "",
3135
3138
  onDragEnd: function onDragEnd(event) {
3136
3139
  if (event.x !== 0 && event.y !== 0) {
3137
3140
  onUserHasDragged();
@@ -3265,17 +3268,45 @@
3265
3268
  }, shared.getInitials(editor))));
3266
3269
  };
3267
3270
 
3268
- var textFieldStyle = function textFieldStyle(theme) {
3269
- return {
3271
+ /* *
3272
+ * Licensed under the Apache License, Version 2.0 (the "License");
3273
+ * you may not use this file except in compliance with the License.
3274
+ * You may obtain a copy of the License at
3275
+ *
3276
+ * http://www.apache.org/licenses/LICENSE-2.0
3277
+ *
3278
+ * Unless required by applicable law or agreed to in writing, software
3279
+ * distributed under the License is distributed on an "AS IS" BASIS,
3280
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3281
+ * See the License for the specific language governing permissions and
3282
+ * limitations under the License.
3283
+ *
3284
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
3285
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
3286
+ * */
3287
+ var TAF_MODULE_ID = 'tafmodule';
3288
+ var ResponsiveWrapper = function ResponsiveWrapper(_a) {
3289
+ var children = _a.children;
3290
+ return /*#__PURE__*/React__namespace.createElement(material.Box, {
3291
+ sx: {
3292
+ containerType: 'inline-size',
3293
+ containerName: TAF_MODULE_ID
3294
+ }
3295
+ }, children);
3296
+ };
3297
+
3298
+ var textFieldStyle = function textFieldStyle(theme, shouldPreventUppercase) {
3299
+ var _a;
3300
+
3301
+ return __assign(__assign({
3270
3302
  // input
3271
- marginRight: '2px',
3272
3303
  marginBottom: '4px',
3273
- width: 56,
3304
+ width: '100%',
3274
3305
  height: 46,
3275
3306
  input: {
3276
3307
  textAlign: 'center',
3277
- fontSize: 10,
3278
- fontWeight: 500,
3308
+ textTransform: shouldPreventUppercase ? 'none' : 'uppercase',
3309
+ fontWeight: 'normal',
3279
3310
  paddingLeft: 0,
3280
3311
  paddingRight: 0,
3281
3312
  '&.Mui-disabled': {
@@ -3314,8 +3345,21 @@
3314
3345
  '.Mui-disabled:before': {
3315
3346
  borderColor: 'transparent'
3316
3347
  }
3348
+ },
3349
+ '& .MuiFilledInput-root': {
3350
+ borderTopLeftRadius: '0px',
3351
+ borderTopRightRadius: '0px'
3317
3352
  }
3318
- };
3353
+ }, !shared.IS_JEST && (_a = {}, // container queries
3354
+ _a["@container " + TAF_MODULE_ID + " (min-width: 1440px)"] = {
3355
+ '&.MuiFormControl-root.MuiTextField-root .inputText': {
3356
+ fontSize: 14
3357
+ }
3358
+ }, _a)), {
3359
+ '.inputText': {
3360
+ fontSize: 12
3361
+ }
3362
+ });
3319
3363
  };
3320
3364
 
3321
3365
  var getTafErrors = function getTafErrors(name, errors) {
@@ -3338,11 +3382,17 @@
3338
3382
  var getDisplayValue = function getDisplayValue(value, disabled) {
3339
3383
  return disabled && !value ? '-' : value;
3340
3384
  };
3341
- var BaseTextField = /*#__PURE__*/React__default["default"].memo(function (props) {
3385
+ var BaseTextField = /*#__PURE__*/React__default["default"].memo(function (_a) {
3386
+ var _b = _a.shouldPreventUppercase,
3387
+ shouldPreventUppercase = _b === void 0 ? false : _b,
3388
+ props = __rest(_a, ["shouldPreventUppercase"]);
3389
+
3390
+ var theme = react.useTheme();
3391
+ var styling = textFieldStyle(theme, shouldPreventUppercase);
3342
3392
  return /*#__PURE__*/React__default["default"].createElement(material.TextField, __assign({
3343
3393
  type: "text",
3344
3394
  variant: "filled",
3345
- sx: textFieldStyle
3395
+ sx: styling
3346
3396
  }, props));
3347
3397
  }, function (prevProps, nextProps) {
3348
3398
  return prevProps.value === nextProps.value && prevProps.error === nextProps.error && prevProps.name === nextProps.name && prevProps.disabled === nextProps.disabled;
@@ -3366,18 +3416,20 @@
3366
3416
  _h = _a.autoComplete,
3367
3417
  autoComplete = _h === void 0 ? [] : _h,
3368
3418
  _j = _a.autoFocus,
3369
- autoFocus = _j === void 0 ? false : _j;
3419
+ autoFocus = _j === void 0 ? false : _j,
3420
+ _k = _a.shouldPreventUppercase,
3421
+ shouldPreventUppercase = _k === void 0 ? false : _k;
3370
3422
 
3371
- var _k = reactHookForm.useFormContext(),
3372
- control = _k.control,
3373
- setValue = _k.setValue,
3374
- errors = _k.formState.errors;
3423
+ var _l = reactHookForm.useFormContext(),
3424
+ control = _l.control,
3425
+ setValue = _l.setValue,
3426
+ errors = _l.formState.errors;
3375
3427
 
3376
3428
  var fieldErrors = getTafErrors(name, errors);
3377
3429
 
3378
- var _l = __read(React__default["default"].useState(null), 2),
3379
- maxLength = _l[0],
3380
- setMaxLength = _l[1];
3430
+ var _m = __read(React__default["default"].useState(null), 2),
3431
+ maxLength = _m[0],
3432
+ setMaxLength = _m[1];
3381
3433
 
3382
3434
  var onKeyDown = React__default["default"].useCallback(function (event) {
3383
3435
  var target = event.target;
@@ -3394,7 +3446,8 @@
3394
3446
 
3395
3447
  if (foundValue) {
3396
3448
  setValue(name, foundValue.value, {
3397
- shouldDirty: true
3449
+ shouldDirty: true,
3450
+ shouldValidate: true
3398
3451
  });
3399
3452
  setMaxLength(foundValue.value.length);
3400
3453
  event.preventDefault();
@@ -3402,25 +3455,41 @@
3402
3455
  }
3403
3456
  }, [name, autoComplete, setValue]);
3404
3457
  var onChangeField = React__default["default"].useCallback(function (event, callback) {
3405
- var valueUppercase = event.currentTarget.value.toUpperCase();
3458
+ var value = event.currentTarget.value;
3406
3459
 
3407
3460
  if (autoComplete) {
3461
+ var valueUppercase_1 = value.toUpperCase();
3408
3462
  var exist = autoComplete.find(function (e) {
3409
- return e.value === valueUppercase;
3463
+ return e.value === valueUppercase_1;
3410
3464
  });
3411
- var newMaxLength = exist ? valueUppercase.length : null;
3465
+ var newMaxLength = exist ? valueUppercase_1.length : null;
3412
3466
  setMaxLength(newMaxLength);
3413
3467
  }
3414
3468
 
3415
- callback(valueUppercase);
3416
- onChange(valueUppercase);
3469
+ callback(value);
3470
+ onChange(value);
3417
3471
  }, [onChange, autoComplete]);
3418
- var onBlurField = React__default["default"].useCallback(function (callback) {
3472
+ var onBlurField = React__default["default"].useCallback(function (event, callback) {
3473
+ var value = event.target.value;
3474
+ var valueUppercase = value.toUpperCase();
3475
+
3476
+ if (value !== valueUppercase && !shouldPreventUppercase) {
3477
+ setValue(name, valueUppercase, {
3478
+ shouldValidate: true
3479
+ });
3480
+ }
3481
+
3419
3482
  callback();
3420
3483
  onBlur();
3421
- }, [onBlur]);
3484
+ }, [onBlur, name, setValue, shouldPreventUppercase]);
3422
3485
  var hasError = !!fieldErrors;
3423
- return /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
3486
+ return /*#__PURE__*/React__default["default"].createElement(material.Grid, {
3487
+ item: true,
3488
+ sx: {
3489
+ width: 100 / 13 + "%",
3490
+ minWidth: 60
3491
+ }
3492
+ }, /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
3424
3493
  render: function render(_a) {
3425
3494
  var field = _a.field;
3426
3495
  var displayValue = formatter ? formatter(field.value) : getDisplayValue(field.value, disabled);
@@ -3430,25 +3499,27 @@
3430
3499
  name: name,
3431
3500
  value: displayValue,
3432
3501
  inputRef: field.ref,
3433
- onChange: function onChange(e) {
3434
- return onChangeField(e, field.onChange);
3502
+ onChange: function onChange(event) {
3503
+ return onChangeField(event, field.onChange);
3435
3504
  },
3436
3505
  onKeyDown: onKeyDown,
3437
3506
  error: hasError,
3438
- onBlur: function onBlur() {
3439
- return onBlurField(field.onBlur);
3507
+ onBlur: function onBlur(event) {
3508
+ return onBlurField(event, field.onBlur);
3440
3509
  },
3441
3510
  inputProps: {
3442
- maxLength: maxLength
3511
+ maxLength: maxLength,
3512
+ className: 'inputText'
3443
3513
  },
3444
- autoFocus: autoFocus
3514
+ autoFocus: autoFocus,
3515
+ shouldPreventUppercase: shouldPreventUppercase
3445
3516
  });
3446
3517
  },
3447
3518
  name: name,
3448
3519
  control: control,
3449
3520
  defaultValue: defaultValue,
3450
3521
  rules: rules
3451
- });
3522
+ }));
3452
3523
  };
3453
3524
 
3454
3525
  /* *
@@ -3722,6 +3793,14 @@
3722
3793
  marginTop: '8px',
3723
3794
  backgroundColor: 'geowebColors.cards.cardContainer',
3724
3795
  position: 'relative',
3796
+ paddingLeft: {
3797
+ xs: '2px',
3798
+ lg: '10px'
3799
+ },
3800
+ paddingRight: {
3801
+ xs: '2px',
3802
+ lg: '10px'
3803
+ },
3725
3804
  '&.sortable-chosen': {
3726
3805
  boxShadow: 1
3727
3806
  },
@@ -3736,12 +3815,10 @@
3736
3815
  }, props, {
3737
3816
  className: "formRow"
3738
3817
  }), /*#__PURE__*/React__default["default"].createElement(material.Grid, {
3739
- columns: 24,
3740
3818
  item: true,
3741
3819
  container: true,
3742
3820
  justifyContent: "flex-end",
3743
- xs: 24,
3744
- sm: 23
3821
+ xs: true
3745
3822
  }, !isChangeGroup && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
3746
3823
  label: "Type",
3747
3824
  name: fieldNames.messageType,
@@ -3754,12 +3831,15 @@
3754
3831
  formatter: formatIssueTime,
3755
3832
  label: "Issue time",
3756
3833
  name: "issueDate",
3757
- disabled: true
3834
+ disabled: true,
3835
+ shouldPreventUppercase: true
3758
3836
  })), isChangeGroup && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(material.Box, {
3759
3837
  sx: {
3760
- width: 56,
3761
- marginRight: '2px'
3762
- }
3838
+ marginRight: '2px',
3839
+ minWidth: 60
3840
+ },
3841
+ display: "flex",
3842
+ justifyContent: "center"
3763
3843
  }, !disabled && dragHandle), /*#__PURE__*/React__default["default"].createElement(TafFormTextField, {
3764
3844
  label: "Prob",
3765
3845
  name: fieldNames.probability,
@@ -4003,12 +4083,11 @@
4003
4083
  container: true,
4004
4084
  justifyContent: "flex-end",
4005
4085
  alignItems: "flex-end",
4006
- xs: 24,
4007
- sm: 1,
4008
4086
  sx: {
4009
- marginBottom: '16px'
4010
- },
4011
- columns: 24
4087
+ width: '3.5%',
4088
+ marginBottom: '14px',
4089
+ minWidth: 28
4090
+ }
4012
4091
  }, /*#__PURE__*/React__default["default"].createElement(TafFormOptionsButton, {
4013
4092
  isChangeGroup: isChangeGroup,
4014
4093
  addChangeGroupBelow: addChangeGroupBelow,
@@ -5271,7 +5350,12 @@
5271
5350
  }))), /*#__PURE__*/React__default["default"].createElement(material.Box, {
5272
5351
  ref: scrollRef,
5273
5352
  sx: {
5274
- padding: '10px',
5353
+ padding: {
5354
+ xs: '12px',
5355
+ sm: '6px',
5356
+ md: '16px',
5357
+ lg: '24px'
5358
+ },
5275
5359
  maxHeight: '100%',
5276
5360
  overflow: 'auto'
5277
5361
  }
@@ -6192,7 +6276,6 @@
6192
6276
  }, /*#__PURE__*/React__default["default"].createElement(material.Box, {
6193
6277
  sx: {
6194
6278
  minWidth: 320,
6195
- maxWidth: 1272,
6196
6279
  margin: 'auto',
6197
6280
  height: '100%',
6198
6281
  display: 'flex',
@@ -6396,7 +6479,7 @@
6396
6479
  }, []);
6397
6480
  shared.usePoller([tafList, getTafListError], fetchNewTafList);
6398
6481
  var hasTafListError = getTafListError !== null;
6399
- return /*#__PURE__*/React__namespace.createElement(material.Box, {
6482
+ return /*#__PURE__*/React__namespace.createElement(ResponsiveWrapper, null, /*#__PURE__*/React__namespace.createElement(material.Box, {
6400
6483
  component: "div",
6401
6484
  id: "tafmodule",
6402
6485
  sx: {
@@ -6421,7 +6504,7 @@
6421
6504
  tafList: tafList,
6422
6505
  onUpdateTaf: onUpdateTaf,
6423
6506
  lastUpdateTime: lastUpdateTime
6424
- }));
6507
+ })));
6425
6508
  };
6426
6509
 
6427
6510
  var Wrapper = function Wrapper(props) {
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes