@vitrosoftware/common-ui-ts 1.1.49 → 1.1.51

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.
package/dist/index.js CHANGED
@@ -195,6 +195,8 @@ CTRL.QUOTATION_MARK = '\'';
195
195
  CTRL.ZERO = '0';
196
196
  CTRL.ASTERISK = '*';
197
197
 
198
+ var styles = {"vitro-breadcrumbs":"_breadcrumbs_vitro-breadcrumbs_3r4NcQY","vitro-breadcrumbs-list-wrap":"_breadcrumbs_vitro-breadcrumbs-list-wrap_1_JBrw0","vitro-breadcrumbs-list":"_breadcrumbs_vitro-breadcrumbs-list_1SNtgtJ","vitro-separator":"_breadcrumbs_vitro-separator_3RKZZBc","vitro-breadcrumbs-button":"_breadcrumbs_vitro-breadcrumbs-button_3fazq3c","vitro-root":"_breadcrumbs_vitro-root_1S5-6AY","vitro-drop-down-list":"_breadcrumbs_vitro-drop-down-list_2PhrR2a"};
199
+
198
200
  var Item = function Item(props) {
199
201
  var onClick = function onClick() {
200
202
  if (props.onClick) {
@@ -202,12 +204,15 @@ var Item = function Item(props) {
202
204
  }
203
205
  };
204
206
  return React__default.createElement("li", {
205
- onClick: onClick,
206
207
  className: props.className || CTRL.EMPTY
207
- }, props.text);
208
+ }, React__default.createElement("div", {
209
+ onClick: onClick
210
+ }, props.children), props.isShowSeparator && React__default.createElement("div", {
211
+ className: styles['vitro-separator']
212
+ }));
208
213
  };
209
214
 
210
- var styles = {"vitro-scrollbar-content":"_scrollbar_vitro-scrollbar-content_3HXSt5u"};
215
+ var styles$1 = {"vitro-scrollbar-content":"_scrollbar_vitro-scrollbar-content_3HXSt5u"};
211
216
 
212
217
  var w = window;
213
218
  var ScrollBar = function ScrollBar(props) {
@@ -247,7 +252,7 @@ var ScrollBar = function ScrollBar(props) {
247
252
  return React__default.createElement("div", {
248
253
  ref: ref
249
254
  }, React__default.createElement("div", {
250
- className: styles['vitro-scrollbar-content']
255
+ className: styles$1['vitro-scrollbar-content']
251
256
  }, element && props.children));
252
257
  };
253
258
 
@@ -265,8 +270,6 @@ var ScrollBar = function ScrollBar(props) {
265
270
  EVENT["CONTEXTMENU"] = "contextmenu";
266
271
  })(exports.EVENT || (exports.EVENT = {}));
267
272
 
268
- var styles$1 = {"vitro-breadcrumbs":"_breadcrumbs_vitro-breadcrumbs_3r4NcQY","vitro-breadcrumbs-list-wrap":"_breadcrumbs_vitro-breadcrumbs-list-wrap_1_JBrw0","vitro-breadcrumbs-list":"_breadcrumbs_vitro-breadcrumbs-list_1SNtgtJ","vitro-breadcrumbs-button":"_breadcrumbs_vitro-breadcrumbs-button_3fazq3c","vitro-root":"_breadcrumbs_vitro-root_1S5-6AY","vitro-drop-down-list":"_breadcrumbs_vitro-drop-down-list_2PhrR2a"};
269
-
270
273
  var Breadcrumbs = function Breadcrumbs(props) {
271
274
  var _useState = React.useState([]),
272
275
  displayItemList = _useState[0],
@@ -369,7 +372,7 @@ var Breadcrumbs = function Breadcrumbs(props) {
369
372
  setWindowWidth(window.innerWidth);
370
373
  };
371
374
  var clickOutside = function clickOutside(e) {
372
- if (menuRef.current && !menuRef.current.contains(e.target) && e.target.className !== styles$1['vitro-breadcrumbs-button']) {
375
+ if (menuRef.current && !menuRef.current.contains(e.target) && e.target.className !== styles['vitro-breadcrumbs-button']) {
373
376
  setDropDown(false);
374
377
  }
375
378
  };
@@ -380,43 +383,45 @@ var Breadcrumbs = function Breadcrumbs(props) {
380
383
  var showDropdownMenu = function showDropdownMenu() {
381
384
  setDropDown(!dropDown);
382
385
  };
383
- var titleClassName = styles$1['vitro-site-name'] + CTRL.SPACE + (displayItemList.length ? styles$1['opened'] : styles$1['closed']);
386
+ var titleClassName = styles['vitro-site-name'] + CTRL.SPACE + (displayItemList.length ? styles['opened'] : styles['closed']);
384
387
  return React__default.createElement("div", {
385
- className: styles$1['vitro-breadcrumbs']
388
+ className: styles['vitro-breadcrumbs']
386
389
  }, props.text ? React__default.createElement("h2", {
387
390
  className: titleClassName
388
391
  }, props.text) : null, React__default.createElement("div", {
389
- className: styles$1['vitro-breadcrumbs-list-wrap']
392
+ className: styles['vitro-breadcrumbs-list-wrap']
390
393
  }, React__default.createElement("ul", {
391
- className: styles$1['vitro-breadcrumbs-list']
392
- }, displayItemList.map(function (item) {
394
+ className: styles['vitro-breadcrumbs-list']
395
+ }, displayItemList.map(function (item, i) {
393
396
  return React__default.createElement(Item, {
394
- text: item.text,
395
397
  id: item.id,
396
398
  onClick: function onClick() {
397
399
  return onItemClick(item);
398
- }
399
- });
400
+ },
401
+ isShowSeparator: i !== displayItemList.length - 1
402
+ }, item.text);
400
403
  })), dropdownItemList.length ? React__default.createElement("div", {
401
404
  onClick: showDropdownMenu,
402
- className: styles$1['vitro-breadcrumbs-button']
405
+ className: styles['vitro-breadcrumbs-button']
403
406
  }) : null, !props.wrapRoot && rootItem ? React__default.createElement(Item, {
404
407
  id: rootItem.id,
405
408
  onClick: function onClick() {
406
409
  return onItemClick(rootItem);
407
410
  },
408
- className: styles$1['vitro-root']
409
- }) : null), dropDown && dropdownItemList.length > 0 && React__default.createElement("div", {
410
- className: styles$1['vitro-drop-down-list'],
411
+ isShowSeparator: true
412
+ }, React__default.createElement("div", {
413
+ className: styles['vitro-root']
414
+ })) : null), dropDown && dropdownItemList.length > 0 && React__default.createElement("div", {
415
+ className: styles['vitro-drop-down-list'],
411
416
  ref: menuRef
412
- }, React__default.createElement("ul", null, React__default.createElement(ScrollBar, null, dropdownItemList.map(function (item) {
417
+ }, React__default.createElement("ul", null, React__default.createElement(ScrollBar, null, dropdownItemList.map(function (item, i) {
413
418
  return React__default.createElement(Item, {
414
- text: item.text,
415
419
  id: item.id,
416
420
  onClick: function onClick() {
417
421
  return onItemClick(item);
418
- }
419
- });
422
+ },
423
+ isShowSeparator: false
424
+ }, item.text);
420
425
  })))));
421
426
  };
422
427
 
@@ -60591,7 +60596,7 @@ var REGEXP;
60591
60596
  var styles$f = {"vitro-control":"_input_vitro-control_1DmPFkF","vitro-focus":"_input_vitro-focus_1txynr8","vitro-label":"_input_vitro-label_2XBESiY","vitro-read-only":"_input_vitro-read-only_3f-cBbK","vitro-error":"_input_vitro-error_1T3dLzB","vitro-left-label":"_input_vitro-left-label_D9Fpvpd","vitro-error-text":"_input_vitro-error-text_QpZK56k","vitro-button-copy":"_input_vitro-button-copy_jjyktjx"};
60592
60597
 
60593
60598
  var PX_UNIT$2 = 'px';
60594
- var Input = function Input(props) {
60599
+ var Input = React.forwardRef(function (props, ref) {
60595
60600
  var control;
60596
60601
  var localeSeparator = 1.1.toLocaleString()[1];
60597
60602
  var secondLocaleSeparator = localeSeparator === CTRL.COMMA ? CTRL.DOT : CTRL.COMMA;
@@ -60608,7 +60613,7 @@ var Input = function Input(props) {
60608
60613
  var _useState4 = React.useState(CTRL.EMPTY),
60609
60614
  state = _useState4[0],
60610
60615
  setState = _useState4[1];
60611
- var ref = React.useRef(null);
60616
+ var inputRef = React.useRef(null);
60612
60617
  React.useEffect(function () {
60613
60618
  if (props.value) {
60614
60619
  updateValue(props.value, true);
@@ -60628,6 +60633,15 @@ var Input = function Input(props) {
60628
60633
  if (props.maxHeight) jsonStyle.maxHeight = props.maxHeight + PX_UNIT$2;
60629
60634
  setStyle(jsonStyle);
60630
60635
  }, [props.height, props.minHeight, props.maxHeight]);
60636
+ React.useImperativeHandle(ref, function () {
60637
+ return {
60638
+ focus: function focus() {
60639
+ if (inputRef.current) {
60640
+ inputRef.current.focus();
60641
+ }
60642
+ }
60643
+ };
60644
+ });
60631
60645
  var updateValue = function updateValue(value, isInit) {
60632
60646
  var newValue = sourceValue;
60633
60647
  if (!props.number) {
@@ -60682,15 +60696,24 @@ var Input = function Input(props) {
60682
60696
  var copyValue = function copyValue() {
60683
60697
  navigator.clipboard.writeText(inputValue);
60684
60698
  };
60699
+ var onKeyDown = function onKeyDown(e) {
60700
+ if (e.keyCode === 13 && !e.shiftKey) {
60701
+ e.preventDefault();
60702
+ e.target.blur();
60703
+ }
60704
+ if (props.onKeyDown) {
60705
+ props.onKeyDown(e);
60706
+ }
60707
+ };
60685
60708
  var remainHeight = function remainHeight() {
60686
- if (ref && ref.current && props.onChangeSize) {
60687
- props.onChangeSize(ref.current.offsetHeight);
60709
+ if (inputRef && inputRef.current && props.onChangeSize) {
60710
+ props.onChangeSize(inputRef.current.offsetHeight);
60688
60711
  }
60689
60712
  window.removeEventListener(exports.EVENT.MOUSEUP, remainHeight);
60690
60713
  };
60691
60714
  if (props.isMultiline) {
60692
60715
  control = React__default.createElement("textarea", {
60693
- ref: ref,
60716
+ ref: inputRef,
60694
60717
  readOnly: props.isReadOnly,
60695
60718
  disabled: props.isDisabled,
60696
60719
  name: props.name,
@@ -60699,7 +60722,7 @@ var Input = function Input(props) {
60699
60722
  required: props.isRequired,
60700
60723
  value: inputValue ? inputValue : CTRL.EMPTY,
60701
60724
  onKeyPress: props.onKeyPress,
60702
- onKeyDown: props.onKeyDown,
60725
+ onKeyDown: onKeyDown,
60703
60726
  onChange: onChange,
60704
60727
  onMouseDown: onResize,
60705
60728
  onBlur: onBlur,
@@ -60708,7 +60731,7 @@ var Input = function Input(props) {
60708
60731
  });
60709
60732
  } else {
60710
60733
  var input = React__default.createElement("input", {
60711
- ref: ref,
60734
+ ref: inputRef,
60712
60735
  readOnly: props.isReadOnly,
60713
60736
  disabled: props.isDisabled,
60714
60737
  type: props.type,
@@ -60719,7 +60742,7 @@ var Input = function Input(props) {
60719
60742
  required: props.isRequired,
60720
60743
  onBlur: onBlur,
60721
60744
  onKeyPress: props.onKeyPress,
60722
- onKeyDown: props.onKeyDown,
60745
+ onKeyDown: onKeyDown,
60723
60746
  onFocus: onFocus,
60724
60747
  autoComplete: props.isAutoComplete ? AUTOCOMPLETE.ON : AUTOCOMPLETE.OFF
60725
60748
  });
@@ -60755,7 +60778,7 @@ var Input = function Input(props) {
60755
60778
  }) : null, props.children, props.errorMessage && React__default.createElement("span", {
60756
60779
  className: styles$f['vitro-error-text']
60757
60780
  }, props.errorMessage));
60758
- };
60781
+ });
60759
60782
 
60760
60783
  var styles$g = {"vitro-issue-tile-footer":"_issue-tile-footer_vitro-issue-tile-footer_KtHOieL","vitro-issue-tile-status":"_issue-tile-footer_vitro-issue-tile-status_3OjC56L","vitro-status-color":"_issue-tile-footer_vitro-status-color_hhLb22J","vitro-button-more":"_issue-tile-footer_vitro-button-more_1RyVAeR"};
60761
60784
 
@@ -61259,12 +61282,12 @@ var LABEL_POSITION;
61259
61282
  var styles$m = {"vitro-control":"_date-picker_vitro-control_2AYXegb","vitro-button-copy":"_date-picker_vitro-button-copy_1cGY1Uu","vitro-control-container":"_date-picker_vitro-control-container_2CVwecs","vitro-focus":"_date-picker_vitro-focus_2cJKcKr","vitro-label":"_date-picker_vitro-label_2jh9qxb","vitro-read-only":"_date-picker_vitro-read-only_2NZoMN5","vitro-error":"_date-picker_vitro-error_3DkgZiN","vitro-left-label":"_date-picker_vitro-left-label_ZFhZFS9","vitro-error-text":"_date-picker_vitro-error-text_15CdrRj"};
61260
61283
 
61261
61284
  var $$3 = window.$;
61262
- var DatePicker = function DatePicker(props) {
61285
+ var DatePicker = React.forwardRef(function (props, ref) {
61263
61286
  var _useState = React.useState(CTRL.EMPTY),
61264
61287
  state = _useState[0],
61265
61288
  setState = _useState[1];
61266
61289
  var container = React.useRef(null);
61267
- var ref = React.useRef(null);
61290
+ var inputRef = React.useRef(null);
61268
61291
  var componentName = 'kendoDatePicker';
61269
61292
  React.useEffect(function () {
61270
61293
  var config = {
@@ -61310,27 +61333,78 @@ var DatePicker = function DatePicker(props) {
61310
61333
  if (config.value) {
61311
61334
  config.value = new Date(config.value);
61312
61335
  }
61313
- $$3(ref.current).kendoDatePicker(config);
61314
- var picker = $$3(ref.current).data(componentName);
61336
+ $$3(inputRef.current).kendoDatePicker(config);
61337
+ var picker = $$3(inputRef.current).data(componentName);
61315
61338
  picker.enable(!props.isDisabled);
61316
61339
  picker.readonly(props.isReadOnly === true);
61317
- }, [ref]);
61340
+ }, [inputRef]);
61318
61341
  React.useEffect(function () {
61319
61342
  if (props.value) {
61320
- $$3(ref.current).data(componentName).value(new Date(props.value));
61343
+ $$3(inputRef.current).data(componentName).value(new Date(props.value));
61321
61344
  } else {
61322
- $$3(ref.current).data(componentName).value(props.value);
61345
+ $$3(inputRef.current).data(componentName).value(null);
61346
+ $$3(inputRef.current).data(componentName).setOptions({
61347
+ dateInput: true
61348
+ });
61323
61349
  }
61324
61350
  }, [props.value]);
61325
61351
  React.useEffect(function () {
61326
- if (props.minValue) $$3(ref.current).data(componentName).min(props.minValue);
61352
+ $$3(inputRef.current).data(componentName).setOptions({
61353
+ change: function change(e) {
61354
+ if (props.onChange) {
61355
+ props.onChange(e.sender.value(), props.name);
61356
+ }
61357
+ }
61358
+ });
61359
+ }, [props.onChange]);
61360
+ React.useEffect(function () {
61361
+ $$3(inputRef.current).data(componentName).setOptions({
61362
+ disableDates: function disableDates(date) {
61363
+ if (!props.isWorkDay) {
61364
+ return false;
61365
+ }
61366
+ return props.isWorkDay(date);
61367
+ }
61368
+ });
61369
+ }, [props.isWorkDay]);
61370
+ React.useEffect(function () {
61371
+ $$3(inputRef.current).data(componentName).setOptions({
61372
+ open: function open(e) {
61373
+ onFocus();
61374
+ if (props.onOpen) {
61375
+ props.onOpen(e, $$3(container.current));
61376
+ }
61377
+ }
61378
+ });
61379
+ }, [props.onOpen]);
61380
+ React.useEffect(function () {
61381
+ $$3(inputRef.current).data(componentName).setOptions({
61382
+ close: function close(e) {
61383
+ onBlur();
61384
+ if (props.onClose) {
61385
+ props.onClose(e.sender.value(), props.name);
61386
+ }
61387
+ }
61388
+ });
61389
+ }, [props.onClose]);
61390
+ React.useEffect(function () {
61391
+ if (props.minValue) $$3(inputRef.current).data(componentName).min(props.minValue);
61327
61392
  }, [props.minValue]);
61328
61393
  React.useEffect(function () {
61329
- if (props.maxValue) $$3(ref.current).data(componentName).max(props.maxValue);
61394
+ if (props.maxValue) $$3(inputRef.current).data(componentName).max(props.maxValue);
61330
61395
  }, [props.maxValue]);
61331
61396
  React.useEffect(function () {
61332
61397
  props.errorMessage ? setState(styles$m['vitro-error']) : setState(CTRL.EMPTY);
61333
61398
  }, [props.errorMessage]);
61399
+ React.useImperativeHandle(ref, function () {
61400
+ return {
61401
+ focus: function focus() {
61402
+ if (inputRef.current) {
61403
+ inputRef.current.focus();
61404
+ }
61405
+ }
61406
+ };
61407
+ });
61334
61408
  var onFocus = function onFocus() {
61335
61409
  setState(styles$m['vitro-focus']);
61336
61410
  };
@@ -61359,7 +61433,7 @@ var DatePicker = function DatePicker(props) {
61359
61433
  width: props.labelWidth,
61360
61434
  className: styles$m['vitro-label']
61361
61435
  }), React__default.createElement("input", {
61362
- ref: ref,
61436
+ ref: inputRef,
61363
61437
  placeholder: props.placeholder,
61364
61438
  onFocus: onFocus,
61365
61439
  onBlur: onBlur
@@ -61372,7 +61446,7 @@ var DatePicker = function DatePicker(props) {
61372
61446
  }), props.errorMessage && React__default.createElement("span", {
61373
61447
  className: styles$m['vitro-error-text']
61374
61448
  }, props.errorMessage));
61375
- };
61449
+ });
61376
61450
 
61377
61451
  var FORMAT;
61378
61452
  (function (FORMAT) {
@@ -61394,15 +61468,15 @@ var COMPONENT_TYPE;
61394
61468
  var styles$n = {"vitro-control":"_time-picker_vitro-control_1sx07It","vitro-button-copy":"_time-picker_vitro-button-copy_QZg3bTW","vitro-control-container":"_time-picker_vitro-control-container_3ys3rMN","vitro-focus":"_time-picker_vitro-focus_wmhPjvE","vitro-label":"_time-picker_vitro-label_2b97aCy","vitro-error":"_time-picker_vitro-error_2ZmK0I5","vitro-read-only":"_time-picker_vitro-read-only_NlE18Zm","vitro-left-label":"_time-picker_vitro-left-label_3NRmFYH","vitro-error-text":"_time-picker_vitro-error-text_2BNoBKW"};
61395
61469
 
61396
61470
  var $$4 = window.$;
61397
- var TimePicker = function TimePicker(props) {
61471
+ var TimePicker = React.forwardRef(function (props, ref) {
61398
61472
  var _useState = React.useState(CTRL.EMPTY),
61399
61473
  state = _useState[0],
61400
61474
  setState = _useState[1];
61401
61475
  var container = React.useRef(null);
61402
- var ref = React.useRef(null);
61476
+ var inputRef = React.useRef(null);
61403
61477
  var componentName = 'kendoTimePicker';
61404
61478
  React.useEffect(function () {
61405
- $$4(ref.current).kendoTimePicker({
61479
+ $$4(inputRef.current).kendoTimePicker({
61406
61480
  format: props.format || FORMAT.HH_MM,
61407
61481
  componentType: COMPONENT_TYPE.MODERN,
61408
61482
  culture: props.culture || CULTURE$1.RU,
@@ -61429,13 +61503,22 @@ var TimePicker = function TimePicker(props) {
61429
61503
  appendTo: $$4(container.current)
61430
61504
  }
61431
61505
  });
61432
- var picker = $$4(ref.current).data(componentName);
61506
+ var picker = $$4(inputRef.current).data(componentName);
61433
61507
  picker.enable(!props.isDisabled);
61434
61508
  picker.readonly(props.isReadOnly === true);
61435
- }, [ref]);
61509
+ }, [inputRef]);
61436
61510
  React.useEffect(function () {
61437
- $$4(ref.current).data(componentName).value(props.value);
61511
+ $$4(inputRef.current).data(componentName).value(props.value);
61438
61512
  }, [props.value]);
61513
+ React.useImperativeHandle(ref, function () {
61514
+ return {
61515
+ focus: function focus() {
61516
+ if (inputRef.current) {
61517
+ inputRef.current.focus();
61518
+ }
61519
+ }
61520
+ };
61521
+ });
61439
61522
  var onFocus = function onFocus() {
61440
61523
  setState(styles$n['vitro-focus']);
61441
61524
  };
@@ -61464,7 +61547,7 @@ var TimePicker = function TimePicker(props) {
61464
61547
  width: props.labelWidth,
61465
61548
  className: styles$n['vitro-label']
61466
61549
  }), React__default.createElement("input", {
61467
- ref: ref,
61550
+ ref: inputRef,
61468
61551
  placeholder: props.placeholder,
61469
61552
  onFocus: onFocus,
61470
61553
  onBlur: onBlur
@@ -61477,7 +61560,7 @@ var TimePicker = function TimePicker(props) {
61477
61560
  }), props.errorMessage && React__default.createElement("span", {
61478
61561
  className: styles$n['vitro-error-text']
61479
61562
  }, props.errorMessage));
61480
- };
61563
+ });
61481
61564
 
61482
61565
  var styles$o = {"vitro-selected-item-multi":"_lookup-picker-selected-item_vitro-selected-item-multi_bzL7ugZ","vitro-selected-item":"_lookup-picker-selected-item_vitro-selected-item_hw-euth","vitro-button-close":"_lookup-picker-selected-item_vitro-button-close_1SRnr_0"};
61483
61566
 
@@ -61570,7 +61653,7 @@ var LOCALE$4;
61570
61653
  var styles$q = {"vitro-lookup-picker":"_lookup-picker_vitro-lookup-picker_1aXYQEG","vitro-content":"_lookup-picker_vitro-content_37L0slb","vitro-focus":"_lookup-picker_vitro-focus_2UGpxXD","vitro-label":"_lookup-picker_vitro-label_2QoJkUz","vitro-read-only":"_lookup-picker_vitro-read-only_32NOdGB","vitro-error":"_lookup-picker_vitro-error_dF7iopC","vitro-error-text":"_lookup-picker_vitro-error-text_273lqvD","vitro-button-copy":"_lookup-picker_vitro-button-copy_2UIHHZD","vitro-right":"_lookup-picker_vitro-right_1XFsL1w","vitro-button-close":"_lookup-picker_vitro-button-close_3_Qndrj","vitro-button-collapse-up":"_lookup-picker_vitro-button-collapse-up_3i0OJub","vitro-button-collapse-bottom":"_lookup-picker_vitro-button-collapse-bottom_3o0Pl83"};
61571
61654
 
61572
61655
  var $$5 = window.$;
61573
- var LookupPicker = function LookupPicker(props) {
61656
+ var LookupPicker = React.forwardRef(function (props, ref) {
61574
61657
  var createDefaultSelectedValueList = props.selectedValueList ? props.selectedValueList : props.selectedValue ? [props.selectedValue] : [];
61575
61658
  var _useState = React.useState(true),
61576
61659
  pending = _useState[0],
@@ -61639,6 +61722,15 @@ var LookupPicker = function LookupPicker(props) {
61639
61722
  setSelectedValueList([]);
61640
61723
  }
61641
61724
  }, [props.selectedValue]);
61725
+ React.useImperativeHandle(ref, function () {
61726
+ return {
61727
+ focus: function focus() {
61728
+ if (inputRef.current) {
61729
+ inputRef.current.focus();
61730
+ }
61731
+ }
61732
+ };
61733
+ });
61642
61734
  var onInputValueUpdated = function onInputValueUpdated() {
61643
61735
  if ((inputValue || inputValue === CTRL.EMPTY) && inputValue.length >= props.filterMinLength) {
61644
61736
  if (props.valueList) {
@@ -61843,7 +61935,7 @@ var LookupPicker = function LookupPicker(props) {
61843
61935
  }), props.errorMessage && React__default.createElement("span", {
61844
61936
  className: styles$q['vitro-error-text']
61845
61937
  }, props.errorMessage));
61846
- };
61938
+ });
61847
61939
 
61848
61940
  var styles$r = {"vitro-command-menu":"_command-menu_vitro-command-menu_l82vtIh"};
61849
61941
 
@@ -64036,7 +64128,8 @@ var UserProfile = function UserProfile(props) {
64036
64128
 
64037
64129
  var styles$E = {"vitro-avatar":"_user-lookup-picker_vitro-avatar_2vI-SeH"};
64038
64130
 
64039
- var UserLookupPicker = function UserLookupPicker(props) {
64131
+ var UserLookupPicker = React.forwardRef(function (props, ref) {
64132
+ var lookupPickerRef = React.useRef(null);
64040
64133
  var getHtmlValueTemplateProps = function getHtmlValueTemplateProps(item) {
64041
64134
  var prop = props.getHtmlValueTemplateProps(item);
64042
64135
  if (props.isMultiSelect) {
@@ -64046,11 +64139,21 @@ var UserLookupPicker = function UserLookupPicker(props) {
64046
64139
  }
64047
64140
  return prop;
64048
64141
  };
64142
+ React.useImperativeHandle(ref, function () {
64143
+ return {
64144
+ focus: function focus() {
64145
+ if (lookupPickerRef.current) {
64146
+ lookupPickerRef.current.focus();
64147
+ }
64148
+ }
64149
+ };
64150
+ });
64049
64151
  return React__default.createElement(LookupPicker, Object.assign({}, props, {
64050
64152
  htmlValueTemplate: Avatar,
64051
- getHtmlValueTemplateProps: getHtmlValueTemplateProps
64153
+ getHtmlValueTemplateProps: getHtmlValueTemplateProps,
64154
+ ref: lookupPickerRef
64052
64155
  }));
64053
- };
64156
+ });
64054
64157
 
64055
64158
  var styles$F = {"vitro-title":"_activity_vitro-title_1rdvvaa","vitro-dropdown-button":"_activity_vitro-dropdown-button_12258nJ","vitro-activity":"_activity_vitro-activity_1u7YeF3"};
64056
64159
 
@@ -64651,13 +64754,18 @@ var Input$1 = function Input(props) {
64651
64754
  }))));
64652
64755
  };
64653
64756
 
64654
- var FieldIterator = function FieldIterator(props) {
64757
+ var FieldIterator = React.forwardRef(function (props, ref) {
64655
64758
  var _useState = React.useState([]),
64656
64759
  controlList = _useState[0],
64657
64760
  setControlList = _useState[1];
64658
64761
  var changedFieldValueMap = React.useMemo(function () {
64659
64762
  return new Map();
64660
64763
  }, []);
64764
+ var focusStatus = React.useMemo(function () {
64765
+ return {
64766
+ focus: false
64767
+ };
64768
+ }, []);
64661
64769
  var saveStatus = React.useMemo(function () {
64662
64770
  return {
64663
64771
  isSaving: false
@@ -64688,6 +64796,31 @@ var FieldIterator = function FieldIterator(props) {
64688
64796
  React.useEffect(function () {
64689
64797
  setErrorMessage();
64690
64798
  }, [props.errorControlList]);
64799
+ React.useEffect(function () {
64800
+ if (focusStatus.focus) {
64801
+ var firstActiveControl = getFirstActiveControl();
64802
+ if (firstActiveControl && firstActiveControl.ref && firstActiveControl.ref.current) {
64803
+ if (firstActiveControl.ref.current.focus) {
64804
+ firstActiveControl.ref.current.focus();
64805
+ }
64806
+ focusStatus.focus = false;
64807
+ }
64808
+ }
64809
+ });
64810
+ React.useImperativeHandle(ref, function () {
64811
+ return {
64812
+ focus: function focus() {
64813
+ var firstActiveControl = getFirstActiveControl();
64814
+ if (firstActiveControl && firstActiveControl.ref && firstActiveControl.ref.current) {
64815
+ if (firstActiveControl.ref.current.focus) {
64816
+ firstActiveControl.ref.current.focus();
64817
+ }
64818
+ } else {
64819
+ focusStatus.focus = true;
64820
+ }
64821
+ }
64822
+ };
64823
+ });
64691
64824
  var updateControlList = function updateControlList() {
64692
64825
  if (props.fieldValueMap) {
64693
64826
  var _loop = function _loop() {
@@ -64707,6 +64840,14 @@ var FieldIterator = function FieldIterator(props) {
64707
64840
  }
64708
64841
  }
64709
64842
  };
64843
+ var getFirstActiveControl = function getFirstActiveControl() {
64844
+ if (controlList && controlList.length) {
64845
+ return controlList.find(function (x) {
64846
+ return !x.isReadOnly && !x.isDisabled;
64847
+ });
64848
+ }
64849
+ return null;
64850
+ };
64710
64851
  var isControlRow = function isControlRow(controlName) {
64711
64852
  if (props.rowFieldList) {
64712
64853
  return props.rowFieldList.includes(controlName);
@@ -64732,7 +64873,8 @@ var FieldIterator = function FieldIterator(props) {
64732
64873
  return onChangeControl(value, name);
64733
64874
  },
64734
64875
  isRow: isControlRow(field.internalName),
64735
- field: field
64876
+ field: field,
64877
+ ref: React.createRef()
64736
64878
  };
64737
64879
  return control;
64738
64880
  };
@@ -64792,7 +64934,7 @@ var FieldIterator = function FieldIterator(props) {
64792
64934
  }
64793
64935
  return null;
64794
64936
  })));
64795
- };
64937
+ });
64796
64938
 
64797
64939
  var styles$N = {"vitro-search":"_search_vitro-search_QkJksC_","vitro-settings-dialog":"_search_vitro-settings-dialog_1_c5bIg","vitro-filter":"_search_vitro-filter_2n-Y-mS","vitro-add-field":"_search_vitro-add-field_2hHt1Z2","vitro-add-field-button":"_search_vitro-add-field-button_30hdXYn","vitro-add-field-dialog":"_search_vitro-add-field-dialog_3gC92SF","vitro-footer":"_search_vitro-footer_1-ya4xk","vitro-button-cancel":"_search_vitro-button-cancel_1M8UkMM"};
64798
64940