@geneui/components 3.0.0-next-9ffcb93-16102024 → 3.0.0-next-48d0ef7-31102024

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 (248) hide show
  1. package/Avatar.js +63 -0
  2. package/CHANGELOG.md +7 -0
  3. package/Divider.js +23 -0
  4. package/{GeneUIProvider/index.js → GeneUIProvider.js} +52 -65
  5. package/HelperText.js +69 -0
  6. package/Info.js +64 -0
  7. package/Label.js +38 -0
  8. package/Loader.js +21 -0
  9. package/Pill.js +64 -0
  10. package/TextLink.js +20 -0
  11. package/{index-65217440.js → Tooltip.js} +104 -80
  12. package/{lib → components}/atoms/Avatar/Avatar.d.ts +7 -6
  13. package/components/atoms/Avatar/index.d.ts +1 -0
  14. package/{lib → components}/atoms/Divider/Divider.d.ts +5 -5
  15. package/components/atoms/Divider/index.d.ts +1 -0
  16. package/{lib → components}/atoms/HelperText/HelperText.d.ts +6 -5
  17. package/components/atoms/HelperText/index.d.ts +1 -0
  18. package/{lib → components}/atoms/Info/Info.d.ts +5 -5
  19. package/components/atoms/Info/index.d.ts +1 -0
  20. package/{lib → components}/atoms/Label/Label.d.ts +3 -3
  21. package/components/atoms/Label/index.d.ts +1 -0
  22. package/{lib → components}/atoms/Loader/Loader.d.ts +5 -5
  23. package/components/atoms/Loader/index.d.ts +1 -0
  24. package/{lib → components}/atoms/Pill/Pill.d.ts +7 -6
  25. package/components/atoms/Pill/index.d.ts +1 -0
  26. package/{lib → components}/atoms/TextLink/TextLink.d.ts +5 -5
  27. package/components/atoms/TextLink/index.d.ts +1 -0
  28. package/{lib → components}/molecules/Tooltip/Tooltip.d.ts +26 -21
  29. package/components/molecules/Tooltip/index.d.ts +1 -0
  30. package/components/providers/GeneUIProvider/GeneUIProvider.d.ts +30 -0
  31. package/components/providers/GeneUIProvider/index.d.ts +1 -0
  32. package/hooks/index.d.ts +2 -20
  33. package/hooks/useDebounceCallback/index.d.ts +1 -0
  34. package/hooks/useDebounceCallback/useDebounceCallback.d.ts +2 -0
  35. package/hooks/useEllipsisDetection/index.d.ts +1 -1
  36. package/hooks/useEllipsisDetection/useEllipsisDetection.d.ts +2 -2
  37. package/{index-031ff73c.js → index-ce02421b.js} +4 -4
  38. package/index.d.ts +11 -121
  39. package/index.js +12 -159
  40. package/package.json +24 -43
  41. package/tokens-0abb4e1b.js +6 -0
  42. package/types/index.d.ts +0 -3
  43. package/useEllipsisDetection-46d712b6.js +34 -0
  44. package/ActionableList/index.js +0 -1694
  45. package/AdvancedSearch/index.js +0 -892
  46. package/Alert/index.js +0 -98
  47. package/Avatar/index.js +0 -58
  48. package/Badge/index.js +0 -29
  49. package/Breadcrumb/index.js +0 -130
  50. package/BusyLoader/index.js +0 -31
  51. package/Button/index.js +0 -30
  52. package/Card/index.js +0 -502
  53. package/CardList/index.js +0 -662
  54. package/CellMeasurerCache-80be385d.js +0 -229
  55. package/Charts/index.js +0 -17662
  56. package/Checkbox/index.js +0 -229
  57. package/CheckboxGroup/index.js +0 -203
  58. package/CheckboxGroupWithSearch/index.js +0 -280
  59. package/Collapse/index.js +0 -195
  60. package/ColorPicker/index.js +0 -210
  61. package/ComboBox/index.js +0 -524
  62. package/Copy/index.js +0 -56
  63. package/Counter/index.js +0 -312
  64. package/DateFilter/index.js +0 -183
  65. package/DatePicker/index.js +0 -1229
  66. package/DatePickerInput/index.js +0 -883
  67. package/Divider/index.js +0 -23
  68. package/Drawer/index.js +0 -261
  69. package/Dropdown/index.js +0 -43
  70. package/Editor/index.js +0 -22975
  71. package/Empty/index.js +0 -76
  72. package/ExtendedInput/index.js +0 -590
  73. package/Form/index.js +0 -85
  74. package/FormContainer/index.js +0 -189
  75. package/FormableCheckbox/index.js +0 -24
  76. package/FormableDatePicker/index.js +0 -43
  77. package/FormableDropdown/index.js +0 -50
  78. package/FormableEditor/index.js +0 -26
  79. package/FormableHOC-85f89a81.js +0 -83
  80. package/FormableMultiSelectDropdown/index.js +0 -50
  81. package/FormableNumberInput/index.js +0 -34
  82. package/FormableRadio/index.js +0 -22
  83. package/FormableSwitcher/index.js +0 -22
  84. package/FormableTextInput/index.js +0 -34
  85. package/FormableUploader/index.js +0 -44
  86. package/Grid/index.js +0 -167
  87. package/HelperText/index.js +0 -86
  88. package/Holder/index.js +0 -261
  89. package/Icon/index.js +0 -62
  90. package/Image/index.js +0 -45
  91. package/ImagePreview/index.js +0 -217
  92. package/Info/index.js +0 -41
  93. package/InfoOutline-dd2e89d9.js +0 -29
  94. package/InteractiveWidget/index.js +0 -78
  95. package/KeyValue/index.js +0 -22
  96. package/Label/index.js +0 -48
  97. package/LinkButton/index.js +0 -34
  98. package/Loader/index.js +0 -23
  99. package/Menu/index.js +0 -281
  100. package/MobileNavigation/index.js +0 -94
  101. package/MobilePopup/index.js +0 -182
  102. package/Modal/index.js +0 -251
  103. package/ModuleTitle/index.js +0 -141
  104. package/NavigationMenu/index.js +0 -222
  105. package/Notification/index.js +0 -120
  106. package/Option/index.js +0 -184
  107. package/Overlay/index.js +0 -187
  108. package/Overspread/index.js +0 -291
  109. package/Pagination/index.js +0 -261
  110. package/Paper/index.js +0 -96
  111. package/Pill/index.js +0 -67
  112. package/Popover/index.js +0 -725
  113. package/PopoverV2/index.js +0 -19
  114. package/Portal/index.js +0 -58
  115. package/Products/index.js +0 -115
  116. package/Profile/index.js +0 -589
  117. package/Progress/index.js +0 -200
  118. package/QRCode/index.js +0 -814
  119. package/Radio/index.js +0 -151
  120. package/RadioGroup/index.js +0 -104
  121. package/Range/index.js +0 -191
  122. package/Rating/index.js +0 -174
  123. package/RichEditor/index.js +0 -13
  124. package/RichEditor-78c2617e.js +0 -228
  125. package/Scrollbar/index.js +0 -1585
  126. package/Search/index.js +0 -75
  127. package/SearchWithDropdown/index.js +0 -140
  128. package/Section/index.js +0 -61
  129. package/SkeletonLoader/index.js +0 -81
  130. package/Slider/index.js +0 -261
  131. package/Status/index.js +0 -97
  132. package/Steps/index.js +0 -314
  133. package/SuggestionList/index.js +0 -385
  134. package/Switcher/index.js +0 -193
  135. package/Table/index.js +0 -57
  136. package/TableCompositions/index.js +0 -16995
  137. package/Tabs/index.js +0 -235
  138. package/Tag/index.js +0 -102
  139. package/TextLink/index.js +0 -20
  140. package/Textarea/index.js +0 -242
  141. package/Time/index.js +0 -62
  142. package/TimePicker/index.js +0 -575
  143. package/Timeline/index.js +0 -113
  144. package/Title/index.js +0 -65
  145. package/Toaster/index.js +0 -116
  146. package/Tooltip/index.js +0 -6
  147. package/TransferList/index.js +0 -493
  148. package/Uploader/index.js +0 -992
  149. package/ValidatableCheckbox/index.js +0 -123
  150. package/ValidatableDatePicker/index.js +0 -316
  151. package/ValidatableDropdown/index.js +0 -141
  152. package/ValidatableElements/index.js +0 -67
  153. package/ValidatableMultiSelectDropdown/index.js +0 -152
  154. package/ValidatableNumberInput/index.js +0 -204
  155. package/ValidatableRadio/index.js +0 -116
  156. package/ValidatableSwitcher/index.js +0 -93
  157. package/ValidatableTextInput/index.js +0 -167
  158. package/ValidatableTimeInput/index.js +0 -174
  159. package/ValidatableUploader/index.js +0 -98
  160. package/Widget/index.js +0 -225
  161. package/_commonjsHelpers-24198af3.js +0 -35
  162. package/_rollupPluginBabelHelpers-a83240e1.js +0 -11
  163. package/callAfterDelay-7272faca.js +0 -12
  164. package/checkTimeValidation-e56771be.js +0 -16
  165. package/checkboxRadioSwitcher-5b69d7bd.js +0 -4
  166. package/clsx.m-2bb6df4b.js +0 -3
  167. package/config-1053d64d.js +0 -20
  168. package/configs-00612ce0.js +0 -103
  169. package/configs.js +0 -111
  170. package/dateValidation-67caec66.js +0 -225
  171. package/debounce-4419bc2f.js +0 -17
  172. package/guid-8ddf77b3.js +0 -16
  173. package/hooks/useBodyScroll.js +0 -16
  174. package/hooks/useClick.js +0 -18
  175. package/hooks/useClickOutside.js +0 -25
  176. package/hooks/useDebounce.js +0 -28
  177. package/hooks/useDeviceType.js +0 -17
  178. package/hooks/useDidMount.js +0 -15
  179. package/hooks/useForceUpdate.js +0 -8
  180. package/hooks/useHover.js +0 -20
  181. package/hooks/useImgDownload.js +0 -18
  182. package/hooks/useKeyDown.js +0 -21
  183. package/hooks/useMount.js +0 -13
  184. package/hooks/useMutationObserver.js +0 -21
  185. package/hooks/usePrevious.js +0 -10
  186. package/hooks/useThrottle.js +0 -16
  187. package/hooks/useToggle.js +0 -11
  188. package/hooks/useUpdatableRef.js +0 -14
  189. package/hooks/useUpdate.js +0 -10
  190. package/hooks/useWidth.js +0 -16
  191. package/hooks/useWindowSize.js +0 -40
  192. package/index-122432cd.js +0 -270
  193. package/index-262edd7a.js +0 -77
  194. package/index-2f5aa51e.js +0 -6483
  195. package/index-370f9acd.js +0 -4
  196. package/index-45eafea6.js +0 -90
  197. package/index-480fd7d9.js +0 -10032
  198. package/index-5f37f281.js +0 -168
  199. package/index-73aaa093.js +0 -1940
  200. package/index.mobile.d.ts +0 -14
  201. package/lib/atoms/Avatar/index.d.ts +0 -1
  202. package/lib/atoms/Badge/Badge.d.ts +0 -36
  203. package/lib/atoms/Badge/index.d.ts +0 -1
  204. package/lib/atoms/BusyLoader/BusyLoader.d.ts +0 -32
  205. package/lib/atoms/BusyLoader/BusyLoaderHolderHOC.d.ts +0 -8
  206. package/lib/atoms/BusyLoader/index.d.ts +0 -1
  207. package/lib/atoms/Button/Button.d.ts +0 -70
  208. package/lib/atoms/Button/index.d.ts +0 -1
  209. package/lib/atoms/Divider/index.d.ts +0 -1
  210. package/lib/atoms/Empty/Empty.d.ts +0 -39
  211. package/lib/atoms/Empty/index.d.ts +0 -1
  212. package/lib/atoms/Empty/utils.d.ts +0 -9
  213. package/lib/atoms/HelperText/index.d.ts +0 -1
  214. package/lib/atoms/Image/Image.d.ts +0 -51
  215. package/lib/atoms/Image/index.d.ts +0 -1
  216. package/lib/atoms/ImagePreview/ImagePreview.d.ts +0 -56
  217. package/lib/atoms/ImagePreview/ImagePreviewHOC.d.ts +0 -4
  218. package/lib/atoms/ImagePreview/Magnifier.d.ts +0 -40
  219. package/lib/atoms/ImagePreview/index.d.ts +0 -1
  220. package/lib/atoms/Info/index.d.ts +0 -1
  221. package/lib/atoms/KeyValue/KeyValue.d.ts +0 -29
  222. package/lib/atoms/KeyValue/index.d.ts +0 -1
  223. package/lib/atoms/Label/index.d.ts +0 -1
  224. package/lib/atoms/LinkButton/LinkButton.d.ts +0 -46
  225. package/lib/atoms/LinkButton/index.d.ts +0 -1
  226. package/lib/atoms/Loader/index.d.ts +0 -1
  227. package/lib/atoms/Pill/index.d.ts +0 -1
  228. package/lib/atoms/Rating/DefaultSvg.d.ts +0 -3
  229. package/lib/atoms/Rating/Rating.d.ts +0 -49
  230. package/lib/atoms/Rating/index.d.ts +0 -1
  231. package/lib/atoms/TextLink/index.d.ts +0 -1
  232. package/lib/molecules/Copy/Copy.d.ts +0 -38
  233. package/lib/molecules/Copy/index.d.ts +0 -1
  234. package/lib/molecules/InteractiveWidget/InteractiveWidget.d.ts +0 -70
  235. package/lib/molecules/InteractiveWidget/InteractiveWidgetIcon.d.ts +0 -8
  236. package/lib/molecules/InteractiveWidget/index.d.ts +0 -1
  237. package/lib/molecules/Tooltip/index.d.ts +0 -1
  238. package/lib/providers/GeneUIProvider/GeneUIProvider.d.ts +0 -30
  239. package/lib/providers/GeneUIProvider/index.d.ts +0 -1
  240. package/localization-4ba17032.js +0 -46
  241. package/objectWithoutPropertiesLoose-e1596bdb.js +0 -62
  242. package/rangeAndSlider-693a3d41.js +0 -8684
  243. package/react-beautiful-dnd.esm-b637016a.js +0 -10116
  244. package/react-lifecycles-compat.es-6e1f3768.js +0 -158
  245. package/redux-e591c1b8.js +0 -536
  246. package/tokens-8ab1179c.js +0 -6
  247. package/tslib.es6-f211516f.js +0 -35
  248. package/useEllipsisDetection-c1c9ad94.js +0 -38
package/Counter/index.js DELETED
@@ -1,312 +0,0 @@
1
- import React__default, { useRef, useState, useEffect, useMemo, useCallback } from 'react';
2
- import { c as classnames } from '../index-031ff73c.js';
3
- import PropTypes from 'prop-types';
4
- import { n as noop, s as stopEvent } from '../index-5f37f281.js';
5
- import useKeyDown from '../hooks/useKeyDown.js';
6
- import '../configs-00612ce0.js';
7
- import Button from '../Button/index.js';
8
- import Label from '../Label/index.js';
9
- import SkeletonLoader from '../SkeletonLoader/index.js';
10
- import { T as Tooltip } from '../index-65217440.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 '../tslib.es6-f211516f.js';
17
- import '../Icon/index.js';
18
- import '../_rollupPluginBabelHelpers-a83240e1.js';
19
- import '../InfoOutline-dd2e89d9.js';
20
- import '../ArrowLeft-b88e2ba8.js';
21
- import '../useEllipsisDetection-c1c9ad94.js';
22
- import '../hooks/useDebounce.js';
23
- import '../GeneUIProvider/index.js';
24
- import '../hooks/useDeviceType.js';
25
- import '../hooks/useWindowSize.js';
26
- import '../SuggestionList/index.js';
27
- import '../hooks/useClickOutside.js';
28
- import '../config-1053d64d.js';
29
- import '../Scrollbar/index.js';
30
- import '../callAfterDelay-7272faca.js';
31
-
32
- var css_248z = "[data-gene-ui-version=\"2.16.3\"] .counter{width:100%}[data-gene-ui-version=\"2.16.3\"] .counter.s-small{--height:2.4rem;--width:var(--height);min-width:8rem}[data-gene-ui-version=\"2.16.3\"] .counter.s-medium{--height:3.6rem;--width:var(--height);min-width:12rem}[data-gene-ui-version=\"2.16.3\"] .counter.s-big{--height:4.2rem;--width:var(--height);min-width:14rem}[data-gene-ui-version=\"2.16.3\"] .counter.r-round .react-loading-skeleton{border-radius:4.2rem}[data-gene-ui-version=\"2.16.3\"] .counter.r-smooth .react-loading-skeleton{border-radius:.4rem}[data-gene-ui-version=\"2.16.3\"] .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.16.3\"] .counter__wrapper{display:flex;gap:.4rem;height:var(--height)}[data-gene-ui-version=\"2.16.3\"] .counter__input{opacity:1!important}[data-gene-ui-version=\"2.16.3\"] .counter__input-holder{display:flex;min-width:var(---width);overflow:hidden;width:100%}[data-gene-ui-version=\"2.16.3\"] .counter__input-holder .react-loading-skeleton{height:var(--height)!important}[data-gene-ui-version=\"2.16.3\"] .counter__input .input-structure{padding:0}[data-gene-ui-version=\"2.16.3\"] .counter__input .input-element{justify-content:center;max-height:var(--height);min-height:var(--height);text-align:center}[data-gene-ui-version=\"2.16.3\"] .counter__input .input-element:disabled{color:rgba(var(--background-sc-rgb),.5)}[data-gene-ui-version=\"2.16.3\"] .counter__button{height:100%;min-height:100%;min-width:var(--width);width:var(--width)}[data-gene-ui-version=\"2.16.3\"] .counter__button .btn{max-height:100%;max-width:100%;min-height:100%;min-width:100%}[data-gene-ui-version=\"2.16.3\"] .counter__button .skeleton-holder .react-loading-skeleton{height:var(--height)!important;width:var(--width)}";
33
- styleInject(css_248z);
34
-
35
- const keyDownKeys = {
36
- arrowUp: 'ArrowUp',
37
- arrowDown: 'ArrowDown'
38
- };
39
- const inputRadiusMap = {
40
- round: 'full-radius',
41
- smooth: 'smooth-radius'
42
- };
43
- function Counter(_ref) {
44
- let {
45
- minusTooltipText,
46
- plusTooltipText,
47
- inputReadOnly,
48
- defaultValue,
49
- cornerRadius,
50
- isLoading,
51
- className,
52
- minValue,
53
- maxValue,
54
- readOnly,
55
- disabled,
56
- onChange,
57
- label,
58
- value,
59
- width,
60
- size,
61
- step
62
- } = _ref;
63
- const ref = useRef();
64
- const inputRef = useRef();
65
- const [showInputTooltip, setShowInputTooltip] = useState(false);
66
- const [isTruncated, setIsTruncated] = useState(false);
67
- const [data, setData] = useState(defaultValue || 0);
68
- const [counterStep, setCounterStep] = useState(step);
69
- useEffect(() => setCounterStep(step), [step]);
70
- const isMinMaxWrong = useMemo(() => minValue >= maxValue, [minValue, maxValue]);
71
- const isControlled = useMemo(() => value === 0 || !!value, [value]);
72
- const modifiedSize = useMemo(() => typeof width === 'number' ? "".concat(width, "px") : width, [width]);
73
- const isDisableMinus = useMemo(() => +data === minValue, [minValue, data]);
74
- const isDisablePlus = useMemo(() => +data === maxValue, [maxValue, data]);
75
- const isMinValue = useMemo(() => minValue !== undefined, [minValue]);
76
- const isMaxValue = useMemo(() => maxValue !== undefined, [maxValue]);
77
- useEffect(() => {
78
- if (typeof defaultValue === 'number' && defaultValue <= maxValue && defaultValue >= minValue) {
79
- return setData(defaultValue);
80
- }
81
- if (typeof minValue === 'number' && minValue > defaultValue) {
82
- return setData(minValue);
83
- }
84
- }, [minValue, defaultValue, maxValue]);
85
- useEffect(() => {
86
- isControlled && setData(value);
87
- }, [value]);
88
- const setNewValue = useCallback(val => {
89
- !isControlled && setData(eventState => (+eventState + +val).toString());
90
- onChange((+data + +val).toString());
91
- }, [isControlled, data]);
92
- const setValueToMin = useCallback(() => {
93
- !isControlled && setData(minValue === null || minValue === void 0 ? void 0 : minValue.toString());
94
- onChange(minValue === null || minValue === void 0 ? void 0 : minValue.toString());
95
- }, [isControlled, minValue]);
96
- const setValueToMax = useCallback(() => {
97
- !isControlled && setData(maxValue === null || maxValue === void 0 ? void 0 : maxValue.toString());
98
- onChange(maxValue === null || maxValue === void 0 ? void 0 : maxValue.toString());
99
- }, [isControlled, maxValue]);
100
- const handleChange = useCallback(val => {
101
- if (isMinValue && isMaxValue) {
102
- if (+data <= maxValue && +data >= minValue && +val + +data <= maxValue && +val + +data >= minValue || val === '-') {
103
- setNewValue(val);
104
- } else if (+val + +data > maxValue) {
105
- setValueToMax();
106
- } else if (+val + +data < minValue) {
107
- setValueToMin();
108
- }
109
- } else if (isMaxValue && +data <= maxValue || val === '-') {
110
- if (+val + +data <= maxValue) {
111
- setNewValue(val);
112
- } else {
113
- setValueToMax();
114
- }
115
- } else if (isMinValue && +data >= minValue || val === '-') {
116
- if (+val + +data >= minValue) {
117
- setNewValue(val);
118
- } else {
119
- setValueToMin();
120
- }
121
- } else {
122
- setNewValue(val);
123
- }
124
- }, [data, isControlled]);
125
- const setNewInputValue = useCallback(value => {
126
- !isControlled && setData(value.trim());
127
- !isNaN(+value) && onChange(value);
128
- }, [isControlled]);
129
- const handleInputChange = useCallback(_ref2 => {
130
- let {
131
- target: {
132
- value
133
- }
134
- } = _ref2;
135
- if (isMinValue && isMaxValue) {
136
- if (+value <= maxValue && +value >= minValue || value === '-') {
137
- setNewInputValue(value);
138
- }
139
- } else if (isMaxValue) {
140
- if (+value <= maxValue) {
141
- setNewInputValue(value);
142
- } else if (value === '-') {
143
- setNewInputValue(value);
144
- }
145
- } else if (isMinValue) {
146
- if (+value >= minValue) {
147
- setNewInputValue(value);
148
- } else if (value === '-') {
149
- setNewInputValue(value);
150
- }
151
- } else {
152
- setNewInputValue(value);
153
- }
154
- }, [maxValue, minValue]);
155
- useKeyDown(e => {
156
- stopEvent(e, true);
157
- if (e.key === keyDownKeys.arrowUp && !isDisablePlus) {
158
- handleChange(counterStep);
159
- }
160
- if (e.key === keyDownKeys.arrowDown && !isDisableMinus) {
161
- handleChange(-counterStep);
162
- }
163
- }, [handleChange], ref, [keyDownKeys.arrowUp, keyDownKeys.arrowDown]);
164
- useEffect(() => {
165
- var _inputRef$current, _inputRef$current2;
166
- 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)) {
167
- !isTruncated && setIsTruncated(true);
168
- } else {
169
- isTruncated && setIsTruncated(false);
170
- }
171
- }, [data]);
172
- return /*#__PURE__*/React__default.createElement("div", {
173
- ref: ref,
174
- style: {
175
- maxWidth: modifiedSize
176
- },
177
- onMouseOver: () => isTruncated && setShowInputTooltip(true),
178
- onMouseLeave: () => isTruncated && setShowInputTooltip(false),
179
- className: classnames('counter', className, "s-".concat(size), "r-".concat(cornerRadius))
180
- }, label && /*#__PURE__*/React__default.createElement(Label, {
181
- size: "medium",
182
- labelText: label
183
- }), /*#__PURE__*/React__default.createElement("div", {
184
- className: "counter__wrapper"
185
- }, !readOnly && /*#__PURE__*/React__default.createElement(Tooltip, {
186
- title: isDisableMinus && !isLoading ? minusTooltipText : ''
187
- }, /*#__PURE__*/React__default.createElement("div", {
188
- className: "counter__button counter__button-minus"
189
- }, isLoading ? /*#__PURE__*/React__default.createElement(SkeletonLoader, {
190
- isBusy: isLoading
191
- }) : /*#__PURE__*/React__default.createElement(Button, {
192
- icon: isLoading ? 'bc-icon-loader' : 'bc-icon-minus',
193
- disabled: isMinMaxWrong || isDisableMinus || disabled,
194
- cornerRadius: cornerRadius,
195
- onClick: () => handleChange(-counterStep)
196
- }))), /*#__PURE__*/React__default.createElement(Tooltip, {
197
- alwaysShow: showInputTooltip,
198
- title: isTruncated ? data : ''
199
- }, /*#__PURE__*/React__default.createElement("div", {
200
- className: "counter__input-holder"
201
- }, isLoading ? /*#__PURE__*/React__default.createElement(SkeletonLoader, {
202
- isBusy: isLoading
203
- }) : /*#__PURE__*/React__default.createElement(ExtendedInput, {
204
- ref: inputRef,
205
- className: "counter__input",
206
- disabled: isMinMaxWrong || disabled || isLoading,
207
- cornerRadius: inputRadiusMap[cornerRadius],
208
- onChange: handleInputChange,
209
- showNumberIcon: false,
210
- readOnly: readOnly || inputReadOnly,
211
- type: "number",
212
- value: data
213
- }))), !readOnly && /*#__PURE__*/React__default.createElement(Tooltip, {
214
- title: isDisablePlus && !isLoading ? plusTooltipText : ''
215
- }, /*#__PURE__*/React__default.createElement("div", {
216
- className: "counter__button counter__button-plus"
217
- }, isLoading ? /*#__PURE__*/React__default.createElement(SkeletonLoader, {
218
- isBusy: isLoading
219
- }) : /*#__PURE__*/React__default.createElement(Button, {
220
- icon: isLoading ? 'bc-icon-loader' : 'bc-icon-plus',
221
- disabled: isMinMaxWrong || isDisablePlus || disabled,
222
- cornerRadius: cornerRadius,
223
- onClick: () => handleChange(counterStep)
224
- })))));
225
- }
226
- const CounterConfig = {
227
- size: ['small', 'medium', 'big'],
228
- cornerRadius: ['round', 'smooth']
229
- };
230
- Counter.propTypes = {
231
- /**
232
- * Additional className
233
- */
234
- className: PropTypes.string,
235
- /**
236
- * counter will become disabled when set to "true"
237
- */
238
- disabled: PropTypes.bool,
239
- /**
240
- * counter input will become readonly when set to "true"
241
- */
242
- inputReadOnly: PropTypes.bool,
243
- /**
244
- * Label for 'counter'.
245
- */
246
- label: PropTypes.string,
247
- /**
248
- * onChange function which returns callBack if there is a change
249
- */
250
- onChange: PropTypes.func,
251
- /**
252
- * Use this prop to control counter state. Note that when you specify this prop, the counter will not functionate itself
253
- */
254
- value: PropTypes.number,
255
- /**
256
- * This prop will only applied once as defaultState for "value" when counter mounts.
257
- * Note that specifying this prop is not mean controlling it.
258
- */
259
- defaultValue: PropTypes.number,
260
- /**
261
- * Is loading state.
262
- */
263
- isLoading: PropTypes.bool,
264
- /**
265
- * counter size, if the set value is number default use px
266
- */
267
- width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
268
- /**
269
- * counter size
270
- */
271
- size: PropTypes.oneOf(CounterConfig.size),
272
- /**
273
- * counter corner radius
274
- */
275
- cornerRadius: PropTypes.oneOf(CounterConfig.cornerRadius),
276
- /**
277
- * minus tooltip text
278
- */
279
- minusTooltipText: PropTypes.string,
280
- /**
281
- * plus tooltip text
282
- */
283
- plusTooltipText: PropTypes.string,
284
- /**
285
- * Counter minimum value
286
- */
287
- minValue: PropTypes.number,
288
- /**
289
- * Counter maximum value
290
- */
291
- maxValue: PropTypes.number,
292
- /**
293
- * Counter step value
294
- */
295
- step: PropTypes.number
296
- };
297
- Counter.defaultProps = {
298
- cornerRadius: CounterConfig.cornerRadius[0],
299
- size: CounterConfig.size[1],
300
- minusTooltipText: '',
301
- inputReadOnly: false,
302
- plusTooltipText: '',
303
- isLoading: false,
304
- disabled: false,
305
- readOnly: false,
306
- onChange: noop,
307
- width: '100px',
308
- label: '',
309
- step: 1
310
- };
311
-
312
- export { Counter as default };
@@ -1,183 +0,0 @@
1
- import { _ as _extends } from '../_rollupPluginBabelHelpers-a83240e1.js';
2
- import React__default, { useState, useCallback } from 'react';
3
- import PropTypes from 'prop-types';
4
- import { c as classnames } from '../index-031ff73c.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-5f37f281.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';
11
- import 'react-dom';
12
- import '../_commonjsHelpers-24198af3.js';
13
- import '../tslib.es6-f211516f.js';
14
- import '../Icon/index.js';
15
- import '../configs-00612ce0.js';
16
- import '../hooks/useClick.js';
17
- import '../hooks/useKeyDown.js';
18
- import '../hooks/useDeviceType.js';
19
- import '../hooks/useWindowSize.js';
20
- import '../hooks/useDebounce.js';
21
- import '../index-73aaa093.js';
22
- import '../index-122432cd.js';
23
- import '../hooks/useClickOutside.js';
24
- import '../Scrollbar/index.js';
25
- import '../GeneUIProvider/index.js';
26
- import '../debounce-4419bc2f.js';
27
- import '../ExtendedInput/index.js';
28
- import '../useEllipsisDetection-c1c9ad94.js';
29
- import '../SuggestionList/index.js';
30
- import '../config-1053d64d.js';
31
- import '../callAfterDelay-7272faca.js';
32
- import '../index-65217440.js';
33
- import '../DatePicker/index.js';
34
- import '../guid-8ddf77b3.js';
35
-
36
- var css_248z = "[data-gene-ui-version=\"2.16.3\"] .date-filters-holder{align-items:center;display:flex;justify-content:flex-end;width:100%}[data-gene-ui-version=\"2.16.3\"] .date-filters-holder>:not(:last-child){flex-shrink:0}[data-gene-ui-version=\"2.16.3\"] .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.16.3\"] .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.16.3\"] .date-filter-input.active .icon{background:var(--hero);color:var(--hero-sc)}[data-gene-ui-version=\"2.16.3\"] .date-filter-input.active .input-element-back{background:#0000;border-color:var(--hero)}";
37
- styleInject(css_248z);
38
-
39
- function getFilterByKey(key, date) {
40
- const [start, end] = date;
41
- const startDate = start ? dayjsWithPlugins(start) : null;
42
- const endDate = end ? dayjsWithPlugins(end) : null;
43
- const today = dayjsWithPlugins();
44
- const dayFromLastWeek = today.subtract(7, 'day');
45
- const dayFromLastMonth = today.subtract(1, 'month');
46
- if (key === 'today') return {
47
- selected: startDate && isToday(startDate, endDate || startDate),
48
- value: [today, today]
49
- };
50
- if (key === 'yesterday') return {
51
- selected: startDate && isYesterday(startDate, endDate || startDate),
52
- value: [today.subtract(1, 'day'), today.subtract(1, 'day')]
53
- };
54
- if (key === 'thisWeek') return {
55
- selected: startDate && isThisWeek(startDate, endDate),
56
- value: [today.startOf('week'), today.endOf('week')]
57
- };
58
- if (key === 'lastWeek') return {
59
- selected: startDate && isLastWeek(startDate, endDate),
60
- value: [dayFromLastWeek.startOf('week'), dayFromLastWeek.endOf('week')]
61
- };
62
- if (key === 'thisMonth') return {
63
- selected: startDate && isThisMonth(startDate, endDate),
64
- value: [today.startOf('month'), today.endOf('month')]
65
- };
66
- if (key === 'lastMonth') return {
67
- selected: startDate && isLastMonth(startDate, endDate),
68
- value: [dayFromLastMonth.startOf('month'), dayFromLastMonth.endOf('month')]
69
- };
70
- if (key === 'LMTD') return {
71
- selected: startDate && isLastMonthToDate(startDate, endDate),
72
- value: [dayFromLastMonth.startOf('month'), getLMTD(today, dayFromLastMonth)]
73
- };
74
- }
75
- const getRightDate = (date, isControlled) => isControlled && date ? dayjsWithPlugins(date).toDate() : null;
76
- function DateFilter(props) {
77
- const {
78
- value,
79
- onChange,
80
- format,
81
- filters,
82
- className,
83
- buttonProps,
84
- pickerProps,
85
- ...restProps
86
- } = props;
87
- const isControlled = ('value' in props);
88
- const [localValue, setLocalValue] = useState(() => {
89
- const [start, end] = value;
90
- const startDate = getRightDate(start, isControlled);
91
- const endDate = getRightDate(end, isControlled);
92
- return [startDate, endDate];
93
- });
94
- const handleChange = useCallback(dates => {
95
- setLocalValue(dates);
96
- onChange(dates);
97
- }, [onChange]);
98
- const handleButtonClick = useCallback(_ref => {
99
- let [start, end] = _ref;
100
- const dateObj = [start.toDate(), end.toDate()];
101
- setLocalValue(dateObj);
102
- onChange(dateObj);
103
- }, [onChange]);
104
- return /*#__PURE__*/React__default.createElement("div", _extends({
105
- className: classnames('date-filters-holder', className)
106
- }, restProps), Object.keys(filters).map(key => {
107
- const label = filters[key];
108
- const filter = getFilterByKey(key, localValue);
109
- return filter ? /*#__PURE__*/React__default.createElement(Button, _extends({
110
- key: key,
111
- onClick: () => handleButtonClick(filter.value),
112
- color: "default",
113
- active: filter.selected,
114
- appearance: "minimal"
115
- }, buttonProps), label) : null;
116
- }), /*#__PURE__*/React__default.createElement(DatePickerInput.WithRange, _extends({
117
- value: localValue,
118
- format: format,
119
- onChange: handleChange,
120
- appearance: "minimal",
121
- flexibility: "content-size",
122
- className: "date-filter-input active"
123
- }, pickerProps)));
124
- }
125
- DateFilter.propTypes = {
126
- /**
127
- * Specify the format of date
128
- */
129
- format: PropTypes.string,
130
- /**
131
- * Fires when user attempts to change value
132
- * (dates: Array) => void
133
- */
134
- onChange: PropTypes.func,
135
- /**
136
- * Controls which filter buttons will be displayed based on filters object existing keys.
137
- * For example if you define only `today` property on filters objects
138
- * It will be display button with [today]'s property value
139
- * Which will change Datefilter value to today.
140
- * All filters will be displayed by default.
141
- */
142
- filters: PropTypes.exact({
143
- today: PropTypes.string,
144
- yesterday: PropTypes.string,
145
- thisWeek: PropTypes.string,
146
- lastWeek: PropTypes.string,
147
- thisMonth: PropTypes.string,
148
- lastMonth: PropTypes.string,
149
- LMTD: PropTypes.string
150
- }),
151
- /**
152
- * Current value. Creates a controlled component.
153
- */
154
- value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.instanceOf(dayjsWithPlugins)), PropTypes.arrayOf(PropTypes.instanceOf(Date)), PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.number)]),
155
- /**
156
- * Additional classname which applies to datefilter holder div element
157
- */
158
- className: PropTypes.string,
159
- /**
160
- * Accepts same props as button component (atoms)
161
- */
162
- buttonProps: PropTypes.object,
163
- /**
164
- * This props will pass to picker, check DatePicker prop types
165
- */
166
- pickerProps: PropTypes.object
167
- };
168
- DateFilter.defaultProps = {
169
- value: [],
170
- format: getBrowserDateFormat(),
171
- onChange: noop,
172
- filters: {
173
- today: 'Today',
174
- yesterday: 'Yesterday',
175
- thisWeek: 'This Week',
176
- lastWeek: 'Last Week',
177
- thisMonth: 'This Month',
178
- lastMonth: 'Last Month',
179
- LMTD: 'LMTD'
180
- }
181
- };
182
-
183
- export { DateFilter as default };