@geneui/components 2.11.1 → 2.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/{ActionableList.js → ActionableList/index.js} +83 -152
  2. package/{AdvancedSearch.js → AdvancedSearch/index.js} +291 -304
  3. package/{Alert.js → Alert/index.js} +19 -20
  4. package/Avatar/index.js +30 -0
  5. package/{Badge.js → Badge/index.js} +13 -14
  6. package/{Breadcrumb.js → Breadcrumb/index.js} +32 -31
  7. package/{BusyLoader.js → BusyLoader/index.js} +11 -12
  8. package/{Button.js → Button/index.js} +20 -21
  9. package/CHANGELOG.md +56 -0
  10. package/{Card.js → Card/index.js} +82 -94
  11. package/{CardList.js → CardList/index.js} +118 -165
  12. package/{CellMeasurerCache-c11cec83.js → CellMeasurerCache-bc2163c1.js} +2 -2
  13. package/{index-0cf65939.js → Charts/index.js} +17103 -30439
  14. package/{Checkbox.js → Checkbox/index.js} +37 -38
  15. package/{CheckboxGroup.js → CheckboxGroup/index.js} +41 -42
  16. package/{CheckboxGroupWithSearch.js → CheckboxGroupWithSearch/index.js} +64 -65
  17. package/{Collapse.js → Collapse/index.js} +28 -29
  18. package/{ColorPicker.js → ColorPicker/index.js} +16 -16
  19. package/ComboBox/index.js +525 -0
  20. package/Counter/index.js +310 -0
  21. package/{DateFilter.js → DateFilter/index.js} +46 -43
  22. package/{DatePicker.js → DatePicker/index.js} +106 -108
  23. package/{index-5e722d91.js → DatePickerInput/index.js} +103 -89
  24. package/{Divider.js → Divider/index.js} +9 -10
  25. package/{Drawer.js → Drawer/index.js} +40 -41
  26. package/Dropdown/index.js +41 -0
  27. package/{Editor.js → Editor/index.js} +165 -164
  28. package/{Empty.js → Empty/index.js} +12 -13
  29. package/{ExtendedInput.js → ExtendedInput/index.js} +83 -73
  30. package/Form/index.js +86 -0
  31. package/{FormContainer.js → FormContainer/index.js} +25 -26
  32. package/FormableCheckbox/index.js +26 -0
  33. package/FormableDatePicker/index.js +42 -0
  34. package/FormableDropdown/index.js +48 -0
  35. package/FormableEditor/index.js +24 -0
  36. package/{FormableHOC-21051057.js → FormableHOC-55263162.js} +3 -3
  37. package/FormableMultiSelectDropdown/index.js +48 -0
  38. package/FormableNumberInput/index.js +32 -0
  39. package/FormableRadio/index.js +22 -0
  40. package/FormableSwitcher/index.js +22 -0
  41. package/FormableTextInput/index.js +32 -0
  42. package/FormableUploader/index.js +42 -0
  43. package/GeneUIProvider/index.js +282 -0
  44. package/{Grid.js → Grid/index.js} +27 -27
  45. package/Holder/index.js +261 -0
  46. package/{Icon.js → Icon/index.js} +9 -10
  47. package/{Image.js → Image/index.js} +29 -30
  48. package/ImagePreview/index.js +481 -0
  49. package/{KeyValue.js → KeyValue/index.js} +11 -12
  50. package/LICENSE +21 -0
  51. package/{Label.js → Label/index.js} +8 -9
  52. package/LinkButton/index.js +67 -0
  53. package/{Menu.js → Menu/index.js} +39 -34
  54. package/{MobileNavigation.js → MobileNavigation/index.js} +19 -20
  55. package/{MobilePopup.js → MobilePopup/index.js} +42 -41
  56. package/{Modal.js → Modal/index.js} +39 -40
  57. package/ModuleTitle/index.js +143 -0
  58. package/{NavigationMenu.js → NavigationMenu/index.js} +44 -35
  59. package/{Notification.js → Notification/index.js} +24 -25
  60. package/{Option.js → Option/index.js} +37 -39
  61. package/Overlay/index.js +189 -0
  62. package/{Overspread.js → Overspread/index.js} +65 -121
  63. package/{Pagination.js → Pagination/index.js} +35 -34
  64. package/Paper/index.js +96 -0
  65. package/{index-a4635754.js → Popover/index.js} +48 -58
  66. package/{index-702bf24a.js → PopoverV2/index.js} +57 -1006
  67. package/{Portal.js → Portal/index.js} +7 -8
  68. package/{Products.js → Products/index.js} +20 -21
  69. package/Profile/index.js +585 -0
  70. package/{Progress.js → Progress/index.js} +24 -25
  71. package/{QRCode.js → QRCode/index.js} +4 -6
  72. package/{Radio.js → Radio/index.js} +25 -26
  73. package/{RadioGroup.js → RadioGroup/index.js} +17 -18
  74. package/{index-00fe8887.js → Range/index.js} +29 -32
  75. package/RichEditor/index.js +13 -0
  76. package/{RichEditor-b7928765.js → RichEditor-8b9c3afa.js} +18 -18
  77. package/{Scrollbar.js → Scrollbar/index.js} +15 -17
  78. package/{Search.js → Search/index.js} +25 -24
  79. package/{SearchWithDropdown.js → SearchWithDropdown/index.js} +47 -104
  80. package/{Section.js → Section/index.js} +15 -16
  81. package/{SkeletonLoader.js → SkeletonLoader/index.js} +13 -14
  82. package/{Slider.js → Slider/index.js} +46 -43
  83. package/{Status.js → Status/index.js} +23 -24
  84. package/{Steps.js → Steps/index.js} +42 -41
  85. package/{index-5cea9a7d.js → SuggestionList/index.js} +15 -38
  86. package/{Switcher.js → Switcher/index.js} +30 -31
  87. package/Table/index.js +53 -0
  88. package/{TableCompositions.js → TableCompositions/index.js} +132 -168
  89. package/{Tabs.js → Tabs/index.js} +27 -28
  90. package/{Tag.js → Tag/index.js} +17 -18
  91. package/{TextLink.js → TextLink/index.js} +3 -3
  92. package/{Textarea.js → Textarea/index.js} +66 -65
  93. package/{Time.js → Time/index.js} +13 -14
  94. package/TimePicker/index.js +556 -0
  95. package/{Timeline.js → Timeline/index.js} +19 -20
  96. package/{Title.js → Title/index.js} +13 -14
  97. package/{Toaster.js → Toaster/index.js} +19 -20
  98. package/{Tooltip.js → Tooltip/index.js} +27 -28
  99. package/{TransferList.js → TransferList/index.js} +44 -55
  100. package/{index-d9e8a888.js → Uploader/index.js} +119 -116
  101. package/{ValidatableCheckbox.js → ValidatableCheckbox/index.js} +23 -24
  102. package/{ValidatableDatePicker.js → ValidatableDatePicker/index.js} +45 -42
  103. package/ValidatableDropdown/index.js +139 -0
  104. package/ValidatableElements/index.js +68 -0
  105. package/ValidatableMultiSelectDropdown/index.js +150 -0
  106. package/{ValidatableNumberInput.js → ValidatableNumberInput/index.js} +34 -33
  107. package/{ValidatableRadio.js → ValidatableRadio/index.js} +19 -20
  108. package/{ValidatableSwitcher.js → ValidatableSwitcher/index.js} +19 -20
  109. package/{ValidatableTextInput.js → ValidatableTextInput/index.js} +32 -31
  110. package/{ValidatableTimeInput.js → ValidatableTimeInput/index.js} +31 -30
  111. package/{ValidatableUploader.js → ValidatableUploader/index.js} +36 -34
  112. package/Widget/index.js +227 -0
  113. package/config-0ca92874.js +31 -0
  114. package/{configs-91c86664.js → configs-fed6ac34.js} +28 -1
  115. package/hooks/useBodyScroll.js +16 -0
  116. package/hooks/useClick.js +18 -0
  117. package/{useClickOutside-5183e396.js → hooks/useClickOutside.js} +1 -1
  118. package/hooks/useDebounceHook.js +16 -0
  119. package/{useDeviceType-dd51db38.js → hooks/useDeviceType.js} +4 -3
  120. package/hooks/useDidMount.js +15 -0
  121. package/{useEllipsisDetection-ef536015.js → hooks/useEllipsisDetection.js} +1 -1
  122. package/hooks/useForceUpdate.js +8 -0
  123. package/hooks/useImgDownload.js +18 -0
  124. package/{useKeyDown-38102ae7.js → hooks/useKeyDown.js} +1 -1
  125. package/hooks/useMount.js +13 -0
  126. package/hooks/useMutationObserver.js +21 -0
  127. package/hooks/usePrevious.js +10 -0
  128. package/hooks/useThrottle.js +16 -0
  129. package/hooks/useToggle.js +11 -0
  130. package/hooks/useUpdatableRef.js +14 -0
  131. package/hooks/useUpdate.js +10 -0
  132. package/{useWidth-9f4647f8.js → hooks/useWidth.js} +2 -2
  133. package/{useWindowSize-80369d76.js → hooks/useWindowSize.js} +1 -1
  134. package/index-45eafea6.js +90 -0
  135. package/{index-a59530cd.js → index-583e0b30.js} +1 -1
  136. package/{index-67f4d4d1.js → index-78d2ea5b.js} +684 -752
  137. package/{index-ac59cb10.js → index-a0e4e333.js} +6 -6
  138. package/{index-e8776f3d.js → index-b1e429a7.js} +1 -1
  139. package/index-bd525a3a.js +10054 -0
  140. package/index.d.ts +115 -0
  141. package/index.js +138 -113
  142. package/index.mobile.d.ts +16 -0
  143. package/jsx-runtime-57b40d9e.js +957 -0
  144. package/lib/atoms/Avatar/Avatar.d.ts +34 -0
  145. package/lib/atoms/Avatar/index.d.ts +1 -0
  146. package/lib/atoms/LinkButton/LinkButton.d.ts +46 -0
  147. package/lib/atoms/LinkButton/index.d.ts +1 -0
  148. package/{objectWithoutPropertiesLoose-299691d8.js → objectWithoutPropertiesLoose-d8a4a68c.js} +12 -12
  149. package/package.json +42 -22
  150. package/{rangeAndSlider-20599da4.js → rangeAndSlider-0301a458.js} +220 -375
  151. package/{react-beautiful-dnd.esm-38c37304.js → react-beautiful-dnd.esm-04c14563.js} +9 -9
  152. package/react-lifecycles-compat.es-6e1f3768.js +158 -0
  153. package/Avatar.js +0 -77
  154. package/Charts.js +0 -99
  155. package/ComboBox.js +0 -99
  156. package/Counter.js +0 -99
  157. package/DatePickerInput.js +0 -30
  158. package/Dropdown.js +0 -99
  159. package/Form.js +0 -116
  160. package/FormableCheckbox.js +0 -27
  161. package/FormableDatePicker.js +0 -39
  162. package/FormableDropdown.js +0 -105
  163. package/FormableEditor.js +0 -24
  164. package/FormableMultiSelectDropdown.js +0 -105
  165. package/FormableNumberInput.js +0 -31
  166. package/FormableRadio.js +0 -23
  167. package/FormableSwitcher.js +0 -23
  168. package/FormableTextInput.js +0 -31
  169. package/FormableUploader.js +0 -40
  170. package/GeneUIProvider.js +0 -256
  171. package/Holder.js +0 -99
  172. package/ImagePreview.js +0 -99
  173. package/LinkButton.js +0 -104
  174. package/ModuleTitle.js +0 -99
  175. package/Overlay.js +0 -99
  176. package/Paper.js +0 -97
  177. package/Popover.js +0 -20
  178. package/PopoverV2.js +0 -19
  179. package/Profile.js +0 -99
  180. package/Range.js +0 -14
  181. package/RichEditor.js +0 -13
  182. package/SuggestionList.js +0 -15
  183. package/Table.js +0 -102
  184. package/TimePicker.js +0 -99
  185. package/Uploader.js +0 -32
  186. package/ValidatableDropdown.js +0 -99
  187. package/ValidatableElements.js +0 -99
  188. package/ValidatableMultiSelectDropdown.js +0 -99
  189. package/Widget.js +0 -99
  190. package/globalStyling-9c60a159.js +0 -4
  191. package/index-b7a33c58.js +0 -11
  192. package/index-e0af0caf.js +0 -1182
  193. package/useMount-6fef51a5.js +0 -9
@@ -0,0 +1,310 @@
1
+ import React__default, { useRef, useState, useEffect, useMemo, useCallback } from 'react';
2
+ import { c as classnames } from '../index-6ff23041.js';
3
+ import PropTypes from 'prop-types';
4
+ import { n as noop, s as stopEvent } from '../index-a0e4e333.js';
5
+ import useKeyDown from '../hooks/useKeyDown.js';
6
+ import '../configs-fed6ac34.js';
7
+ import Button from '../Button/index.js';
8
+ import Label from '../Label/index.js';
9
+ import SkeletonLoader from '../SkeletonLoader/index.js';
10
+ import Tooltip from '../Tooltip/index.js';
11
+ import ExtendedInput from '../ExtendedInput/index.js';
12
+ import { s as styleInject } from '../style-inject.es-746bb8ed.js';
13
+ import '../dateValidation-67caec66.js';
14
+ import '../_commonjsHelpers-24198af3.js';
15
+ import 'react-dom';
16
+ import '../_rollupPluginBabelHelpers-e8fb2e5c.js';
17
+ import '../Icon/index.js';
18
+ import '../Popover-f4d1cac0.js';
19
+ import '../hooks/useDeviceType.js';
20
+ import '../hooks/useWindowSize.js';
21
+ import '../GeneUIProvider/index.js';
22
+ import '../hooks/useEllipsisDetection.js';
23
+ import '../SuggestionList/index.js';
24
+ import '../hooks/useClickOutside.js';
25
+ import '../config-0ca92874.js';
26
+ import '../Scrollbar/index.js';
27
+
28
+ var css_248z = "[data-gene-ui-version=\"2.12.1\"] .counter{width:100%}[data-gene-ui-version=\"2.12.1\"] .counter.s-small{--height:2.4rem;--width:var(--height);min-width:8rem}[data-gene-ui-version=\"2.12.1\"] .counter.s-medium{--height:3.6rem;--width:var(--height);min-width:12rem}[data-gene-ui-version=\"2.12.1\"] .counter.s-big{--height:4.2rem;--width:var(--height);min-width:14rem}[data-gene-ui-version=\"2.12.1\"] .counter.r-round .react-loading-skeleton{border-radius:4.2rem}[data-gene-ui-version=\"2.12.1\"] .counter.r-smooth .react-loading-skeleton{border-radius:.4rem}[data-gene-ui-version=\"2.12.1\"] .counter__label{color:rgba(var(--background-sc-rgb),.75);font-size:1.4rem;font-weight:600;margin-bottom:.8rem;opacity:.5}[data-gene-ui-version=\"2.12.1\"] .counter__wrapper{display:flex;gap:.4rem;height:var(--height)}[data-gene-ui-version=\"2.12.1\"] .counter__input{opacity:1!important}[data-gene-ui-version=\"2.12.1\"] .counter__input-holder{display:flex;min-width:var(---width);overflow:hidden;width:100%}[data-gene-ui-version=\"2.12.1\"] .counter__input-holder .react-loading-skeleton{height:var(--height)!important}[data-gene-ui-version=\"2.12.1\"] .counter__input .input-structure{padding:0}[data-gene-ui-version=\"2.12.1\"] .counter__input .input-element{justify-content:center;max-height:var(--height);min-height:var(--height);text-align:center}[data-gene-ui-version=\"2.12.1\"] .counter__input .input-element:disabled{color:rgba(var(--background-sc-rgb),.5)}[data-gene-ui-version=\"2.12.1\"] .counter__button{height:100%;min-height:100%;min-width:var(--width);width:var(--width)}[data-gene-ui-version=\"2.12.1\"] .counter__button .btn{max-height:100%;max-width:100%;min-height:100%;min-width:100%}[data-gene-ui-version=\"2.12.1\"] .counter__button .skeleton-holder .react-loading-skeleton{height:var(--height)!important;width:var(--width)}";
29
+ styleInject(css_248z);
30
+
31
+ const keyDownKeys = {
32
+ arrowUp: 'ArrowUp',
33
+ arrowDown: 'ArrowDown'
34
+ };
35
+ const inputRadiusMap = {
36
+ round: 'full-radius',
37
+ smooth: 'smooth-radius'
38
+ };
39
+ function Counter(_ref) {
40
+ let {
41
+ minusTooltipText,
42
+ plusTooltipText,
43
+ inputReadOnly,
44
+ defaultValue,
45
+ cornerRadius,
46
+ isLoading,
47
+ className,
48
+ minValue,
49
+ maxValue,
50
+ readOnly,
51
+ disabled,
52
+ onChange,
53
+ label,
54
+ value,
55
+ width,
56
+ size,
57
+ step
58
+ } = _ref;
59
+ const ref = useRef();
60
+ const inputRef = useRef();
61
+ const [showInputTooltip, setShowInputTooltip] = useState(false);
62
+ const [isTruncated, setIsTruncated] = useState(false);
63
+ const [data, setData] = useState(defaultValue || 0);
64
+ const [counterStep, setCounterStep] = useState(step);
65
+ useEffect(() => setCounterStep(step), [step]);
66
+ const isMinMaxWrong = useMemo(() => minValue >= maxValue, [minValue, maxValue]);
67
+ const isControlled = useMemo(() => value === 0 || !!value, [value]);
68
+ const modifiedSize = useMemo(() => typeof width === 'number' ? "".concat(width, "px") : width, [width]);
69
+ const isDisableMinus = useMemo(() => +data === minValue, [minValue, data]);
70
+ const isDisablePlus = useMemo(() => +data === maxValue, [maxValue, data]);
71
+ const isMinValue = useMemo(() => minValue !== undefined, [minValue]);
72
+ const isMaxValue = useMemo(() => maxValue !== undefined, [maxValue]);
73
+ useEffect(() => {
74
+ if (typeof defaultValue === 'number' && defaultValue <= maxValue && defaultValue >= minValue) {
75
+ return setData(defaultValue);
76
+ }
77
+ if (typeof minValue === 'number' && minValue > defaultValue) {
78
+ return setData(minValue);
79
+ }
80
+ }, [minValue, defaultValue, maxValue]);
81
+ useEffect(() => {
82
+ isControlled && setData(value);
83
+ }, [value]);
84
+ const setNewValue = useCallback(val => {
85
+ !isControlled && setData(eventState => (+eventState + +val).toString());
86
+ onChange((+data + +val).toString());
87
+ }, [isControlled, data]);
88
+ const setValueToMin = useCallback(() => {
89
+ !isControlled && setData(minValue === null || minValue === void 0 ? void 0 : minValue.toString());
90
+ onChange(minValue === null || minValue === void 0 ? void 0 : minValue.toString());
91
+ }, [isControlled, minValue]);
92
+ const setValueToMax = useCallback(() => {
93
+ !isControlled && setData(maxValue === null || maxValue === void 0 ? void 0 : maxValue.toString());
94
+ onChange(maxValue === null || maxValue === void 0 ? void 0 : maxValue.toString());
95
+ }, [isControlled, maxValue]);
96
+ const handleChange = useCallback(val => {
97
+ if (isMinValue && isMaxValue) {
98
+ if (+data <= maxValue && +data >= minValue && +val + +data <= maxValue && +val + +data >= minValue || val === '-') {
99
+ setNewValue(val);
100
+ } else if (+val + +data > maxValue) {
101
+ setValueToMax();
102
+ } else if (+val + +data < minValue) {
103
+ setValueToMin();
104
+ }
105
+ } else if (isMaxValue && +data <= maxValue || val === '-') {
106
+ if (+val + +data <= maxValue) {
107
+ setNewValue(val);
108
+ } else {
109
+ setValueToMax();
110
+ }
111
+ } else if (isMinValue && +data >= minValue || val === '-') {
112
+ if (+val + +data >= minValue) {
113
+ setNewValue(val);
114
+ } else {
115
+ setValueToMin();
116
+ }
117
+ } else {
118
+ setNewValue(val);
119
+ }
120
+ }, [data, isControlled]);
121
+ const setNewInputValue = useCallback(value => {
122
+ !isControlled && setData(value.trim());
123
+ !isNaN(+value) && onChange(value);
124
+ }, [isControlled]);
125
+ const handleInputChange = useCallback(_ref2 => {
126
+ let {
127
+ target: {
128
+ value
129
+ }
130
+ } = _ref2;
131
+ if (isMinValue && isMaxValue) {
132
+ if (+value <= maxValue && +value >= minValue || value === '-') {
133
+ setNewInputValue(value);
134
+ }
135
+ } else if (isMaxValue) {
136
+ if (+value <= maxValue) {
137
+ setNewInputValue(value);
138
+ } else if (value === '-') {
139
+ setNewInputValue(value);
140
+ }
141
+ } else if (isMinValue) {
142
+ if (+value >= minValue) {
143
+ setNewInputValue(value);
144
+ } else if (value === '-') {
145
+ setNewInputValue(value);
146
+ }
147
+ } else {
148
+ setNewInputValue(value);
149
+ }
150
+ }, [maxValue, minValue]);
151
+ useKeyDown(e => {
152
+ stopEvent(e, true);
153
+ if (e.key === keyDownKeys.arrowUp && !isDisablePlus) {
154
+ handleChange(counterStep);
155
+ }
156
+ if (e.key === keyDownKeys.arrowDown && !isDisableMinus) {
157
+ handleChange(-counterStep);
158
+ }
159
+ }, [handleChange], ref, [keyDownKeys.arrowUp, keyDownKeys.arrowDown]);
160
+ useEffect(() => {
161
+ var _inputRef$current, _inputRef$current2;
162
+ if (((_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.scrollWidth) > ((_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.offsetWidth)) {
163
+ !isTruncated && setIsTruncated(true);
164
+ } else {
165
+ isTruncated && setIsTruncated(false);
166
+ }
167
+ }, [data]);
168
+ return /*#__PURE__*/React__default.createElement("div", {
169
+ ref: ref,
170
+ style: {
171
+ maxWidth: modifiedSize
172
+ },
173
+ onMouseOver: () => isTruncated && setShowInputTooltip(true),
174
+ onMouseLeave: () => isTruncated && setShowInputTooltip(false),
175
+ className: classnames('counter', className, "s-".concat(size), "r-".concat(cornerRadius))
176
+ }, label && /*#__PURE__*/React__default.createElement(Tooltip, {
177
+ title: label
178
+ }, /*#__PURE__*/React__default.createElement(Label, {
179
+ className: "counter__label ellipsis-text",
180
+ size: "bodySmall"
181
+ }, label)), /*#__PURE__*/React__default.createElement("div", {
182
+ className: "counter__wrapper"
183
+ }, !readOnly && /*#__PURE__*/React__default.createElement(Tooltip, {
184
+ title: isDisableMinus && !isLoading ? minusTooltipText : ''
185
+ }, /*#__PURE__*/React__default.createElement("div", {
186
+ className: "counter__button counter__button-minus"
187
+ }, isLoading ? /*#__PURE__*/React__default.createElement(SkeletonLoader, {
188
+ isBusy: isLoading
189
+ }) : /*#__PURE__*/React__default.createElement(Button, {
190
+ icon: isLoading ? 'bc-icon-loader' : 'bc-icon-minus',
191
+ disabled: isMinMaxWrong || isDisableMinus || disabled,
192
+ cornerRadius: cornerRadius,
193
+ onClick: () => handleChange(-counterStep)
194
+ }))), /*#__PURE__*/React__default.createElement(Tooltip, {
195
+ alwaysShow: showInputTooltip,
196
+ title: isTruncated ? data : ''
197
+ }, /*#__PURE__*/React__default.createElement("div", {
198
+ className: "counter__input-holder"
199
+ }, isLoading ? /*#__PURE__*/React__default.createElement(SkeletonLoader, {
200
+ isBusy: isLoading
201
+ }) : /*#__PURE__*/React__default.createElement(ExtendedInput, {
202
+ ref: inputRef,
203
+ className: "counter__input",
204
+ disabled: isMinMaxWrong || disabled || isLoading,
205
+ cornerRadius: inputRadiusMap[cornerRadius],
206
+ onChange: handleInputChange,
207
+ showNumberIcon: false,
208
+ readOnly: readOnly || inputReadOnly,
209
+ type: "number",
210
+ value: data
211
+ }))), !readOnly && /*#__PURE__*/React__default.createElement(Tooltip, {
212
+ title: isDisablePlus && !isLoading ? plusTooltipText : ''
213
+ }, /*#__PURE__*/React__default.createElement("div", {
214
+ className: "counter__button counter__button-plus"
215
+ }, isLoading ? /*#__PURE__*/React__default.createElement(SkeletonLoader, {
216
+ isBusy: isLoading
217
+ }) : /*#__PURE__*/React__default.createElement(Button, {
218
+ icon: isLoading ? 'bc-icon-loader' : 'bc-icon-plus',
219
+ disabled: isMinMaxWrong || isDisablePlus || disabled,
220
+ cornerRadius: cornerRadius,
221
+ onClick: () => handleChange(counterStep)
222
+ })))));
223
+ }
224
+ const CounterConfig = {
225
+ size: ['small', 'medium', 'big'],
226
+ cornerRadius: ['round', 'smooth']
227
+ };
228
+ Counter.propTypes = {
229
+ /**
230
+ * Additional className
231
+ */
232
+ className: PropTypes.string,
233
+ /**
234
+ * counter will become disabled when set to "true"
235
+ */
236
+ disabled: PropTypes.bool,
237
+ /**
238
+ * counter input will become readonly when set to "true"
239
+ */
240
+ inputReadOnly: PropTypes.bool,
241
+ /**
242
+ * Label for 'counter'.
243
+ */
244
+ label: PropTypes.string,
245
+ /**
246
+ * onChange function which returns callBack if there is a change
247
+ */
248
+ onChange: PropTypes.func,
249
+ /**
250
+ * Use this prop to control counter state. Note that when you specify this prop, the counter will not functionate itself
251
+ */
252
+ value: PropTypes.number,
253
+ /**
254
+ * This prop will only applied once as defaultState for "value" when counter mounts.
255
+ * Note that specifying this prop is not mean controlling it.
256
+ */
257
+ defaultValue: PropTypes.number,
258
+ /**
259
+ * Is loading state.
260
+ */
261
+ isLoading: PropTypes.bool,
262
+ /**
263
+ * counter size, if the set value is number default use px
264
+ */
265
+ width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
266
+ /**
267
+ * counter size
268
+ */
269
+ size: PropTypes.oneOf(CounterConfig.size),
270
+ /**
271
+ * counter corner radius
272
+ */
273
+ cornerRadius: PropTypes.oneOf(CounterConfig.cornerRadius),
274
+ /**
275
+ * minus tooltip text
276
+ */
277
+ minusTooltipText: PropTypes.string,
278
+ /**
279
+ * plus tooltip text
280
+ */
281
+ plusTooltipText: PropTypes.string,
282
+ /**
283
+ * Counter minimum value
284
+ */
285
+ minValue: PropTypes.number,
286
+ /**
287
+ * Counter maximum value
288
+ */
289
+ maxValue: PropTypes.number,
290
+ /**
291
+ * Counter step value
292
+ */
293
+ step: PropTypes.number
294
+ };
295
+ Counter.defaultProps = {
296
+ cornerRadius: CounterConfig.cornerRadius[0],
297
+ size: CounterConfig.size[1],
298
+ minusTooltipText: '',
299
+ inputReadOnly: false,
300
+ plusTooltipText: '',
301
+ isLoading: false,
302
+ disabled: false,
303
+ readOnly: false,
304
+ onChange: noop,
305
+ width: '100px',
306
+ label: '',
307
+ step: 1
308
+ };
309
+
310
+ export { Counter as default };
@@ -1,35 +1,38 @@
1
- import { _ as _extends } from './_rollupPluginBabelHelpers-e8fb2e5c.js';
1
+ import { _ as _extends } from '../_rollupPluginBabelHelpers-e8fb2e5c.js';
2
2
  import React__default, { useState, useCallback } from 'react';
3
- import { p as propTypesExports } from './index-e0af0caf.js';
4
- import { c as classnames } from './index-6ff23041.js';
5
- import { n as noop, b as isToday, d as isYesterday, e as isThisWeek, h as isLastWeek, j as isThisMonth, l as isLastMonth, m as isLastMonthToDate, o as getLMTD } from './index-ac59cb10.js';
6
- import { d as dayjsWithPlugins } from './dateValidation-67caec66.js';
7
- import { D as DatePickerInput } from './index-5e722d91.js';
8
- import Button from './Button.js';
9
- import './globalStyling-9c60a159.js';
10
- import { s as styleInject } from './style-inject.es-746bb8ed.js';
11
- import { g as getBrowserDateFormat } from './localization-4ba17032.js';
3
+ import PropTypes from 'prop-types';
4
+ import { c as classnames } from '../index-6ff23041.js';
5
+ import { n as noop, b as isToday, d as isYesterday, e as isThisWeek, g as isLastWeek, h as isThisMonth, j as isLastMonth, l as isLastMonthToDate, m as getLMTD } from '../index-a0e4e333.js';
6
+ import { d as dayjsWithPlugins } from '../dateValidation-67caec66.js';
7
+ import Button from '../Button/index.js';
8
+ import DatePickerInput from '../DatePickerInput/index.js';
9
+ import { s as styleInject } from '../style-inject.es-746bb8ed.js';
10
+ import { g as getBrowserDateFormat } from '../localization-4ba17032.js';
12
11
  import 'react-dom';
13
- import './_commonjsHelpers-24198af3.js';
14
- import './configs-91c86664.js';
15
- import './useKeyDown-38102ae7.js';
16
- import './useDeviceType-dd51db38.js';
17
- import './useWindowSize-80369d76.js';
18
- import './index-702bf24a.js';
19
- import './index-122432cd.js';
20
- import './useClickOutside-5183e396.js';
21
- import './Scrollbar.js';
22
- import './GeneUIProvider.js';
23
- import './debounce-4419bc2f.js';
24
- import './DatePicker.js';
25
- import './guid-8ddf77b3.js';
26
- import './Icon.js';
27
- import './ExtendedInput.js';
28
- import './index-5cea9a7d.js';
29
- import './Tooltip.js';
30
- import './Popover-f4d1cac0.js';
12
+ import '../_commonjsHelpers-24198af3.js';
13
+ import '../Icon/index.js';
14
+ import '../configs-fed6ac34.js';
15
+ import '../hooks/useClick.js';
16
+ import '../hooks/useKeyDown.js';
17
+ import '../hooks/useDeviceType.js';
18
+ import '../hooks/useWindowSize.js';
19
+ import '../PopoverV2/index.js';
20
+ import '../jsx-runtime-57b40d9e.js';
21
+ import '../index-122432cd.js';
22
+ import '../hooks/useClickOutside.js';
23
+ import '../Scrollbar/index.js';
24
+ import '../GeneUIProvider/index.js';
25
+ import '../debounce-4419bc2f.js';
26
+ import '../ExtendedInput/index.js';
27
+ import '../hooks/useEllipsisDetection.js';
28
+ import '../SuggestionList/index.js';
29
+ import '../config-0ca92874.js';
30
+ import '../Tooltip/index.js';
31
+ import '../Popover-f4d1cac0.js';
32
+ import '../DatePicker/index.js';
33
+ import '../guid-8ddf77b3.js';
31
34
 
32
- var css_248z = "[data-gene-ui-version=\"2.11.0\"] .date-filters-holder{align-items:center;display:flex;justify-content:flex-end;width:100%}[data-gene-ui-version=\"2.11.0\"] .date-filters-holder>:not(:last-child){flex-shrink:0}[data-gene-ui-version=\"2.11.0\"] .date-filter-input{margin-inline-start:1rem}html:not([dir=rtl]) .date-filter-input .input-structure{padding-right:0}html[dir=rtl] .date-filter-input .input-structure{padding-left:0}[data-gene-ui-version=\"2.11.0\"] .date-filter-input .icon{border-radius:var(--input-element-border-radius,100%);height:3.6rem;margin:0 0 0 .5rem;width:3.6rem}html[dir=rtl] .date-filter-input .icon{margin:0 .5rem 0 0}[data-gene-ui-version=\"2.11.0\"] .date-filter-input.active .icon{background:var(--hero);color:var(--hero-sc)}[data-gene-ui-version=\"2.11.0\"] .date-filter-input.active .input-element-back{background:#0000;border-color:var(--hero)}";
35
+ var css_248z = "[data-gene-ui-version=\"2.12.1\"] .date-filters-holder{align-items:center;display:flex;justify-content:flex-end;width:100%}[data-gene-ui-version=\"2.12.1\"] .date-filters-holder>:not(:last-child){flex-shrink:0}[data-gene-ui-version=\"2.12.1\"] .date-filter-input{margin-inline-start:1rem}html:not([dir=rtl]) .date-filter-input .input-structure{padding-right:0}html[dir=rtl] .date-filter-input .input-structure{padding-left:0}[data-gene-ui-version=\"2.12.1\"] .date-filter-input .icon{border-radius:var(--input-element-border-radius,100%);height:3.6rem;margin:0 0 0 .5rem;width:3.6rem}html[dir=rtl] .date-filter-input .icon{margin:0 .5rem 0 0}[data-gene-ui-version=\"2.12.1\"] .date-filter-input.active .icon{background:var(--hero);color:var(--hero-sc)}[data-gene-ui-version=\"2.12.1\"] .date-filter-input.active .input-element-back{background:#0000;border-color:var(--hero)}";
33
36
  styleInject(css_248z);
34
37
 
35
38
  function getFilterByKey(key, date) {
@@ -122,12 +125,12 @@ DateFilter.propTypes = {
122
125
  /**
123
126
  * Specify the format of date
124
127
  */
125
- format: propTypesExports.string,
128
+ format: PropTypes.string,
126
129
  /**
127
130
  * Fires when user attempts to change value
128
131
  * (dates: Array) => void
129
132
  */
130
- onChange: propTypesExports.func,
133
+ onChange: PropTypes.func,
131
134
  /**
132
135
  * Controls which filter buttons will be displayed based on filters object existing keys.
133
136
  * For example if you define only `today` property on filters objects
@@ -135,31 +138,31 @@ DateFilter.propTypes = {
135
138
  * Which will change Datefilter value to today.
136
139
  * All filters will be displayed by default.
137
140
  */
138
- filters: propTypesExports.exact({
139
- today: propTypesExports.string,
140
- yesterday: propTypesExports.string,
141
- thisWeek: propTypesExports.string,
142
- lastWeek: propTypesExports.string,
143
- thisMonth: propTypesExports.string,
144
- lastMonth: propTypesExports.string,
145
- LMTD: propTypesExports.string
141
+ filters: PropTypes.exact({
142
+ today: PropTypes.string,
143
+ yesterday: PropTypes.string,
144
+ thisWeek: PropTypes.string,
145
+ lastWeek: PropTypes.string,
146
+ thisMonth: PropTypes.string,
147
+ lastMonth: PropTypes.string,
148
+ LMTD: PropTypes.string
146
149
  }),
147
150
  /**
148
151
  * Current value. Creates a controlled component.
149
152
  */
150
- value: propTypesExports.oneOfType([propTypesExports.arrayOf(propTypesExports.instanceOf(dayjsWithPlugins)), propTypesExports.arrayOf(propTypesExports.instanceOf(Date)), propTypesExports.arrayOf(propTypesExports.string), propTypesExports.arrayOf(propTypesExports.number)]),
153
+ value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.instanceOf(dayjsWithPlugins)), PropTypes.arrayOf(PropTypes.instanceOf(Date)), PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.number)]),
151
154
  /**
152
155
  * Additional classname which applies to datefilter holder div element
153
156
  */
154
- className: propTypesExports.string,
157
+ className: PropTypes.string,
155
158
  /**
156
159
  * Accepts same props as button component (atoms)
157
160
  */
158
- buttonProps: propTypesExports.object,
161
+ buttonProps: PropTypes.object,
159
162
  /**
160
163
  * This props will pass to picker, check DatePicker prop types
161
164
  */
162
- pickerProps: propTypesExports.object
165
+ pickerProps: PropTypes.object
163
166
  };
164
167
  DateFilter.defaultProps = {
165
168
  value: [],