@geneui/components 2.11.2 → 2.12.2

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 (213) hide show
  1. package/{ActionableList.js → ActionableList/index.js} +83 -152
  2. package/{AdvancedSearch.js → AdvancedSearch/index.js} +290 -304
  3. package/Alert/index.js +97 -0
  4. package/Avatar/index.js +30 -0
  5. package/Badge/index.js +75 -0
  6. package/{Breadcrumb.js → Breadcrumb/index.js} +32 -31
  7. package/BusyLoader/index.js +68 -0
  8. package/Button/index.js +129 -0
  9. package/CHANGELOG.md +53 -0
  10. package/{Card.js → Card/index.js} +82 -94
  11. package/{CardList.js → CardList/index.js} +120 -165
  12. package/{CellMeasurerCache-b786dd93.js → CellMeasurerCache-3741d716.js} +2 -2
  13. package/{index-9164a86d.js → Charts/index.js} +17103 -30447
  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} +45 -43
  22. package/{DatePicker.js → DatePicker/index.js} +106 -108
  23. package/{index-0199942c.js → DatePickerInput/index.js} +114 -100
  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} +81 -71
  30. package/Form/index.js +83 -0
  31. package/{FormContainer.js → FormContainer/index.js} +25 -26
  32. package/FormableCheckbox/index.js +26 -0
  33. package/FormableDatePicker/index.js +41 -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/index.js +129 -0
  48. package/ImagePreview/index.js +481 -0
  49. package/{KeyValue.js → KeyValue/index.js} +11 -12
  50. package/LICENSE +21 -0
  51. package/Label/index.js +57 -0
  52. package/LinkButton/index.js +67 -0
  53. package/{Menu.js → Menu/index.js} +27 -28
  54. package/MobileNavigation/index.js +94 -0
  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} +30 -29
  59. package/Notification/index.js +119 -0
  60. package/Option/index.js +184 -0
  61. package/Overlay/index.js +189 -0
  62. package/Overspread/index.js +289 -0
  63. package/{Pagination.js → Pagination/index.js} +35 -34
  64. package/Paper/index.js +96 -0
  65. package/{index-084588e9.js → Popover/index.js} +48 -58
  66. package/PopoverV2/index.js +18 -0
  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/index.js +199 -0
  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-98accead.js → RichEditor-8b0f7ccd.js} +18 -18
  77. package/{Scrollbar.js → Scrollbar/index.js} +15 -17
  78. package/{Search.js → Search/index.js} +25 -24
  79. package/SearchWithDropdown/index.js +138 -0
  80. package/Section/index.js +61 -0
  81. package/{SkeletonLoader.js → SkeletonLoader/index.js} +13 -14
  82. package/{Slider.js → Slider/index.js} +46 -43
  83. package/Status/index.js +103 -0
  84. package/Steps/index.js +313 -0
  85. package/{index-897d8240.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} +131 -168
  89. package/Tabs/index.js +235 -0
  90. package/Tag/index.js +102 -0
  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 +555 -0
  95. package/Timeline/index.js +113 -0
  96. package/Title/index.js +65 -0
  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-135b9d17.js → Uploader/index.js} +119 -116
  101. package/{ValidatableCheckbox.js → ValidatableCheckbox/index.js} +23 -24
  102. package/{ValidatableDatePicker.js → ValidatableDatePicker/index.js} +44 -42
  103. package/ValidatableDropdown/index.js +139 -0
  104. package/ValidatableElements/index.js +65 -0
  105. package/ValidatableMultiSelectDropdown/index.js +150 -0
  106. package/{ValidatableNumberInput.js → ValidatableNumberInput/index.js} +41 -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-8c98317a.js → index-11eea761.js} +678 -752
  135. package/index-2ad83e03.js +4 -0
  136. package/index-34e47647.js +10054 -0
  137. package/index-45eafea6.js +90 -0
  138. package/{index-5e96cb4d.js → index-462461c0.js} +50 -48
  139. package/{index-ac59cb10.js → index-a0e4e333.js} +6 -6
  140. package/{index-e8776f3d.js → index-b1e429a7.js} +1 -1
  141. package/index.d.ts +115 -0
  142. package/index.js +137 -113
  143. package/index.mobile.d.ts +16 -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/Alert.js +0 -98
  154. package/Avatar.js +0 -77
  155. package/Badge.js +0 -76
  156. package/BusyLoader.js +0 -69
  157. package/Button.js +0 -130
  158. package/Charts.js +0 -99
  159. package/ComboBox.js +0 -99
  160. package/Counter.js +0 -99
  161. package/DatePickerInput.js +0 -30
  162. package/Dropdown.js +0 -99
  163. package/Form.js +0 -116
  164. package/FormableCheckbox.js +0 -27
  165. package/FormableDatePicker.js +0 -39
  166. package/FormableDropdown.js +0 -105
  167. package/FormableEditor.js +0 -24
  168. package/FormableMultiSelectDropdown.js +0 -105
  169. package/FormableNumberInput.js +0 -31
  170. package/FormableRadio.js +0 -23
  171. package/FormableSwitcher.js +0 -23
  172. package/FormableTextInput.js +0 -31
  173. package/FormableUploader.js +0 -40
  174. package/GeneUIProvider.js +0 -256
  175. package/Holder.js +0 -99
  176. package/Image.js +0 -130
  177. package/ImagePreview.js +0 -99
  178. package/Label.js +0 -58
  179. package/LinkButton.js +0 -104
  180. package/MobileNavigation.js +0 -95
  181. package/ModuleTitle.js +0 -99
  182. package/Notification.js +0 -120
  183. package/Option.js +0 -186
  184. package/Overlay.js +0 -99
  185. package/Overspread.js +0 -343
  186. package/Paper.js +0 -97
  187. package/Popover.js +0 -20
  188. package/PopoverV2.js +0 -19
  189. package/Profile.js +0 -99
  190. package/Progress.js +0 -200
  191. package/Range.js +0 -14
  192. package/RichEditor.js +0 -13
  193. package/SearchWithDropdown.js +0 -195
  194. package/Section.js +0 -62
  195. package/Status.js +0 -104
  196. package/Steps.js +0 -312
  197. package/SuggestionList.js +0 -15
  198. package/Table.js +0 -102
  199. package/Tabs.js +0 -236
  200. package/Tag.js +0 -103
  201. package/TimePicker.js +0 -99
  202. package/Timeline.js +0 -114
  203. package/Title.js +0 -66
  204. package/Uploader.js +0 -32
  205. package/ValidatableDropdown.js +0 -99
  206. package/ValidatableElements.js +0 -99
  207. package/ValidatableMultiSelectDropdown.js +0 -99
  208. package/Widget.js +0 -99
  209. package/globalStyling-9c60a159.js +0 -4
  210. package/index-2030e31c.js +0 -4
  211. package/index-b7a33c58.js +0 -11
  212. package/index-e0af0caf.js +0 -1182
  213. 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.2\"] .counter{width:100%}[data-gene-ui-version=\"2.12.2\"] .counter.s-small{--height:2.4rem;--width:var(--height);min-width:8rem}[data-gene-ui-version=\"2.12.2\"] .counter.s-medium{--height:3.6rem;--width:var(--height);min-width:12rem}[data-gene-ui-version=\"2.12.2\"] .counter.s-big{--height:4.2rem;--width:var(--height);min-width:14rem}[data-gene-ui-version=\"2.12.2\"] .counter.r-round .react-loading-skeleton{border-radius:4.2rem}[data-gene-ui-version=\"2.12.2\"] .counter.r-smooth .react-loading-skeleton{border-radius:.4rem}[data-gene-ui-version=\"2.12.2\"] .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.2\"] .counter__wrapper{display:flex;gap:.4rem;height:var(--height)}[data-gene-ui-version=\"2.12.2\"] .counter__input{opacity:1!important}[data-gene-ui-version=\"2.12.2\"] .counter__input-holder{display:flex;min-width:var(---width);overflow:hidden;width:100%}[data-gene-ui-version=\"2.12.2\"] .counter__input-holder .react-loading-skeleton{height:var(--height)!important}[data-gene-ui-version=\"2.12.2\"] .counter__input .input-structure{padding:0}[data-gene-ui-version=\"2.12.2\"] .counter__input .input-element{justify-content:center;max-height:var(--height);min-height:var(--height);text-align:center}[data-gene-ui-version=\"2.12.2\"] .counter__input .input-element:disabled{color:rgba(var(--background-sc-rgb),.5)}[data-gene-ui-version=\"2.12.2\"] .counter__button{height:100%;min-height:100%;min-width:var(--width);width:var(--width)}[data-gene-ui-version=\"2.12.2\"] .counter__button .btn{max-height:100%;max-width:100%;min-height:100%;min-width:100%}[data-gene-ui-version=\"2.12.2\"] .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,37 @@
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-0199942c.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-5e96cb4d.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-897d8240.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 '../index-462461c0.js';
20
+ import '../index-122432cd.js';
21
+ import '../hooks/useClickOutside.js';
22
+ import '../Scrollbar/index.js';
23
+ import '../GeneUIProvider/index.js';
24
+ import '../debounce-4419bc2f.js';
25
+ import '../ExtendedInput/index.js';
26
+ import '../hooks/useEllipsisDetection.js';
27
+ import '../SuggestionList/index.js';
28
+ import '../config-0ca92874.js';
29
+ import '../Tooltip/index.js';
30
+ import '../Popover-f4d1cac0.js';
31
+ import '../DatePicker/index.js';
32
+ import '../guid-8ddf77b3.js';
31
33
 
32
- var css_248z = "[data-gene-ui-version=\"1.0.0\"] .date-filters-holder{align-items:center;display:flex;justify-content:flex-end;width:100%}[data-gene-ui-version=\"1.0.0\"] .date-filters-holder>:not(:last-child){flex-shrink:0}[data-gene-ui-version=\"1.0.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=\"1.0.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=\"1.0.0\"] .date-filter-input.active .icon{background:var(--hero);color:var(--hero-sc)}[data-gene-ui-version=\"1.0.0\"] .date-filter-input.active .input-element-back{background:#0000;border-color:var(--hero)}";
34
+ var css_248z = "[data-gene-ui-version=\"2.12.2\"] .date-filters-holder{align-items:center;display:flex;justify-content:flex-end;width:100%}[data-gene-ui-version=\"2.12.2\"] .date-filters-holder>:not(:last-child){flex-shrink:0}[data-gene-ui-version=\"2.12.2\"] .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.2\"] .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.2\"] .date-filter-input.active .icon{background:var(--hero);color:var(--hero-sc)}[data-gene-ui-version=\"2.12.2\"] .date-filter-input.active .input-element-back{background:#0000;border-color:var(--hero)}";
33
35
  styleInject(css_248z);
34
36
 
35
37
  function getFilterByKey(key, date) {
@@ -122,12 +124,12 @@ DateFilter.propTypes = {
122
124
  /**
123
125
  * Specify the format of date
124
126
  */
125
- format: propTypesExports.string,
127
+ format: PropTypes.string,
126
128
  /**
127
129
  * Fires when user attempts to change value
128
130
  * (dates: Array) => void
129
131
  */
130
- onChange: propTypesExports.func,
132
+ onChange: PropTypes.func,
131
133
  /**
132
134
  * Controls which filter buttons will be displayed based on filters object existing keys.
133
135
  * For example if you define only `today` property on filters objects
@@ -135,31 +137,31 @@ DateFilter.propTypes = {
135
137
  * Which will change Datefilter value to today.
136
138
  * All filters will be displayed by default.
137
139
  */
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
140
+ filters: PropTypes.exact({
141
+ today: PropTypes.string,
142
+ yesterday: PropTypes.string,
143
+ thisWeek: PropTypes.string,
144
+ lastWeek: PropTypes.string,
145
+ thisMonth: PropTypes.string,
146
+ lastMonth: PropTypes.string,
147
+ LMTD: PropTypes.string
146
148
  }),
147
149
  /**
148
150
  * Current value. Creates a controlled component.
149
151
  */
150
- value: propTypesExports.oneOfType([propTypesExports.arrayOf(propTypesExports.instanceOf(dayjsWithPlugins)), propTypesExports.arrayOf(propTypesExports.instanceOf(Date)), propTypesExports.arrayOf(propTypesExports.string), propTypesExports.arrayOf(propTypesExports.number)]),
152
+ value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.instanceOf(dayjsWithPlugins)), PropTypes.arrayOf(PropTypes.instanceOf(Date)), PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.number)]),
151
153
  /**
152
154
  * Additional classname which applies to datefilter holder div element
153
155
  */
154
- className: propTypesExports.string,
156
+ className: PropTypes.string,
155
157
  /**
156
158
  * Accepts same props as button component (atoms)
157
159
  */
158
- buttonProps: propTypesExports.object,
160
+ buttonProps: PropTypes.object,
159
161
  /**
160
162
  * This props will pass to picker, check DatePicker prop types
161
163
  */
162
- pickerProps: propTypesExports.object
164
+ pickerProps: PropTypes.object
163
165
  };
164
166
  DateFilter.defaultProps = {
165
167
  value: [],