@xaypay/tui 0.2.24 → 0.2.26

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
@@ -626,7 +626,7 @@ var packageResult = {
626
626
  ...fontObject
627
627
  },
628
628
  label: {
629
- dots: false,
629
+ useTooltip: false,
630
630
  color: presetColors.dark,
631
631
  display: 'block',
632
632
  lineHeight: '22px',
@@ -634,6 +634,15 @@ var packageResult = {
634
634
  marginBottom: '6px',
635
635
  font: {
636
636
  ...fontObject
637
+ },
638
+ tooltip: {
639
+ color: '#fff',
640
+ padding: '12px',
641
+ borderRadius: '8px',
642
+ font: {
643
+ ...fontObject
644
+ },
645
+ backgroundColor: '#000'
637
646
  }
638
647
  },
639
648
  error: {
@@ -664,6 +673,10 @@ var packageResult = {
664
673
  hover: presetColors.dark
665
674
  }
666
675
  }
676
+ },
677
+ icon: {
678
+ // comment here for example,
679
+ // required: React.createElement(SvgChecked, { fill: 'green' }),
667
680
  }
668
681
  },
669
682
  // default properties for <Tooltip /> component
@@ -806,6 +819,7 @@ var packageResult = {
806
819
  shadowHover: `0 0 0 2px ${presetColors.dark}` // like border
807
820
  },
808
821
  label: {
822
+ useTooltip: false,
809
823
  color: presetColors.dark,
810
824
  display: 'block',
811
825
  lineHeight: '22px',
@@ -813,6 +827,15 @@ var packageResult = {
813
827
  textTransform: 'none',
814
828
  font: {
815
829
  ...fontObject
830
+ },
831
+ tooltip: {
832
+ color: '#fff',
833
+ padding: '12px',
834
+ borderRadius: '8px',
835
+ font: {
836
+ ...fontObject
837
+ },
838
+ backgroundColor: '#000'
816
839
  }
817
840
  },
818
841
  selected: {
@@ -873,6 +896,10 @@ var packageResult = {
873
896
  font: {
874
897
  ...fontObject
875
898
  }
899
+ },
900
+ icon: {
901
+ // comment here for example,
902
+ // required: React.createElement(SvgChecked, { fill: 'green' }),
876
903
  }
877
904
  },
878
905
  // default properties for <Textarea /> component
@@ -904,11 +931,21 @@ var packageResult = {
904
931
  background: 'white'
905
932
  },
906
933
  label: {
934
+ useTooltip: false,
907
935
  color: presetColors.dark,
908
936
  display: 'block',
909
937
  marginBottom: '10px',
910
938
  font: {
911
939
  ...fontObject
940
+ },
941
+ tooltip: {
942
+ color: '#fff',
943
+ padding: '12px',
944
+ borderRadius: '8px',
945
+ font: {
946
+ ...fontObject
947
+ },
948
+ backgroundColor: '#000'
912
949
  }
913
950
  },
914
951
  font: {
@@ -923,6 +960,10 @@ var packageResult = {
923
960
  font: {
924
961
  ...fontObject
925
962
  }
963
+ },
964
+ icon: {
965
+ // comment here for example,
966
+ // required: React.createElement(SvgChecked, { fill: 'green' }),
926
967
  }
927
968
  },
928
969
  // default properties for <NewAutocomplete /> component
@@ -959,6 +1000,7 @@ var packageResult = {
959
1000
  backgroundDisable: presetColors.secondary
960
1001
  },
961
1002
  label: {
1003
+ useTooltip: false,
962
1004
  color: presetColors.dark,
963
1005
  display: 'block',
964
1006
  lineHeight: '22px',
@@ -966,6 +1008,15 @@ var packageResult = {
966
1008
  textTransform: 'none',
967
1009
  font: {
968
1010
  ...fontObject
1011
+ },
1012
+ tooltip: {
1013
+ color: '#fff',
1014
+ padding: '12px',
1015
+ borderRadius: '8px',
1016
+ font: {
1017
+ ...fontObject
1018
+ },
1019
+ backgroundColor: '#000'
969
1020
  }
970
1021
  },
971
1022
  contentBottom: {
@@ -1056,6 +1107,8 @@ var packageResult = {
1056
1107
  sizeText: 'Առավելագույնը',
1057
1108
  timeForRemoveError: 4000,
1058
1109
  extentionsRowMarginTop: '40px',
1110
+ extentionsTextColor: 'black',
1111
+ extentionsTextDots: false,
1059
1112
  border: {
1060
1113
  width: '2px',
1061
1114
  style: 'dashed',
@@ -1069,6 +1122,9 @@ var packageResult = {
1069
1122
  backgroundHidden: 'rgba(60, 57, 62, 0.4)'
1070
1123
  },
1071
1124
  label: {
1125
+ showMore: false,
1126
+ useTooltip: false,
1127
+ showMoreTextColor: '#2C46C1',
1072
1128
  color: '#4A4A4D',
1073
1129
  font: {
1074
1130
  ...fontObject
@@ -1163,6 +1219,7 @@ var packageResult = {
1163
1219
  maxHeight: '95vh',
1164
1220
  minHeight: '200px',
1165
1221
  radius: '14px',
1222
+ noScroll: false,
1166
1223
  padding: '20px 20px 20px',
1167
1224
  className: '',
1168
1225
  alignItems: 'center',
@@ -1217,6 +1274,7 @@ var packageResult = {
1217
1274
  SWIPEMODAL: {
1218
1275
  width: '300px',
1219
1276
  height: '100vh',
1277
+ noScroll: false,
1220
1278
  titleStyle: {
1221
1279
  color: '#1C212D',
1222
1280
  textAlign: 'left',
@@ -1795,9 +1853,9 @@ function styleInject(css, ref) {
1795
1853
  }
1796
1854
  }
1797
1855
 
1798
- var css_248z$d = ".file-module_small-file-component__nlpcW>svg{max-height:77%!important}.file-module_file-label__uscgT{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-module_tooltip__FjCUU{background-color:#333;border-radius:4px;color:#fff;font-size:14px;pointer-events:none;position:fixed;visibility:hidden;white-space:nowrap;z-index:1000}";
1799
- var styles$b = {"small-file-component":"file-module_small-file-component__nlpcW","file-label":"file-module_file-label__uscgT","tooltip":"file-module_tooltip__FjCUU"};
1800
- styleInject(css_248z$d);
1856
+ var css_248z$c = ".file-module_small-file-component__nlpcW>svg{max-height:77%!important}.file-module_show-more-text__WIGLx{align-self:self-end;cursor:pointer}";
1857
+ var styles$b = {"small-file-component":"file-module_small-file-component__nlpcW","show-more-text":"file-module_show-more-text__WIGLx"};
1858
+ styleInject(css_248z$c);
1801
1859
 
1802
1860
  // eslint-disable-next-line react/display-name
1803
1861
  const File = /*#__PURE__*/React.forwardRef(({
@@ -1805,7 +1863,6 @@ const File = /*#__PURE__*/React.forwardRef(({
1805
1863
  size,
1806
1864
  name,
1807
1865
  color,
1808
- label,
1809
1866
  style,
1810
1867
  weight,
1811
1868
  family,
@@ -1825,10 +1882,17 @@ const File = /*#__PURE__*/React.forwardRef(({
1825
1882
  errorStyle,
1826
1883
  errorWeight,
1827
1884
  errorFamily,
1885
+ label,
1828
1886
  labelSize,
1887
+ labelColor,
1829
1888
  labelStyle,
1830
1889
  labelWeight,
1831
1890
  labelFamily,
1891
+ lableShowMore,
1892
+ labelShowLessText,
1893
+ labelShowMoreText,
1894
+ showMoreTextColor,
1895
+ useLabelTooltip,
1832
1896
  labelTooltipColor,
1833
1897
  labelTooltipPadding,
1834
1898
  labelTooltipFontSize,
@@ -1838,7 +1902,6 @@ const File = /*#__PURE__*/React.forwardRef(({
1838
1902
  labelTooltipBorderRadius,
1839
1903
  labelTooltipBackgroundColor,
1840
1904
  removeFile,
1841
- labelColor,
1842
1905
  errorColor,
1843
1906
  filesArray,
1844
1907
  componentId,
@@ -1907,6 +1970,8 @@ const File = /*#__PURE__*/React.forwardRef(({
1907
1970
  maxCHoosenLengthErrorHideTime,
1908
1971
  textAlignLeftInSmallComponent,
1909
1972
  showPreviewIconInSmallComponent,
1973
+ extentionsTextDots,
1974
+ extentionsTextColor,
1910
1975
  maxSize = 10,
1911
1976
  preview = true,
1912
1977
  timeForRemoveError = 5000,
@@ -1914,11 +1979,12 @@ const File = /*#__PURE__*/React.forwardRef(({
1914
1979
  }, ref) => {
1915
1980
  const inpRef = React.useRef(null);
1916
1981
  const labelRef = React.useRef(null);
1917
- const parentlRef = React.useRef(null);
1982
+ const parentRef = React.useRef(null);
1918
1983
  const memoizedItems = React.useMemo(() => filesArray, [filesArray]);
1919
1984
  const [error, setError] = React.useState('');
1920
- const [isHover, setIsHover] = React.useState(false);
1921
1985
  const [removeID, setRemoveID] = React.useState('');
1986
+ const [isHover, setIsHover] = React.useState(false);
1987
+ const [showMore, setShowMore] = React.useState(false);
1922
1988
  const [classProps, setClassProps] = React.useState({});
1923
1989
  const [singleFile, setSingleFile] = React.useState(null);
1924
1990
  const [configStyles, setConfigStyles] = React.useState({});
@@ -2213,7 +2279,7 @@ const File = /*#__PURE__*/React.forwardRef(({
2213
2279
  event.preventDefault();
2214
2280
  setRemoveID(() => v4());
2215
2281
  if (labelRef.current) {
2216
- const parentElem = parentlRef.current.getBoundingClientRect();
2282
+ const parentElem = parentRef.current.getBoundingClientRect();
2217
2283
  const rect = labelRef.current.getBoundingClientRect();
2218
2284
  const top = rect.top;
2219
2285
  const left = rect.left;
@@ -2274,6 +2340,21 @@ const File = /*#__PURE__*/React.forwardRef(({
2274
2340
  }
2275
2341
  setRemoveID(() => '');
2276
2342
  };
2343
+ const handleCheckTextWidth = () => {
2344
+ if (labelRef.current) {
2345
+ const rect = labelRef.current.getBoundingClientRect();
2346
+ const elementWidth = rect.width;
2347
+ const textWidth = getRenderedTextWidth(labelRef.current);
2348
+ if (textWidth > Math.ceil(elementWidth)) {
2349
+ return 'more';
2350
+ } else {
2351
+ return 'less';
2352
+ }
2353
+ }
2354
+ };
2355
+ const handleChangeShowMore = () => {
2356
+ setShowMore(() => !showMore);
2357
+ };
2277
2358
  React.useImperativeHandle(ref, () => ({
2278
2359
  handleReset() {
2279
2360
  setError('');
@@ -2329,6 +2410,15 @@ const File = /*#__PURE__*/React.forwardRef(({
2329
2410
  React.useEffect(() => {
2330
2411
  className && setClassProps(() => classnames__default["default"](className ?? configStyles.FILE.className));
2331
2412
  }, [className]);
2413
+ React.useEffect(() => {
2414
+ if ((useLabelTooltip || configStyles.FILE?.label?.useTooltip) && (lableShowMore || configStyles.FILE?.label?.showMore)) {
2415
+ alert(`
2416
+ Please use one of this props or config,
2417
+ use ( useLabelTooltip / configStyles.FILE.label.useTooltip )
2418
+ or ( lableShowMore / configStyles.FILE.label.showMore )
2419
+ `);
2420
+ }
2421
+ }, [lableShowMore, useLabelTooltip, configStyles.FILE?.label?.useTooltip, configStyles.FILE?.label?.showMore]);
2332
2422
  React.useEffect(() => {
2333
2423
  configStylesPromise.then(data => {
2334
2424
  setClassProps(() => classnames__default["default"](className ?? data.FILE.className));
@@ -2346,9 +2436,8 @@ const File = /*#__PURE__*/React.forwardRef(({
2346
2436
  }
2347
2437
  };
2348
2438
  }, []);
2349
- console.log(image, ' - - - -image');
2350
2439
  return configStyles.FILE && /*#__PURE__*/React__default["default"].createElement("div", {
2351
- ref: parentlRef,
2440
+ ref: parentRef,
2352
2441
  style: {
2353
2442
  width: '100%',
2354
2443
  maxWidth: maxWidth ?? configStyles.FILE.maxWidth
@@ -2359,30 +2448,43 @@ const File = /*#__PURE__*/React.forwardRef(({
2359
2448
  display: 'flex',
2360
2449
  marginBottom: '6px',
2361
2450
  alignItems: 'center',
2362
- justifyContent: label ? 'space-between' : 'flex-end'
2451
+ justifyContent: label ? 'space-between' : 'flex-end',
2452
+ width: deleteComponent && useLabelTooltip && handleCheckTextWidth() === 'more' ? 'calc(100% - 26px)' : '100%'
2363
2453
  }
2364
2454
  }, label && /*#__PURE__*/React__default["default"].createElement("div", {
2365
2455
  style: {
2366
2456
  display: 'flex',
2367
2457
  maxWidth: '100%',
2368
- width: 'fit-content',
2369
2458
  columnGap: '4px',
2459
+ width: 'fit-content',
2370
2460
  justifyContent: 'flex-start'
2371
2461
  }
2372
2462
  }, /*#__PURE__*/React__default["default"].createElement("label", {
2373
2463
  ref: labelRef,
2374
- className: styles$b['file-label'],
2375
2464
  style: {
2376
2465
  width: '100%',
2377
2466
  color: labelColor ?? configStyles.FILE.label.color,
2378
2467
  fontSize: labelSize ?? configStyles.FILE.label.font.size,
2379
2468
  fontStyle: labelStyle ?? configStyles.FILE.label.font.style,
2380
2469
  fontWeight: labelWeight ?? configStyles.FILE.label.font.weight,
2381
- fontFamily: labelFamily ?? configStyles.FILE.label.font.family
2470
+ fontFamily: labelFamily ?? configStyles.FILE.label.font.family,
2471
+ whiteSpace: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.FILE.label.useTooltip) || (lableShowMore ? lableShowMore : (lableShowMore === null || lableShowMore === undefined) && configStyles.FILE.label.showMore) && !showMore ? 'nowrap' : 'normal',
2472
+ overflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.FILE.label.useTooltip) || (lableShowMore ? lableShowMore : (lableShowMore === null || lableShowMore === undefined) && configStyles.FILE.label.showMore) && !showMore ? 'hidden' : 'visible',
2473
+ textOverflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.FILE.label.useTooltip) || (lableShowMore ? lableShowMore : (lableShowMore === null || lableShowMore === undefined) && configStyles.FILE.label.showMore) && !showMore ? 'ellipsis' : ''
2474
+ },
2475
+ onMouseEnter: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.FILE.label.useTooltip) && !lableShowMore && !configStyles.FILE.label.showMore ? handleLabelMouseEnter : _ => _,
2476
+ onMouseLeave: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.FILE.label.useTooltip) && !lableShowMore && !configStyles.FILE.label.showMore ? handleLabelMouseLeave : _ => _
2477
+ }, label), required && /*#__PURE__*/React__default["default"].createElement("sup", null, iconRequired ? iconRequired : configStyles.FILE.icon.required ? configStyles.FILE.icon.required : /*#__PURE__*/React__default["default"].createElement(SvgRequired, null)), lableShowMore || configStyles.FILE.label.showMore ? /*#__PURE__*/React__default["default"].createElement("span", {
2478
+ className: styles$b['show-more-text'],
2479
+ style: {
2480
+ fontSize: labelSize ?? configStyles.FILE.label.font.size,
2481
+ fontStyle: labelStyle ?? configStyles.FILE.label.font.style,
2482
+ fontWeight: labelWeight ?? configStyles.FILE.label.font.weight,
2483
+ fontFamily: labelFamily ?? configStyles.FILE.label.font.family,
2484
+ color: showMoreTextColor ?? configStyles.FILE.label.showMoreTextColor
2382
2485
  },
2383
- onMouseEnter: handleLabelMouseEnter,
2384
- onMouseLeave: handleLabelMouseLeave
2385
- }, label), required && /*#__PURE__*/React__default["default"].createElement("sup", null, iconRequired ? iconRequired : configStyles.FILE.icon.required ? configStyles.FILE.icon.required : /*#__PURE__*/React__default["default"].createElement(SvgRequired, null))), deleteComponent && /*#__PURE__*/React__default["default"].createElement("span", {
2486
+ onClick: handleChangeShowMore
2487
+ }, showMore ? labelShowLessText ? labelShowLessText : '' : labelShowMoreText ? labelShowMoreText : '') : ''), deleteComponent && /*#__PURE__*/React__default["default"].createElement("span", {
2386
2488
  style: {
2387
2489
  cursor: 'pointer'
2388
2490
  },
@@ -2452,14 +2554,23 @@ const File = /*#__PURE__*/React.forwardRef(({
2452
2554
  }
2453
2555
  }, upload ?? configStyles.FILE.upload))), /*#__PURE__*/React__default["default"].createElement("div", {
2454
2556
  style: {
2557
+ maxWidth: '100%',
2455
2558
  marginTop: extentionsRowMarginTop ?? configStyles.FILE.extentionsRowMarginTop
2456
2559
  }
2457
2560
  }, /*#__PURE__*/React__default["default"].createElement("p", {
2458
2561
  style: {
2459
2562
  margin: '0px',
2460
- padding: '0px 10px'
2563
+ padding: '0px 10px',
2564
+ color: color ?? configStyles.FILE.color,
2565
+ whiteSpace: extentionsTextDots || configStyles.FILE.extentionsTextDots ? 'nowrap' : 'normal',
2566
+ overflow: extentionsTextDots || configStyles.FILE.extentionsTextDots ? 'hidden' : 'visible',
2567
+ textOverflow: extentionsTextDots || configStyles.FILE.extentionsTextDots ? 'ellipsis' : ''
2568
+ }
2569
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, fileSizeText ?? configStyles.FILE.sizeText, " ", maxSize, " \u0544\u0532", /*#__PURE__*/React__default["default"].createElement("span", {
2570
+ style: {
2571
+ color: extentionsTextColor ?? configStyles.FILE.extentionsTextColor
2461
2572
  }
2462
- }, fileSizeText ?? configStyles.FILE.sizeText, " ", maxSize, " \u0544\u0532 (", ' ', fileExtensions.toString().split(',').join(', '), " )"))) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
2573
+ }, "(", ' ', " ", fileExtensions.toString().split(',').join(', '), ")"))))) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
2463
2574
  className: styles$b['small-file-component'],
2464
2575
  style: {
2465
2576
  width: '100%',
@@ -2498,12 +2609,17 @@ const File = /*#__PURE__*/React.forwardRef(({
2498
2609
  }), /*#__PURE__*/React__default["default"].createElement("p", {
2499
2610
  style: {
2500
2611
  margin: '0px',
2501
- marginLeft: '5px',
2502
- overflow: 'hidden',
2503
- whiteSpace: 'nowrap',
2504
- textOverflow: 'ellipsis'
2612
+ padding: '0px 10px',
2613
+ color: color ?? configStyles.FILE.color,
2614
+ whiteSpace: extentionsTextDots || configStyles.FILE.extentionsTextDots ? 'nowrap' : 'normal',
2615
+ overflow: extentionsTextDots || configStyles.FILE.extentionsTextDots ? 'hidden' : 'visible',
2616
+ textOverflow: extentionsTextDots || configStyles.FILE.extentionsTextDots ? 'ellipsis' : ''
2617
+ }
2618
+ }, singleFile && singleFile[`${0}`] ? singleFile[`${0}`].name : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, fileSizeText ?? configStyles.FILE.sizeText, " ", maxSize, " \u0544\u0532", /*#__PURE__*/React__default["default"].createElement("span", {
2619
+ style: {
2620
+ color: extentionsTextColor ?? configStyles.FILE.extentionsTextColor
2505
2621
  }
2506
- }, singleFile && singleFile[`${0}`] ? singleFile[`${0}`].name : /*#__PURE__*/React__default["default"].createElement("span", null, fileSizeText ?? configStyles.FILE.sizeText, " ", maxSize, " \u0544\u0532 (", ' ', fileExtensions.toString().split(',').join(', '), " )"))))), /*#__PURE__*/React__default["default"].createElement("div", {
2622
+ }, "(", ' ', " ", fileExtensions.toString().split(',').join(', '), ")")))))), /*#__PURE__*/React__default["default"].createElement("div", {
2507
2623
  style: {
2508
2624
  position: 'absolute',
2509
2625
  top: '0px',
@@ -2611,6 +2727,11 @@ File.propTypes = {
2611
2727
  labelWeight: PropTypes__default["default"].string,
2612
2728
  labelFamily: PropTypes__default["default"].string,
2613
2729
  labelColor: PropTypes__default["default"].string,
2730
+ lableShowMore: PropTypes__default["default"].bool,
2731
+ labelShowLessText: PropTypes__default["default"].string,
2732
+ labelShowMoreText: PropTypes__default["default"].string,
2733
+ showMoreTextColor: PropTypes__default["default"].string,
2734
+ useLabelTooltip: PropTypes__default["default"].bool,
2614
2735
  labelTooltipColor: PropTypes__default["default"].string,
2615
2736
  labelTooltipPadding: PropTypes__default["default"].string,
2616
2737
  labelTooltipFontSize: PropTypes__default["default"].string,
@@ -2688,7 +2809,9 @@ File.propTypes = {
2688
2809
  filesArray: PropTypes__default["default"].arrayOf(PropTypes__default["default"].object),
2689
2810
  textAlignLeftInSmallComponent: PropTypes__default["default"].bool,
2690
2811
  showPreviewIconInSmallComponent: PropTypes__default["default"].bool,
2691
- fileExtensions: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)
2812
+ fileExtensions: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
2813
+ extentionsTextDots: PropTypes__default["default"].bool,
2814
+ extentionsTextColor: PropTypes__default["default"].string
2692
2815
  };
2693
2816
 
2694
2817
  const hasOwnerProperty = (object, property) => {
@@ -2952,9 +3075,9 @@ SingleCheckbox.propTypes = {
2952
3075
  ignoreDisabledForChecked: PropTypes__default["default"].bool
2953
3076
  };
2954
3077
 
2955
- var css_248z$c = ".table-module_sorting-arrows__BaN-G:after{content:\"▲\";font-size:11px;position:absolute;right:0;top:calc(50% - 12px)}.table-module_sorting-arrows__BaN-G:before{bottom:calc(50% - 12px);content:\"▼\";font-size:11px;position:absolute;right:0}.table-module_td-span__XHo6k{display:inline-block;position:relative}.table-module_td-span__XHo6k>svg{left:0;position:absolute;top:0;z-index:-1}.table-module_list-text__kmKIq{align-items:center;cursor:pointer;display:flex;margin:0 0 8px;min-height:38px;white-space:wrap}.table-module_dots-option-item__jNOxO{box-sizing:border-box;cursor:pointer;display:flex;height:39px;margin-bottom:2px;padding:10px;position:relative;width:100%}.table-module_dots-option-item__jNOxO:after{background-color:#eee;border-radius:1px;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;content:\"\";height:2px;left:10px;position:absolute;top:calc(100% - 2px);width:calc(100% - 20px)}.table-module_dots-option-item__jNOxO:last-child:after{display:none}.table-module_no-tabel-data__6xp3N{align-items:center;display:flex;height:200px;justify-content:center;width:100%}";
3078
+ var css_248z$b = ".table-module_sorting-arrows__BaN-G:after{content:\"▲\";font-size:11px;position:absolute;right:0;top:calc(50% - 12px)}.table-module_sorting-arrows__BaN-G:before{bottom:calc(50% - 12px);content:\"▼\";font-size:11px;position:absolute;right:0}.table-module_td-span__XHo6k{display:inline-block;position:relative}.table-module_td-span__XHo6k>svg{left:0;position:absolute;top:0;z-index:-1}.table-module_list-text__kmKIq{align-items:center;cursor:pointer;display:flex;margin:0 0 8px;min-height:38px;white-space:wrap}.table-module_dots-option-item__jNOxO{box-sizing:border-box;cursor:pointer;display:flex;height:39px;margin-bottom:2px;padding:10px;position:relative;width:100%}.table-module_dots-option-item__jNOxO:after{background-color:#eee;border-radius:1px;-webkit-border-radius:1px;-moz-border-radius:1px;-ms-border-radius:1px;-o-border-radius:1px;content:\"\";height:2px;left:10px;position:absolute;top:calc(100% - 2px);width:calc(100% - 20px)}.table-module_dots-option-item__jNOxO:last-child:after{display:none}.table-module_no-tabel-data__6xp3N{align-items:center;display:flex;height:200px;justify-content:center;width:100%}";
2956
3079
  var styles$a = {"sorting-arrows":"table-module_sorting-arrows__BaN-G","td-span":"table-module_td-span__XHo6k","list-text":"table-module_list-text__kmKIq","dots-option-item":"table-module_dots-option-item__jNOxO","no-tabel-data":"table-module_no-tabel-data__6xp3N"};
2957
- styleInject(css_248z$c);
3080
+ styleInject(css_248z$b);
2958
3081
 
2959
3082
  /* eslint-disable no-prototype-builtins */
2960
3083
  const TH = ({
@@ -4240,7 +4363,7 @@ const Table = ({
4240
4363
  }, body.map((item, index) => {
4241
4364
  return /*#__PURE__*/React__default["default"].createElement("tr", {
4242
4365
  onDragOver: e => e.preventDefault(),
4243
- onDrop: e => handleDrop(e, index),
4366
+ onDrop: draggable ? e => handleDrop(e, index) : _ => _,
4244
4367
  key: `${item}_${index}`,
4245
4368
  style: {
4246
4369
  backgroundColor: tableRowBGColor ?? configStyles.TABLE.body.row.colors.background,
@@ -4253,12 +4376,12 @@ const Table = ({
4253
4376
  return /*#__PURE__*/React__default["default"].createElement(TD, {
4254
4377
  index: index,
4255
4378
  item: innerItem,
4256
- dragged: handleDrag,
4379
+ dragged: draggable ? handleDrag : _ => _,
4257
4380
  hideBorder: hideBorder,
4258
4381
  innerIndex: innerIndex,
4259
- dragEnd: handleDragEnd,
4382
+ dragEnd: draggable ? handleDragEnd : _ => _,
4260
4383
  row: Object.values(item),
4261
- dragStart: handleDragStart,
4384
+ dragStart: draggable ? handleDragStart : _ => _,
4262
4385
  id: item.id ? item.id : '',
4263
4386
  handleCheckDots: handleCheckDots,
4264
4387
  key: `${innerItem}_${index}_${innerIndex}`,
@@ -4310,11 +4433,11 @@ const Table = ({
4310
4433
  }, draggedItem.map((innerItem, innerIndex) => {
4311
4434
  return /*#__PURE__*/React__default["default"].createElement(TD, {
4312
4435
  item: innerItem,
4313
- dragged: handleDrag,
4436
+ dragged: draggable ? handleDrag : _ => _,
4314
4437
  hideBorder: hideBorder,
4315
4438
  innerIndex: innerIndex,
4316
4439
  row: Object.values(draggedItem),
4317
- dragStart: handleDragStart,
4440
+ dragStart: draggable ? handleDragStart : _ => _,
4318
4441
  handleCheckDots: handleCheckDots,
4319
4442
  key: `${innerItem}__${innerIndex}`,
4320
4443
  openListColor: openListColor ?? configStyles.TABLE.openList.color,
@@ -4392,9 +4515,9 @@ Table.propTypes = {
4392
4515
  clickableRowColumnTd: PropTypes__default["default"].bool
4393
4516
  };
4394
4517
 
4395
- var css_248z$b = ".modal-module_animation__modal__3mt48{animation:modal-module_show-popup__WrH7a .15s;-webkit-animation:modal-module_show-popup__WrH7a .15s}@keyframes modal-module_show-popup__WrH7a{0%{transform:translate3d(0,-50%,0);-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-ms-transform:translate3d(0,-50%,0);-o-transform:translate3d(0,-50%,0)}to{opacity:1;transform:translateZ(0);-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0)}}";
4396
- var styles$9 = {"animation__modal":"modal-module_animation__modal__3mt48","show-popup":"modal-module_show-popup__WrH7a"};
4397
- styleInject(css_248z$b);
4518
+ var css_248z$a = "body.modal-module_tui-no-srcoll-class__gZjNK,html.modal-module_tui-no-srcoll-class__gZjNK{height:100%;overflow:hidden!important}.modal-module_animation__modal__3mt48{animation:modal-module_show-popup__WrH7a .15s;-webkit-animation:modal-module_show-popup__WrH7a .15s}@keyframes modal-module_show-popup__WrH7a{0%{transform:translate3d(0,-50%,0);-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-ms-transform:translate3d(0,-50%,0);-o-transform:translate3d(0,-50%,0)}to{opacity:1;transform:translateZ(0);-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0)}}";
4519
+ var styles$9 = {"tui-no-srcoll-class":"modal-module_tui-no-srcoll-class__gZjNK","animation__modal":"modal-module_animation__modal__3mt48","show-popup":"modal-module_show-popup__WrH7a"};
4520
+ styleInject(css_248z$a);
4398
4521
 
4399
4522
  const SvgNext = ({
4400
4523
  title,
@@ -4642,11 +4765,22 @@ const Modal = ({
4642
4765
  className && setClassProps(() => classnames__default["default"](className ?? configStyles.MODAL.className));
4643
4766
  }, [className]);
4644
4767
  React.useEffect(() => {
4768
+ let newConfigStyles = {};
4769
+ const style = document.createElement('style');
4645
4770
  document.addEventListener('keydown', e => {
4646
4771
  handleESC(e);
4647
4772
  handleNavigateArrow(e);
4648
4773
  }, false);
4649
4774
  configStylesPromise.then(data => {
4775
+ newConfigStyles = {
4776
+ ...data
4777
+ };
4778
+ if (hasOwnerProperty(newConfigStyles.MODAL, 'noScroll') && newConfigStyles.MODAL.noScroll) {
4779
+ style.textContent = `.tui-no-srcoll-class{overflow:hidden!important;}`;
4780
+ document.head.appendChild(style);
4781
+ document.body.classList.add('tui-no-srcoll-class');
4782
+ document.documentElement.classList.add('tui-no-srcoll-class');
4783
+ }
4650
4784
  setClassProps(() => classnames__default["default"](className ?? data.MODAL.className));
4651
4785
  setConfigStyles(() => {
4652
4786
  return {
@@ -4659,6 +4793,14 @@ const Modal = ({
4659
4793
  return () => {
4660
4794
  setSelect(0);
4661
4795
  setInnerData([]);
4796
+ if (hasOwnerProperty(newConfigStyles.MODAL, 'noScroll') && newConfigStyles.MODAL.noScroll) {
4797
+ const noScrllable = document.getElementsByClassName('tui-no-srcoll-class');
4798
+ if (noScrllable) {
4799
+ style.remove();
4800
+ document.body.classList.remove('tui-no-srcoll-class');
4801
+ document.documentElement.classList.remove('tui-no-srcoll-class');
4802
+ }
4803
+ }
4662
4804
  document.removeEventListener('keydown', e => {
4663
4805
  handleESC(e);
4664
4806
  handleNavigateArrow(e);
@@ -4692,14 +4834,14 @@ const Modal = ({
4692
4834
  style: {
4693
4835
  position: 'relative',
4694
4836
  boxSizing: 'border-box',
4695
- display: type === 'content' ? 'grid' : 'block',
4696
4837
  width: width ?? configStyles.MODAL.width,
4697
- overflow: type === 'content' ? 'auto' : 'hidden',
4698
4838
  height: height ?? configStyles.MODAL.height,
4699
- gridTemplateRows: type === 'content' ? 'auto 10fr' : '',
4839
+ display: type === 'content' ? 'grid' : 'block',
4840
+ overflow: type === 'content' ? 'auto' : 'hidden',
4700
4841
  borderRadius: radius ?? configStyles.MODAL.radius,
4701
4842
  maxWidth: mMaxWidth ?? configStyles.MODAL.maxWidth,
4702
4843
  maxHeight: mMaxHeight ?? configStyles.MODAL.maxHeight,
4844
+ gridTemplateRows: type === 'content' ? 'auto 10fr' : '',
4703
4845
  minWidth: type === 'content' ? minWidth ?? configStyles.MODAL.minWidth : '',
4704
4846
  backgroundColor: backgroundColor ?? configStyles.MODAL.colors.background,
4705
4847
  minHeight: type === 'content' ? minHeight ?? configStyles.MODAL.minHeight : ''
@@ -5270,9 +5412,9 @@ const NumberInput = ({
5270
5412
  });
5271
5413
  };
5272
5414
 
5273
- var css_248z$a = ".input-module_input-wrap__NunrE{position:relative;width:100%}.input-module_input-content__kP7lZ{appearance:none!important;-webkit-appearance:none!important;display:flex;width:100%}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{background-color:inherit!important}input::-ms-clear,input::-ms-reveal{display:none}.input-module_error-message-show__OrVSo{animation-fill-mode:forwards;animation-name:input-module_error-show__9MP6k}.input-module_inp-num__vH7HL::-webkit-inner-spin-button,.input-module_inp-num__vH7HL::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-module_inp-num__vH7HL[type=number]{-moz-appearance:textfield}@keyframes input-module_error-show__9MP6k{to{bottom:-20px;transform:scaleX(1);-webkit-transform:scaleX(1);-moz-transform:scaleX(1);-ms-transform:scaleX(1);-o-transform:scaleX(1)}}";
5415
+ var css_248z$9 = ".input-module_input-wrap__NunrE{position:relative;width:100%}.input-module_input-content__kP7lZ{appearance:none!important;-webkit-appearance:none!important;display:flex;width:100%}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{background-color:inherit!important}input::-ms-clear,input::-ms-reveal{display:none}.input-module_error-message-show__OrVSo{animation-fill-mode:forwards;animation-name:input-module_error-show__9MP6k}.input-module_inp-num__vH7HL::-webkit-inner-spin-button,.input-module_inp-num__vH7HL::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-module_inp-num__vH7HL[type=number]{-moz-appearance:textfield}@keyframes input-module_error-show__9MP6k{to{bottom:-20px;transform:scaleX(1);-webkit-transform:scaleX(1);-moz-transform:scaleX(1);-ms-transform:scaleX(1);-o-transform:scaleX(1)}}";
5274
5416
  var styles$8 = {"input-wrap":"input-module_input-wrap__NunrE","input-content":"input-module_input-content__kP7lZ","error-message-show":"input-module_error-message-show__OrVSo","error-show":"input-module_error-show__9MP6k","inp-num":"input-module_inp-num__vH7HL"};
5275
- styleInject(css_248z$a);
5417
+ styleInject(css_248z$9);
5276
5418
 
5277
5419
  const InputTypes = {
5278
5420
  TEL: 'tel',
@@ -5293,7 +5435,6 @@ const Input = ({
5293
5435
  name,
5294
5436
  style,
5295
5437
  color,
5296
- label,
5297
5438
  value,
5298
5439
  width,
5299
5440
  regexp,
@@ -5303,14 +5444,12 @@ const Input = ({
5303
5444
  weight,
5304
5445
  family,
5305
5446
  padding,
5306
- tooltip,
5307
5447
  telClass,
5308
5448
  leftIcon,
5309
5449
  required,
5310
5450
  disabled,
5311
5451
  errorDots,
5312
5452
  errorIcon,
5313
- labelDots,
5314
5453
  iconWidth,
5315
5454
  rightIcon,
5316
5455
  className,
@@ -5318,30 +5457,22 @@ const Input = ({
5318
5457
  boxShadow,
5319
5458
  errorLeft,
5320
5459
  errorSize,
5321
- labelSize,
5322
5460
  maxLength,
5323
- labelIcon,
5324
- labelStyle,
5325
5461
  floatToFix,
5326
5462
  minNumSize,
5327
5463
  maxNumSize,
5328
- labelColor,
5329
5464
  errorColor,
5330
5465
  withoutDot,
5331
5466
  errorStyle,
5332
5467
  iconPadding,
5333
- labelAction,
5334
5468
  errorAction,
5335
5469
  placeholder,
5336
5470
  errorZindex,
5337
- labelWeight,
5338
5471
  errorWeight,
5339
5472
  errorFamily,
5340
5473
  phoneDisplay,
5341
5474
  errorMessage,
5342
5475
  autoComplete,
5343
- labelDisplay,
5344
- labelIconSide,
5345
5476
  showLabelIcon,
5346
5477
  errorIconSide,
5347
5478
  showErrorIcon,
@@ -5349,17 +5480,13 @@ const Input = ({
5349
5480
  errorBoxShadow,
5350
5481
  boxShadowHover,
5351
5482
  errorClassName,
5352
- labelIconMargin,
5353
- labelFontFamily,
5354
5483
  phoneAlignItems,
5355
5484
  errorLineHeight,
5356
- labelLineHeight,
5357
5485
  numberMaxLength,
5358
5486
  backgroundColor,
5359
5487
  errorIconMargin,
5360
5488
  placeholderColor,
5361
5489
  withZero = false,
5362
- labelMarginBottom,
5363
5490
  regexpErrorMessage,
5364
5491
  phoneJustifyContent,
5365
5492
  telBorderRightWidth,
@@ -5368,13 +5495,40 @@ const Input = ({
5368
5495
  fireInputInsideError,
5369
5496
  backgroundDisableColor,
5370
5497
  telBorderRightColorHover,
5498
+ label,
5499
+ labelSize,
5500
+ labelIcon,
5501
+ labelStyle,
5502
+ labelColor,
5503
+ labelAction,
5504
+ labelWeight,
5505
+ labelDisplay,
5506
+ labelIconSide,
5507
+ labelIconMargin,
5508
+ labelFontFamily,
5509
+ labelLineHeight,
5510
+ labelMarginBottom,
5511
+ iconRequired,
5512
+ useLabelTooltip,
5513
+ labelTooltipColor,
5514
+ labelTooltipPadding,
5515
+ labelTooltipFontSize,
5516
+ labelTooltipFontStyle,
5517
+ labelTooltipFontFamily,
5518
+ labelTooltipFontWeight,
5519
+ labelTooltipBorderRadius,
5520
+ labelTooltipBackgroundColor,
5371
5521
  cardNumber,
5372
5522
  type = 'text'
5373
5523
  }) => {
5524
+ const labelRef = React.useRef(null);
5525
+ const parentRef = React.useRef(null);
5374
5526
  const [show, setShow] = React.useState(false);
5527
+ const [removeID, setRemoveID] = React.useState('');
5375
5528
  const [isHover, setIsHover] = React.useState(false);
5376
5529
  const [classProps, setClassProps] = React.useState({});
5377
5530
  const [innerValue, setInnerValue] = React.useState('');
5531
+ const [tooltipElem, setTooltipElem] = React.useState(null);
5378
5532
  const [configStyles, setConfigStyles] = React.useState({});
5379
5533
  const [innerErrorIcon, setInnerErrorIcon] = React.useState('');
5380
5534
  const [innerLabelIcon, setInnerLabelIcon] = React.useState('');
@@ -5425,6 +5579,79 @@ const Input = ({
5425
5579
  const handleShowPass = () => {
5426
5580
  setShow(!show);
5427
5581
  };
5582
+ const getRenderedTextWidth = element => {
5583
+ const clone = element.cloneNode(true);
5584
+ clone.style.width = 'fit-content';
5585
+ document.body.appendChild(clone);
5586
+ const width = clone.offsetWidth;
5587
+ document.body.removeChild(clone);
5588
+ return width;
5589
+ };
5590
+ const handleLabelMouseEnter = event => {
5591
+ event.preventDefault();
5592
+ setRemoveID(() => v4());
5593
+ if (labelRef.current) {
5594
+ const parentElem = parentRef.current.getBoundingClientRect();
5595
+ const rect = labelRef.current.getBoundingClientRect();
5596
+ const top = rect.top;
5597
+ const left = rect.left;
5598
+ const height = rect.height;
5599
+ const elementWidth = rect.width;
5600
+ const x = event.clientX - rect.left;
5601
+ const parentWidth = parentElem.width;
5602
+ const textWidth = getRenderedTextWidth(labelRef.current);
5603
+ if (textWidth > Math.ceil(elementWidth)) {
5604
+ const newTooltipElem = document.createElement('div');
5605
+ newTooltipElem.id = `fake_id_for_remove_dom${removeID}`;
5606
+ const newTootltipTextElem = document.createElement('p');
5607
+ const newTooltipChildElem = document.createElement('div');
5608
+ const newTooltipDecorElem = document.createElement('div');
5609
+ newTooltipElem.style.position = 'fixed';
5610
+ newTooltipElem.style.left = showLabelIcon && innerLabelIcon && innerLabelIconSide === 'left' ? left - 14 - (labelIconMargin ? labelIconMargin : configStyles.INPUT.label.iconMargin) + 'px' : left + 'px';
5611
+ newTooltipElem.style.paddingTop = '20px';
5612
+ newTooltipElem.style.height = 'fit-content';
5613
+ newTooltipElem.style.boxSizing = 'border-box';
5614
+ newTooltipElem.style.top = top + height + 'px';
5615
+ newTooltipElem.style.width = parentWidth + 'px';
5616
+ newTooltipChildElem.style.width = '100%';
5617
+ newTooltipChildElem.style.position = 'relative';
5618
+ newTooltipChildElem.style.height = 'fit-content';
5619
+ newTooltipChildElem.style.boxSizing = 'border-box';
5620
+ newTooltipChildElem.style.padding = labelTooltipPadding ?? configStyles.INPUT.label.tooltip.padding;
5621
+ newTooltipChildElem.style.borderRadius = labelTooltipBorderRadius ?? configStyles.INPUT.label.tooltip.borderRadius;
5622
+ newTooltipChildElem.style.backgroundColor = labelTooltipBackgroundColor ?? configStyles.INPUT.label.tooltip.backgroundColor;
5623
+ newTooltipDecorElem.style.zIndex = -1;
5624
+ newTooltipDecorElem.style.top = '-8px';
5625
+ newTooltipDecorElem.style.width = '18px';
5626
+ newTooltipDecorElem.style.height = '18px';
5627
+ newTooltipDecorElem.style.rotate = '45deg';
5628
+ newTooltipDecorElem.style.position = 'absolute';
5629
+ newTooltipDecorElem.style.left = x > elementWidth / 2 ? 'calc(100% - 40px)' : '23px';
5630
+ newTooltipDecorElem.style.backgroundColor = labelTooltipBackgroundColor ?? configStyles.INPUT.label.tooltip.backgroundColor;
5631
+ newTootltipTextElem.innerText = label;
5632
+ newTootltipTextElem.style.color = labelTooltipColor ?? configStyles.INPUT.label.tooltip.color;
5633
+ newTootltipTextElem.style.fontSize = labelTooltipFontSize ?? configStyles.INPUT.label.tooltip.font.size;
5634
+ newTootltipTextElem.style.fontStyle = labelTooltipFontStyle ?? configStyles.INPUT.label.tooltip.font.style;
5635
+ newTootltipTextElem.style.fontFamily = labelTooltipFontFamily ?? configStyles.INPUT.label.tooltip.font.family;
5636
+ newTootltipTextElem.style.fontWeight = labelTooltipFontWeight ?? configStyles.INPUT.label.tooltip.font.weight;
5637
+ document.body.appendChild(newTooltipElem);
5638
+ newTooltipElem.appendChild(newTooltipChildElem);
5639
+ newTooltipChildElem.appendChild(newTooltipDecorElem);
5640
+ newTooltipChildElem.appendChild(newTootltipTextElem);
5641
+ setTooltipElem(() => newTooltipElem);
5642
+ }
5643
+ }
5644
+ };
5645
+ const handleLabelMouseLeave = () => {
5646
+ const removableElem = document.getElementById(`fake_id_for_remove_dom${removeID}`);
5647
+ if (removableElem) {
5648
+ document.body.removeChild(removableElem);
5649
+ }
5650
+ if (tooltipElem) {
5651
+ document.body.removeChild(tooltipElem);
5652
+ }
5653
+ setRemoveID(() => '');
5654
+ };
5428
5655
  React.useEffect(() => {
5429
5656
  if (errorMessage) {
5430
5657
  setInnerErrorMessage(errorMessage);
@@ -5471,25 +5698,18 @@ const Input = ({
5471
5698
  });
5472
5699
  }, []);
5473
5700
  return configStyles.INPUT && /*#__PURE__*/React__default["default"].createElement("div", {
5701
+ ref: parentRef,
5474
5702
  className: classProps
5475
5703
  }, /*#__PURE__*/React__default["default"].createElement("style", null, `.tui-color-placeholder::placeholder {
5476
5704
  color: ${placeholderColor ?? configStyles.INPUT.colors.placeholder};
5477
- }`), label ? /*#__PURE__*/React__default["default"].createElement("label", {
5705
+ }`), label && /*#__PURE__*/React__default["default"].createElement("div", {
5478
5706
  style: {
5707
+ display: 'flex',
5479
5708
  maxWidth: '100%',
5480
- color: labelColor ?? configStyles.INPUT.label.color,
5481
- fontSize: labelSize ?? configStyles.INPUT.label.font.size,
5482
- fontStyle: labelStyle ?? configStyles.INPUT.label.font.style,
5483
- display: labelDisplay ?? configStyles.INPUT.label.display,
5484
- fontWeight: labelWeight ?? configStyles.INPUT.label.font.weight,
5485
- lineHeight: labelLineHeight ?? configStyles.INPUT.label.lineHeight,
5486
- marginBottom: labelMarginBottom ?? configStyles.INPUT.label.marginBottom,
5487
- fontFamily: labelFontFamily ?? configStyles.INPUT.label.font.family,
5488
- whiteSpace: (labelDots ? labelDots : configStyles.INPUT.label.dots) ? 'nowrap' : 'normal',
5489
- overflow: (labelDots ? labelDots : configStyles.INPUT.label.dots) ? 'hidden' : 'visible',
5490
- textOverflow: (labelDots ? labelDots : configStyles.INPUT.label.dots) ? 'ellipsis' : ''
5491
- },
5492
- title: label
5709
+ width: 'fit-content',
5710
+ columnGap: '4px',
5711
+ justifyContent: 'flex-start'
5712
+ }
5493
5713
  }, showLabelIcon && innerLabelIcon && innerLabelIconSide === 'left' ? /*#__PURE__*/React__default["default"].createElement("img", {
5494
5714
  alt: "label icon",
5495
5715
  src: innerLabelIcon,
@@ -5500,7 +5720,24 @@ const Input = ({
5500
5720
  marginRight: labelIconMargin ?? configStyles.INPUT.label.iconMargin
5501
5721
  },
5502
5722
  onClick: labelAction ? () => labelAction() : _ => _
5503
- }) : '', label, required && /*#__PURE__*/React__default["default"].createElement("sup", null, /*#__PURE__*/React__default["default"].createElement(SvgRequired, null)), showLabelIcon && innerLabelIcon && innerLabelIconSide === 'right' ? /*#__PURE__*/React__default["default"].createElement("img", {
5723
+ }) : '', /*#__PURE__*/React__default["default"].createElement("label", {
5724
+ ref: labelRef,
5725
+ style: {
5726
+ color: labelColor ?? configStyles.INPUT.label.color,
5727
+ fontSize: labelSize ?? configStyles.INPUT.label.font.size,
5728
+ fontStyle: labelStyle ?? configStyles.INPUT.label.font.style,
5729
+ display: labelDisplay ?? configStyles.INPUT.label.display,
5730
+ fontWeight: labelWeight ?? configStyles.INPUT.label.font.weight,
5731
+ lineHeight: labelLineHeight ?? configStyles.INPUT.label.lineHeight,
5732
+ marginBottom: labelMarginBottom ?? configStyles.INPUT.label.marginBottom,
5733
+ fontFamily: labelFontFamily ?? configStyles.INPUT.label.font.family,
5734
+ whiteSpace: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.INPUT.label.useTooltip) ? 'nowrap' : 'normal',
5735
+ overflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.INPUT.label.useTooltip) ? 'hidden' : 'visible',
5736
+ textOverflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.INPUT.label.useTooltip) ? 'ellipsis' : ''
5737
+ },
5738
+ onMouseEnter: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.INPUT.label.useTooltip) ? handleLabelMouseEnter : _ => _,
5739
+ onMouseLeave: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.INPUT.label.useTooltip) ? handleLabelMouseLeave : _ => _
5740
+ }, label), required && /*#__PURE__*/React__default["default"].createElement("sup", null, iconRequired ? iconRequired : configStyles.INPUT.icon.required ? configStyles.INPUT.icon.required : /*#__PURE__*/React__default["default"].createElement(SvgRequired, null)), showLabelIcon && innerLabelIcon && innerLabelIconSide === 'right' ? /*#__PURE__*/React__default["default"].createElement("img", {
5504
5741
  alt: "label icon",
5505
5742
  src: innerLabelIcon,
5506
5743
  style: {
@@ -5510,7 +5747,7 @@ const Input = ({
5510
5747
  marginLeft: labelIconMargin ?? configStyles.INPUT.label.iconMargin
5511
5748
  },
5512
5749
  onClick: labelAction ? () => labelAction() : _ => _
5513
- }) : '') : '', /*#__PURE__*/React__default["default"].createElement("div", {
5750
+ }) : ''), /*#__PURE__*/React__default["default"].createElement("div", {
5514
5751
  className: `${styles$8['input-content']}`,
5515
5752
  style: {
5516
5753
  width: width ?? configStyles.INPUT.width,
@@ -5608,7 +5845,7 @@ const Input = ({
5608
5845
  borderBottomRightRadius: radius ?? configStyles.INPUT.radius,
5609
5846
  backgroundColor: disabled ? backgroundDisableColor ? backgroundDisableColor : configStyles.INPUT.colors.backgroundDisable : backgroundColor ? backgroundColor : configStyles.INPUT.colors.background
5610
5847
  }
5611
- }, type === 'password' ? show ? rightIcon[1] : rightIcon[0] : rightIcon[0]) : ''), tooltip ? tooltip : '', innerErrorMessage ? /*#__PURE__*/React__default["default"].createElement(P
5848
+ }, type === 'password' ? show ? rightIcon[1] : rightIcon[0] : rightIcon[0]) : ''), innerErrorMessage ? /*#__PURE__*/React__default["default"].createElement(P
5612
5849
  // animation={animation}
5613
5850
  , {
5614
5851
  style: {
@@ -5676,7 +5913,6 @@ Input.propTypes = {
5676
5913
  radius: PropTypes__default["default"].string,
5677
5914
  padding: PropTypes__default["default"].string,
5678
5915
  cardNumber: PropTypes__default["default"].bool,
5679
- tooltip: PropTypes__default["default"].element,
5680
5916
  withoutDot: PropTypes__default["default"].bool,
5681
5917
  className: PropTypes__default["default"].string,
5682
5918
  iconWidth: PropTypes__default["default"].string,
@@ -5685,21 +5921,6 @@ Input.propTypes = {
5685
5921
  floatToFix: PropTypes__default["default"].number,
5686
5922
  minNumSize: PropTypes__default["default"].number,
5687
5923
  maxNumSize: PropTypes__default["default"].number,
5688
- label: PropTypes__default["default"].string,
5689
- labelDots: PropTypes__default["default"].bool,
5690
- labelAction: PropTypes__default["default"].func,
5691
- labelIcon: PropTypes__default["default"].string,
5692
- labelSize: PropTypes__default["default"].string,
5693
- labelColor: PropTypes__default["default"].string,
5694
- labelStyle: PropTypes__default["default"].string,
5695
- showLabelIcon: PropTypes__default["default"].bool,
5696
- labelWeight: PropTypes__default["default"].string,
5697
- labelDisplay: PropTypes__default["default"].string,
5698
- labelIconSide: PropTypes__default["default"].oneOf(Object.values(IconSides)),
5699
- labelLineHeight: PropTypes__default["default"].string,
5700
- labelFontFamily: PropTypes__default["default"].string,
5701
- labelIconMargin: PropTypes__default["default"].string,
5702
- labelMarginBottom: PropTypes__default["default"].string,
5703
5924
  borderRight: PropTypes__default["default"].string,
5704
5925
  placeholder: PropTypes__default["default"].string,
5705
5926
  placeholderColor: PropTypes__default["default"].string,
@@ -5743,7 +5964,31 @@ Input.propTypes = {
5743
5964
  leftIcon: PropTypes__default["default"].arrayOf(PropTypes__default["default"].element),
5744
5965
  rightIcon: PropTypes__default["default"].arrayOf(PropTypes__default["default"].element),
5745
5966
  type: PropTypes__default["default"].oneOf(Object.values(InputTypes)),
5746
- value: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number, PropTypes__default["default"].object])
5967
+ value: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number, PropTypes__default["default"].object]),
5968
+ iconRequired: PropTypes__default["default"].element,
5969
+ label: PropTypes__default["default"].string,
5970
+ labelAction: PropTypes__default["default"].func,
5971
+ labelIcon: PropTypes__default["default"].string,
5972
+ labelSize: PropTypes__default["default"].string,
5973
+ labelColor: PropTypes__default["default"].string,
5974
+ labelStyle: PropTypes__default["default"].string,
5975
+ showLabelIcon: PropTypes__default["default"].bool,
5976
+ labelWeight: PropTypes__default["default"].string,
5977
+ labelDisplay: PropTypes__default["default"].string,
5978
+ labelIconSide: PropTypes__default["default"].oneOf(Object.values(IconSides)),
5979
+ labelLineHeight: PropTypes__default["default"].string,
5980
+ labelFontFamily: PropTypes__default["default"].string,
5981
+ labelIconMargin: PropTypes__default["default"].string,
5982
+ labelMarginBottom: PropTypes__default["default"].string,
5983
+ useLabelTooltip: PropTypes__default["default"].bool,
5984
+ labelTooltipColor: PropTypes__default["default"].string,
5985
+ labelTooltipPadding: PropTypes__default["default"].string,
5986
+ labelTooltipFontSize: PropTypes__default["default"].string,
5987
+ labelTooltipFontStyle: PropTypes__default["default"].string,
5988
+ labelTooltipFontFamily: PropTypes__default["default"].string,
5989
+ labelTooltipFontWeight: PropTypes__default["default"].string,
5990
+ labelTooltipBorderRadius: PropTypes__default["default"].string,
5991
+ labelTooltipBackgroundColor: PropTypes__default["default"].string
5747
5992
  };
5748
5993
 
5749
5994
  const RadioDirectionMode = {
@@ -5955,9 +6200,9 @@ const SvgArrow = ({
5955
6200
  fill: fillColor ? fillColor : '#3C393E'
5956
6201
  }));
5957
6202
 
5958
- var css_248z$9 = ".select-module_select-content__GCMDX{-webkit-appearance:none;display:flex;flex-direction:column;position:relative}.select-module_select-content-top__Aw-fB{align-items:center;-webkit-appearance:none;display:flex;flex-direction:row;flex-wrap:nowrap}.select-module_select-content-bottom__ueZCR{animation:select-module_select-show__391hQ .64s linear forwards;-webkit-animation:select-module_select-show__391hQ .64s linear forwards;left:0;max-height:0;overflow:hidden;position:absolute;width:100%;z-index:99999999999}.select-module_select-content-bottom-inner__NWy2X{display:flex;flex-direction:column;max-height:234px;overflow-x:hidden;overflow-y:auto}.select-module_select-content-top-icon__MBrGK{align-items:center;box-sizing:border-box;display:flex;flex:0 0 auto}.select-module_select-content-top-icon__MBrGK>div{align-items:center;display:flex;height:fit-content;justify-content:center;max-height:30px;max-width:30px;min-height:14px;min-width:14px;width:fit-content}.select-module_close-icon__SFNaJ{border-right:1px solid #eee;box-sizing:content-box;padding-right:9px}.select-module_arrow-icon__rjHt-{margin-left:9px;transform-origin:center;transition:all .64s ease;-webkit-transition:all .64s ease;-moz-transition:all .64s ease;-ms-transition:all .64s ease;-o-transition:all .64s ease}.select-module_select-content-bottom-row__eKq5L{align-items:center;display:flex;transition:background-color .24s,color .24s;-webkit-transition:background-color .24s,color .24s;-moz-transition:background-color .24s,color .24s;-ms-transition:background-color .24s,color .24s;-o-transition:background-color .24s,color .24s}.select-module_select-content-bottom-row__eKq5L:last-child{margin-bottom:0}.select-module_ellipsis__uNgol{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes select-module_select-show__391hQ{to{max-height:234px}}";
6203
+ var css_248z$8 = ".select-module_select-content__GCMDX{-webkit-appearance:none;display:flex;flex-direction:column;position:relative}.select-module_select-content-top__Aw-fB{align-items:center;-webkit-appearance:none;display:flex;flex-direction:row;flex-wrap:nowrap}.select-module_select-content-bottom__ueZCR{animation:select-module_select-show__391hQ .64s linear forwards;-webkit-animation:select-module_select-show__391hQ .64s linear forwards;left:0;max-height:0;overflow:hidden;position:absolute;width:100%;z-index:99999999999}.select-module_select-content-bottom-inner__NWy2X{display:flex;flex-direction:column;max-height:234px;overflow-x:hidden;overflow-y:auto}.select-module_select-content-top-icon__MBrGK{align-items:center;box-sizing:border-box;display:flex;flex:0 0 auto}.select-module_select-content-top-icon__MBrGK>div{align-items:center;display:flex;height:fit-content;justify-content:center;max-height:30px;max-width:30px;min-height:14px;min-width:14px;width:fit-content}.select-module_close-icon__SFNaJ{border-right:1px solid #eee;box-sizing:content-box;padding-right:9px}.select-module_arrow-icon__rjHt-{margin-left:9px;transform-origin:center;transition:all .64s ease;-webkit-transition:all .64s ease;-moz-transition:all .64s ease;-ms-transition:all .64s ease;-o-transition:all .64s ease}.select-module_select-content-bottom-row__eKq5L{align-items:center;display:flex;transition:background-color .24s,color .24s;-webkit-transition:background-color .24s,color .24s;-moz-transition:background-color .24s,color .24s;-ms-transition:background-color .24s,color .24s;-o-transition:background-color .24s,color .24s}.select-module_select-content-bottom-row__eKq5L:last-child{margin-bottom:0}.select-module_ellipsis__uNgol{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes select-module_select-show__391hQ{to{max-height:234px}}";
5959
6204
  var styles$7 = {"select-content":"select-module_select-content__GCMDX","select-content-top":"select-module_select-content-top__Aw-fB","select-content-bottom":"select-module_select-content-bottom__ueZCR","select-show":"select-module_select-show__391hQ","select-content-bottom-inner":"select-module_select-content-bottom-inner__NWy2X","select-content-top-icon":"select-module_select-content-top-icon__MBrGK","close-icon":"select-module_close-icon__SFNaJ","arrow-icon":"select-module_arrow-icon__rjHt-","select-content-bottom-row":"select-module_select-content-bottom-row__eKq5L","ellipsis":"select-module_ellipsis__uNgol"};
5960
- styleInject(css_248z$9);
6205
+ styleInject(css_248z$8);
5961
6206
 
5962
6207
  const Select = ({
5963
6208
  dots,
@@ -5989,6 +6234,16 @@ const Select = ({
5989
6234
  labelFontFamily,
5990
6235
  labelMarginBottom,
5991
6236
  labelTextTransform,
6237
+ iconRequired,
6238
+ useLabelTooltip,
6239
+ labelTooltipColor,
6240
+ labelTooltipPadding,
6241
+ labelTooltipFontSize,
6242
+ labelTooltipFontStyle,
6243
+ labelTooltipFontFamily,
6244
+ labelTooltipFontWeight,
6245
+ labelTooltipBorderRadius,
6246
+ labelTooltipBackgroundColor,
5992
6247
  cursor,
5993
6248
  errorIcon,
5994
6249
  errorSize,
@@ -6030,13 +6285,18 @@ const Select = ({
6030
6285
  optionItemBackgroudColorHover,
6031
6286
  boxShadow,
6032
6287
  boxShadowHover,
6033
- insidePagination
6288
+ insidePagination,
6289
+ placeholderColor
6034
6290
  }) => {
6035
- const ref = React.useRef();
6291
+ const ref = React.useRef(null);
6292
+ const labelRef = React.useRef(null);
6293
+ const parentRef = React.useRef(null);
6036
6294
  const [opened, setOpened] = React.useState(false);
6295
+ const [removeID, setRemoveID] = React.useState('');
6037
6296
  const [isHover, setIsHover] = React.useState(false);
6038
6297
  const [classProps, setClassProps] = React.useState({});
6039
6298
  const [newSelected, setNewSelected] = React.useState([]);
6299
+ const [tooltipElem, setTooltipElem] = React.useState(null);
6040
6300
  const [existOptions, setExistOptions] = React.useState([]);
6041
6301
  const [configStyles, setConfigStyles] = React.useState({});
6042
6302
  const handleOpenClose = () => {
@@ -6102,6 +6362,79 @@ const Select = ({
6102
6362
  }
6103
6363
  return true;
6104
6364
  };
6365
+ const getRenderedTextWidth = element => {
6366
+ const clone = element.cloneNode(true);
6367
+ clone.style.width = 'fit-content';
6368
+ document.body.appendChild(clone);
6369
+ const width = clone.offsetWidth;
6370
+ document.body.removeChild(clone);
6371
+ return width;
6372
+ };
6373
+ const handleLabelMouseEnter = event => {
6374
+ event.preventDefault();
6375
+ setRemoveID(() => v4());
6376
+ if (labelRef.current) {
6377
+ const parentElem = parentRef.current.getBoundingClientRect();
6378
+ const rect = labelRef.current.getBoundingClientRect();
6379
+ const top = rect.top;
6380
+ const left = rect.left;
6381
+ const height = rect.height;
6382
+ const elementWidth = rect.width;
6383
+ const x = event.clientX - rect.left;
6384
+ const parentWidth = parentElem.width;
6385
+ const textWidth = getRenderedTextWidth(labelRef.current);
6386
+ if (textWidth > Math.ceil(elementWidth)) {
6387
+ const newTooltipElem = document.createElement('div');
6388
+ newTooltipElem.id = `fake_id_for_remove_dom${removeID}`;
6389
+ const newTootltipTextElem = document.createElement('p');
6390
+ const newTooltipChildElem = document.createElement('div');
6391
+ const newTooltipDecorElem = document.createElement('div');
6392
+ newTooltipElem.style.position = 'fixed';
6393
+ newTooltipElem.style.left = left + 'px';
6394
+ newTooltipElem.style.paddingTop = '20px';
6395
+ newTooltipElem.style.height = 'fit-content';
6396
+ newTooltipElem.style.boxSizing = 'border-box';
6397
+ newTooltipElem.style.top = top + height + 'px';
6398
+ newTooltipElem.style.width = parentWidth + 'px';
6399
+ newTooltipChildElem.style.width = '100%';
6400
+ newTooltipChildElem.style.position = 'relative';
6401
+ newTooltipChildElem.style.height = 'fit-content';
6402
+ newTooltipChildElem.style.boxSizing = 'border-box';
6403
+ newTooltipChildElem.style.padding = labelTooltipPadding ?? configStyles.SELECT.label.tooltip.padding;
6404
+ newTooltipChildElem.style.borderRadius = labelTooltipBorderRadius ?? configStyles.SELECT.label.tooltip.borderRadius;
6405
+ newTooltipChildElem.style.backgroundColor = labelTooltipBackgroundColor ?? configStyles.SELECT.label.tooltip.backgroundColor;
6406
+ newTooltipDecorElem.style.zIndex = -1;
6407
+ newTooltipDecorElem.style.top = '-8px';
6408
+ newTooltipDecorElem.style.width = '18px';
6409
+ newTooltipDecorElem.style.height = '18px';
6410
+ newTooltipDecorElem.style.rotate = '45deg';
6411
+ newTooltipDecorElem.style.position = 'absolute';
6412
+ newTooltipDecorElem.style.left = x > elementWidth / 2 ? 'calc(100% - 40px)' : '23px';
6413
+ newTooltipDecorElem.style.backgroundColor = labelTooltipBackgroundColor ?? configStyles.SELECT.label.tooltip.backgroundColor;
6414
+ newTootltipTextElem.innerText = label;
6415
+ newTootltipTextElem.style.color = labelTooltipColor ?? configStyles.SELECT.label.tooltip.color;
6416
+ newTootltipTextElem.style.fontSize = labelTooltipFontSize ?? configStyles.SELECT.label.tooltip.font.size;
6417
+ newTootltipTextElem.style.fontStyle = labelTooltipFontStyle ?? configStyles.SELECT.label.tooltip.font.style;
6418
+ newTootltipTextElem.style.fontFamily = labelTooltipFontFamily ?? configStyles.SELECT.label.tooltip.font.family;
6419
+ newTootltipTextElem.style.fontWeight = labelTooltipFontWeight ?? configStyles.SELECT.label.tooltip.font.weight;
6420
+ document.body.appendChild(newTooltipElem);
6421
+ newTooltipElem.appendChild(newTooltipChildElem);
6422
+ newTooltipChildElem.appendChild(newTooltipDecorElem);
6423
+ newTooltipChildElem.appendChild(newTootltipTextElem);
6424
+ setTooltipElem(() => newTooltipElem);
6425
+ }
6426
+ }
6427
+ };
6428
+ const handleLabelMouseLeave = () => {
6429
+ const removableElem = document.getElementById(`fake_id_for_remove_dom${removeID}`);
6430
+ if (removableElem) {
6431
+ document.body.removeChild(removableElem);
6432
+ }
6433
+ if (tooltipElem) {
6434
+ document.body.removeChild(tooltipElem);
6435
+ }
6436
+ setRemoveID(() => '');
6437
+ };
6105
6438
  React.useEffect(() => {
6106
6439
  if (opened) {
6107
6440
  const checkIfClickedOutside = e => {
@@ -6156,12 +6489,22 @@ const Select = ({
6156
6489
  });
6157
6490
  }, []);
6158
6491
  return configStyles.SELECT && /*#__PURE__*/React__default["default"].createElement("div", {
6492
+ ref: parentRef,
6159
6493
  className: classProps,
6160
6494
  style: {
6161
6495
  position: 'relative',
6162
6496
  width: '100%'
6163
6497
  }
6164
- }, label ? /*#__PURE__*/React__default["default"].createElement("label", {
6498
+ }, label && /*#__PURE__*/React__default["default"].createElement("div", {
6499
+ style: {
6500
+ display: 'flex',
6501
+ maxWidth: '100%',
6502
+ width: 'fit-content',
6503
+ columnGap: '4px',
6504
+ justifyContent: 'flex-start'
6505
+ }
6506
+ }, /*#__PURE__*/React__default["default"].createElement("label", {
6507
+ ref: labelRef,
6165
6508
  style: {
6166
6509
  color: labelColor ?? configStyles.SELECT.label.color,
6167
6510
  fontWeight: labelWeight ?? configStyles.SELECT.label.font.weight,
@@ -6171,9 +6514,14 @@ const Select = ({
6171
6514
  fontFamily: labelFontFamily ?? configStyles.SELECT.label.font.family,
6172
6515
  lineHeight: labelLineHeight ?? configStyles.SELECT.label.lineHeight,
6173
6516
  marginBottom: labelMarginBottom ?? configStyles.SELECT.label.marginBottom,
6174
- textTransform: labelTextTransform ?? configStyles.SELECT.label.textTransform
6175
- }
6176
- }, label, required && /*#__PURE__*/React__default["default"].createElement("sup", null, /*#__PURE__*/React__default["default"].createElement(SvgRequired, null))) : '', /*#__PURE__*/React__default["default"].createElement("div", {
6517
+ textTransform: labelTextTransform ?? configStyles.SELECT.label.textTransform,
6518
+ whiteSpace: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.SELECT.label.useTooltip) ? 'nowrap' : 'normal',
6519
+ overflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.SELECT.label.useTooltip) ? 'hidden' : 'visible',
6520
+ textOverflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.SELECT.label.useTooltip) ? 'ellipsis' : ''
6521
+ },
6522
+ onMouseEnter: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.SELECT.label.useTooltip) ? handleLabelMouseEnter : _ => _,
6523
+ onMouseLeave: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.SELECT.label.useTooltip) ? handleLabelMouseLeave : _ => _
6524
+ }, label), required && /*#__PURE__*/React__default["default"].createElement("sup", null, iconRequired ? iconRequired : configStyles.SELECT.icon.required ? configStyles.SELECT.icon.required : /*#__PURE__*/React__default["default"].createElement(SvgRequired, null))), /*#__PURE__*/React__default["default"].createElement("div", {
6177
6525
  ref: ref
6178
6526
  }, /*#__PURE__*/React__default["default"].createElement("div", {
6179
6527
  className: styles$7['select-content']
@@ -6199,12 +6547,12 @@ const Select = ({
6199
6547
  onMouseEnter: disabled ? _ => _ : () => handleMouseEnter(),
6200
6548
  onMouseLeave: disabled ? _ => _ : () => handleMouseLeave()
6201
6549
  }, /*#__PURE__*/React__default["default"].createElement("div", {
6202
- className: `${styles$7['select-content-top-text']}`,
6550
+ className: "select-content-top-text",
6203
6551
  style: {
6204
6552
  whiteSpace: disabled ? 'pre-wrap' : 'nowrap',
6205
6553
  overflow: insidePagination ? 'visible' : 'hidden',
6206
6554
  textOverflow: insidePagination ? 'initial' : 'ellipsis',
6207
- color: isHover ? selectedHoverColor ? selectedHoverColor : configStyles.SELECT.selected.colors.hover : selectedColor ? selectedColor : configStyles.SELECT.selected.color
6555
+ color: placeholderColor && !newSelected.length ? placeholderColor : isHover ? selectedHoverColor ? selectedHoverColor : configStyles.SELECT.selected.colors.hover : selectedColor ? selectedColor : configStyles.SELECT.selected.color
6208
6556
  }
6209
6557
  }, !multiple && newSelected && newSelected[0] && newSelected[0][keyNames.name] ? newSelected[0][keyNames.name] : newSelected && newSelected.length > 0 ? newSelected.map((_, index) => {
6210
6558
  if (newSelected[index][keyNames.name]) {
@@ -6350,9 +6698,20 @@ Select.propTypes = {
6350
6698
  optionItemMarginBottom: PropTypes__default["default"].string,
6351
6699
  optionItemBackgroudColor: PropTypes__default["default"].string,
6352
6700
  optionItemBackgroudColorHover: PropTypes__default["default"].string,
6701
+ iconRequired: PropTypes__default["default"].element,
6702
+ useLabelTooltip: PropTypes__default["default"].bool,
6703
+ labelTooltipColor: PropTypes__default["default"].string,
6704
+ labelTooltipPadding: PropTypes__default["default"].string,
6705
+ labelTooltipFontSize: PropTypes__default["default"].string,
6706
+ labelTooltipFontStyle: PropTypes__default["default"].string,
6707
+ labelTooltipFontFamily: PropTypes__default["default"].string,
6708
+ labelTooltipFontWeight: PropTypes__default["default"].string,
6709
+ labelTooltipBorderRadius: PropTypes__default["default"].string,
6710
+ labelTooltipBackgroundColor: PropTypes__default["default"].string,
6353
6711
  boxShadow: PropTypes__default["default"].string,
6354
6712
  boxShadowHover: PropTypes__default["default"].string,
6355
- insidePagination: PropTypes__default["default"].bool
6713
+ insidePagination: PropTypes__default["default"].bool,
6714
+ placeholderColor: PropTypes__default["default"].string
6356
6715
  };
6357
6716
 
6358
6717
  const SvgToasterInfo = ({
@@ -6474,9 +6833,9 @@ const SvgToasterSuccess = ({
6474
6833
  fill: fillColor ? fillColor : '#0DA574'
6475
6834
  }));
6476
6835
 
6477
- var css_248z$8 = "#toaster-module_top-left__q0LcN{left:0;top:1em}#toaster-module_top-right__f-AFL{right:0;top:1em}#toaster-module_top-center__eVRbc{left:50%;top:1em;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%)}#toaster-module_bottom-left__b-YHI{bottom:1em;left:0}#toaster-module_bottom-right__g9ACP{bottom:1em;right:0}#toaster-module_bottom-center__4KcFe{bottom:1em;left:50%;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%)}.toaster-module_top-left__q0LcN{left:0;top:1em}.toaster-module_top-right__f-AFL{right:0;top:1em}.toaster-module_top-center__eVRbc{left:50%;top:1em;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%)}.toaster-module_bottom-left__b-YHI{bottom:1em;left:0}.toaster-module_bottom-right__g9ACP{bottom:1em;right:0}.toaster-module_bottom-center__4KcFe{bottom:1em;left:50%;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%)}.toaster-module_notify-block__pRnEB{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.toaster-module_bounce-in-right__shR2D{-webkit-animation-name:toaster-module_bounceInRight__rSk5p;animation-name:toaster-module_bounceInRight__rSk5p}.toaster-module_bounce-out-right__48pyA{-webkit-animation-name:toaster-module_bounceOutRight__bmFGS;animation-name:toaster-module_bounceOutRight__bmFGS}.toaster-module_notify-desc__bcWe2,.toaster-module_notify-title__8lFLy{overflow:hidden;text-overflow:ellipsis}.toaster-module_notify-desc__bcWe2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box}@keyframes toaster-module_bounceInRight__rSk5p{0%{opacity:0;right:-100%}60%{opacity:1;right:40px}75%{right:0}90%{right:30px}to{right:20px}}@keyframes toaster-module_bounceOutRight__bmFGS{0%{opacity:1;right:20px}60%{opacity:1;right:60px}to{opacity:0;right:-100%}}.toaster-module_bounce-in-left__xoF-M{-webkit-animation-name:toaster-module_bounceInLeft__to59v;animation-name:toaster-module_bounceInLeft__to59v}.toaster-module_bounce-out-left__fDOZw{-webkit-animation-name:toaster-module_bounceOutLeft__k5QgO;animation-name:toaster-module_bounceOutLeft__k5QgO}@keyframes toaster-module_bounceInLeft__to59v{0%{left:-100%;opacity:0}60%{left:40px;opacity:1}75%{left:0}90%{left:30px}to{left:20px}}@keyframes toaster-module_bounceInLeftMobile__CA2dc{0%{left:-100%;opacity:0}60%{left:40px;opacity:1}75%{left:0}90%{left:30px}to{left:0}}@keyframes toaster-module_bounceOutLeft__k5QgO{0%{left:20px;opacity:1}60%{left:60px;opacity:1}to{left:-100%;opacity:0}}@media(max-width:480px){.toaster-module_bounce-in-left__xoF-M{-webkit-animation-name:toaster-module_bounceInLeftMobile__CA2dc;animation-name:toaster-module_bounceInLeftMobile__CA2dc}}";
6836
+ var css_248z$7 = "#toaster-module_top-left__q0LcN{left:0;top:1em}#toaster-module_top-right__f-AFL{right:0;top:1em}#toaster-module_top-center__eVRbc{left:50%;top:1em;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%)}#toaster-module_bottom-left__b-YHI{bottom:1em;left:0}#toaster-module_bottom-right__g9ACP{bottom:1em;right:0}#toaster-module_bottom-center__4KcFe{bottom:1em;left:50%;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%)}.toaster-module_top-left__q0LcN{left:0;top:1em}.toaster-module_top-right__f-AFL{right:0;top:1em}.toaster-module_top-center__eVRbc{left:50%;top:1em;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%)}.toaster-module_bottom-left__b-YHI{bottom:1em;left:0}.toaster-module_bottom-right__g9ACP{bottom:1em;right:0}.toaster-module_bottom-center__4KcFe{bottom:1em;left:50%;transform:translateX(-50%);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%)}.toaster-module_notify-block__pRnEB{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.toaster-module_bounce-in-right__shR2D{-webkit-animation-name:toaster-module_bounceInRight__rSk5p;animation-name:toaster-module_bounceInRight__rSk5p}.toaster-module_bounce-out-right__48pyA{-webkit-animation-name:toaster-module_bounceOutRight__bmFGS;animation-name:toaster-module_bounceOutRight__bmFGS}.toaster-module_notify-desc__bcWe2,.toaster-module_notify-title__8lFLy{overflow:hidden;text-overflow:ellipsis}.toaster-module_notify-desc__bcWe2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box}@keyframes toaster-module_bounceInRight__rSk5p{0%{opacity:0;right:-100%}60%{opacity:1;right:40px}75%{right:0}90%{right:30px}to{right:20px}}@keyframes toaster-module_bounceOutRight__bmFGS{0%{opacity:1;right:20px}60%{opacity:1;right:60px}to{opacity:0;right:-100%}}.toaster-module_bounce-in-left__xoF-M{-webkit-animation-name:toaster-module_bounceInLeft__to59v;animation-name:toaster-module_bounceInLeft__to59v}.toaster-module_bounce-out-left__fDOZw{-webkit-animation-name:toaster-module_bounceOutLeft__k5QgO;animation-name:toaster-module_bounceOutLeft__k5QgO}@keyframes toaster-module_bounceInLeft__to59v{0%{left:-100%;opacity:0}60%{left:40px;opacity:1}75%{left:0}90%{left:30px}to{left:20px}}@keyframes toaster-module_bounceInLeftMobile__CA2dc{0%{left:-100%;opacity:0}60%{left:40px;opacity:1}75%{left:0}90%{left:30px}to{left:0}}@keyframes toaster-module_bounceOutLeft__k5QgO{0%{left:20px;opacity:1}60%{left:60px;opacity:1}to{left:-100%;opacity:0}}@media(max-width:480px){.toaster-module_bounce-in-left__xoF-M{-webkit-animation-name:toaster-module_bounceInLeftMobile__CA2dc;animation-name:toaster-module_bounceInLeftMobile__CA2dc}}";
6478
6837
  var styles$6 = {"top-left":"toaster-module_top-left__q0LcN","top-right":"toaster-module_top-right__f-AFL","top-center":"toaster-module_top-center__eVRbc","bottom-left":"toaster-module_bottom-left__b-YHI","bottom-right":"toaster-module_bottom-right__g9ACP","bottom-center":"toaster-module_bottom-center__4KcFe","notify-block":"toaster-module_notify-block__pRnEB","bounce-in-right":"toaster-module_bounce-in-right__shR2D","bounceInRight":"toaster-module_bounceInRight__rSk5p","bounce-out-right":"toaster-module_bounce-out-right__48pyA","bounceOutRight":"toaster-module_bounceOutRight__bmFGS","notify-title":"toaster-module_notify-title__8lFLy","notify-desc":"toaster-module_notify-desc__bcWe2","bounce-in-left":"toaster-module_bounce-in-left__xoF-M","bounceInLeft":"toaster-module_bounceInLeft__to59v","bounce-out-left":"toaster-module_bounce-out-left__fDOZw","bounceOutLeft":"toaster-module_bounceOutLeft__k5QgO","bounceInLeftMobile":"toaster-module_bounceInLeftMobile__CA2dc"};
6479
- styleInject(css_248z$8);
6838
+ styleInject(css_248z$7);
6480
6839
 
6481
6840
  const ToasterType = {
6482
6841
  info: 'info',
@@ -6876,9 +7235,9 @@ const SvgTooltip = ({
6876
7235
  fill: fillColor ? fillColor : '#D1D1D1'
6877
7236
  }));
6878
7237
 
6879
- var css_248z$7 = ".tooltip-module_tooltip-block__v8U9u{align-items:center;display:flex;justify-content:center;position:relative}.tooltip-module_tooltip__emM6A{box-sizing:border-box;padding:10px;position:absolute;z-index:1}.tooltip-module_tooltip-rel__to9gq{align-items:center;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;display:flex;height:auto;justify-content:center;min-height:10px;min-width:30px;position:relative;width:auto}.tooltip-module_tooltip-decor__qvt7t{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;height:10px;position:absolute;transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);width:10px;z-index:-1}";
7238
+ var css_248z$6 = ".tooltip-module_tooltip-block__v8U9u{align-items:center;display:flex;justify-content:center;position:relative}.tooltip-module_tooltip__emM6A{box-sizing:border-box;padding:10px;position:absolute;z-index:1}.tooltip-module_tooltip-rel__to9gq{align-items:center;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;display:flex;height:auto;justify-content:center;min-height:10px;min-width:30px;position:relative;width:auto}.tooltip-module_tooltip-decor__qvt7t{border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;height:10px;position:absolute;transform:rotate(45deg);-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);width:10px;z-index:-1}";
6880
7239
  var styles$5 = {"tooltip-block":"tooltip-module_tooltip-block__v8U9u","tooltip":"tooltip-module_tooltip__emM6A","tooltip-rel":"tooltip-module_tooltip-rel__to9gq","tooltip-decor":"tooltip-module_tooltip-decor__qvt7t"};
6881
- styleInject(css_248z$7);
7240
+ styleInject(css_248z$6);
6882
7241
 
6883
7242
  const TooltipDirections = {
6884
7243
  TOP: 'top',
@@ -7082,9 +7441,9 @@ const SvgCaptchaArrowDown = ({
7082
7441
  fill: fillColor ? fillColor : '#00236A'
7083
7442
  }));
7084
7443
 
7085
- var css_248z$6 = ".captcha-module_start-point__LkOqy:after{background-color:#d1d1d1;border:2px solid #fff;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;content:\"\";height:10px;left:0;position:absolute;top:7.5px;width:10px;z-index:-1}.captcha-module_range__k24I2{-webkit-appearance:none;margin:0}.captcha-module_range__k24I2::-webkit-slider-runnable-track{-webkit-appearance:none;width:100%}.captcha-module_range-default__-O0QD::-webkit-slider-thumb{background-image:url(../../assets/range-arrow-default.svg)}.captcha-module_range-default__-O0QD::-webkit-slider-thumb,.captcha-module_range-error__FKMfG::-webkit-slider-thumb{-webkit-appearance:none;background-position:-5px;background-repeat:no-repeat;background-size:46px 46px;border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px;-ms-border-radius:17px;-o-border-radius:17px;cursor:ew-resize;height:34px;width:34px}.captcha-module_range-error__FKMfG::-webkit-slider-thumb{background-image:url(../../assets/range-arrow-error.svg)}.captcha-module_range-success__VzLPq::-webkit-slider-thumb{-webkit-appearance:none;background-image:url(../../assets/range-arrow-success.svg);background-position:-5px;background-repeat:no-repeat;background-size:46px 46px;border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px;-ms-border-radius:17px;-o-border-radius:17px;cursor:ew-resize;height:34px;width:34px}";
7444
+ var css_248z$5 = ".captcha-module_start-point__LkOqy:after{background-color:#d1d1d1;border:2px solid #fff;border-radius:6px;-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;content:\"\";height:10px;left:0;position:absolute;top:7.5px;width:10px;z-index:-1}.captcha-module_range__k24I2{-webkit-appearance:none;margin:0}.captcha-module_range__k24I2::-webkit-slider-runnable-track{-webkit-appearance:none;width:100%}.captcha-module_range-default__-O0QD::-webkit-slider-thumb{background-image:url(../../assets/range-arrow-default.svg)}.captcha-module_range-default__-O0QD::-webkit-slider-thumb,.captcha-module_range-error__FKMfG::-webkit-slider-thumb{-webkit-appearance:none;background-position:-5px;background-repeat:no-repeat;background-size:46px 46px;border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px;-ms-border-radius:17px;-o-border-radius:17px;cursor:ew-resize;height:34px;width:34px}.captcha-module_range-error__FKMfG::-webkit-slider-thumb{background-image:url(../../assets/range-arrow-error.svg)}.captcha-module_range-success__VzLPq::-webkit-slider-thumb{-webkit-appearance:none;background-image:url(../../assets/range-arrow-success.svg);background-position:-5px;background-repeat:no-repeat;background-size:46px 46px;border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px;-ms-border-radius:17px;-o-border-radius:17px;cursor:ew-resize;height:34px;width:34px}";
7086
7445
  var styles$4 = {"start-point":"captcha-module_start-point__LkOqy","range":"captcha-module_range__k24I2","range-default":"captcha-module_range-default__-O0QD","range-error":"captcha-module_range-error__FKMfG","range-success":"captcha-module_range-success__VzLPq"};
7087
- styleInject(css_248z$6);
7446
+ styleInject(css_248z$5);
7088
7447
 
7089
7448
  const Captcha = ({
7090
7449
  color,
@@ -7229,9 +7588,9 @@ Captcha.propTypes = {
7229
7588
  getRange: PropTypes__default["default"].func.isRequired
7230
7589
  };
7231
7590
 
7232
- var css_248z$5 = ".stepper-module_stepper-container__-OVGy>div:last-child:before{display:none}.stepper-module_activeRing__Lzvh1,.stepper-module_bigRing__5GBm0{border-radius:50%;height:36px;margin-bottom:36px;position:relative;width:36px}.stepper-module_bigRing__5GBm0{box-shadow:0 0 0 2px #d1d1d1}.stepper-module_bigRing__5GBm0:before{background:#d1d1d1}.stepper-module_activeRing__Lzvh1{box-shadow:0 0 0 2px #00236a}.stepper-module_activeRing__Lzvh1:before{background:#00236a}.stepper-module_activeRing__Lzvh1:before,.stepper-module_bigRing__5GBm0:before{border-radius:20px;bottom:-32px;content:\"\";height:28px;left:0;margin:auto;overflow:hidden;position:absolute;right:0;width:2px}.stepper-module_smallActiveRing__im-XG,.stepper-module_smallRing__u-5a8{border-radius:50%;bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.stepper-module_smallRing__u-5a8{background-color:#d1d1d1;height:14px;width:14px}.stepper-module_smallActiveRing__im-XG{align-items:center;background-color:#00236a;color:#fff;display:flex;height:28px;justify-content:center;width:28px}";
7591
+ var css_248z$4 = ".stepper-module_stepper-container__-OVGy>div:last-child:before{display:none}.stepper-module_activeRing__Lzvh1,.stepper-module_bigRing__5GBm0{border-radius:50%;height:36px;margin-bottom:36px;position:relative;width:36px}.stepper-module_bigRing__5GBm0{box-shadow:0 0 0 2px #d1d1d1}.stepper-module_bigRing__5GBm0:before{background:#d1d1d1}.stepper-module_activeRing__Lzvh1{box-shadow:0 0 0 2px #00236a}.stepper-module_activeRing__Lzvh1:before{background:#00236a}.stepper-module_activeRing__Lzvh1:before,.stepper-module_bigRing__5GBm0:before{border-radius:20px;bottom:-32px;content:\"\";height:28px;left:0;margin:auto;overflow:hidden;position:absolute;right:0;width:2px}.stepper-module_smallActiveRing__im-XG,.stepper-module_smallRing__u-5a8{border-radius:50%;bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.stepper-module_smallRing__u-5a8{background-color:#d1d1d1;height:14px;width:14px}.stepper-module_smallActiveRing__im-XG{align-items:center;background-color:#00236a;color:#fff;display:flex;height:28px;justify-content:center;width:28px}";
7233
7592
  var styles$3 = {"stepper-container":"stepper-module_stepper-container__-OVGy","bigRing":"stepper-module_bigRing__5GBm0","activeRing":"stepper-module_activeRing__Lzvh1","smallRing":"stepper-module_smallRing__u-5a8","smallActiveRing":"stepper-module_smallActiveRing__im-XG"};
7234
- styleInject(css_248z$5);
7593
+ styleInject(css_248z$4);
7235
7594
 
7236
7595
  const Stepper = ({
7237
7596
  stepLength,
@@ -7394,9 +7753,6 @@ Checkbox.propTypes = {
7394
7753
  data: PropTypes__default["default"].oneOfType([PropTypes__default["default"].arrayOf(PropTypes__default["default"].object), PropTypes__default["default"].object])
7395
7754
  };
7396
7755
 
7397
- var css_248z$4 = "textarea{-webkit-appearance:none}textarea::-webkit-scrollbar{width:6px}textarea::-webkit-scrollbar-track{background:#eee}textarea::-webkit-scrollbar-thumb,textarea::-webkit-scrollbar-track{border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;-ms-border-radius:3px;-o-border-radius:3px}textarea::-webkit-scrollbar-thumb{background:#d1d1d1}";
7398
- styleInject(css_248z$4);
7399
-
7400
7756
  const PositionSide = {
7401
7757
  TOP: 'top',
7402
7758
  BOTTOM: 'bottom'
@@ -7407,7 +7763,6 @@ const Textarea = ({
7407
7763
  style,
7408
7764
  family,
7409
7765
  weight,
7410
- label,
7411
7766
  width,
7412
7767
  value,
7413
7768
  height,
@@ -7424,32 +7779,47 @@ const Textarea = ({
7424
7779
  maxHeight,
7425
7780
  boxSizing,
7426
7781
  maxLength,
7427
- labelSize,
7428
7782
  errorSize,
7429
7783
  errorStyle,
7430
7784
  errorWeight,
7431
7785
  errorFamily,
7432
7786
  marginTop,
7433
7787
  className,
7434
- labelColor,
7435
7788
  errorColor,
7436
- labelWeight,
7437
7789
  placeholder,
7438
- labelDisplay,
7439
7790
  errorMessage,
7440
- labelFontFamily,
7441
7791
  backgroundColor,
7442
7792
  borderFocusColor,
7443
7793
  borderHoverColor,
7444
- labelMarginBottom,
7445
7794
  showCharacterCount,
7795
+ label,
7796
+ labelSize,
7797
+ labelColor,
7798
+ labelWeight,
7799
+ labelDisplay,
7800
+ labelFontFamily,
7801
+ labelMarginBottom,
7802
+ iconRequired,
7803
+ useLabelTooltip,
7804
+ labelTooltipColor,
7805
+ labelTooltipPadding,
7806
+ labelTooltipFontSize,
7807
+ labelTooltipFontStyle,
7808
+ labelTooltipFontFamily,
7809
+ labelTooltipFontWeight,
7810
+ labelTooltipBorderRadius,
7811
+ labelTooltipBackgroundColor,
7446
7812
  characterCountPosition = 'top'
7447
7813
  }) => {
7814
+ const labelRef = React.useRef(null);
7815
+ const parentRef = React.useRef(null);
7448
7816
  const [error, setError] = React.useState('');
7817
+ const [removeID, setRemoveID] = React.useState('');
7449
7818
  const [isHover, setIsHover] = React.useState(false);
7450
7819
  const [isFocus, setIsFocus] = React.useState(false);
7451
7820
  const [innerValue, setInnerValue] = React.useState('');
7452
7821
  const [classProps, setClassProps] = React.useState({});
7822
+ const [tooltipElem, setTooltipElem] = React.useState(null);
7453
7823
  const [configStyles, setConfigStyles] = React.useState({});
7454
7824
  const handleMouseEnter = () => {
7455
7825
  setIsHover(true);
@@ -7485,6 +7855,79 @@ const Textarea = ({
7485
7855
  }
7486
7856
  }
7487
7857
  };
7858
+ const getRenderedTextWidth = element => {
7859
+ const clone = element.cloneNode(true);
7860
+ clone.style.width = 'fit-content';
7861
+ document.body.appendChild(clone);
7862
+ const width = clone.offsetWidth;
7863
+ document.body.removeChild(clone);
7864
+ return width;
7865
+ };
7866
+ const handleLabelMouseEnter = event => {
7867
+ event.preventDefault();
7868
+ setRemoveID(() => v4());
7869
+ if (labelRef.current) {
7870
+ const parentElem = parentRef.current.getBoundingClientRect();
7871
+ const rect = labelRef.current.getBoundingClientRect();
7872
+ const top = rect.top;
7873
+ const left = rect.left;
7874
+ const height = rect.height;
7875
+ const elementWidth = rect.width;
7876
+ const x = event.clientX - rect.left;
7877
+ const parentWidth = parentElem.width;
7878
+ const textWidth = getRenderedTextWidth(labelRef.current);
7879
+ if (textWidth > Math.ceil(elementWidth)) {
7880
+ const newTooltipElem = document.createElement('div');
7881
+ newTooltipElem.id = `fake_id_for_remove_dom${removeID}`;
7882
+ const newTootltipTextElem = document.createElement('p');
7883
+ const newTooltipChildElem = document.createElement('div');
7884
+ const newTooltipDecorElem = document.createElement('div');
7885
+ newTooltipElem.style.position = 'fixed';
7886
+ newTooltipElem.style.left = left + 'px';
7887
+ newTooltipElem.style.paddingTop = '20px';
7888
+ newTooltipElem.style.height = 'fit-content';
7889
+ newTooltipElem.style.boxSizing = 'border-box';
7890
+ newTooltipElem.style.top = top + height + 'px';
7891
+ newTooltipElem.style.width = parentWidth + 'px';
7892
+ newTooltipChildElem.style.width = '100%';
7893
+ newTooltipChildElem.style.position = 'relative';
7894
+ newTooltipChildElem.style.height = 'fit-content';
7895
+ newTooltipChildElem.style.boxSizing = 'border-box';
7896
+ newTooltipChildElem.style.padding = labelTooltipPadding ?? configStyles.TEXTAREA.label.tooltip.padding;
7897
+ newTooltipChildElem.style.borderRadius = labelTooltipBorderRadius ?? configStyles.TEXTAREA.label.tooltip.borderRadius;
7898
+ newTooltipChildElem.style.backgroundColor = labelTooltipBackgroundColor ?? configStyles.TEXTAREA.label.tooltip.backgroundColor;
7899
+ newTooltipDecorElem.style.zIndex = -1;
7900
+ newTooltipDecorElem.style.top = '-8px';
7901
+ newTooltipDecorElem.style.width = '18px';
7902
+ newTooltipDecorElem.style.height = '18px';
7903
+ newTooltipDecorElem.style.rotate = '45deg';
7904
+ newTooltipDecorElem.style.position = 'absolute';
7905
+ newTooltipDecorElem.style.left = x > elementWidth / 2 ? 'calc(100% - 40px)' : '23px';
7906
+ newTooltipDecorElem.style.backgroundColor = labelTooltipBackgroundColor ?? configStyles.TEXTAREA.label.tooltip.backgroundColor;
7907
+ newTootltipTextElem.innerText = label;
7908
+ newTootltipTextElem.style.color = labelTooltipColor ?? configStyles.TEXTAREA.label.tooltip.color;
7909
+ newTootltipTextElem.style.fontSize = labelTooltipFontSize ?? configStyles.TEXTAREA.label.tooltip.font.size;
7910
+ newTootltipTextElem.style.fontStyle = labelTooltipFontStyle ?? configStyles.TEXTAREA.label.tooltip.font.style;
7911
+ newTootltipTextElem.style.fontFamily = labelTooltipFontFamily ?? configStyles.TEXTAREA.label.tooltip.font.family;
7912
+ newTootltipTextElem.style.fontWeight = labelTooltipFontWeight ?? configStyles.TEXTAREA.label.tooltip.font.weight;
7913
+ document.body.appendChild(newTooltipElem);
7914
+ newTooltipElem.appendChild(newTooltipChildElem);
7915
+ newTooltipChildElem.appendChild(newTooltipDecorElem);
7916
+ newTooltipChildElem.appendChild(newTootltipTextElem);
7917
+ setTooltipElem(() => newTooltipElem);
7918
+ }
7919
+ }
7920
+ };
7921
+ const handleLabelMouseLeave = () => {
7922
+ const removableElem = document.getElementById(`fake_id_for_remove_dom${removeID}`);
7923
+ if (removableElem) {
7924
+ document.body.removeChild(removableElem);
7925
+ }
7926
+ if (tooltipElem) {
7927
+ document.body.removeChild(tooltipElem);
7928
+ }
7929
+ setRemoveID(() => '');
7930
+ };
7488
7931
  React.useEffect(() => {
7489
7932
  if (value === undefined) {
7490
7933
  alert('Please add value prop on Textarea component');
@@ -7512,6 +7955,7 @@ const Textarea = ({
7512
7955
  });
7513
7956
  }, []);
7514
7957
  return configStyles.TEXTAREA && /*#__PURE__*/React__default["default"].createElement("div", {
7958
+ ref: parentRef,
7515
7959
  style: {
7516
7960
  width: width ?? configStyles.TEXTAREA.width
7517
7961
  },
@@ -7527,11 +7971,30 @@ const Textarea = ({
7527
7971
  fontWeight: labelWeight ?? configStyles.TEXTAREA.label.font.weight,
7528
7972
  marginBottom: labelMarginBottom ?? configStyles.TEXTAREA.label.marginBottom
7529
7973
  }
7530
- }, label ? /*#__PURE__*/React__default["default"].createElement("label", {
7974
+ }, label && /*#__PURE__*/React__default["default"].createElement("div", {
7975
+ style: {
7976
+ display: 'flex',
7977
+ maxWidth: '100%',
7978
+ columnGap: '4px',
7979
+ justifyContent: 'flex-start',
7980
+ width: showCharacterCount && maxLength && characterCountPosition === 'top' ? 'calc(100% - 80px)' : '100%'
7981
+ }
7982
+ }, /*#__PURE__*/React__default["default"].createElement("label", {
7983
+ ref: labelRef,
7984
+ style: {
7985
+ display: labelDisplay ?? configStyles.TEXTAREA.label.display,
7986
+ whiteSpace: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.TEXTAREA.label.useTooltip) ? 'nowrap' : 'normal',
7987
+ overflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.TEXTAREA.label.useTooltip) ? 'hidden' : 'visible',
7988
+ textOverflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.TEXTAREA.label.useTooltip) ? 'ellipsis' : ''
7989
+ },
7990
+ onMouseEnter: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.TEXTAREA.label.useTooltip) ? handleLabelMouseEnter : _ => _,
7991
+ onMouseLeave: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.TEXTAREA.label.useTooltip) ? handleLabelMouseLeave : _ => _
7992
+ }, label), required && /*#__PURE__*/React__default["default"].createElement("sup", null, iconRequired ? iconRequired : configStyles.TEXTAREA.icon.required ? configStyles.TEXTAREA.icon.required : /*#__PURE__*/React__default["default"].createElement(SvgRequired, null))), showCharacterCount && maxLength && characterCountPosition === 'top' && /*#__PURE__*/React__default["default"].createElement("span", {
7531
7993
  style: {
7532
- display: labelDisplay ?? configStyles.TEXTAREA.label.display
7994
+ width: 'fit-content',
7995
+ flexShrink: 0
7533
7996
  }
7534
- }, label, required && /*#__PURE__*/React__default["default"].createElement("sup", null, /*#__PURE__*/React__default["default"].createElement(SvgRequired, null))) : '', showCharacterCount && maxLength && characterCountPosition === 'top' && /*#__PURE__*/React__default["default"].createElement("span", null, maxLength - innerValue.length, " \u0576\u056B\u0577")), /*#__PURE__*/React__default["default"].createElement("textarea", {
7997
+ }, maxLength - innerValue.length, " \u0576\u056B\u0577")), /*#__PURE__*/React__default["default"].createElement("textarea", {
7535
7998
  style: {
7536
7999
  width: '100%',
7537
8000
  border: 'none',
@@ -7598,7 +8061,6 @@ Textarea.propTypes = {
7598
8061
  style: PropTypes__default["default"].string,
7599
8062
  family: PropTypes__default["default"].string,
7600
8063
  weight: PropTypes__default["default"].string,
7601
- label: PropTypes__default["default"].string,
7602
8064
  width: PropTypes__default["default"].string,
7603
8065
  height: PropTypes__default["default"].string,
7604
8066
  resize: PropTypes__default["default"].string,
@@ -7615,25 +8077,36 @@ Textarea.propTypes = {
7615
8077
  minHeight: PropTypes__default["default"].string,
7616
8078
  maxHeight: PropTypes__default["default"].string,
7617
8079
  maxLength: PropTypes__default["default"].number,
7618
- labelSize: PropTypes__default["default"].string,
7619
8080
  errorSize: PropTypes__default["default"].string,
7620
8081
  errorStyle: PropTypes__default["default"].string,
7621
8082
  errorWeight: PropTypes__default["default"].string,
7622
8083
  errorFamily: PropTypes__default["default"].string,
7623
8084
  className: PropTypes__default["default"].string,
7624
- labelColor: PropTypes__default["default"].string,
7625
8085
  errorColor: PropTypes__default["default"].string,
7626
- labelWeight: PropTypes__default["default"].string,
7627
8086
  placeholder: PropTypes__default["default"].string,
7628
8087
  errorMessage: PropTypes__default["default"].string,
7629
- labelDisplay: PropTypes__default["default"].string,
7630
- labelFontFamily: PropTypes__default["default"].string,
7631
8088
  backgroundColor: PropTypes__default["default"].string,
7632
8089
  showCharacterCount: PropTypes__default["default"].bool,
7633
8090
  value: PropTypes__default["default"].string.isRequired,
7634
8091
  borderFocusColor: PropTypes__default["default"].string,
7635
8092
  borderHoverColor: PropTypes__default["default"].string,
8093
+ label: PropTypes__default["default"].string,
8094
+ labelSize: PropTypes__default["default"].string,
8095
+ labelColor: PropTypes__default["default"].string,
8096
+ labelWeight: PropTypes__default["default"].string,
8097
+ labelDisplay: PropTypes__default["default"].string,
8098
+ labelFontFamily: PropTypes__default["default"].string,
7636
8099
  labelMarginBottom: PropTypes__default["default"].string,
8100
+ iconRequired: PropTypes__default["default"].element,
8101
+ useLabelTooltip: PropTypes__default["default"].bool,
8102
+ labelTooltipColor: PropTypes__default["default"].string,
8103
+ labelTooltipPadding: PropTypes__default["default"].string,
8104
+ labelTooltipFontSize: PropTypes__default["default"].string,
8105
+ labelTooltipFontStyle: PropTypes__default["default"].string,
8106
+ labelTooltipFontFamily: PropTypes__default["default"].string,
8107
+ labelTooltipFontWeight: PropTypes__default["default"].string,
8108
+ labelTooltipBorderRadius: PropTypes__default["default"].string,
8109
+ labelTooltipBackgroundColor: PropTypes__default["default"].string,
7637
8110
  characterCountPosition: PropTypes__default["default"].oneOf(Object.values(PositionSide))
7638
8111
  };
7639
8112
 
@@ -7649,6 +8122,7 @@ const AccordionItem = ({
7649
8122
  titleAlign,
7650
8123
  multipleOpen,
7651
8124
  openHoverIcon,
8125
+ closeHoverIcon,
7652
8126
  color,
7653
8127
  border,
7654
8128
  padding,
@@ -7729,7 +8203,7 @@ const AccordionItem = ({
7729
8203
  alignItems: 'center',
7730
8204
  justifyContent: 'center'
7731
8205
  }
7732
- }, isOpen ? closeIcon : isHover ? openHoverIcon ? openHoverIcon : openIcon : openIcon)), /*#__PURE__*/React__default["default"].createElement("div", {
8206
+ }, isOpen ? isHover ? closeHoverIcon : closeIcon : isHover ? openHoverIcon : openIcon)), /*#__PURE__*/React__default["default"].createElement("div", {
7733
8207
  style: {
7734
8208
  overflow: 'hidden',
7735
8209
  height: isOpen ? 'auto' : '0px'
@@ -7795,6 +8269,7 @@ const Accordion = ({
7795
8269
  titleAlign,
7796
8270
  multipleOpen,
7797
8271
  openHoverIcon,
8272
+ closeHoverIcon,
7798
8273
  borderTop,
7799
8274
  borderLeft,
7800
8275
  borderRight,
@@ -7875,6 +8350,13 @@ const Accordion = ({
7875
8350
  src: configStyles.ACCORDION.icon.close,
7876
8351
  alt: "close icon"
7877
8352
  }) : /*#__PURE__*/React__default["default"].createElement(SvgGreenminus, null),
8353
+ closeHoverIcon: closeHoverIcon ? /*#__PURE__*/React__default["default"].createElement("img", {
8354
+ src: closeHoverIcon,
8355
+ alt: "close icon"
8356
+ }) : configStyles.ACCORDION.icon.closeHover ? /*#__PURE__*/React__default["default"].createElement("img", {
8357
+ src: configStyles.ACCORDION.icon.closeHover,
8358
+ alt: "close icon"
8359
+ }) : /*#__PURE__*/React__default["default"].createElement(SvgGreenminus, null),
7878
8360
  className: classProps,
7879
8361
  color: color ?? configStyles.ACCORDION.color,
7880
8362
  padding: padding ?? configStyles.ACCORDION.padding,
@@ -7918,6 +8400,7 @@ Accordion.propTypes = {
7918
8400
  closeIcon: PropTypes__default["default"].string,
7919
8401
  marginBottom: PropTypes__default["default"].string,
7920
8402
  openHoverIcon: PropTypes__default["default"].string,
8403
+ closeHoverIcon: PropTypes__default["default"].string,
7921
8404
  borderTop: PropTypes__default["default"].bool,
7922
8405
  borderLeft: PropTypes__default["default"].bool,
7923
8406
  borderRight: PropTypes__default["default"].bool,
@@ -8010,8 +8493,8 @@ const Swipe = ({
8010
8493
  }, child));
8011
8494
  };
8012
8495
 
8013
- var css_248z$2 = ".swipe-module_to-top__lrHfG{bottom:0}.swipe-module_to-left__kgLsE{right:0}.swipe-module_to-right__Xu3Ul{left:0}.swipe-module_to-bottom__94M7H{top:0}.swipe-module_visible__---aC{visibility:visible!important}.swipe-module_swipe-block__Yv1B3{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.swipe-module_move-top__m6t2O{-webkit-animation-name:swipe-module_slideTop__-Bbap;animation-name:swipe-module_slideTop__-Bbap}.swipe-module_move-left__4TDLs{-webkit-animation-name:swipe-module_slideLeft__i24cS;animation-name:swipe-module_slideLeft__i24cS}.swipe-module_move-right__FrYo0{-webkit-animation-name:swipe-module_slideRight__swgSY;animation-name:swipe-module_slideRight__swgSY}.swipe-module_move-bottom__eYDx6{-webkit-animation-name:swipe-module_slideBottom__TBoZo;animation-name:swipe-module_slideBottom__TBoZo}.swipe-module_back-top__gJZv0{-webkit-animation-name:swipe-module_backTop__32loc;animation-name:swipe-module_backTop__32loc}.swipe-module_back-left__Wd3aY{-webkit-animation-name:swipe-module_backLeft__q89ub;animation-name:swipe-module_backLeft__q89ub}.swipe-module_back-right__Lgwz7{-webkit-animation-name:swipe-module_backRight__8t5Dm;animation-name:swipe-module_backRight__8t5Dm}.swipe-module_back-bottom__JRN-7{-webkit-animation-name:swipe-module_backBottom__lwR8B;animation-name:swipe-module_backBottom__lwR8B}@keyframes swipe-module_slideTop__-Bbap{0%{bottom:-100%}to{bottom:0}}@keyframes swipe-module_slideLeft__i24cS{0%{right:-100%}to{right:0}}@keyframes swipe-module_slideRight__swgSY{0%{left:-100%}to{left:0}}@keyframes swipe-module_slideBottom__TBoZo{0%{top:-100%}to{top:0}}@keyframes swipe-module_backTop__32loc{0%{bottom:0}to{bottom:-100%}}@keyframes swipe-module_backLeft__q89ub{0%{right:0}to{right:-100%}}@keyframes swipe-module_backRight__8t5Dm{0%{left:0}to{left:-100%}}@keyframes swipe-module_backBottom__lwR8B{0%{top:0}to{top:-100%}}";
8014
- var styles$2 = {"to-top":"swipe-module_to-top__lrHfG","to-left":"swipe-module_to-left__kgLsE","to-right":"swipe-module_to-right__Xu3Ul","to-bottom":"swipe-module_to-bottom__94M7H","visible":"swipe-module_visible__---aC","swipe-block":"swipe-module_swipe-block__Yv1B3","move-top":"swipe-module_move-top__m6t2O","slideTop":"swipe-module_slideTop__-Bbap","move-left":"swipe-module_move-left__4TDLs","slideLeft":"swipe-module_slideLeft__i24cS","move-right":"swipe-module_move-right__FrYo0","slideRight":"swipe-module_slideRight__swgSY","move-bottom":"swipe-module_move-bottom__eYDx6","slideBottom":"swipe-module_slideBottom__TBoZo","back-top":"swipe-module_back-top__gJZv0","backTop":"swipe-module_backTop__32loc","back-left":"swipe-module_back-left__Wd3aY","backLeft":"swipe-module_backLeft__q89ub","back-right":"swipe-module_back-right__Lgwz7","backRight":"swipe-module_backRight__8t5Dm","back-bottom":"swipe-module_back-bottom__JRN-7","backBottom":"swipe-module_backBottom__lwR8B"};
8496
+ var css_248z$2 = "body.swipe-module_tui-no-srcoll-class__YS9cI,html.swipe-module_tui-no-srcoll-class__YS9cI{height:100%;overflow:hidden!important}.swipe-module_to-top__lrHfG{bottom:0}.swipe-module_to-left__kgLsE{right:0}.swipe-module_to-right__Xu3Ul{left:0}.swipe-module_to-bottom__94M7H{top:0}.swipe-module_visible__---aC{visibility:visible!important}.swipe-module_swipe-block__Yv1B3{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.swipe-module_move-top__m6t2O{-webkit-animation-name:swipe-module_slideTop__-Bbap;animation-name:swipe-module_slideTop__-Bbap}.swipe-module_move-left__4TDLs{-webkit-animation-name:swipe-module_slideLeft__i24cS;animation-name:swipe-module_slideLeft__i24cS}.swipe-module_move-right__FrYo0{-webkit-animation-name:swipe-module_slideRight__swgSY;animation-name:swipe-module_slideRight__swgSY}.swipe-module_move-bottom__eYDx6{-webkit-animation-name:swipe-module_slideBottom__TBoZo;animation-name:swipe-module_slideBottom__TBoZo}.swipe-module_back-top__gJZv0{-webkit-animation-name:swipe-module_backTop__32loc;animation-name:swipe-module_backTop__32loc}.swipe-module_back-left__Wd3aY{-webkit-animation-name:swipe-module_backLeft__q89ub;animation-name:swipe-module_backLeft__q89ub}.swipe-module_back-right__Lgwz7{-webkit-animation-name:swipe-module_backRight__8t5Dm;animation-name:swipe-module_backRight__8t5Dm}.swipe-module_back-bottom__JRN-7{-webkit-animation-name:swipe-module_backBottom__lwR8B;animation-name:swipe-module_backBottom__lwR8B}@keyframes swipe-module_slideTop__-Bbap{0%{bottom:-100%}to{bottom:0}}@keyframes swipe-module_slideLeft__i24cS{0%{right:-100%}to{right:0}}@keyframes swipe-module_slideRight__swgSY{0%{left:-100%}to{left:0}}@keyframes swipe-module_slideBottom__TBoZo{0%{top:-100%}to{top:0}}@keyframes swipe-module_backTop__32loc{0%{bottom:0}to{bottom:-100%}}@keyframes swipe-module_backLeft__q89ub{0%{right:0}to{right:-100%}}@keyframes swipe-module_backRight__8t5Dm{0%{left:0}to{left:-100%}}@keyframes swipe-module_backBottom__lwR8B{0%{top:0}to{top:-100%}}";
8497
+ var styles$2 = {"tui-no-srcoll-class":"swipe-module_tui-no-srcoll-class__YS9cI","to-top":"swipe-module_to-top__lrHfG","to-left":"swipe-module_to-left__kgLsE","to-right":"swipe-module_to-right__Xu3Ul","to-bottom":"swipe-module_to-bottom__94M7H","visible":"swipe-module_visible__---aC","swipe-block":"swipe-module_swipe-block__Yv1B3","move-top":"swipe-module_move-top__m6t2O","slideTop":"swipe-module_slideTop__-Bbap","move-left":"swipe-module_move-left__4TDLs","slideLeft":"swipe-module_slideLeft__i24cS","move-right":"swipe-module_move-right__FrYo0","slideRight":"swipe-module_slideRight__swgSY","move-bottom":"swipe-module_move-bottom__eYDx6","slideBottom":"swipe-module_slideBottom__TBoZo","back-top":"swipe-module_back-top__gJZv0","backTop":"swipe-module_backTop__32loc","back-left":"swipe-module_back-left__Wd3aY","backLeft":"swipe-module_backLeft__q89ub","back-right":"swipe-module_back-right__Lgwz7","backRight":"swipe-module_backRight__8t5Dm","back-bottom":"swipe-module_back-bottom__JRN-7","backBottom":"swipe-module_backBottom__lwR8B"};
8015
8498
  styleInject(css_248z$2);
8016
8499
 
8017
8500
  // import React, { useEffect, useRef } from 'react';
@@ -8113,22 +8596,45 @@ const handleNavigationChange = () => {
8113
8596
  return result;
8114
8597
  };
8115
8598
  })(window.history);
8599
+ const style = document.createElement('style');
8116
8600
  const swipe = {
8117
8601
  open: (title = '', id, child, props) => {
8118
- if (id === undefined || id === null && (typeof id !== 'string' || typeof id !== 'number')) {
8119
- alert('Please pass valid id prop (string / number) when call swipe.open function');
8120
- return;
8121
- }
8122
- if (swipeCount === 0) {
8123
- window.addEventListener('popstate', handleNavigationChange);
8124
- window.addEventListener('navigationchange', handleNavigationChange);
8125
- }
8126
- let swipable = document.getElementById('swipable');
8127
- swipeCount += 1;
8128
- createSwipe(id, title, child, props, swipable);
8129
- return Promise.resolve(id);
8602
+ let newConfigStyles = {};
8603
+ configStylesPromise.then(data => {
8604
+ newConfigStyles = {
8605
+ ...data
8606
+ };
8607
+ if (id === undefined || id === null && (typeof id !== 'string' || typeof id !== 'number')) {
8608
+ alert('Please pass valid id prop (string / number) when call swipe.open function');
8609
+ return;
8610
+ }
8611
+ if (swipeCount === 0) {
8612
+ if (hasOwnerProperty(newConfigStyles.SWIPEMODAL, 'noScroll') && newConfigStyles.SWIPEMODAL.noScroll) {
8613
+ style.textContent = `.tui-no-srcoll-class{overflow:hidden!important;}`;
8614
+ document.head.appendChild(style);
8615
+ document.body.classList.add('tui-no-srcoll-class');
8616
+ document.documentElement.classList.add('tui-no-srcoll-class');
8617
+ }
8618
+ window.addEventListener('popstate', handleNavigationChange);
8619
+ window.addEventListener('navigationchange', handleNavigationChange);
8620
+ }
8621
+ let swipable = document.getElementById('swipable');
8622
+ swipeCount += 1;
8623
+ createSwipe(id, title, child, props, swipable);
8624
+ return Promise.resolve(id);
8625
+ }, error => {
8626
+ console.error(error);
8627
+ });
8130
8628
  },
8131
8629
  close: id => {
8630
+ let newConfigStyles = {};
8631
+ configStylesPromise.then(data => {
8632
+ newConfigStyles = {
8633
+ ...data
8634
+ };
8635
+ }, error => {
8636
+ console.error(error);
8637
+ });
8132
8638
  if (id === undefined || id === null && (typeof id !== 'string' || typeof id !== 'number')) {
8133
8639
  alert('Please pass valid id prop (string / number) when call swipe.close function');
8134
8640
  return;
@@ -8147,6 +8653,14 @@ const swipe = {
8147
8653
  window.removeEventListener('popstate', handleNavigationChange);
8148
8654
  window.removeEventListener('navigationchange', handleNavigationChange);
8149
8655
  document.body.removeChild(swipable);
8656
+ if (hasOwnerProperty(newConfigStyles.SWIPEMODAL, 'noScroll') && newConfigStyles.SWIPEMODAL.noScroll) {
8657
+ const noScrllable = document.getElementsByClassName('tui-no-srcoll-class');
8658
+ if (noScrllable) {
8659
+ style.remove();
8660
+ document.body.classList.remove('tui-no-srcoll-class');
8661
+ document.documentElement.classList.remove('tui-no-srcoll-class');
8662
+ }
8663
+ }
8150
8664
  }
8151
8665
  }, 200);
8152
8666
  } else {
@@ -8155,6 +8669,14 @@ const swipe = {
8155
8669
  window.removeEventListener('popstate', handleNavigationChange);
8156
8670
  window.removeEventListener('navigationchange', handleNavigationChange);
8157
8671
  document.body.removeChild(swipable);
8672
+ if (hasOwnerProperty(newConfigStyles.SWIPEMODAL, 'noScroll') && newConfigStyles.SWIPEMODAL.noScroll) {
8673
+ const noScrllable = document.getElementsByClassName('tui-no-srcoll-class');
8674
+ if (noScrllable) {
8675
+ style.remove();
8676
+ document.body.classList.remove('tui-no-srcoll-class');
8677
+ document.documentElement.classList.remove('tui-no-srcoll-class');
8678
+ }
8679
+ }
8158
8680
  }
8159
8681
  }
8160
8682
  }
@@ -8727,7 +9249,6 @@ var styles = {"auto-complete":"autocomplete-module_auto-complete__oUOv9"};
8727
9249
  styleInject(css_248z);
8728
9250
 
8729
9251
  const Autocomplete = ({
8730
- label,
8731
9252
  change,
8732
9253
  options,
8733
9254
  getItem,
@@ -8738,37 +9259,28 @@ const Autocomplete = ({
8738
9259
  errorStyle,
8739
9260
  errorWeight,
8740
9261
  errorFamily,
8741
- labelSize,
8742
- labelStyle,
8743
9262
  marginTop,
8744
9263
  errorColor,
8745
- labelColor,
8746
- labelWeight,
8747
9264
  placeHolder,
8748
9265
  errorMessage,
8749
9266
  autoComplete,
8750
- labelDisplay,
8751
9267
  contentDisplay,
8752
9268
  contentTopSize,
8753
9269
  contentTopStyle,
8754
9270
  contentTopFamily,
8755
9271
  contentPosition,
8756
9272
  contentTopColor,
8757
- labelLineHeight,
8758
- labelFontFamily,
8759
9273
  contentDirection,
8760
9274
  contentTopWeight,
8761
9275
  contentTopRadius,
8762
9276
  contentTopHeight,
8763
9277
  contentTopBorder,
8764
- labelMarginBottom,
8765
9278
  contentTopDisplay,
8766
9279
  contentTopPadding,
8767
9280
  contentBottomLeft,
8768
9281
  innerErrorPadding,
8769
9282
  showOptionDuration,
8770
9283
  contentTopMaxWidth,
8771
- labelTextTransform,
8772
9284
  contentBottomWidth,
8773
9285
  contentBottomZindex,
8774
9286
  contentBottomRadius,
@@ -8805,6 +9317,26 @@ const Autocomplete = ({
8805
9317
  contentBottomRowBackgroundColor,
8806
9318
  contentBottomRowHoverBackgroundColor,
8807
9319
  backgroundDisableColor,
9320
+ label,
9321
+ labelSize,
9322
+ labelStyle,
9323
+ labelColor,
9324
+ labelWeight,
9325
+ labelDisplay,
9326
+ labelLineHeight,
9327
+ labelFontFamily,
9328
+ labelMarginBottom,
9329
+ labelTextTransform,
9330
+ iconRequired,
9331
+ useLabelTooltip,
9332
+ labelTooltipColor,
9333
+ labelTooltipPadding,
9334
+ labelTooltipFontSize,
9335
+ labelTooltipFontStyle,
9336
+ labelTooltipFontFamily,
9337
+ labelTooltipFontWeight,
9338
+ labelTooltipBorderRadius,
9339
+ labelTooltipBackgroundColor,
8808
9340
  searchCount = 3,
8809
9341
  disabled = false,
8810
9342
  keyNames = {
@@ -8813,14 +9345,18 @@ const Autocomplete = ({
8813
9345
  },
8814
9346
  ...props
8815
9347
  }) => {
9348
+ const labelRef = React.useRef(null);
9349
+ const parentRef = React.useRef(null);
8816
9350
  const [id, setId] = React.useState('');
8817
9351
  const [show, setShow] = React.useState(false);
9352
+ const [removeID, setRemoveID] = React.useState('');
8818
9353
  const [isHover, setIsHover] = React.useState(false);
8819
9354
  const [isFocus, setIsFocus] = React.useState(false);
8820
9355
  const [innerError, setInnerError] = React.useState('');
8821
9356
  const [innerValue, setInnerValue] = React.useState('');
8822
- const [innerOptions, setInnerOptions] = React.useState([]);
8823
9357
  const [classProps, setClassProps] = React.useState({});
9358
+ const [tooltipElem, setTooltipElem] = React.useState(null);
9359
+ const [innerOptions, setInnerOptions] = React.useState([]);
8824
9360
  const [configStyles, setConfigStyles] = React.useState({});
8825
9361
  const showOption = styled.keyframes`
8826
9362
  100% {
@@ -8935,6 +9471,79 @@ const Autocomplete = ({
8935
9471
  backgroundColor: innerErrorBackgroundColor ?? configStyles.AUTOCOMPLETE.innerError.colors.background
8936
9472
  }
8937
9473
  }, innerValue.length >= searchCount ? 'Նման տվյալ առկա չէ' : `Լրացնել առնվազն ${searchCount} նիշ`) : '');
9474
+ const getRenderedTextWidth = element => {
9475
+ const clone = element.cloneNode(true);
9476
+ clone.style.width = 'fit-content';
9477
+ document.body.appendChild(clone);
9478
+ const width = clone.offsetWidth;
9479
+ document.body.removeChild(clone);
9480
+ return width;
9481
+ };
9482
+ const handleLabelMouseEnter = event => {
9483
+ event.preventDefault();
9484
+ setRemoveID(() => v4());
9485
+ if (labelRef.current) {
9486
+ const parentElem = parentRef.current.getBoundingClientRect();
9487
+ const rect = labelRef.current.getBoundingClientRect();
9488
+ const top = rect.top;
9489
+ const left = rect.left;
9490
+ const height = rect.height;
9491
+ const elementWidth = rect.width;
9492
+ const x = event.clientX - rect.left;
9493
+ const parentWidth = parentElem.width;
9494
+ const textWidth = getRenderedTextWidth(labelRef.current);
9495
+ if (textWidth > Math.ceil(elementWidth)) {
9496
+ const newTooltipElem = document.createElement('div');
9497
+ newTooltipElem.id = `fake_id_for_remove_dom${removeID}`;
9498
+ const newTootltipTextElem = document.createElement('p');
9499
+ const newTooltipChildElem = document.createElement('div');
9500
+ const newTooltipDecorElem = document.createElement('div');
9501
+ newTooltipElem.style.position = 'fixed';
9502
+ newTooltipElem.style.left = left + 'px';
9503
+ newTooltipElem.style.paddingTop = '20px';
9504
+ newTooltipElem.style.height = 'fit-content';
9505
+ newTooltipElem.style.boxSizing = 'border-box';
9506
+ newTooltipElem.style.top = top + height + 'px';
9507
+ newTooltipElem.style.width = parentWidth + 'px';
9508
+ newTooltipChildElem.style.width = '100%';
9509
+ newTooltipChildElem.style.position = 'relative';
9510
+ newTooltipChildElem.style.height = 'fit-content';
9511
+ newTooltipChildElem.style.boxSizing = 'border-box';
9512
+ newTooltipChildElem.style.padding = labelTooltipPadding ?? configStyles.FILE.label.tooltip.padding;
9513
+ newTooltipChildElem.style.borderRadius = labelTooltipBorderRadius ?? configStyles.FILE.label.tooltip.borderRadius;
9514
+ newTooltipChildElem.style.backgroundColor = labelTooltipBackgroundColor ?? configStyles.FILE.label.tooltip.backgroundColor;
9515
+ newTooltipDecorElem.style.zIndex = -1;
9516
+ newTooltipDecorElem.style.top = '-8px';
9517
+ newTooltipDecorElem.style.width = '18px';
9518
+ newTooltipDecorElem.style.height = '18px';
9519
+ newTooltipDecorElem.style.rotate = '45deg';
9520
+ newTooltipDecorElem.style.position = 'absolute';
9521
+ newTooltipDecorElem.style.left = x > elementWidth / 2 ? 'calc(100% - 40px)' : '23px';
9522
+ newTooltipDecorElem.style.backgroundColor = labelTooltipBackgroundColor ?? configStyles.FILE.label.tooltip.backgroundColor;
9523
+ newTootltipTextElem.innerText = label;
9524
+ newTootltipTextElem.style.color = labelTooltipColor ?? configStyles.FILE.label.tooltip.color;
9525
+ newTootltipTextElem.style.fontSize = labelTooltipFontSize ?? configStyles.FILE.label.tooltip.font.size;
9526
+ newTootltipTextElem.style.fontStyle = labelTooltipFontStyle ?? configStyles.FILE.label.tooltip.font.style;
9527
+ newTootltipTextElem.style.fontFamily = labelTooltipFontFamily ?? configStyles.FILE.label.tooltip.font.family;
9528
+ newTootltipTextElem.style.fontWeight = labelTooltipFontWeight ?? configStyles.FILE.label.tooltip.font.weight;
9529
+ document.body.appendChild(newTooltipElem);
9530
+ newTooltipElem.appendChild(newTooltipChildElem);
9531
+ newTooltipChildElem.appendChild(newTooltipDecorElem);
9532
+ newTooltipChildElem.appendChild(newTootltipTextElem);
9533
+ setTooltipElem(() => newTooltipElem);
9534
+ }
9535
+ }
9536
+ };
9537
+ const handleLabelMouseLeave = () => {
9538
+ const removableElem = document.getElementById(`fake_id_for_remove_dom${removeID}`);
9539
+ if (removableElem) {
9540
+ document.body.removeChild(removableElem);
9541
+ }
9542
+ if (tooltipElem) {
9543
+ document.body.removeChild(tooltipElem);
9544
+ }
9545
+ setRemoveID(() => '');
9546
+ };
8938
9547
  React.useEffect(() => {
8939
9548
  if (options === undefined) {
8940
9549
  alert('Please add options prop');
@@ -8982,24 +9591,38 @@ const Autocomplete = ({
8982
9591
  });
8983
9592
  }, []);
8984
9593
  return configStyles.AUTOCOMPLETE && /*#__PURE__*/React__default["default"].createElement("div", {
9594
+ ref: parentRef,
8985
9595
  className: classProps,
8986
9596
  style: {
8987
9597
  width: contentTopMaxWidth ?? configStyles.AUTOCOMPLETE.maxWidth
8988
9598
  }
8989
- }, label ? /*#__PURE__*/React__default["default"].createElement("label", {
9599
+ }, label && /*#__PURE__*/React__default["default"].createElement("div", {
9600
+ style: {
9601
+ display: 'flex',
9602
+ maxWidth: '100%',
9603
+ width: 'fit-content',
9604
+ columnGap: '4px',
9605
+ justifyContent: 'flex-start'
9606
+ }
9607
+ }, /*#__PURE__*/React__default["default"].createElement("label", {
9608
+ ref: labelRef,
8990
9609
  style: {
8991
9610
  color: labelColor ?? configStyles.AUTOCOMPLETE.label.color,
8992
9611
  display: labelDisplay ?? configStyles.AUTOCOMPLETE.label.display,
8993
- maxWidth: contentTopMaxWidth ?? configStyles.AUTOCOMPLETE.maxWidth,
8994
9612
  fontSize: labelSize ?? configStyles.AUTOCOMPLETE.label.font.size,
8995
9613
  fontStyle: labelStyle ?? configStyles.AUTOCOMPLETE.label.font.style,
8996
9614
  fontWeight: labelWeight ?? configStyles.AUTOCOMPLETE.label.font.weight,
8997
9615
  fontFamily: labelFontFamily ?? configStyles.AUTOCOMPLETE.label.font.family,
8998
9616
  lineHeight: labelLineHeight ?? configStyles.AUTOCOMPLETE.label.lineHeight,
8999
9617
  marginBottom: labelMarginBottom ?? configStyles.AUTOCOMPLETE.label.marginBottom,
9000
- textTransform: labelTextTransform ?? configStyles.AUTOCOMPLETE.label.textTransform
9001
- }
9002
- }, label, required && /*#__PURE__*/React__default["default"].createElement("sup", null, /*#__PURE__*/React__default["default"].createElement(SvgRequired, null))) : '', /*#__PURE__*/React__default["default"].createElement("div", {
9618
+ textTransform: labelTextTransform ?? configStyles.AUTOCOMPLETE.label.textTransform,
9619
+ whiteSpace: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.AUTOCOMPLETE.label.useTooltip) ? 'nowrap' : 'normal',
9620
+ overflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.AUTOCOMPLETE.label.useTooltip) ? 'hidden' : 'visible',
9621
+ textOverflow: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.AUTOCOMPLETE.label.useTooltip) ? 'ellipsis' : ''
9622
+ },
9623
+ onMouseEnter: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.AUTOCOMPLETE.label.useTooltip) ? handleLabelMouseEnter : _ => _,
9624
+ onMouseLeave: (useLabelTooltip ? useLabelTooltip : (useLabelTooltip === null || useLabelTooltip === undefined) && configStyles.AUTOCOMPLETE.label.useTooltip) ? handleLabelMouseLeave : _ => _
9625
+ }, label), required && /*#__PURE__*/React__default["default"].createElement("sup", null, iconRequired ? iconRequired : configStyles.FILE.icon.required ? configStyles.FILE.icon.required : /*#__PURE__*/React__default["default"].createElement(SvgRequired, null))), /*#__PURE__*/React__default["default"].createElement("div", {
9003
9626
  style: {
9004
9627
  display: contentDisplay ?? configStyles.AUTOCOMPLETE.parent.display,
9005
9628
  position: contentPosition ?? configStyles.AUTOCOMPLETE.parent.position,
@@ -9075,6 +9698,7 @@ Autocomplete.propTypes = {
9075
9698
  errorMessage: PropTypes__default["default"].string,
9076
9699
  labelDisplay: PropTypes__default["default"].string,
9077
9700
  autoComplete: PropTypes__default["default"].string,
9701
+ iconRequired: PropTypes__default["default"].element,
9078
9702
  contentDisplay: PropTypes__default["default"].string,
9079
9703
  contentTopSize: PropTypes__default["default"].string,
9080
9704
  contentTopStyle: PropTypes__default["default"].string,
@@ -9134,6 +9758,15 @@ Autocomplete.propTypes = {
9134
9758
  contentBottomBackgroundColor: PropTypes__default["default"].string,
9135
9759
  contentBottomRowBackgroundColor: PropTypes__default["default"].string,
9136
9760
  contentBottomRowHoverBackgroundColor: PropTypes__default["default"].string,
9761
+ useLabelTooltip: PropTypes__default["default"].bool,
9762
+ labelTooltipColor: PropTypes__default["default"].string,
9763
+ labelTooltipPadding: PropTypes__default["default"].string,
9764
+ labelTooltipFontSize: PropTypes__default["default"].string,
9765
+ labelTooltipFontStyle: PropTypes__default["default"].string,
9766
+ labelTooltipFontFamily: PropTypes__default["default"].string,
9767
+ labelTooltipFontWeight: PropTypes__default["default"].string,
9768
+ labelTooltipBorderRadius: PropTypes__default["default"].string,
9769
+ labelTooltipBackgroundColor: PropTypes__default["default"].string,
9137
9770
  backgroundDisableColor: PropTypes__default["default"].string
9138
9771
  };
9139
9772