@dhis2-ui/transfer 10.16.3 → 10.16.5

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 (128) hide show
  1. package/build/cjs/__e2e__/add_remove-highlighted-options.e2e.stories.js +20 -29
  2. package/build/cjs/__e2e__/common/stateful-decorator.js +20 -28
  3. package/build/cjs/__e2e__/disabled-transfer-buttons.e2e.stories.js +49 -70
  4. package/build/cjs/__e2e__/disabled-transfer-options.e2e.stories.js +11 -14
  5. package/build/cjs/__e2e__/display-order.e2e.stories.js +19 -28
  6. package/build/cjs/__e2e__/filter-options-list.e2e.stories.js +72 -96
  7. package/build/cjs/__e2e__/highlight-range-of-options.e2e.stories.js +33 -48
  8. package/build/cjs/__e2e__/notify_at_end_of_list.e2e.stories.js +47 -67
  9. package/build/cjs/__e2e__/reorder-with-buttons.e2e.stories.js +15 -24
  10. package/build/cjs/__e2e__/set_unset-highlighted-option.e2e.stories.js +20 -29
  11. package/build/cjs/__e2e__/transferring-items.e2e.stories.js +19 -28
  12. package/build/cjs/__tests__/helper/use-highlighted-option/toggle-add.test.js +3 -6
  13. package/build/cjs/__tests__/helper/use-highlighted-option/toggle-range.test.js +24 -48
  14. package/build/cjs/__tests__/transfer.test.js +10 -18
  15. package/build/cjs/actions.js +10 -13
  16. package/build/cjs/add-all.js +14 -17
  17. package/build/cjs/add-individual.js +13 -16
  18. package/build/cjs/common/get-mode-by-modifier-key.js +6 -7
  19. package/build/cjs/container.js +12 -15
  20. package/build/cjs/end-intersection-detector.js +15 -21
  21. package/build/cjs/features/disabled-transfer-options/index.js +2 -4
  22. package/build/cjs/features/display-order/index.js +26 -47
  23. package/build/cjs/features/filter-options-list/index.js +3 -6
  24. package/build/cjs/features/highlight-range-of-options/index.js +5 -10
  25. package/build/cjs/features/notify_at_end_of_list/index.js +2 -4
  26. package/build/cjs/features/set_unset-highlighted-option/index.js +3 -6
  27. package/build/cjs/features/transferring-items/index.js +41 -75
  28. package/build/cjs/filter.js +24 -27
  29. package/build/cjs/icons.js +147 -171
  30. package/build/cjs/left-footer.js +10 -13
  31. package/build/cjs/left-header.js +10 -13
  32. package/build/cjs/left-side.js +16 -19
  33. package/build/cjs/locales/index.js +6 -1
  34. package/build/cjs/options-container.js +15 -17
  35. package/build/cjs/remove-all.js +13 -16
  36. package/build/cjs/remove-individual.js +13 -16
  37. package/build/cjs/reordering-actions.js +75 -82
  38. package/build/cjs/right-footer.js +10 -13
  39. package/build/cjs/right-header.js +10 -13
  40. package/build/cjs/right-side.js +16 -19
  41. package/build/cjs/transfer/add-all-selectable-source-options.js +9 -13
  42. package/build/cjs/transfer/add-individual-source-options.js +9 -10
  43. package/build/cjs/transfer/create-double-click-handlers.js +13 -16
  44. package/build/cjs/transfer/default-filter-callback.js +3 -6
  45. package/build/cjs/transfer/get-highlighted-picked-indices.js +4 -5
  46. package/build/cjs/transfer/is-reorder-down-disabled.js +5 -6
  47. package/build/cjs/transfer/is-reorder-up-disabled.js +5 -6
  48. package/build/cjs/transfer/move-highlighted-picked-option-down.js +5 -6
  49. package/build/cjs/transfer/move-highlighted-picked-option-to-bottom.js +5 -6
  50. package/build/cjs/transfer/move-highlighted-picked-option-to-top.js +5 -6
  51. package/build/cjs/transfer/move-highlighted-picked-option-up.js +5 -6
  52. package/build/cjs/transfer/remove-all-picked-options.js +4 -5
  53. package/build/cjs/transfer/remove-individual-picked-options.js +8 -9
  54. package/build/cjs/transfer/use-filter.js +7 -8
  55. package/build/cjs/transfer/use-highlighted-options/create-toggle-highlighted-option.js +39 -43
  56. package/build/cjs/transfer/use-highlighted-options/toggle-add.js +6 -7
  57. package/build/cjs/transfer/use-highlighted-options/toggle-range.js +11 -15
  58. package/build/cjs/transfer/use-highlighted-options/toggle-replace.js +5 -6
  59. package/build/cjs/transfer/use-highlighted-options.js +5 -6
  60. package/build/cjs/transfer/use-options-key-monitor.js +6 -7
  61. package/build/cjs/transfer-option.js +11 -13
  62. package/build/cjs/transfer.js +65 -85
  63. package/build/cjs/transfer.prod.stories.js +99 -146
  64. package/build/es/__e2e__/add_remove-highlighted-options.e2e.stories.js +20 -29
  65. package/build/es/__e2e__/common/stateful-decorator.js +19 -26
  66. package/build/es/__e2e__/disabled-transfer-buttons.e2e.stories.js +49 -70
  67. package/build/es/__e2e__/disabled-transfer-options.e2e.stories.js +11 -14
  68. package/build/es/__e2e__/display-order.e2e.stories.js +19 -28
  69. package/build/es/__e2e__/filter-options-list.e2e.stories.js +72 -96
  70. package/build/es/__e2e__/highlight-range-of-options.e2e.stories.js +33 -48
  71. package/build/es/__e2e__/notify_at_end_of_list.e2e.stories.js +46 -65
  72. package/build/es/__e2e__/reorder-with-buttons.e2e.stories.js +15 -24
  73. package/build/es/__e2e__/set_unset-highlighted-option.e2e.stories.js +20 -29
  74. package/build/es/__e2e__/transferring-items.e2e.stories.js +19 -28
  75. package/build/es/__tests__/helper/use-highlighted-option/toggle-add.test.js +3 -6
  76. package/build/es/__tests__/helper/use-highlighted-option/toggle-range.test.js +24 -48
  77. package/build/es/__tests__/transfer.test.js +10 -18
  78. package/build/es/actions.js +10 -13
  79. package/build/es/add-all.js +14 -17
  80. package/build/es/add-individual.js +13 -16
  81. package/build/es/common/get-mode-by-modifier-key.js +6 -7
  82. package/build/es/container.js +12 -15
  83. package/build/es/end-intersection-detector.js +15 -21
  84. package/build/es/features/disabled-transfer-options/index.js +2 -4
  85. package/build/es/features/display-order/index.js +26 -47
  86. package/build/es/features/filter-options-list/index.js +3 -6
  87. package/build/es/features/highlight-range-of-options/index.js +5 -10
  88. package/build/es/features/notify_at_end_of_list/index.js +2 -4
  89. package/build/es/features/set_unset-highlighted-option/index.js +3 -6
  90. package/build/es/features/transferring-items/index.js +41 -75
  91. package/build/es/filter.js +24 -27
  92. package/build/es/icons.js +147 -171
  93. package/build/es/left-footer.js +10 -13
  94. package/build/es/left-header.js +10 -13
  95. package/build/es/left-side.js +16 -19
  96. package/build/es/locales/index.js +6 -1
  97. package/build/es/options-container.js +14 -15
  98. package/build/es/remove-all.js +13 -16
  99. package/build/es/remove-individual.js +13 -16
  100. package/build/es/reordering-actions.js +75 -82
  101. package/build/es/right-footer.js +10 -13
  102. package/build/es/right-header.js +10 -13
  103. package/build/es/right-side.js +16 -19
  104. package/build/es/transfer/add-all-selectable-source-options.js +9 -13
  105. package/build/es/transfer/add-individual-source-options.js +9 -10
  106. package/build/es/transfer/create-double-click-handlers.js +13 -16
  107. package/build/es/transfer/default-filter-callback.js +3 -6
  108. package/build/es/transfer/get-highlighted-picked-indices.js +4 -5
  109. package/build/es/transfer/is-reorder-down-disabled.js +5 -6
  110. package/build/es/transfer/is-reorder-up-disabled.js +5 -6
  111. package/build/es/transfer/move-highlighted-picked-option-down.js +5 -6
  112. package/build/es/transfer/move-highlighted-picked-option-to-bottom.js +5 -6
  113. package/build/es/transfer/move-highlighted-picked-option-to-top.js +5 -6
  114. package/build/es/transfer/move-highlighted-picked-option-up.js +5 -6
  115. package/build/es/transfer/remove-all-picked-options.js +4 -5
  116. package/build/es/transfer/remove-individual-picked-options.js +8 -9
  117. package/build/es/transfer/use-filter.js +7 -8
  118. package/build/es/transfer/use-highlighted-options/create-toggle-highlighted-option.js +39 -43
  119. package/build/es/transfer/use-highlighted-options/toggle-add.js +6 -7
  120. package/build/es/transfer/use-highlighted-options/toggle-range.js +11 -15
  121. package/build/es/transfer/use-highlighted-options/toggle-replace.js +5 -6
  122. package/build/es/transfer/use-highlighted-options.js +5 -6
  123. package/build/es/transfer/use-options-key-monitor.js +6 -7
  124. package/build/es/transfer-option.js +10 -11
  125. package/build/es/transfer.js +64 -83
  126. package/build/es/transfer.prod.stories.js +98 -144
  127. package/package.json +8 -8
  128. package/src/locales/index.js +6 -1
@@ -140,11 +140,10 @@ export default {
140
140
  options: options
141
141
  }
142
142
  };
143
- const StatefulTemplate = _ref => {
144
- let {
145
- initiallySelected = [],
146
- ...args
147
- } = _ref;
143
+ const StatefulTemplate = ({
144
+ initiallySelected = [],
145
+ ...args
146
+ }) => {
148
147
  const [selected, setSelected] = useState(initiallySelected);
149
148
  const onChange = payload => setSelected(payload.selected);
150
149
  return /*#__PURE__*/React.createElement(Transfer, _extends({}, args, {
@@ -188,12 +187,9 @@ export const FilteredPicked = StatefulTemplate.bind({});
188
187
  FilteredPicked.args = {
189
188
  filterablePicked: true,
190
189
  initialSearchTermPicked: 'ANC',
191
- initiallySelected: options.map(_ref2 => {
192
- let {
193
- value
194
- } = _ref2;
195
- return value;
196
- })
190
+ initiallySelected: options.map(({
191
+ value
192
+ }) => value)
197
193
  };
198
194
  export const FilteredPlaceholder = StatefulTemplate.bind({});
199
195
  FilteredPlaceholder.args = {
@@ -201,25 +197,22 @@ FilteredPlaceholder.args = {
201
197
  filterLabel: 'Filter with placeholder',
202
198
  filterPlaceholder: 'Search'
203
199
  };
204
- const renderOption = _ref3 => {
205
- let {
200
+ const renderOption = ({
201
+ label,
202
+ value,
203
+ onClick,
204
+ highlighted,
205
+ selected
206
+ }) => /*#__PURE__*/React.createElement("p", {
207
+ onClick: event => onClick({
206
208
  label,
207
- value,
208
- onClick,
209
- highlighted,
210
- selected
211
- } = _ref3;
212
- return /*#__PURE__*/React.createElement("p", {
213
- onClick: event => onClick({
214
- label,
215
- value
216
- }, event),
217
- style: {
218
- background: highlighted ? 'green' : 'blue',
219
- color: selected ? 'orange' : 'white'
220
- }
221
- }, "Custom: ", label, " (label), ", value, " (value)");
222
- };
209
+ value
210
+ }, event),
211
+ style: {
212
+ background: highlighted ? 'green' : 'blue',
213
+ color: selected ? 'orange' : 'white'
214
+ }
215
+ }, "Custom: ", label, " (label), ", value, " (value)");
223
216
  const RenderOptionCode = () => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("strong", null, "Custom option code:"), /*#__PURE__*/React.createElement("code", null, /*#__PURE__*/React.createElement("pre", null, `const renderOption = ({ label, value, onClick, highlighted, selected }) => (
224
217
  <p
225
218
  onClick={event => onClick({ label, value }, event)}
@@ -231,11 +224,10 @@ const RenderOptionCode = () => /*#__PURE__*/React.createElement(React.Fragment,
231
224
  Custom: {label} (label), {value} (value)
232
225
  </p>
233
226
  )`)));
234
- const StatefulTemplateCustomRenderOption = _ref4 => {
235
- let {
236
- initiallySelected = [],
237
- ...args
238
- } = _ref4;
227
+ const StatefulTemplateCustomRenderOption = ({
228
+ initiallySelected = [],
229
+ ...args
230
+ }) => {
239
231
  const [selected, setSelected] = useState(initiallySelected);
240
232
  const onChange = payload => setSelected(payload.selected);
241
233
  return /*#__PURE__*/React.createElement(Transfer, _extends({}, args, {
@@ -250,12 +242,9 @@ export const CustomListOptions = args => /*#__PURE__*/React.createElement(React.
250
242
  CustomListOptions.args = {
251
243
  renderOption,
252
244
  options: options.slice(0, 2),
253
- initiallySelected: options.slice(0, 2).map(_ref5 => {
254
- let {
255
- value
256
- } = _ref5;
257
- return value;
258
- })
245
+ initiallySelected: options.slice(0, 2).map(({
246
+ value
247
+ }) => value)
259
248
  };
260
249
  export const IndividualCustomOption = StatefulTemplateCustomRenderOption.bind({});
261
250
  IndividualCustomOption.args = {
@@ -303,12 +292,9 @@ export const Reordering = StatefulTemplate.bind({});
303
292
  Reordering.args = {
304
293
  enableOrderChange: true,
305
294
  options: options.slice(0, 20),
306
- initiallySelected: options.slice(0, 8).map(_ref6 => {
307
- let {
308
- value
309
- } = _ref6;
310
- return value;
311
- })
295
+ initiallySelected: options.slice(0, 8).map(({
296
+ value
297
+ }) => value)
312
298
  };
313
299
  export const ReorderingWithPickedFilter = StatefulTemplate.bind({});
314
300
  ReorderingWithPickedFilter.storyName = 'Reordering with picked filter';
@@ -317,18 +303,14 @@ ReorderingWithPickedFilter.args = {
317
303
  filterablePicked: true,
318
304
  filterPlaceholderPicked: 'Search picked options',
319
305
  options: options.slice(0, 20),
320
- initiallySelected: options.slice(0, 8).map(_ref7 => {
321
- let {
322
- value
323
- } = _ref7;
324
- return value;
325
- })
306
+ initiallySelected: options.slice(0, 8).map(({
307
+ value
308
+ }) => value)
326
309
  };
327
- const ReorderingWithRightFooterTemplate = _ref8 => {
328
- let {
329
- initiallySelected = [],
330
- ...args
331
- } = _ref8;
310
+ const ReorderingWithRightFooterTemplate = ({
311
+ initiallySelected = [],
312
+ ...args
313
+ }) => {
332
314
  const [selected, setSelected] = useState(initiallySelected);
333
315
  const onChange = payload => setSelected(payload.selected);
334
316
  return /*#__PURE__*/React.createElement(Transfer, _extends({}, args, {
@@ -349,24 +331,18 @@ ReorderingWithRightFooterContent.storyName = 'Reordering with right footer conte
349
331
  ReorderingWithRightFooterContent.args = {
350
332
  enableOrderChange: true,
351
333
  options: options.slice(0, 20),
352
- initiallySelected: options.slice(0, 8).map(_ref9 => {
353
- let {
354
- value
355
- } = _ref9;
356
- return value;
357
- })
334
+ initiallySelected: options.slice(0, 8).map(({
335
+ value
336
+ }) => value)
358
337
  };
359
338
  export const ReorderingWithCustomOptions = StatefulTemplateCustomRenderOption.bind({});
360
339
  ReorderingWithCustomOptions.storyName = 'Reordering with custom options';
361
340
  ReorderingWithCustomOptions.args = {
362
341
  enableOrderChange: true,
363
342
  options: options.slice(0, 20),
364
- initiallySelected: options.slice(0, 8).map(_ref10 => {
365
- let {
366
- value
367
- } = _ref10;
368
- return value;
369
- }),
343
+ initiallySelected: options.slice(0, 8).map(({
344
+ value
345
+ }) => value),
370
346
  renderOption: option => {
371
347
  if (option.value === options[0].value) {
372
348
  return renderOption(option);
@@ -403,40 +379,37 @@ const createCustomFilteringInHeader = hideFilterInput => {
403
379
  year: index < 5 ? '2020' : '2019'
404
380
  }));
405
381
  const allOptions = [...relativePeriods, ...fixedPeriods];
406
- const Header = _ref11 => {
407
- let {
408
- onClick,
409
- relativePeriod,
410
- selectedYear,
411
- onSelectedYearChange
412
- } = _ref11;
413
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TabBar, null, /*#__PURE__*/React.createElement(Tab, {
414
- selected: relativePeriod,
415
- onClick: () => onClick({
416
- relativePeriod: true
417
- })
418
- }, "Relative periods"), /*#__PURE__*/React.createElement(Tab, {
419
- selected: !relativePeriod,
420
- onClick: () => onClick({
421
- relativePeriod: false
422
- })
423
- }, "Fixed periods")), /*#__PURE__*/React.createElement("p", {
424
- style: {
425
- margin: 0,
426
- height: 10
427
- }
428
- }), /*#__PURE__*/React.createElement(SingleSelectField, {
429
- label: "Year",
430
- selected: selectedYear,
431
- onChange: onSelectedYearChange
432
- }, /*#__PURE__*/React.createElement(SingleSelectOption, {
433
- value: "2020",
434
- label: "2020"
435
- }), /*#__PURE__*/React.createElement(SingleSelectOption, {
436
- value: "2019",
437
- label: "2019"
438
- })));
439
- };
382
+ const Header = ({
383
+ onClick,
384
+ relativePeriod,
385
+ selectedYear,
386
+ onSelectedYearChange
387
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TabBar, null, /*#__PURE__*/React.createElement(Tab, {
388
+ selected: relativePeriod,
389
+ onClick: () => onClick({
390
+ relativePeriod: true
391
+ })
392
+ }, "Relative periods"), /*#__PURE__*/React.createElement(Tab, {
393
+ selected: !relativePeriod,
394
+ onClick: () => onClick({
395
+ relativePeriod: false
396
+ })
397
+ }, "Fixed periods")), /*#__PURE__*/React.createElement("p", {
398
+ style: {
399
+ margin: 0,
400
+ height: 10
401
+ }
402
+ }), /*#__PURE__*/React.createElement(SingleSelectField, {
403
+ label: "Year",
404
+ selected: selectedYear,
405
+ onChange: onSelectedYearChange
406
+ }, /*#__PURE__*/React.createElement(SingleSelectOption, {
407
+ value: "2020",
408
+ label: "2020"
409
+ }), /*#__PURE__*/React.createElement(SingleSelectOption, {
410
+ value: "2019",
411
+ label: "2019"
412
+ })));
440
413
  /* eslint-enable react/prop-types */
441
414
 
442
415
  const CustomTransfer = props => {
@@ -449,28 +422,19 @@ const createCustomFilteringInHeader = hideFilterInput => {
449
422
  if (filter === '') {
450
423
  return optionsWithPeriod;
451
424
  }
452
- return optionsWithPeriod.filter(_ref12 => {
453
- let {
454
- label
455
- } = _ref12;
456
- return label.indexOf(filter) !== -1;
457
- });
425
+ return optionsWithPeriod.filter(({
426
+ label
427
+ }) => label.indexOf(filter) !== -1);
458
428
  };
459
429
  const header = /*#__PURE__*/React.createElement(Header, {
460
430
  relativePeriod: relativePeriod,
461
431
  selectedYear: year,
462
- onSelectedYearChange: _ref13 => {
463
- let {
464
- selected
465
- } = _ref13;
466
- return setYear(selected);
467
- },
468
- onClick: _ref14 => {
469
- let {
470
- relativePeriod: newRelativePeriod
471
- } = _ref14;
472
- return setRelativePeriod(newRelativePeriod);
473
- }
432
+ onSelectedYearChange: ({
433
+ selected
434
+ }) => setYear(selected),
435
+ onClick: ({
436
+ relativePeriod: newRelativePeriod
437
+ }) => setRelativePeriod(newRelativePeriod)
474
438
  });
475
439
  return /*#__PURE__*/React.createElement(Transfer, _extends({}, props, {
476
440
  options: allOptions,
@@ -480,22 +444,18 @@ const createCustomFilteringInHeader = hideFilterInput => {
480
444
  filterCallback: filterCallback,
481
445
  leftHeader: header,
482
446
  rightHeader: /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("b", null, "Selected Periods")),
483
- onFilterChange: _ref15 => {
484
- let {
485
- value
486
- } = _ref15;
487
- return setFilter(value);
488
- },
447
+ onFilterChange: ({
448
+ value
449
+ }) => setFilter(value),
489
450
  height: "400px",
490
451
  filterLabel: "Filter options",
491
452
  filterPlaceholder: "Search"
492
453
  }));
493
454
  };
494
- return _ref16 => {
495
- let {
496
- initiallySelected,
497
- ...args
498
- } = _ref16;
455
+ return ({
456
+ initiallySelected,
457
+ ...args
458
+ }) => {
499
459
  const [selected, setSelected] = useState(initiallySelected);
500
460
  const onChange = payload => setSelected(payload.selected);
501
461
  return /*#__PURE__*/React.createElement(CustomTransfer, _extends({}, args, {
@@ -529,12 +489,9 @@ export const InfiniteLoading = args => {
529
489
  // selected options
530
490
  const [selected] = useState(
531
491
  // Last 4 options preselected
532
- preSelectedOptions.map(_ref17 => {
533
- let {
534
- value
535
- } = _ref17;
536
- return value;
537
- }));
492
+ preSelectedOptions.map(({
493
+ value
494
+ }) => value));
538
495
  const selectedOptionsLookup = useMemo(() => preSelectedOptions.reduce((lookup, option) => {
539
496
  lookup[option.value] = option;
540
497
  return lookup;
@@ -573,12 +530,9 @@ export const LoadingPicked = StatefulTemplate.bind({});
573
530
  LoadingPicked.args = {
574
531
  loadingPicked: true,
575
532
  options: options.slice(0, 3),
576
- initiallySelected: options.slice(0, 2).map(_ref18 => {
577
- let {
578
- value
579
- } = _ref18;
580
- return value;
581
- })
533
+ initiallySelected: options.slice(0, 2).map(({
534
+ value
535
+ }) => value)
582
536
  };
583
537
  export const RTL = args => /*#__PURE__*/React.createElement("div", {
584
538
  dir: "rtl"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dhis2-ui/transfer",
3
- "version": "10.16.3",
3
+ "version": "10.16.5",
4
4
  "description": "UI Transfer",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,13 +34,13 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@dhis2/prop-types": "^3.1.2",
37
- "@dhis2-ui/button": "10.16.3",
38
- "@dhis2-ui/field": "10.16.3",
39
- "@dhis2-ui/input": "10.16.3",
40
- "@dhis2-ui/intersection-detector": "10.16.3",
41
- "@dhis2-ui/loader": "10.16.3",
42
- "@dhis2-ui/tooltip": "10.16.3",
43
- "@dhis2/ui-constants": "10.16.3",
37
+ "@dhis2-ui/button": "10.16.5",
38
+ "@dhis2-ui/field": "10.16.5",
39
+ "@dhis2-ui/input": "10.16.5",
40
+ "@dhis2-ui/intersection-detector": "10.16.5",
41
+ "@dhis2-ui/loader": "10.16.5",
42
+ "@dhis2-ui/tooltip": "10.16.5",
43
+ "@dhis2/ui-constants": "10.16.5",
44
44
  "classnames": "^2.3.1",
45
45
  "prop-types": "^15.7.2"
46
46
  },
@@ -11,6 +11,11 @@ import i18n from '@dhis2/d2-i18n'
11
11
  import enTranslations from './en/translations.json'
12
12
 
13
13
  const namespace = 'default'
14
- i18n.addResources('en', namespace, enTranslations)
14
+
15
+ // Use 'deep' = true and 'overwrite' = false to add to, but not overwrite,
16
+ // custom translations from the datastore (added by the app adapter)
17
+
18
+ i18n.addResourceBundle('en', namespace, enTranslations, true, false)
19
+ i18n.addResourceBundle('en', namespace, enTranslations, true, false)
15
20
 
16
21
  export default i18n