@vitrosoftware/common-ui-ts 1.1.218 → 1.1.220

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
@@ -21482,6 +21482,9 @@ var ATTRIBUTE$1;
21482
21482
  ATTRIBUTE["FORMULA"] = "Formula";
21483
21483
  ATTRIBUTE["FORMAT"] = "Format";
21484
21484
  ATTRIBUTE["SPAN"] = "Span";
21485
+ ATTRIBUTE["LANG"] = "Lang";
21486
+ ATTRIBUTE["GMT"] = "GMT";
21487
+ ATTRIBUTE["ACTIONS"] = "Actions";
21485
21488
  })(ATTRIBUTE$1 || (ATTRIBUTE$1 = {}));
21486
21489
  var DRAG_ITEM_TYPE;
21487
21490
  (function (DRAG_ITEM_TYPE) {
@@ -22281,6 +22284,72 @@ var TableViewServiceImpl = /*#__PURE__*/function () {
22281
22284
  return TableViewServiceImpl;
22282
22285
  }();
22283
22286
 
22287
+ var TableViewOnCustomAjaxServiceImpl = /*#__PURE__*/function () {
22288
+ function TableViewOnCustomAjaxServiceImpl(ajaxService) {
22289
+ this.id = EVENT$1.ON_CUSTOM_AJAX;
22290
+ this.data = 'Data';
22291
+ this.dataRequestUrl = '/api/tableViewRequest/' + this.data;
22292
+ this.dataResultString = '<Grid><Body><B /></Body></Grid>';
22293
+ this.getRequest = 'Get';
22294
+ this.treeGrid = 'treegrid/';
22295
+ this.api = '/api/';
22296
+ this.cacheVersionParam = 'CacheVersion';
22297
+ this.ajaxService = ajaxService;
22298
+ }
22299
+ var _proto = TableViewOnCustomAjaxServiceImpl.prototype;
22300
+ _proto.process = function process(tableView, source, data, func) {
22301
+ var success = function success(ret) {
22302
+ return func(0, ret);
22303
+ };
22304
+ if (source.Url && source.Url.indexOf(this.dataRequestUrl) === 0) {
22305
+ success(this.dataResultString);
22306
+ return true;
22307
+ }
22308
+ var fail = function fail() {
22309
+ return func(0, '<Grid><IO / > <Body><B Pos="0" Count = "0" /> </Body></Grid>');
22310
+ };
22311
+ var url = source.Url;
22312
+ if (url.indexOf(this.api) !== 0) {
22313
+ url = this.getTreeGridFileUrl(tableView[this.cacheVersionParam], source);
22314
+ }
22315
+ if (source.Method === this.getRequest) {
22316
+ this.ajaxService.get(url, tableView.scope).then(success)["catch"](fail);
22317
+ } else {
22318
+ var formData = new FormData();
22319
+ formData.set(this.data, data);
22320
+ this.ajaxService.post(url, formData, tableView.scope).then(success)["catch"](fail);
22321
+ }
22322
+ return true;
22323
+ };
22324
+ _proto.getTreeGridFileUrl = function getTreeGridFileUrl(cacheVersion, source) {
22325
+ var url = source.Url;
22326
+ if (url[0] !== CTRL.SLASH) {
22327
+ if (url.indexOf(this.treeGrid) !== 0) {
22328
+ url = this.treeGrid + source.Url;
22329
+ }
22330
+ url = CTRL.SLASH + url;
22331
+ }
22332
+ if (url.indexOf(CTRL.QUESTION) === -1) {
22333
+ url += CTRL.QUESTION + this.cacheVersionParam + CTRL.EQUAL + cacheVersion;
22334
+ }
22335
+ return url;
22336
+ };
22337
+ return TableViewOnCustomAjaxServiceImpl;
22338
+ }();
22339
+
22340
+ var SERVICE = function SERVICE() {};
22341
+ SERVICE.LOCALE = 'LocaleService';
22342
+ SERVICE.LOCAL_STORAGE = 'LocalStorageService';
22343
+ SERVICE.COLUMN = 'ColumnService';
22344
+ SERVICE.GUID = 'GuidService';
22345
+ SERVICE.EVENT = 'EventService';
22346
+ SERVICE.IMAGE = 'ImageService';
22347
+ SERVICE.ITEM = 'ItemService';
22348
+ SERVICE.CONTENT_TYPE = 'ContentTypeService';
22349
+ SERVICE.LOOKUP_LIST_ITEM = 'LookupListItemService';
22350
+ SERVICE.ITEM_SELECT_DIALOG = 'ItemSelectDialogService';
22351
+ SERVICE.AJAX = 'AjaxService';
22352
+
22284
22353
  var styles$5 = {"vitro-table-view":"_table-view_vitro-table-view_1tTs32D"};
22285
22354
 
22286
22355
  var w$2 = window;
@@ -22352,6 +22421,22 @@ var TreeGrid = function TreeGrid(props) {
22352
22421
  return [URL.API, controller, dataKey, props.listCode].join(CTRL.SLASH);
22353
22422
  }
22354
22423
  };
22424
+ var initOnCustomAjax = function initOnCustomAjax() {
22425
+ if (props.onCustomAjax) {
22426
+ var onCustomAjax = props.onCustomAjax;
22427
+ w$2.TGSetEvent(EVENT$1.ON_CUSTOM_AJAX, props.id, function (grid, source, data, func) {
22428
+ return onCustomAjax(grid, source, data, func);
22429
+ });
22430
+ } else if (props.container) {
22431
+ var ajaxService = props.container.get(SERVICE.AJAX);
22432
+ if (ajaxService) {
22433
+ var tableViewOnCustomAjaxService = new TableViewOnCustomAjaxServiceImpl(ajaxService);
22434
+ w$2.TGSetEvent(EVENT$1.ON_CUSTOM_AJAX, props.id, function (grid, source, data, func) {
22435
+ return tableViewOnCustomAjaxService.process(grid, source, data, func);
22436
+ });
22437
+ }
22438
+ }
22439
+ };
22355
22440
  React.useEffect(function () {
22356
22441
  if (prevGridIdRef.current) {
22357
22442
  disposeTableViewById(prevGridIdRef.current);
@@ -22361,15 +22446,10 @@ var TreeGrid = function TreeGrid(props) {
22361
22446
  w$2.TGSetEvent(EVENT$1.ON_LOADED, props.id, function (grid, next) {
22362
22447
  return onGridLoaded(grid, next);
22363
22448
  });
22364
- w$2.TGSetEvent(EVENT$1.ON_INIT, props.id, function (grid, reload) {
22449
+ w$2.TGSetEvent(EVENT$1.ON_INIT, props.id, function (grid) {
22365
22450
  return onGridInit(grid);
22366
22451
  });
22367
- if (props.onCustomAjax) {
22368
- var onCustomAjax = props.onCustomAjax;
22369
- w$2.TGSetEvent(EVENT$1.ON_CUSTOM_AJAX, props.id, function (grid, source, data, func) {
22370
- return onCustomAjax(grid, source, data, func);
22371
- });
22372
- }
22452
+ initOnCustomAjax();
22373
22453
  }
22374
22454
  if (w$2.TreeGrid) {
22375
22455
  if (props.layout || props.data) {
@@ -23021,18 +23101,6 @@ var DropZone = React.forwardRef(function (props, ref) {
23021
23101
  }, props.label)));
23022
23102
  });
23023
23103
 
23024
- var SERVICE = function SERVICE() {};
23025
- SERVICE.LOCALE = 'LocaleService';
23026
- SERVICE.LOCAL_STORAGE = 'LocalStorageService';
23027
- SERVICE.COLUMN = 'ColumnService';
23028
- SERVICE.GUID = 'GuidService';
23029
- SERVICE.EVENT = 'EventService';
23030
- SERVICE.IMAGE = 'ImageService';
23031
- SERVICE.ITEM = 'ItemService';
23032
- SERVICE.CONTENT_TYPE = 'ContentTypeService';
23033
- SERVICE.LOOKUP_LIST_ITEM = 'LookupListItemService';
23034
- SERVICE.ITEM_SELECT_DIALOG = 'ItemSelectDialogService';
23035
-
23036
23104
  var styles$a = {"vitro-uploader":"_uploader_vitro-uploader_237vX7T","vitro-upload-container":"_uploader_vitro-upload-container_2ASGHSS","vitro-drop-zone":"_uploader_vitro-drop-zone_3w2dluc","vitro-progress-info":"_uploader_vitro-progress-info_J4BRjZ0","vitro-button-close":"_uploader_vitro-button-close_30As0AM","vitro-button-show":"_uploader_vitro-button-show_uUmWVJc","vitro-button-hide":"_uploader_vitro-button-hide_LYS1px9","vitro-hidden":"_uploader_vitro-hidden_12825pc","vitro-progress":"_uploader_vitro-progress_2NtaSj2","vitro-progress-bar":"_uploader_vitro-progress-bar_3YXLbbu"};
23037
23105
 
23038
23106
  var $$2 = window.$;
@@ -56683,35 +56751,6 @@ var BootstrapAlert = Object.assign(Alert, {
56683
56751
  Heading: AlertHeading
56684
56752
  });
56685
56753
 
56686
- const Button$1 = /*#__PURE__*/React.forwardRef(({
56687
- as,
56688
- bsPrefix,
56689
- variant = 'primary',
56690
- size,
56691
- active = false,
56692
- disabled = false,
56693
- className,
56694
- ...props
56695
- }, ref) => {
56696
- const prefix = useBootstrapPrefix(bsPrefix, 'btn');
56697
- const [buttonProps, {
56698
- tagName
56699
- }] = useButtonProps({
56700
- tagName: as,
56701
- disabled,
56702
- ...props
56703
- });
56704
- const Component = tagName;
56705
- return /*#__PURE__*/jsxRuntime.jsx(Component, {
56706
- ...buttonProps,
56707
- ...props,
56708
- ref: ref,
56709
- disabled: disabled,
56710
- className: classnames(className, prefix, active && 'active', variant && `${prefix}-${variant}`, size && `${prefix}-${size}`, props.href && disabled && 'disabled')
56711
- });
56712
- });
56713
- Button$1.displayName = 'Button';
56714
-
56715
56754
  const context = /*#__PURE__*/React.createContext(null);
56716
56755
  context.displayName = 'CardHeaderContext';
56717
56756
 
@@ -60281,7 +60320,7 @@ var styles$h = {"vitro-button":"_button_vitro-button_hVfBuSO","vitro-animation-r
60281
60320
 
60282
60321
  var HTML_ELEMENT_SPAN = 'span';
60283
60322
  var TYPE_BUTTON = 'button';
60284
- var Button$2 = React.forwardRef(function (props, ref) {
60323
+ var Button$1 = React.forwardRef(function (props, ref) {
60285
60324
  var _useState = React.useState(false),
60286
60325
  pending = _useState[0],
60287
60326
  setPending = _useState[1];
@@ -60360,7 +60399,7 @@ var Button$2 = React.forwardRef(function (props, ref) {
60360
60399
  });
60361
60400
 
60362
60401
  var ButtonCancel = function ButtonCancel(props) {
60363
- return React__default.createElement(Button$2, Object.assign({}, props, {
60402
+ return React__default.createElement(Button$1, Object.assign({}, props, {
60364
60403
  className: STYLE.OUTLINE_LIGHT + (props.className ? CTRL.SPACE + props.className : CTRL.EMPTY)
60365
60404
  }));
60366
60405
  };
@@ -60372,7 +60411,7 @@ var ButtonGroup = React.forwardRef(function (props, ref) {
60372
60411
  ref: ref,
60373
60412
  className: styles$i['vitro-button-group'] + (props.className ? CTRL.SPACE + props.className : CTRL.EMPTY)
60374
60413
  }, props.itemList && props.itemList.length > 0 ? props.itemList.map(function (item, index) {
60375
- return React__default.createElement(Button$2, Object.assign({}, item, {
60414
+ return React__default.createElement(Button$1, Object.assign({}, item, {
60376
60415
  key: index
60377
60416
  }));
60378
60417
  }) : null, props.children);
@@ -60448,7 +60487,7 @@ var DialogFooter = function DialogFooter(props) {
60448
60487
  onClick: props.onClose,
60449
60488
  className: styles$k['vitro-button']
60450
60489
  }), (_props$buttonList2 = props.buttonList) !== null && _props$buttonList2 !== void 0 && _props$buttonList2.length ? props.buttonList.map(function (button) {
60451
- return React__default.createElement(Button$2, Object.assign({}, button, {
60490
+ return React__default.createElement(Button$1, Object.assign({}, button, {
60452
60491
  onClick: function onClick() {
60453
60492
  var _button$onClick;
60454
60493
  return (_button$onClick = button.onClick) === null || _button$onClick === void 0 ? void 0 : _button$onClick.call(button, props.dialog);
@@ -61400,25 +61439,188 @@ var OverflowButton = function OverflowButton(props) {
61400
61439
  });
61401
61440
  };
61402
61441
 
61442
+ var CSS_PROPERTY = function CSS_PROPERTY() {};
61443
+ CSS_PROPERTY.FONT_WEIGHT = 'font-weight';
61444
+ CSS_PROPERTY.FONT_SIZE = 'font-size';
61445
+ CSS_PROPERTY.FONT_FAMILY = 'font-family';
61446
+
61447
+ var ValueTooltip = React.forwardRef(function (props, ref) {
61448
+ var _useState = React.useState(false),
61449
+ isEnabled = _useState[0],
61450
+ setIsEnabled = _useState[1];
61451
+ var _useState2 = React.useState(false),
61452
+ isShow = _useState2[0],
61453
+ setIsShow = _useState2[1];
61454
+ var _useState3 = React.useState(props.text),
61455
+ text = _useState3[0],
61456
+ _setText = _useState3[1];
61457
+ var canvasRef = React.useRef();
61458
+ var containerRef = React.useRef();
61459
+ var onShowTimeout = React.useMemo(function () {
61460
+ return {
61461
+ id: null
61462
+ };
61463
+ }, []);
61464
+ var resizeObserver = React__default.useMemo(function () {
61465
+ return new window.ResizeObserver(function (entries) {
61466
+ for (var _iterator = _createForOfIteratorHelperLoose(entries), _step; !(_step = _iterator()).done;) {
61467
+ var entry = _step.value;
61468
+ setIsEnabled(isValueOverflow(text, entry.target));
61469
+ }
61470
+ });
61471
+ }, [text]);
61472
+ React.useEffect(function () {
61473
+ if (props.containerRef && props.containerRef.current) {
61474
+ containerRef.current = props.containerRef.current;
61475
+ resizeObserver.observe(containerRef.current);
61476
+ containerRef.current.addEventListener(exports.EVENT.MOUSEENTER, onMouseEnter);
61477
+ containerRef.current.addEventListener(exports.EVENT.MOUSELEAVE, onMouseLeave);
61478
+ }
61479
+ return function () {
61480
+ if (containerRef.current) {
61481
+ containerRef.current.removeEventListener(exports.EVENT.MOUSEENTER, onMouseEnter);
61482
+ containerRef.current.removeEventListener(exports.EVENT.MOUSELEAVE, onMouseLeave);
61483
+ }
61484
+ };
61485
+ }, [props.containerRef, resizeObserver]);
61486
+ React.useEffect(function () {
61487
+ return function () {
61488
+ resizeObserver.disconnect();
61489
+ };
61490
+ }, []);
61491
+ React.useEffect(function () {
61492
+ _setText(props.text);
61493
+ if (containerRef.current) {
61494
+ setIsEnabled(isValueOverflow(props.text, containerRef.current));
61495
+ } else {
61496
+ setIsEnabled(true);
61497
+ }
61498
+ }, [props.text]);
61499
+ React.useEffect(function () {
61500
+ if (props.onUpdate) {
61501
+ props.onUpdate(isEnabled);
61502
+ }
61503
+ }, [isEnabled]);
61504
+ React.useImperativeHandle(ref, function () {
61505
+ return {
61506
+ update: function update() {
61507
+ if (containerRef.current) {
61508
+ setIsEnabled(isValueOverflow(text, containerRef.current));
61509
+ }
61510
+ },
61511
+ setIsShow: function setIsShow(value) {
61512
+ if (value === false) {
61513
+ setIsEnabled(false);
61514
+ } else {
61515
+ if (containerRef.current) {
61516
+ setIsEnabled(isValueOverflow(text, containerRef.current));
61517
+ } else {
61518
+ setIsEnabled(true);
61519
+ }
61520
+ }
61521
+ },
61522
+ setText: function setText(value) {
61523
+ _setText(value);
61524
+ }
61525
+ };
61526
+ });
61527
+ var isValueOverflow = function isValueOverflow(value, container) {
61528
+ if (props.isMultiline) {
61529
+ return isValueVerticalOverflow(container);
61530
+ }
61531
+ return isValueHorizontalOverflow(value, container);
61532
+ };
61533
+ var isValueHorizontalOverflow = function isValueHorizontalOverflow(value, container) {
61534
+ var textWidth = getTextWidth(value, getCanvasFont(container), container.scrollWidth);
61535
+ if (container && textWidth > getAvailableWidth(container)) {
61536
+ return true;
61537
+ } else {
61538
+ return false;
61539
+ }
61540
+ };
61541
+ var isValueVerticalOverflow = function isValueVerticalOverflow(container) {
61542
+ return container.clientHeight + 1 < container.scrollHeight;
61543
+ };
61544
+ var getTextWidth = function getTextWidth(text, font, scrollWidth) {
61545
+ if (!canvasRef.current) {
61546
+ canvasRef.current = document.createElement('canvas');
61547
+ }
61548
+ var canvas = canvasRef.current;
61549
+ var context = canvas.getContext('2d');
61550
+ if (context) {
61551
+ context.font = font;
61552
+ var metrics = context.measureText(text);
61553
+ return metrics.width;
61554
+ }
61555
+ return scrollWidth;
61556
+ };
61557
+ var getAvailableWidth = function getAvailableWidth(element) {
61558
+ var style = getComputedStyle(element);
61559
+ var paddingX = getNumber(style.paddingLeft) + getNumber(style.paddingRight);
61560
+ var borderX = getNumber(style.borderLeftWidth) + getNumber(style.borderRightWidth);
61561
+ return element.offsetWidth - paddingX - borderX;
61562
+ };
61563
+ var getNumber = function getNumber(value) {
61564
+ return parseFloat(value) || 0;
61565
+ };
61566
+ var getCssStyle = function getCssStyle(element, prop) {
61567
+ return window.getComputedStyle(element, null).getPropertyValue(prop);
61568
+ };
61569
+ var getCanvasFont = function getCanvasFont(el) {
61570
+ if (el === void 0) {
61571
+ el = document.body;
61572
+ }
61573
+ var fontWeight = getCssStyle(el, CSS_PROPERTY.FONT_WEIGHT);
61574
+ var fontSize = getCssStyle(el, CSS_PROPERTY.FONT_SIZE);
61575
+ var fontFamily = getCssStyle(el, CSS_PROPERTY.FONT_FAMILY);
61576
+ return fontWeight + " " + fontSize + " " + fontFamily;
61577
+ };
61578
+ var onMouseEnter = function onMouseEnter(e) {
61579
+ if (onShowTimeout.id) {
61580
+ clearTimeout(onShowTimeout.id);
61581
+ }
61582
+ if (e.target == containerRef.current) {
61583
+ onShowTimeout.id = setTimeout(function () {
61584
+ setIsShow(true);
61585
+ }, 750);
61586
+ }
61587
+ };
61588
+ var onMouseLeave = function onMouseLeave(e) {
61589
+ if (onShowTimeout.id) {
61590
+ clearTimeout(onShowTimeout.id);
61591
+ }
61592
+ setTimeout(function () {
61593
+ return setIsShow(false);
61594
+ }, 300);
61595
+ };
61596
+ return React__default.createElement(Tooltip$1, Object.assign({}, props, {
61597
+ text: text,
61598
+ isShow: isEnabled ? isShow : false,
61599
+ isHideOnHover: false
61600
+ }), props.children);
61601
+ });
61602
+
61403
61603
  var styles$r = {"vitro-tab":"_tab-group_vitro-tab_1Qb50HL","vitro-item":"_tab-group_vitro-item_2YnBcmb","active":"_tab-group_active_3M-IIR2"};
61404
61604
 
61405
61605
  var Tab = function Tab(props) {
61406
- if (!props.icon && !props.title) {
61407
- return null;
61408
- }
61606
+ var linkRef = React.useRef(null);
61409
61607
  return React__default.createElement("div", {
61410
61608
  key: props.index,
61411
61609
  className: styles$r['vitro-item']
61610
+ }, React__default.createElement(ValueTooltip, {
61611
+ text: props.text,
61612
+ containerRef: linkRef
61412
61613
  }, React__default.createElement(Nav$2.Item, {
61413
61614
  className: props.active ? styles$r['active'] : undefined,
61414
61615
  onClick: function onClick() {
61415
61616
  return props.onClick(props.index);
61416
61617
  }
61417
61618
  }, React__default.createElement(Nav$2.Link, {
61418
- eventKey: props.eventKey
61419
- }, React__default.createElement("span", null, props.icon && React__default.createElement(Image, {
61420
- defaultUrl: props.icon
61421
- }), props.title))));
61619
+ eventKey: props.eventKey,
61620
+ ref: linkRef
61621
+ }, React__default.createElement("span", null, props.imageUrl && React__default.createElement(Image, {
61622
+ defaultUrl: props.imageUrl
61623
+ }), props.text)))));
61422
61624
  };
61423
61625
 
61424
61626
  var TabGroupHeader = function TabGroupHeader(props) {
@@ -61466,8 +61668,8 @@ var TabGroupHeader = function TabGroupHeader(props) {
61466
61668
  active: index === props.currentTab,
61467
61669
  onClick: onClick,
61468
61670
  eventKey: item.eventKey,
61469
- icon: item.icon,
61470
- title: item.text
61671
+ imageUrl: item.imageUrl,
61672
+ text: item.text
61471
61673
  });
61472
61674
  }
61473
61675
  if (activeItem && activeItem.index === index) {
@@ -61481,8 +61683,8 @@ var TabGroupHeader = function TabGroupHeader(props) {
61481
61683
  active: true,
61482
61684
  onClick: function onClick() {},
61483
61685
  eventKey: activeItem.eventKey,
61484
- icon: activeItem.icon,
61485
- title: activeItem.text
61686
+ imageUrl: activeItem.imageUrl,
61687
+ text: activeItem.text
61486
61688
  }), props.itemList && props.wrap && React__default.createElement(OverflowButton, {
61487
61689
  list: overflowTabList,
61488
61690
  offset: props.itemList.length - overflowTabList.length,
@@ -61813,7 +62015,7 @@ var TabButtonGroup = function TabButtonGroup(props) {
61813
62015
  return ((_tabList$index = tabList[index]) === null || _tabList$index === void 0 ? void 0 : _tabList$index.id) == activeItem;
61814
62016
  };
61815
62017
  var getTabButton = function getTabButton(item, index) {
61816
- return React__default.createElement(Button$2, {
62018
+ return React__default.createElement(Button$1, {
61817
62019
  key: item.id,
61818
62020
  className: isTabButtonActive(index) ? styles$v[CSS_CLASS_ACTIVE] : CTRL.EMPTY,
61819
62021
  text: item.text,
@@ -61844,7 +62046,7 @@ var TabButtonGroup = function TabButtonGroup(props) {
61844
62046
  }
61845
62047
  overflowTabList.push(item);
61846
62048
  return null;
61847
- }), activeItemTabBtn && React__default.createElement(Button$2, {
62049
+ }), activeItemTabBtn && React__default.createElement(Button$1, {
61848
62050
  key: activeItemTabBtn.id,
61849
62051
  className: styles$v[CSS_CLASS_ACTIVE],
61850
62052
  text: activeItemTabBtn.text,
@@ -62866,7 +63068,7 @@ var AddFieldButton = React.forwardRef(function (props, ref) {
62866
63068
  };
62867
63069
  return React__default.createElement("div", {
62868
63070
  className: styles$H['vitro-add-field']
62869
- }, React__default.createElement(Button$2, {
63071
+ }, React__default.createElement(Button$1, {
62870
63072
  ref: addFieldButtonRef,
62871
63073
  text: props.labelAddField,
62872
63074
  onClick: props.onAddField,
@@ -63234,170 +63436,9 @@ var CriterionFieldIterator = function CriterionFieldIterator(props) {
63234
63436
  })));
63235
63437
  };
63236
63438
 
63237
- var CSS_PROPERTY = function CSS_PROPERTY() {};
63238
- CSS_PROPERTY.FONT_WEIGHT = 'font-weight';
63239
- CSS_PROPERTY.FONT_SIZE = 'font-size';
63240
- CSS_PROPERTY.FONT_FAMILY = 'font-family';
63241
-
63242
- var ValueTooltip = React.forwardRef(function (props, ref) {
63243
- var _useState = React.useState(false),
63244
- isEnabled = _useState[0],
63245
- setIsEnabled = _useState[1];
63246
- var _useState2 = React.useState(false),
63247
- isShow = _useState2[0],
63248
- setIsShow = _useState2[1];
63249
- var _useState3 = React.useState(props.text),
63250
- text = _useState3[0],
63251
- _setText = _useState3[1];
63252
- var canvasRef = React.useRef();
63253
- var containerRef = React.useRef();
63254
- var onShowTimeout = React.useMemo(function () {
63255
- return {
63256
- id: null
63257
- };
63258
- }, []);
63259
- var resizeObserver = React__default.useMemo(function () {
63260
- return new window.ResizeObserver(function (entries) {
63261
- for (var _iterator = _createForOfIteratorHelperLoose(entries), _step; !(_step = _iterator()).done;) {
63262
- var entry = _step.value;
63263
- setIsEnabled(isValueOverflow(text, entry.target));
63264
- }
63265
- });
63266
- }, [text]);
63267
- React.useEffect(function () {
63268
- if (props.containerRef && props.containerRef.current) {
63269
- containerRef.current = props.containerRef.current;
63270
- resizeObserver.observe(containerRef.current);
63271
- containerRef.current.addEventListener(exports.EVENT.MOUSEENTER, onMouseEnter);
63272
- containerRef.current.addEventListener(exports.EVENT.MOUSELEAVE, onMouseLeave);
63273
- }
63274
- return function () {
63275
- if (containerRef.current) {
63276
- containerRef.current.removeEventListener(exports.EVENT.MOUSEENTER, onMouseEnter);
63277
- containerRef.current.removeEventListener(exports.EVENT.MOUSELEAVE, onMouseLeave);
63278
- }
63279
- };
63280
- }, [props.containerRef, resizeObserver]);
63281
- React.useEffect(function () {
63282
- return function () {
63283
- resizeObserver.disconnect();
63284
- };
63285
- }, []);
63286
- React.useEffect(function () {
63287
- _setText(props.text);
63288
- if (containerRef.current) {
63289
- setIsEnabled(isValueOverflow(props.text, containerRef.current));
63290
- } else {
63291
- setIsEnabled(true);
63292
- }
63293
- }, [props.text]);
63294
- React.useEffect(function () {
63295
- if (props.onUpdate) {
63296
- props.onUpdate(isEnabled);
63297
- }
63298
- }, [isEnabled]);
63299
- React.useImperativeHandle(ref, function () {
63300
- return {
63301
- update: function update() {
63302
- if (containerRef.current) {
63303
- setIsEnabled(isValueOverflow(text, containerRef.current));
63304
- }
63305
- },
63306
- setIsShow: function setIsShow(value) {
63307
- if (value === false) {
63308
- setIsEnabled(false);
63309
- } else {
63310
- if (containerRef.current) {
63311
- setIsEnabled(isValueOverflow(text, containerRef.current));
63312
- } else {
63313
- setIsEnabled(true);
63314
- }
63315
- }
63316
- },
63317
- setText: function setText(value) {
63318
- _setText(value);
63319
- }
63320
- };
63321
- });
63322
- var isValueOverflow = function isValueOverflow(value, container) {
63323
- if (props.isMultiline) {
63324
- return isValueVerticalOverflow(container);
63325
- }
63326
- return isValueHorizontalOverflow(value, container);
63327
- };
63328
- var isValueHorizontalOverflow = function isValueHorizontalOverflow(value, container) {
63329
- var textWidth = getTextWidth(value, getCanvasFont(container), container.scrollWidth);
63330
- if (container && textWidth > getAvailableWidth(container)) {
63331
- return true;
63332
- } else {
63333
- return false;
63334
- }
63335
- };
63336
- var isValueVerticalOverflow = function isValueVerticalOverflow(container) {
63337
- return container.clientHeight + 1 < container.scrollHeight;
63338
- };
63339
- var getTextWidth = function getTextWidth(text, font, scrollWidth) {
63340
- if (!canvasRef.current) {
63341
- canvasRef.current = document.createElement('canvas');
63342
- }
63343
- var canvas = canvasRef.current;
63344
- var context = canvas.getContext('2d');
63345
- if (context) {
63346
- context.font = font;
63347
- var metrics = context.measureText(text);
63348
- return metrics.width;
63349
- }
63350
- return scrollWidth;
63351
- };
63352
- var getAvailableWidth = function getAvailableWidth(element) {
63353
- var style = getComputedStyle(element);
63354
- var paddingX = getNumber(style.paddingLeft) + getNumber(style.paddingRight);
63355
- var borderX = getNumber(style.borderLeftWidth) + getNumber(style.borderRightWidth);
63356
- return element.offsetWidth - paddingX - borderX;
63357
- };
63358
- var getNumber = function getNumber(value) {
63359
- return parseFloat(value) || 0;
63360
- };
63361
- var getCssStyle = function getCssStyle(element, prop) {
63362
- return window.getComputedStyle(element, null).getPropertyValue(prop);
63363
- };
63364
- var getCanvasFont = function getCanvasFont(el) {
63365
- if (el === void 0) {
63366
- el = document.body;
63367
- }
63368
- var fontWeight = getCssStyle(el, CSS_PROPERTY.FONT_WEIGHT);
63369
- var fontSize = getCssStyle(el, CSS_PROPERTY.FONT_SIZE);
63370
- var fontFamily = getCssStyle(el, CSS_PROPERTY.FONT_FAMILY);
63371
- return fontWeight + " " + fontSize + " " + fontFamily;
63372
- };
63373
- var onMouseEnter = function onMouseEnter(e) {
63374
- if (onShowTimeout.id) {
63375
- clearTimeout(onShowTimeout.id);
63376
- }
63377
- if (e.target == containerRef.current) {
63378
- onShowTimeout.id = setTimeout(function () {
63379
- setIsShow(true);
63380
- }, 750);
63381
- }
63382
- };
63383
- var onMouseLeave = function onMouseLeave(e) {
63384
- if (onShowTimeout.id) {
63385
- clearTimeout(onShowTimeout.id);
63386
- }
63387
- setTimeout(function () {
63388
- return setIsShow(false);
63389
- }, 300);
63390
- };
63391
- return React__default.createElement(Tooltip$1, Object.assign({}, props, {
63392
- text: text,
63393
- isShow: isEnabled ? isShow : false,
63394
- isHideOnHover: false
63395
- }), props.children);
63396
- });
63397
-
63398
63439
  var styles$M = {"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"};
63399
63440
 
63400
- var styles$N = {"vitro-lookup-picker":"_lookup-picker_vitro-lookup-picker_1aXYQEG","vitro-content":"_lookup-picker_vitro-content_37L0slb","vitro-read-only":"_lookup-picker_vitro-read-only_32NOdGB","vitro-label":"_lookup-picker_vitro-label_2QoJkUz","vitro-focus":"_lookup-picker_vitro-focus_2UGpxXD","vitro-error":"_lookup-picker_vitro-error_dF7iopC","vitro-error-message":"_lookup-picker_vitro-error-message_2iBjyRP","vitro-copy-button":"_lookup-picker_vitro-copy-button_3UItrZb","vitro-value-container":"_lookup-picker_vitro-value-container_3GeBIaW","vitro-multi-value-container":"_lookup-picker_vitro-multi-value-container_2ScQ_Ua","vitro-lookup-picker-multi-select":"_lookup-picker_vitro-lookup-picker-multi-select_3Lkq2tk","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","vitro-tooltip":"_lookup-picker_vitro-tooltip_2a12Z4P","vitro-right":"_lookup-picker_vitro-right_1XFsL1w","vitro-library-button":"_lookup-picker_vitro-library-button_1zwNYAA"};
63441
+ var styles$N = {"vitro-lookup-picker":"_lookup-picker_vitro-lookup-picker_1aXYQEG","vitro-content":"_lookup-picker_vitro-content_37L0slb","vitro-read-only":"_lookup-picker_vitro-read-only_32NOdGB","vitro-label":"_lookup-picker_vitro-label_2QoJkUz","vitro-focus":"_lookup-picker_vitro-focus_2UGpxXD","vitro-error":"_lookup-picker_vitro-error_dF7iopC","vitro-error-message":"_lookup-picker_vitro-error-message_2iBjyRP","vitro-copy-button":"_lookup-picker_vitro-copy-button_3UItrZb","vitro-value-container":"_lookup-picker_vitro-value-container_3GeBIaW","vitro-multi-value-container":"_lookup-picker_vitro-multi-value-container_2ScQ_Ua","vitro-lookup-picker-multi-select":"_lookup-picker_vitro-lookup-picker-multi-select_3Lkq2tk","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","vitro-tooltip":"_lookup-picker_vitro-tooltip_2a12Z4P","vitro-right":"_lookup-picker_vitro-right_1XFsL1w","vitro-library-button":"_lookup-picker_vitro-library-button_1zwNYAA","vitro-placeholder":"_lookup-picker_vitro-placeholder_2Soq8bU"};
63401
63442
 
63402
63443
  var htmlValueStyles = {"vitro-item-html-value":"_lookup-picker-html-value_vitro-item-html-value_2QBoTey"};
63403
63444
 
@@ -63545,7 +63586,7 @@ var ValueList = function ValueList(props) {
63545
63586
  className: valueListStyles['vitro-placeholder-empty']
63546
63587
  }, props.emptyPlaceholder))), props.button && React__default.createElement(FlexBox, {
63547
63588
  className: valueListStyles['vitro-flex']
63548
- }, React__default.createElement(Button$2, Object.assign({}, props.button, {
63589
+ }, React__default.createElement(Button$1, Object.assign({}, props.button, {
63549
63590
  className: valueListStyles['vitro-button']
63550
63591
  })))));
63551
63592
  };
@@ -63950,7 +63991,9 @@ var LookupPicker = React.forwardRef(function (props, ref) {
63950
63991
  isReadOnly: props.isReadOnly,
63951
63992
  isValueListVisible: valueListVisible,
63952
63993
  getHtmlValue: getHtmlValue
63953
- }) : !valueListVisible && React__default.createElement(React__default.Fragment, null, props.placeholder), isEditable && React__default.createElement("input", {
63994
+ }) : !valueListVisible && React__default.createElement("div", {
63995
+ className: styles$N['vitro-placeholder']
63996
+ }, props.placeholder), isEditable && React__default.createElement("input", {
63954
63997
  ref: inputRef,
63955
63998
  value: inputValue,
63956
63999
  onKeyDown: onKeyDown,
@@ -66378,7 +66421,7 @@ var SortFilter = function SortFilter(props) {
66378
66421
  isClearChangedFieldValueMap: true
66379
66422
  }) : CTRL.EMPTY, React__default.createElement("div", {
66380
66423
  className: CSS_CLASS_ADD_FIELD
66381
- }, React__default.createElement(Button$2, {
66424
+ }, React__default.createElement(Button$1, {
66382
66425
  ref: addFieldButtonRef,
66383
66426
  text: props.labelAddField,
66384
66427
  onClick: onAddSortField,
@@ -66534,7 +66577,7 @@ var SearchDialog = function SearchDialog(props) {
66534
66577
  }, React__default.createElement(ButtonCancel, {
66535
66578
  text: getSearchLabel(ACTION$2.CANCEL),
66536
66579
  onClick: props.onCancel
66537
- }), React__default.createElement(Button$2, {
66580
+ }), React__default.createElement(Button$1, {
66538
66581
  text: getSearchLabel(ACTION$2.SEARCH),
66539
66582
  onClick: props.onSearch,
66540
66583
  className: STYLE.PRIMARY
@@ -67061,7 +67104,7 @@ var Viewer = function Viewer(props) {
67061
67104
  };
67062
67105
 
67063
67106
  var name = "@vitrosoftware/common-ui-ts";
67064
- var version$1 = "1.1.218";
67107
+ var version$1 = "1.1.220";
67065
67108
  var description = "vitro software common ui ts";
67066
67109
  var author = "";
67067
67110
  var license = "MIT";
@@ -67363,7 +67406,7 @@ var styles$12 = {"vitro-submit-button":"_login-submit-button_vitro-submit-button
67363
67406
 
67364
67407
  var LoginSubmitButton = function LoginSubmitButton(props) {
67365
67408
  var localeService = inversifyReact.useInjection(SERVICE.LOCALE);
67366
- return React__default.createElement(Button$2, {
67409
+ return React__default.createElement(Button$1, {
67367
67410
  className: STYLE.PRIMARY + CTRL.SPACE + styles$12['vitro-submit-button'] + (props.className ? CTRL.SPACE + props.className : CTRL.EMPTY),
67368
67411
  text: localeService.create(LOCALE$9.ACTION_LOGIN),
67369
67412
  onClick: props.onClick,
@@ -67530,7 +67573,7 @@ var LoginForm = React.forwardRef(function (props, ref) {
67530
67573
  }, localeService.create(LOCALE$9.LOGIN_FORM_SEPARATOR_TEXT)), React__default.createElement("div", {
67531
67574
  className: styles$14['vitro-button-list']
67532
67575
  }, props.buttonList.map(function (button) {
67533
- return React__default.createElement(Button$2, Object.assign({}, button, {
67576
+ return React__default.createElement(Button$1, Object.assign({}, button, {
67534
67577
  className: styles$14['vitro-button']
67535
67578
  }));
67536
67579
  }))) : React__default.createElement(React__default.Fragment, null), props.onRegister && React__default.createElement(Link, {
@@ -67725,7 +67768,7 @@ var CommandMenu = React.forwardRef(function (props, ref) {
67725
67768
  var styles$19 = {"vitro-command-menu-button":"_command-menu-button_vitro-command-menu-button_2IiXVbP","vitro-image":"_command-menu-button_vitro-image_27yILgG"};
67726
67769
 
67727
67770
  var CommandMenuButton = function CommandMenuButton(props) {
67728
- return React__default.createElement("li", null, React__default.createElement(Button$2, Object.assign({}, props, {
67771
+ return React__default.createElement("li", null, React__default.createElement(Button$1, Object.assign({}, props, {
67729
67772
  className: styles$19['vitro-command-menu-button'] + CTRL.SPACE + (props.className ? props.className : STYLE.LIGHT)
67730
67773
  })));
67731
67774
  };
@@ -68468,7 +68511,7 @@ var AlertConstants = {
68468
68511
  get TYPE () { return TYPE$2; }
68469
68512
  };
68470
68513
 
68471
- var styles$1h = {"vitro-alert":"_alert_vitro-alert_3sPAkJb","vitro-position-absolute":"_alert_vitro-position-absolute_2A33Lq4","vitro-alert-content":"_alert_vitro-alert-content_10fW1n4","vitro-button-close":"_alert_vitro-button-close_39K9cqW","vitro-icon":"_alert_vitro-icon_pK385gF","vitro-text":"_alert_vitro-text_37Erxqj","vitro-alert-action-list":"_alert_vitro-alert-action-list_2XzbaCO","vitro-position-center":"_alert_vitro-position-center_1r_lK_e"};
68514
+ var styles$1h = {"vitro-alert":"_alert_vitro-alert_3sPAkJb","vitro-position-absolute":"_alert_vitro-position-absolute_2A33Lq4","vitro-alert-content":"_alert_vitro-alert-content_10fW1n4","vitro-button-close":"_alert_vitro-button-close_39K9cqW","vitro-icon":"_alert_vitro-icon_pK385gF","vitro-text":"_alert_vitro-text_37Erxqj","vitro-position-center":"_alert_vitro-position-center_1r_lK_e","vitro-content-container":"_alert_vitro-content-container_M2-akFp"};
68472
68515
 
68473
68516
  var TYPE_DANGER = 'danger';
68474
68517
  var Alert$1 = function Alert(props) {
@@ -68478,12 +68521,6 @@ var Alert$1 = function Alert(props) {
68478
68521
  ref.current.focus();
68479
68522
  }
68480
68523
  }, [props]);
68481
- var actionOnClick = function actionOnClick(action) {
68482
- if (action) {
68483
- action();
68484
- }
68485
- props.setMessage(null);
68486
- };
68487
68524
  var onClose = function onClose() {
68488
68525
  if (props.onClose) {
68489
68526
  props.onClose();
@@ -68500,16 +68537,6 @@ var Alert$1 = function Alert(props) {
68500
68537
  }, 100);
68501
68538
  }
68502
68539
  };
68503
- var actionList = props.actionList && React__default.createElement("div", {
68504
- className: styles$1h['vitro-alert-action-list']
68505
- }, props.actionList.map(function (a) {
68506
- return React__default.createElement(Button$1, {
68507
- key: a.text,
68508
- onClick: function onClick() {
68509
- return actionOnClick(a.onClick);
68510
- }
68511
- }, a.text);
68512
- }));
68513
68540
  var className = [styles$1h['vitro-alert'], props.isPositionCenter ? styles$1h['vitro-position-center'] : CTRL.EMPTY, props.isPositionAbsolute ? styles$1h['vitro-position-absolute'] : CTRL.EMPTY, props.className || CTRL.EMPTY].join(CTRL.SPACE);
68514
68541
  return React__default.createElement("div", {
68515
68542
  tabIndex: 1,
@@ -68523,12 +68550,15 @@ var Alert$1 = function Alert(props) {
68523
68550
  className: styles$1h['vitro-alert-content']
68524
68551
  }, React__default.createElement("div", {
68525
68552
  className: styles$1h['vitro-icon']
68526
- }), React__default.createElement("div", {
68553
+ }), React__default.createElement(FlexBox, {
68554
+ className: styles$1h['vitro-content-container'],
68555
+ isColumn: true
68556
+ }, React__default.createElement("div", {
68527
68557
  className: styles$1h['vitro-text']
68528
- }, props.title && React__default.createElement("strong", null, props.title), props.text, !props.text && props.children), !props.isMultiline && actionList, props.isDismissible && React__default.createElement("div", {
68558
+ }, props.title && React__default.createElement("strong", null, props.title), props.text, !props.text && props.children), props.children), props.isDismissible && React__default.createElement("div", {
68529
68559
  className: styles$1h['vitro-button-close'],
68530
68560
  onClick: onClose
68531
- })), props.text && props.children, props.isMultiline && actionList));
68561
+ }))));
68532
68562
  };
68533
68563
 
68534
68564
  var styles$1i = {"vitro-user-profile":"_user-profile_vitro-user-profile_11XpBoQ","vitro-dropdown-item":"_user-profile_vitro-dropdown-item_dSErsta","vitro-avatar":"_user-profile_vitro-avatar_3SzDPAi"};
@@ -83444,7 +83474,6 @@ var EditableFieldIterator = function EditableFieldIterator(props) {
83444
83474
  changedFieldValueMap: changedFieldValueMap,
83445
83475
  componentMap: componentMap,
83446
83476
  onChange: onChange,
83447
- isVisibleOverflow: true,
83448
83477
  className: styles$1r['vitro-field-iterator']
83449
83478
  }) : React__default.createElement(ScrollBar, {
83450
83479
  className: styles$1r['vitro-scrollbar']
@@ -83454,7 +83483,6 @@ var EditableFieldIterator = function EditableFieldIterator(props) {
83454
83483
  changedFieldValueMap: changedFieldValueMap,
83455
83484
  componentMap: componentMap,
83456
83485
  onChange: onChange,
83457
- isVisibleOverflow: true,
83458
83486
  className: styles$1r['vitro-field-iterator']
83459
83487
  })));
83460
83488
  };
@@ -84856,7 +84884,7 @@ var DxfViewer = function DxfViewer(props) {
84856
84884
  });
84857
84885
  };
84858
84886
 
84859
- var styles$1O = {"vitro-select":"_select_vitro-select_EObExkL","vitro-active":"_select_vitro-active_3I2oZ9Y","vitro-label":"_select_vitro-label_1sD79dR","vitro-list-container":"_select_vitro-list-container_1iaPtG5","vitro-item":"_select_vitro-item_3Q88bWt"};
84887
+ var styles$1O = {"vitro-select":"_select_vitro-select_EObExkL","vitro-active":"_select_vitro-active_3I2oZ9Y","vitro-label":"_select_vitro-label_1sD79dR","vitro-list-container":"_select_vitro-list-container_1iaPtG5","vitro-item":"_select_vitro-item_3Q88bWt","vitro-scrollbar":"_select_vitro-scrollbar_1T9-kjS"};
84860
84888
 
84861
84889
  var Select = function Select(props) {
84862
84890
  var _useState = React.useState(null),
@@ -84922,11 +84950,13 @@ var Select = function Select(props) {
84922
84950
  }), React__default.createElement(itemTemplate, value), React__default.createElement("div", {
84923
84951
  className: styles$1O['vitro-list-container'],
84924
84952
  ref: listRef
84953
+ }, React__default.createElement(ScrollBar, {
84954
+ className: styles$1O['vitro-scrollbar']
84925
84955
  }, React__default.createElement(List$1, {
84926
84956
  itemList: props.itemList,
84927
84957
  onClick: onClick,
84928
84958
  itemTemplate: itemTemplate
84929
- })));
84959
+ }))));
84930
84960
  };
84931
84961
 
84932
84962
  var styles$1P = {"vitro-switch":"_switch_vitro-switch_1noCcra","vitro-slider":"_switch_vitro-slider_3wesxda","vitro-active":"_switch_vitro-active_3LJI9TW"};
@@ -86132,7 +86162,7 @@ var SlideUpButton = function SlideUpButton(props) {
86132
86162
  props.onClick(e);
86133
86163
  }
86134
86164
  };
86135
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(Button$2, {
86165
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Button$1, {
86136
86166
  onClick: onClick,
86137
86167
  text: CTRL.EMPTY,
86138
86168
  imageUrl: props.imageUrl,
@@ -86170,7 +86200,7 @@ exports.BUTTON = ButtonConstants;
86170
86200
  exports.BimViewer = BimViewer;
86171
86201
  exports.BottomAlignControlGroup = BottomAlignControlGroup;
86172
86202
  exports.Breadcrumbs = Breadcrumbs;
86173
- exports.Button = Button$2;
86203
+ exports.Button = Button$1;
86174
86204
  exports.ButtonCancel = ButtonCancel;
86175
86205
  exports.ButtonGroup = ButtonGroup;
86176
86206
  exports.CONTROL = CONTROL;