sag_components 2.0.0-beta175 → 2.0.0-beta177

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
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React$1 = require('react');
6
6
  var styled = require('styled-components');
7
+ var jsxRuntime = require('react/jsx-runtime');
7
8
  var recharts = require('recharts');
8
9
  var Skeleton = require('react-loading-skeleton');
9
10
  var framerMotion = require('framer-motion');
@@ -478,6 +479,101 @@ const ErrorIcon = _ref => {
478
479
  }));
479
480
  };
480
481
 
482
+ /******************************************************************************
483
+ Copyright (c) Microsoft Corporation.
484
+
485
+ Permission to use, copy, modify, and/or distribute this software for any
486
+ purpose with or without fee is hereby granted.
487
+
488
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
489
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
490
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
491
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
492
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
493
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
494
+ PERFORMANCE OF THIS SOFTWARE.
495
+ ***************************************************************************** */
496
+
497
+ var __assign = function() {
498
+ __assign = Object.assign || function __assign(t) {
499
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
500
+ s = arguments[i];
501
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
502
+ }
503
+ return t;
504
+ };
505
+ return __assign.apply(this, arguments);
506
+ };
507
+
508
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
509
+ var e = new Error(message);
510
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
511
+ };
512
+
513
+ var VIcon = function (_a) {
514
+ var _b = _a.width,
515
+ width = _b === void 0 ? "12" : _b,
516
+ _c = _a.height,
517
+ height = _c === void 0 ? "8" : _c,
518
+ _d = _a.color,
519
+ color = _d === void 0 ? "#D0D0D0" : _d;
520
+ return jsxRuntime.jsxs("svg", __assign({
521
+ width: width,
522
+ height: height,
523
+ viewBox: "0 0 20 20",
524
+ fill: "none",
525
+ xmlns: "http://www.w3.org/2000/svg"
526
+ }, {
527
+ children: [jsxRuntime.jsx("g", __assign({
528
+ filter: "url(#filter0_d_3431_32168)"
529
+ }, {
530
+ children: jsxRuntime.jsx("path", {
531
+ d: "M15.8754 4.12241C16.0415 4.28562 16.0415 4.55413 15.8754 4.71734L8.58808 11.8776C8.42197 12.0408 8.14869 12.0408 7.98259 11.8776L4.12458 8.08687C3.95847 7.92366 3.95847 7.65515 4.12458 7.49194C4.29069 7.32873 4.56397 7.32873 4.73007 7.49194L8.28533 10.9852L15.2699 4.12241C15.436 3.9592 15.7093 3.9592 15.8754 4.12241Z",
532
+ fill: color
533
+ })
534
+ })), jsxRuntime.jsx("defs", {
535
+ children: jsxRuntime.jsxs("filter", __assign({
536
+ id: "filter0_d_3431_32168",
537
+ x: "-2",
538
+ y: "0",
539
+ width: "24",
540
+ height: "24",
541
+ filterUnits: "userSpaceOnUse",
542
+ "color-interpolation-filters": "sRGB"
543
+ }, {
544
+ children: [jsxRuntime.jsx("feFlood", {
545
+ "flood-opacity": "0",
546
+ result: "BackgroundImageFix"
547
+ }), jsxRuntime.jsx("feColorMatrix", {
548
+ "in": "SourceAlpha",
549
+ type: "matrix",
550
+ values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",
551
+ result: "hardAlpha"
552
+ }), jsxRuntime.jsx("feOffset", {
553
+ dy: "4"
554
+ }), jsxRuntime.jsx("feGaussianBlur", {
555
+ stdDeviation: "2"
556
+ }), jsxRuntime.jsx("feComposite", {
557
+ in2: "hardAlpha",
558
+ operator: "out"
559
+ }), jsxRuntime.jsx("feColorMatrix", {
560
+ type: "matrix",
561
+ values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"
562
+ }), jsxRuntime.jsx("feBlend", {
563
+ mode: "normal",
564
+ in2: "BackgroundImageFix",
565
+ result: "effect1_dropShadow_3431_32168"
566
+ }), jsxRuntime.jsx("feBlend", {
567
+ mode: "normal",
568
+ "in": "SourceGraphic",
569
+ in2: "effect1_dropShadow_3431_32168",
570
+ result: "shape"
571
+ })]
572
+ }))
573
+ })]
574
+ }));
575
+ };
576
+
481
577
  const ChervronRightIcon = _ref => {
482
578
  let {
483
579
  width = "8",
@@ -559,7 +655,8 @@ const Button$1 = props => {
559
655
  reselect: ReselectIcon,
560
656
  plus: Plus,
561
657
  left: ChervronLeftIcon,
562
- right: ChervronRightIcon
658
+ right: ChervronRightIcon,
659
+ vicon: VIcon
563
660
  };
564
661
  const getIcon = icon => {
565
662
  if (!icon || icon === "none") return null;
@@ -10458,24 +10555,23 @@ const QuarterPopupPicker = ({
10458
10555
  };
10459
10556
 
10460
10557
  /* eslint-disable import/no-extraneous-dependencies */
10461
- const QuarterPicker = _ref => {
10462
- let {
10463
- availableQuarters,
10464
- // ["Q1-2024"]
10465
- label,
10466
- onChange,
10467
- borderRadius,
10468
- required,
10469
- width,
10470
- height,
10471
- placeholder,
10472
- disabled,
10473
- borderColor,
10474
- borderColorFocus,
10475
- textColor,
10476
- selectedValue,
10477
- startYear
10478
- } = _ref;
10558
+ const QuarterPicker = ({
10559
+ availableQuarters,
10560
+ // ["Q1-2024"]
10561
+ label,
10562
+ onChange,
10563
+ borderRadius,
10564
+ required,
10565
+ width,
10566
+ height,
10567
+ placeholder,
10568
+ disabled,
10569
+ borderColor,
10570
+ borderColorFocus,
10571
+ textColor,
10572
+ selectedValue,
10573
+ startYear
10574
+ }) => {
10479
10575
  const [isFocused, setIsFocused] = React$1.useState(false);
10480
10576
  const [isOpen, setIsOpen] = React$1.useState(false);
10481
10577
  const [value, setValue] = React$1.useState('');
@@ -10917,23 +11013,22 @@ const MonthPopupPicker = ({
10917
11013
  };
10918
11014
 
10919
11015
  /* eslint-disable import/no-extraneous-dependencies */
10920
- const MonthPicker = _ref => {
10921
- let {
10922
- availableMonths,
10923
- label,
10924
- onChange,
10925
- borderRadius,
10926
- required,
10927
- width,
10928
- height,
10929
- placeholder,
10930
- disabled,
10931
- borderColor,
10932
- borderColorFocus,
10933
- textColor,
10934
- selectedValue,
10935
- startYear
10936
- } = _ref;
11016
+ const MonthPicker = ({
11017
+ availableMonths,
11018
+ label,
11019
+ onChange,
11020
+ borderRadius,
11021
+ required,
11022
+ width,
11023
+ height,
11024
+ placeholder,
11025
+ disabled,
11026
+ borderColor,
11027
+ borderColorFocus,
11028
+ textColor,
11029
+ selectedValue,
11030
+ startYear
11031
+ }) => {
10937
11032
  const [isFocused, setIsFocused] = React$1.useState(false);
10938
11033
  const [isOpen, setIsOpen] = React$1.useState(false);
10939
11034
  const [value, setValue] = React$1.useState('');
@@ -24044,22 +24139,21 @@ const DeleteIcon = styled__default["default"].div`
24044
24139
  position: absolute;
24045
24140
  `;
24046
24141
 
24047
- const QuickFilterDropdownSingle = _ref => {
24048
- let {
24049
- label,
24050
- hoverColor,
24051
- options,
24052
- selectedValue,
24053
- placeHolder,
24054
- onChange,
24055
- disabled,
24056
- width,
24057
- error,
24058
- errorMessage,
24059
- xIconShow,
24060
- labelColor,
24061
- showLabelOnTop
24062
- } = _ref;
24142
+ const QuickFilterDropdownSingle = ({
24143
+ label,
24144
+ hoverColor,
24145
+ options,
24146
+ selectedValue,
24147
+ placeHolder,
24148
+ onChange,
24149
+ disabled,
24150
+ width,
24151
+ error,
24152
+ errorMessage,
24153
+ xIconShow,
24154
+ labelColor,
24155
+ showLabelOnTop
24156
+ }) => {
24063
24157
  const [isFocused, setIsFocused] = React$1.useState(false);
24064
24158
  const [showOptions, setShowOptions] = React$1.useState(false);
24065
24159
  const [inputValue, setInputValue] = React$1.useState("");
@@ -24456,24 +24550,23 @@ const IconContainer$2 = styled__default["default"].div`
24456
24550
  cursor: pointer;
24457
24551
  `;
24458
24552
 
24459
- const QuickFilterDropdownMultiSelection = _ref => {
24460
- let {
24461
- label,
24462
- labelEmptyValue,
24463
- options,
24464
- selectedValue,
24465
- placeHolder,
24466
- onChange,
24467
- required,
24468
- disabled,
24469
- width,
24470
- error,
24471
- errorMessage,
24472
- labelColor,
24473
- xIconShow,
24474
- checkBoxColor,
24475
- showLabelOnTop
24476
- } = _ref;
24553
+ const QuickFilterDropdownMultiSelection = ({
24554
+ label,
24555
+ labelEmptyValue,
24556
+ options,
24557
+ selectedValue,
24558
+ placeHolder,
24559
+ onChange,
24560
+ required,
24561
+ disabled,
24562
+ width,
24563
+ error,
24564
+ errorMessage,
24565
+ labelColor,
24566
+ xIconShow,
24567
+ checkBoxColor,
24568
+ showLabelOnTop
24569
+ }) => {
24477
24570
  const [isFocused, setIsFocused] = React$1.useState(false);
24478
24571
  const [showOptions, setShowOptions] = React$1.useState(false);
24479
24572
  const [inputValue, setInputValue] = React$1.useState('');
@@ -35313,18 +35406,19 @@ const MainContainer = styled__default["default"].div`
35313
35406
  display: flex;
35314
35407
  flex-direction: column;
35315
35408
  align-content: center;
35316
- justify-content: center;
35409
+ justify-content: flex-start;
35317
35410
  align-items: flex-start;
35318
- width: ${props => props.width || '300px'};
35411
+ width: ${props => props.width || '300px'};
35412
+ height: ${props => props.height || '45px'};
35319
35413
  font-family: "Poppins", sans-serif;
35320
35414
  font-weight: 400;
35321
35415
  font-size: 14px;
35322
35416
  border-radius: ${props => props.size === 'small' ? '8px' : '12px'};
35323
35417
  padding: 0;
35324
35418
  cursor: ${props => props.disabled ? 'not-allowed' : 'default'};
35419
+ min-height: ${props => props.multiline ? '80px' : 'auto'};
35325
35420
  `;
35326
35421
  const Label$3 = styled__default["default"].label`
35327
-
35328
35422
  font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
35329
35423
  font-weight: 400;
35330
35424
  padding-inline-end: 5px;
@@ -35334,8 +35428,18 @@ const Label$3 = styled__default["default"].label`
35334
35428
  color: ${props => props.error ? 'red' : props.disabled ? '#D0D0D0' : props.labelColor};
35335
35429
  background-color: ${props => props.disabled && props.isDarkerBackground ? '#F2F2F2' : '#fff'};
35336
35430
  position: absolute;
35337
- top: ${props => props.isFocused || props.hasValue ? '0px' : props.size === 'medium' ? '27px' : '17px'};
35338
- left: ${props => props.isFocused || props.hasValue ? '23px' : props.leftIcon && props.leftIcon !== 'none' ? '42px' : '16px'};
35431
+ top: ${props => {
35432
+ if (props.multiline) {
35433
+ return props.isFocused || props.hasValue ? '0px' : '20px';
35434
+ }
35435
+ return props.isFocused || props.hasValue ? '0px' : props.size === 'medium' ? '27px' : '17px';
35436
+ }};
35437
+ left: ${props => {
35438
+ if (props.multiline) {
35439
+ return props.isFocused || props.hasValue ? '23px' : '16px';
35440
+ }
35441
+ return props.isFocused || props.hasValue ? '23px' : props.leftIcon && props.leftIcon !== 'none' ? '42px' : '16px';
35442
+ }};
35339
35443
  font-family: Poppins;
35340
35444
  transform: translateY(-50%);
35341
35445
  transition: top 0.3s ease, font-size 0.3s ease, color 0.3s ease;
@@ -35352,17 +35456,17 @@ const InputContainer = styled__default["default"].div`
35352
35456
  display: flex;
35353
35457
  flex-wrap: nowrap;
35354
35458
  justify-content: flex-start;
35355
- align-content: center;
35459
+ align-content: ${props => props.multiline ? 'flex-start' : 'center'};
35356
35460
  white-space: pre-wrap;
35357
- align-items: center;
35461
+ align-items: ${props => props.multiline ? 'flex-start' : 'center'};
35358
35462
  overflow: hidden;
35359
- padding: 0 16px;
35360
- gap: 14px;
35463
+ padding: ${props => props.multiline ? '16px' : '0 16px'};
35464
+ gap: ${props => props.multiline ? '0' : '14px'};
35361
35465
  width: 100%;
35362
35466
  height: 100%;
35363
35467
  box-sizing: border-box;
35364
35468
  background-color: ${props => props.disabled && props.isDarkerBackground ? '#F2F2F2' : '#fff'};
35365
- border: 1px solid ${props => props.disabled ? '#D0D0D0' : props.error ? 'red' : '#B1B1B1'};
35469
+ border: 1px solid ${props => props.disabled ? '#D0D0D0' : props.error ? 'red' : '#B1B1B1'};
35366
35470
  font-family: "Poppins", sans-serif;
35367
35471
  font-weight: 400;
35368
35472
  font-size: 14px;
@@ -35374,10 +35478,9 @@ const InputContainer = styled__default["default"].div`
35374
35478
  border: 1px solid ${props => props.disabled ? '#D0D0D0' : props.error ? 'red' : props.labelColor || '#212121'};
35375
35479
  }
35376
35480
 
35377
- &:focus {
35481
+ &:focus-within {
35378
35482
  border: 1px solid ${props => props.disabled ? '#D0D0D0' : props.error ? 'red' : props.labelColor || '#212121'};
35379
35483
  }
35380
-
35381
35484
  `;
35382
35485
  const InputSubContainer = styled__default["default"].div`
35383
35486
  display: flex;
@@ -35385,13 +35488,16 @@ const InputSubContainer = styled__default["default"].div`
35385
35488
  flex-wrap: nowrap;
35386
35489
  align-content: center;
35387
35490
  align-items: flex-start;
35388
- justify-content: center;
35491
+ justify-content: ${props => props.multiline ? 'flex-start' : 'center'};
35389
35492
  white-space: pre-wrap;
35390
35493
  overflow: hidden;
35391
- padding: 5px 0;
35494
+ padding: ${props => props.multiline ? '5px 0 0 0' : '5px 0'};
35392
35495
  width: 100%;
35393
- height: 100%;
35394
- min-height: ${props => props.size === 'medium' ? '52px' : '32px'};
35496
+ height: ${props => props.height || '45px'};
35497
+ min-height: ${props => {
35498
+ if (props.multiline) return 'auto';
35499
+ return props.size === 'medium' ? '52px' : '32px';
35500
+ }};
35395
35501
  box-sizing: border-box;
35396
35502
  background-color: ${props => props.disabled && props.isDarkerBackground ? '#F2F2F2' : '#fff'};
35397
35503
  border-radius: ${props => props.size === 'small' ? '8px' : '12px'};
@@ -35401,14 +35507,59 @@ const InputSubContainer = styled__default["default"].div`
35401
35507
  `;
35402
35508
  const StyledInput = styled__default["default"].input`
35403
35509
  width: calc(100% - 10px);
35404
- height: 20px;
35510
+ height: ${props => props.height || '20px'};
35405
35511
  font-weight: 400;
35406
35512
  font-size: 14px;
35407
35513
  outline: none;
35408
35514
  color: ${props => props.disabled ? '#D0D0D0' : '#212121'};
35409
35515
  background-color: ${props => props.disabled && props.isDarkerBackground ? '#F2F2F2' : '#fff'};
35410
35516
  border: none;
35411
- cursor: ${props => props.disabled ? 'not-allowed' : 'pointer'};
35517
+ cursor: ${props => props.disabled ? 'not-allowed' : 'text'};
35518
+ font-family: "Poppins", sans-serif;
35519
+ `;
35520
+ const StyledTextarea = styled__default["default"].textarea`
35521
+ width: 100%;
35522
+ min-height: 60px;
35523
+ font-weight: 400;
35524
+ font-size: 14px;
35525
+ outline: none;
35526
+ color: ${props => props.disabled ? '#D0D0D0' : '#212121'};
35527
+ background-color: ${props => props.disabled && props.isDarkerBackground ? '#F2F2F2' : '#fff'};
35528
+ border: none;
35529
+ cursor: ${props => props.disabled ? 'not-allowed' : 'text'};
35530
+ font-family: "Poppins", sans-serif;
35531
+ resize: vertical;
35532
+ line-height: 1.4;
35533
+ padding: 0;
35534
+ margin-top: 10px;
35535
+
35536
+ &::placeholder {
35537
+ color: #999;
35538
+ font-style: italic;
35539
+ }
35540
+
35541
+ &:focus {
35542
+ outline: none;
35543
+ }
35544
+
35545
+ /* Remove default textarea styling */
35546
+ &::-webkit-scrollbar {
35547
+ width: 6px;
35548
+ }
35549
+
35550
+ &::-webkit-scrollbar-track {
35551
+ background: #f1f1f1;
35552
+ border-radius: 3px;
35553
+ }
35554
+
35555
+ &::-webkit-scrollbar-thumb {
35556
+ background: #c1c1c1;
35557
+ border-radius: 3px;
35558
+ }
35559
+
35560
+ &::-webkit-scrollbar-thumb:hover {
35561
+ background: #a8a8a8;
35562
+ }
35412
35563
  `;
35413
35564
  const ErrorMessage = styled__default["default"].div`
35414
35565
  font-size: 12px;
@@ -35441,6 +35592,7 @@ const Input$2 = _ref => {
35441
35592
  disabled,
35442
35593
  isDarkerBackground = false,
35443
35594
  width,
35595
+ height = '50px',
35444
35596
  error,
35445
35597
  errorMessage,
35446
35598
  labelColor,
@@ -35448,7 +35600,12 @@ const Input$2 = _ref => {
35448
35600
  rightIcon,
35449
35601
  password,
35450
35602
  leftIconOnClick,
35451
- rightIconOnClick
35603
+ rightIconOnClick,
35604
+ multiline = false,
35605
+ // New prop to enable textarea mode
35606
+ rows = 3,
35607
+ // New prop for textarea rows
35608
+ maxLength // New prop for character limit
35452
35609
  } = _ref;
35453
35610
  const [isFocused, setIsFocused] = React$1.useState(false);
35454
35611
  const [inputValue, setInputValue] = React$1.useState('');
@@ -35522,12 +35679,24 @@ const Input$2 = _ref => {
35522
35679
  }
35523
35680
  return getIcon('eye', '14px', '14px', error ? 'red' : labelColor, disabled, 'pointer', toggleShowPassword);
35524
35681
  };
35682
+
35683
+ // Calculate dynamic height for multiline inputs
35684
+ const calculateHeight = () => {
35685
+ if (!multiline) return height;
35686
+ const baseHeight = size === 'small' ? 32 : 52;
35687
+ const lineHeight = 20;
35688
+ const padding = 10;
35689
+ return `${baseHeight + (rows - 1) * lineHeight + padding}px`;
35690
+ };
35691
+ const InputElement = multiline ? StyledTextarea : StyledInput;
35525
35692
  return /*#__PURE__*/React__default["default"].createElement(MainContainer, {
35526
35693
  className: "MainContainer",
35527
35694
  width: width,
35695
+ height: calculateHeight(),
35528
35696
  size: size,
35529
35697
  disabled: disabled,
35530
- isDarkerBackground: isDarkerBackground
35698
+ isDarkerBackground: isDarkerBackground,
35699
+ multiline: multiline
35531
35700
  }, /*#__PURE__*/React__default["default"].createElement(InputContainer, {
35532
35701
  className: "InputContainer",
35533
35702
  labelColor: labelColor,
@@ -35535,8 +35704,9 @@ const Input$2 = _ref => {
35535
35704
  isDarkerBackground: isDarkerBackground,
35536
35705
  error: error,
35537
35706
  isFocused: isFocused,
35538
- size: size
35539
- }, getLeftIcon(), /*#__PURE__*/React__default["default"].createElement(InputSubContainer, {
35707
+ size: size,
35708
+ multiline: multiline
35709
+ }, !multiline && getLeftIcon(), /*#__PURE__*/React__default["default"].createElement(InputSubContainer, {
35540
35710
  className: "InputSubContainer",
35541
35711
  ref: containerRef,
35542
35712
  labelColor: labelColor,
@@ -35544,26 +35714,29 @@ const Input$2 = _ref => {
35544
35714
  isDarkerBackground: isDarkerBackground,
35545
35715
  error: error,
35546
35716
  onClick: handleLabelClick,
35547
- size: size
35717
+ height: calculateHeight(),
35718
+ size: size,
35719
+ multiline: multiline
35548
35720
  }, /*#__PURE__*/React__default["default"].createElement(Label$3, {
35549
35721
  className: "Label",
35550
35722
  isFocused: isFocused,
35551
35723
  labelColor: labelColor,
35552
35724
  hasValue: inputValue,
35553
- leftIcon: leftIcon,
35725
+ leftIcon: !multiline ? leftIcon : 'none',
35554
35726
  disabled: disabled,
35555
35727
  isDarkerBackground: isDarkerBackground,
35556
35728
  error: error,
35557
35729
  errorMessage: errorMessage,
35558
35730
  onClick: handleLabelClick,
35559
- size: size
35731
+ size: size,
35732
+ multiline: multiline
35560
35733
  }, inputValue ? label : labelEmptyValue || label, required && /*#__PURE__*/React__default["default"].createElement("span", {
35561
35734
  style: {
35562
35735
  color: disabled ? '#D0D0D0' : 'red',
35563
35736
  height: '16px'
35564
35737
  }
35565
- }, "*")), /*#__PURE__*/React__default["default"].createElement(StyledInput, {
35566
- className: "StyledInput",
35738
+ }, "*")), /*#__PURE__*/React__default["default"].createElement(InputElement, {
35739
+ className: multiline ? "StyledTextarea" : "StyledInput",
35567
35740
  ref: inputRef,
35568
35741
  type: password && !showPassword ? 'password' : 'text',
35569
35742
  value: inputValue,
@@ -35575,11 +35748,22 @@ const Input$2 = _ref => {
35575
35748
  isDarkerBackground: isDarkerBackground,
35576
35749
  placeholder: isFocused ? placeHolder : '',
35577
35750
  error: error,
35578
- isFocused: isFocused
35579
- })), password ? getPasswordIcon() : getRightIcon()), error && errorMessage?.length > 0 && /*#__PURE__*/React__default["default"].createElement(ErrorMessage, {
35751
+ height: calculateHeight(),
35752
+ isFocused: isFocused,
35753
+ rows: multiline ? rows : undefined,
35754
+ maxLength: maxLength,
35755
+ multiline: multiline
35756
+ })), !multiline && (password ? getPasswordIcon() : getRightIcon())), error && errorMessage?.length > 0 && /*#__PURE__*/React__default["default"].createElement(ErrorMessage, {
35580
35757
  className: "ErrorMessage",
35581
35758
  width: width
35582
- }, errorMessage));
35759
+ }, errorMessage), multiline && maxLength && /*#__PURE__*/React__default["default"].createElement("div", {
35760
+ style: {
35761
+ fontSize: '12px',
35762
+ color: inputValue.length > maxLength * 0.9 ? 'orange' : '#666',
35763
+ textAlign: 'right',
35764
+ marginTop: '4px'
35765
+ }
35766
+ }, inputValue.length, "/", maxLength));
35583
35767
  };
35584
35768
  Input$2.propTypes = {
35585
35769
  placeHolder: PropTypes.string,
@@ -35599,7 +35783,10 @@ Input$2.propTypes = {
35599
35783
  onBlur: PropTypes.func,
35600
35784
  leftIcon: PropTypes.string,
35601
35785
  rightIcon: PropTypes.string,
35602
- password: PropTypes.bool
35786
+ password: PropTypes.bool,
35787
+ multiline: PropTypes.bool,
35788
+ rows: PropTypes.number,
35789
+ maxLength: PropTypes.number
35603
35790
  };
35604
35791
  Input$2.defaultProps = {
35605
35792
  placeHolder: 'Type...',
@@ -35618,7 +35805,10 @@ Input$2.defaultProps = {
35618
35805
  leftIconOnClick: () => {},
35619
35806
  rightIconOnClick: () => {},
35620
35807
  onBlur: () => {},
35621
- password: false
35808
+ password: false,
35809
+ multiline: false,
35810
+ rows: 3,
35811
+ maxLength: undefined
35622
35812
  };
35623
35813
 
35624
35814
  const ToggleSwitchLabel = styled__default["default"].label`
@@ -35626,12 +35816,9 @@ const ToggleSwitchLabel = styled__default["default"].label`
35626
35816
  position: relative;
35627
35817
  cursor: pointer;
35628
35818
  user-select: none;
35629
- opacity: ${_ref => {
35630
- let {
35631
- disabled
35632
- } = _ref;
35633
- return disabled ? 0.5 : 1;
35634
- }};
35819
+ opacity: ${({
35820
+ disabled
35821
+ }) => disabled ? 0.5 : 1};
35635
35822
  `;
35636
35823
  const ToggleInput = styled__default["default"].input`
35637
35824
  display: none;
@@ -35639,19 +35826,15 @@ const ToggleInput = styled__default["default"].input`
35639
35826
  const ToggleSlider = styled__default["default"].span`
35640
35827
  display: block;
35641
35828
  position: relative;
35642
- background: ${_ref2 => {
35643
- let {
35644
- checked,
35645
- disabled
35646
- } = _ref2;
35647
- return checked ? disabled ? "#7bb1b0" : "#006d6a" : "#cfd8dc";
35648
- }};
35829
+ background: ${({
35830
+ checked,
35831
+ disabled
35832
+ }) => checked ? disabled ? "#7bb1b0" : "#006d6a" : "#cfd8dc"};
35649
35833
  border-radius: 999px;
35650
35834
  transition: background 0.2s;
35651
- ${_ref3 => {
35652
- let {
35653
- size
35654
- } = _ref3;
35835
+ ${({
35836
+ size
35837
+ }) => {
35655
35838
  switch (size) {
35656
35839
  case "s":
35657
35840
  return styled.css`width: 40px; height: 20px;`;
@@ -35670,10 +35853,9 @@ const ToggleSlider = styled__default["default"].span`
35670
35853
  background: #fff;
35671
35854
  border-radius: 50%;
35672
35855
  transition: left 0.2s, width 0.2s, height 0.2s;
35673
- ${_ref4 => {
35674
- let {
35675
- size
35676
- } = _ref4;
35856
+ ${({
35857
+ size
35858
+ }) => {
35677
35859
  switch (size) {
35678
35860
  case "s":
35679
35861
  return styled.css`width: 14px; height: 14px;`;
@@ -35683,11 +35865,10 @@ const ToggleSlider = styled__default["default"].span`
35683
35865
  return styled.css`width: 20px; height: 20px;`;
35684
35866
  }
35685
35867
  }}
35686
- left: ${_ref5 => {
35687
- let {
35688
- checked,
35689
- size
35690
- } = _ref5;
35868
+ left: ${({
35869
+ checked,
35870
+ size
35871
+ }) => {
35691
35872
  if (!checked) return "3px";
35692
35873
  switch (size) {
35693
35874
  case "s":
@@ -35701,9 +35882,9 @@ const ToggleSlider = styled__default["default"].span`
35701
35882
  }
35702
35883
  `;
35703
35884
 
35704
- /**
35705
- * ToggleSwitch component for on/off states.
35706
- * Supports small/large sizes and disabled state.
35885
+ /**
35886
+ * ToggleSwitch component for on/off states.
35887
+ * Supports small/large sizes and disabled state.
35707
35888
  */
35708
35889
  function ToggleSwitch(_ref) {
35709
35890
  let {