@homecode/ui 4.22.16 → 4.22.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -74,8 +74,8 @@ import * as resizeObserver from './src/tools/resizeObserver.js';
74
74
  export { resizeObserver };
75
75
  import * as queryParams from './src/tools/queryParams.js';
76
76
  export { queryParams };
77
- export { useThrottle } from './src/hooks/useThrottle.js';
78
- export { useDebounce } from './src/hooks/useDebounce.js';
77
+ export { useThrottle, useThrottleCallback } from './src/hooks/useThrottle.js';
78
+ export { useDebounce, useDebounceCallback } from './src/hooks/useDebounce.js';
79
79
  import 'react';
80
80
  export { useIsMounted } from './src/hooks/useIsMounted.js';
81
81
  export { useListKeyboardControl } from './src/hooks/useListKeyboardControl.js';
@@ -5,6 +5,7 @@ import S from './Calendar.styl.js';
5
5
  import { valueToDate, getWeekDaysArray, getDaysArray, isWeekend, weekDays, isSameDay } from './Calendar.helpers.js';
6
6
  import { Input } from '../Input/Input.js';
7
7
  import { Select } from '../Select/Select.js';
8
+ import { useThrottleCallback } from '../../hooks/useThrottle.js';
8
9
 
9
10
  const MONTHS = [
10
11
  'January',
@@ -35,6 +36,73 @@ function Calendar({ className, value, onDayPointerDown, onDayPointerUp, renderDa
35
36
  id: i + 1,
36
37
  label: renderMonthLabel?.(i + 1) ?? m,
37
38
  })), [renderMonthLabel]);
39
+ const updateMonthYear = useCallback((direction) => {
40
+ if (direction === 'backward') {
41
+ setMonth(prevMonth => {
42
+ if (prevMonth === 1) {
43
+ setYear(prevYear => Math.max(MIN_YEAR, prevYear - 1));
44
+ return 12;
45
+ }
46
+ return prevMonth - 1;
47
+ });
48
+ }
49
+ else {
50
+ setMonth(prevMonth => {
51
+ if (prevMonth === 12) {
52
+ setYear(prevYear => prevYear + 1);
53
+ return 1;
54
+ }
55
+ return prevMonth + 1;
56
+ });
57
+ }
58
+ }, [setMonth, setYear]);
59
+ const triggerMonthChangeWithTransition = useCallback((scrollDirection, monthDirection) => {
60
+ // @ts-ignore
61
+ if (!document.startViewTransition) {
62
+ updateMonthYear(monthDirection);
63
+ return;
64
+ }
65
+ document.documentElement.dataset.calendarTransitionDirection =
66
+ scrollDirection;
67
+ // @ts-ignore
68
+ const transition = document.startViewTransition(() => {
69
+ updateMonthYear(monthDirection);
70
+ });
71
+ transition.finished.finally(() => {
72
+ delete document.documentElement.dataset.calendarTransitionDirection;
73
+ });
74
+ }, [updateMonthYear]);
75
+ const handleWheelScroll = useThrottleCallback((event) => {
76
+ event.preventDefault();
77
+ event.stopPropagation();
78
+ const { deltaX, deltaY } = event;
79
+ let scrollDirection = '';
80
+ let monthDirection = null;
81
+ if (Math.abs(deltaY) > Math.abs(deltaX)) {
82
+ if (deltaY < 0) {
83
+ scrollDirection = 'up';
84
+ monthDirection = 'backward';
85
+ }
86
+ else {
87
+ scrollDirection = 'down';
88
+ monthDirection = 'forward';
89
+ }
90
+ }
91
+ else if (Math.abs(deltaX) > Math.abs(deltaY)) {
92
+ if (deltaX < 0) {
93
+ scrollDirection = 'left';
94
+ monthDirection = 'backward';
95
+ }
96
+ else {
97
+ scrollDirection = 'right';
98
+ monthDirection = 'forward';
99
+ }
100
+ }
101
+ if (scrollDirection && monthDirection) {
102
+ triggerMonthChangeWithTransition(scrollDirection, monthDirection);
103
+ }
104
+ }, 200, // Throttle time in ms
105
+ [triggerMonthChangeWithTransition]);
38
106
  const onYearChange = useCallback((e, val) => {
39
107
  if (String(val).length === 4)
40
108
  setYear(Math.max(MIN_YEAR, val));
@@ -50,7 +118,9 @@ function Calendar({ className, value, onDayPointerDown, onDayPointerUp, renderDa
50
118
  // @ts-ignore
51
119
  size: size, label: renderYearLabel?.(year) ?? 'Year', value: year,
52
120
  // @ts-ignore
53
- onChange: onYearChange, onBlur: onYearBlur }), jsx(Select, { className: S.month, size: size, label: renderMonthesLabel?.(month) ?? 'Month', options: monthOptions, value: month, onChange: val => setMonth(val), required: true, hideRequiredStar: true })] }), jsx("div", { className: S.weekDays, children: weekDaysArray.map((day, weekdayIndex) => (jsx("div", { className: cn(S.day, isWeekend(weekdayIndex) && weekendClassName), children: renderWeekDayLabel?.(day) ?? weekDays[day] }, `weekday-${day}`))) }), jsx("div", { className: S.days, children: daysArray.map((day, weekdayIndex) => {
121
+ onChange: onYearChange, onBlur: onYearBlur }), jsx(Select, { className: S.month, size: size, label: renderMonthesLabel?.(month) ?? 'Month', options: monthOptions, value: month, onChange: val => setMonth(val), required: true, hideRequiredStar: true })] }), jsx("div", { className: S.weekDays, children: weekDaysArray.map((day, weekdayIndex) => (jsx("div", { className: cn(S.day, isWeekend(weekdayIndex) && weekendClassName), children: renderWeekDayLabel?.(day) ?? weekDays[day] }, `weekday-${day}`))) }), jsx("div", { className: S.days, onWheelCapture: handleWheelScroll,
122
+ // @ts-ignore
123
+ style: { viewTransitionName: 'calendar-days' }, children: daysArray.map((day, weekdayIndex) => {
54
124
  const className = cn(S.day, day.currentMonth && S.currMonth, isWeekend(weekdayIndex) && weekendClassName, isSameDay(day, value) && S.selected, isDayDisabled?.(day) && S.disabled);
55
125
  const dayProps = { className };
56
126
  if (onDayPointerDown) {
@@ -1,7 +1,7 @@
1
1
  import styleInject from '../../../node_modules/style-inject/dist/style-inject.es.js';
2
2
 
3
- var css_248z = ".Calendar_size-s__MFLPb{font-size:.5em}.Calendar_size-m__IGeoI{font-size:.75em}.Calendar_size-l__a2zct{font-size:1em}.Calendar_root__v8Jg6{display:flex;flex-direction:column}.Calendar_header__IHzS-{align-items:center;display:flex;justify-content:space-between}.Calendar_month__gi10Q{width:100%}.Calendar_year__UlmLM{min-width:5em}.Calendar_year__UlmLM input{min-width:0;min-width:auto}.Calendar_month__gi10Q{margin-left:var(--indent-s)}.Calendar_weekDays__Pglyw{align-items:center;color:var(--accent-color-alpha-500);display:flex;font-size:.75em;margin-top:var(--indent-s);width:100%}.Calendar_weekDays__Pglyw .Calendar_day__A3NG-{padding:1.5em 0}.Calendar_size-s__MFLPb .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:first-child{border-top-left-radius:4px}.Calendar_size-s__MFLPb .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:last-child{border-top-right-radius:4px}.Calendar_size-m__IGeoI .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:first-child{border-top-left-radius:6px}.Calendar_size-m__IGeoI .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:last-child{border-top-right-radius:6px}.Calendar_size-l__a2zct .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:first-child{border-top-left-radius:8px}.Calendar_size-l__a2zct .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:last-child{border-top-right-radius:8px}.Calendar_days__64U-y{display:flex;flex-wrap:wrap;justify-content:space-between;-webkit-user-select:none;-moz-user-select:none;user-select:none}.Calendar_days__64U-y .Calendar_day__A3NG-:not(.Calendar_currMonth__oL4nl){color:var(--accent-color-alpha-500)}.Calendar_hideOtherMonthDays__DydjR .Calendar_days__64U-y .Calendar_day__A3NG-:not(.Calendar_currMonth__oL4nl){opacity:0;pointer-events:none}.Calendar_size-s__MFLPb .Calendar_days__64U-y .Calendar_day__A3NG-:first-child{border-top-left-radius:4px}.Calendar_size-m__IGeoI .Calendar_days__64U-y .Calendar_day__A3NG-:first-child{border-top-left-radius:6px}.Calendar_size-l__a2zct .Calendar_days__64U-y .Calendar_day__A3NG-:first-child{border-top-left-radius:8px}.Calendar_size-s__MFLPb .Calendar_days__64U-y .Calendar_day__A3NG-:last-child{border-bottom-right-radius:4px}.Calendar_size-m__IGeoI .Calendar_days__64U-y .Calendar_day__A3NG-:last-child{border-bottom-right-radius:6px}.Calendar_size-l__a2zct .Calendar_days__64U-y .Calendar_day__A3NG-:last-child{border-bottom-right-radius:8px}.Calendar_size-s__MFLPb .Calendar_days__64U-y .Calendar_day__A3NG-:nth-child(7){border-top-right-radius:4px}.Calendar_size-m__IGeoI .Calendar_days__64U-y .Calendar_day__A3NG-:nth-child(7){border-top-right-radius:6px}.Calendar_size-l__a2zct .Calendar_days__64U-y .Calendar_day__A3NG-:nth-child(7){border-top-right-radius:8px}.Calendar_size-s__MFLPb .Calendar_days__64U-y .Calendar_day__A3NG-:nth-last-child(7){border-bottom-left-radius:4px}.Calendar_size-m__IGeoI .Calendar_days__64U-y .Calendar_day__A3NG-:nth-last-child(7){border-bottom-left-radius:6px}.Calendar_size-l__a2zct .Calendar_days__64U-y .Calendar_day__A3NG-:nth-last-child(7){border-bottom-left-radius:8px}.Calendar_day__A3NG-{align-items:center;display:flex;height:2em;justify-content:center;min-width:0;min-width:auto;padding:0;width:14.28571%}.Calendar_day__A3NG-.Calendar_disabled__sZi-f{background-color:var(--accent-color-alpha-100);border-radius:0;opacity:.3;pointer-events:none}.Calendar_day__A3NG-.Calendar_selected__ffB6-{background-color:var(--active-color-alpha-500)!important}.Calendar_day__A3NG-.Calendar_currMonth__oL4nl{font-weight:700}.pointer .Calendar_day__A3NG-:focus{background-color:transparent}";
4
- var S = {"size-s":"Calendar_size-s__MFLPb","size-m":"Calendar_size-m__IGeoI","size-l":"Calendar_size-l__a2zct","root":"Calendar_root__v8Jg6","header":"Calendar_header__IHzS-","month":"Calendar_month__gi10Q","year":"Calendar_year__UlmLM","weekDays":"Calendar_weekDays__Pglyw","day":"Calendar_day__A3NG-","days":"Calendar_days__64U-y","currMonth":"Calendar_currMonth__oL4nl","hideOtherMonthDays":"Calendar_hideOtherMonthDays__DydjR","disabled":"Calendar_disabled__sZi-f","selected":"Calendar_selected__ffB6-"};
3
+ var css_248z = ".Calendar_size-s__MFLPb{font-size:.5em}.Calendar_size-m__IGeoI{font-size:.75em}.Calendar_size-l__a2zct{font-size:1em}.Calendar_root__v8Jg6{display:flex;flex-direction:column}.Calendar_header__IHzS-{align-items:center;display:flex;justify-content:space-between}.Calendar_month__gi10Q{width:100%}.Calendar_year__UlmLM{min-width:5em}.Calendar_year__UlmLM input{min-width:0;min-width:auto}.Calendar_month__gi10Q{margin-left:var(--indent-s)}.Calendar_weekDays__Pglyw{align-items:center;color:var(--accent-color-alpha-500);display:flex;font-size:.75em;margin-top:var(--indent-s);width:100%}.Calendar_weekDays__Pglyw .Calendar_day__A3NG-{padding:1.5em 0}.Calendar_size-s__MFLPb .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:first-child{border-top-left-radius:4px}.Calendar_size-s__MFLPb .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:last-child{border-top-right-radius:4px}.Calendar_size-m__IGeoI .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:first-child{border-top-left-radius:6px}.Calendar_size-m__IGeoI .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:last-child{border-top-right-radius:6px}.Calendar_size-l__a2zct .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:first-child{border-top-left-radius:8px}.Calendar_size-l__a2zct .Calendar_weekDays__Pglyw .Calendar_day__A3NG-:last-child{border-top-right-radius:8px}.Calendar_days__64U-y{display:flex;flex-wrap:wrap;justify-content:space-between;-webkit-user-select:none;-moz-user-select:none;user-select:none}.Calendar_days__64U-y .Calendar_day__A3NG-:not(.Calendar_currMonth__oL4nl){color:var(--accent-color-alpha-500)}.Calendar_hideOtherMonthDays__DydjR .Calendar_days__64U-y .Calendar_day__A3NG-:not(.Calendar_currMonth__oL4nl){opacity:0;pointer-events:none}.Calendar_size-s__MFLPb .Calendar_days__64U-y .Calendar_day__A3NG-:first-child{border-top-left-radius:4px}.Calendar_size-m__IGeoI .Calendar_days__64U-y .Calendar_day__A3NG-:first-child{border-top-left-radius:6px}.Calendar_size-l__a2zct .Calendar_days__64U-y .Calendar_day__A3NG-:first-child{border-top-left-radius:8px}.Calendar_size-s__MFLPb .Calendar_days__64U-y .Calendar_day__A3NG-:last-child{border-bottom-right-radius:4px}.Calendar_size-m__IGeoI .Calendar_days__64U-y .Calendar_day__A3NG-:last-child{border-bottom-right-radius:6px}.Calendar_size-l__a2zct .Calendar_days__64U-y .Calendar_day__A3NG-:last-child{border-bottom-right-radius:8px}.Calendar_size-s__MFLPb .Calendar_days__64U-y .Calendar_day__A3NG-:nth-child(7){border-top-right-radius:4px}.Calendar_size-m__IGeoI .Calendar_days__64U-y .Calendar_day__A3NG-:nth-child(7){border-top-right-radius:6px}.Calendar_size-l__a2zct .Calendar_days__64U-y .Calendar_day__A3NG-:nth-child(7){border-top-right-radius:8px}.Calendar_size-s__MFLPb .Calendar_days__64U-y .Calendar_day__A3NG-:nth-last-child(7){border-bottom-left-radius:4px}.Calendar_size-m__IGeoI .Calendar_days__64U-y .Calendar_day__A3NG-:nth-last-child(7){border-bottom-left-radius:6px}.Calendar_size-l__a2zct .Calendar_days__64U-y .Calendar_day__A3NG-:nth-last-child(7){border-bottom-left-radius:8px}.Calendar_day__A3NG-{align-items:center;display:flex;height:2em;justify-content:center;min-width:0;min-width:auto;padding:0;width:14.28571%}.Calendar_day__A3NG-.Calendar_disabled__sZi-f{background-color:var(--accent-color-alpha-100);border-radius:0;opacity:.3;pointer-events:none}.Calendar_day__A3NG-.Calendar_selected__ffB6-{background-color:var(--active-color-alpha-500)!important}.Calendar_day__A3NG-.Calendar_currMonth__oL4nl{font-weight:700}.pointer .Calendar_day__A3NG-:focus{background-color:transparent}::view-transition-image-pair(calendar-days){isolation:isolate}::view-transition-old(calendar-days){animation:Calendar_vt-fade-out__zW-xw .25s ease-in-out forwards}::view-transition-new(calendar-days){animation:Calendar_vt-fade-in__zBI3Y .25s ease-in-out forwards}:root[data-calendar-transition-direction=up]::view-transition-old(calendar-days){animation:Calendar_vt-slide-to-bottom__qRC-S .25s ease-in-out forwards}:root[data-calendar-transition-direction=up]::view-transition-new(calendar-days){animation:Calendar_vt-slide-from-top__GYRDJ .25s ease-in-out forwards}:root[data-calendar-transition-direction=down]::view-transition-old(calendar-days){animation:Calendar_vt-slide-to-top__qfqiD .25s ease-in-out forwards}:root[data-calendar-transition-direction=down]::view-transition-new(calendar-days){animation:Calendar_vt-slide-from-bottom__Jw2dp .25s ease-in-out forwards}:root[data-calendar-transition-direction=left]::view-transition-old(calendar-days){animation:Calendar_vt-slide-to-right__qJ4Ur .25s ease-in-out forwards}:root[data-calendar-transition-direction=left]::view-transition-new(calendar-days){animation:Calendar_vt-slide-from-left__Xlsac .25s ease-in-out forwards}:root[data-calendar-transition-direction=right]::view-transition-old(calendar-days){animation:Calendar_vt-slide-to-left__uMzUm .25s ease-in-out forwards}:root[data-calendar-transition-direction=right]::view-transition-new(calendar-days){animation:Calendar_vt-slide-from-right__Ewify .25s ease-in-out forwards}@keyframes Calendar_vt-fade-in__zBI3Y{0%{opacity:0}to{opacity:1}}@keyframes Calendar_vt-fade-out__zW-xw{0%{opacity:1}to{opacity:0}}@keyframes Calendar_vt-slide-from-top__GYRDJ{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes Calendar_vt-slide-to-bottom__qRC-S{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes Calendar_vt-slide-from-bottom__Jw2dp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes Calendar_vt-slide-to-top__qfqiD{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes Calendar_vt-slide-from-left__Xlsac{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes Calendar_vt-slide-to-right__qJ4Ur{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(30px)}}@keyframes Calendar_vt-slide-from-right__Ewify{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes Calendar_vt-slide-to-left__uMzUm{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-30px)}}";
4
+ var S = {"size-s":"Calendar_size-s__MFLPb","size-m":"Calendar_size-m__IGeoI","size-l":"Calendar_size-l__a2zct","root":"Calendar_root__v8Jg6","header":"Calendar_header__IHzS-","month":"Calendar_month__gi10Q","year":"Calendar_year__UlmLM","weekDays":"Calendar_weekDays__Pglyw","day":"Calendar_day__A3NG-","days":"Calendar_days__64U-y","currMonth":"Calendar_currMonth__oL4nl","hideOtherMonthDays":"Calendar_hideOtherMonthDays__DydjR","disabled":"Calendar_disabled__sZi-f","selected":"Calendar_selected__ffB6-","vt-fade-out":"Calendar_vt-fade-out__zW-xw","vt-fade-in":"Calendar_vt-fade-in__zBI3Y","vt-slide-to-bottom":"Calendar_vt-slide-to-bottom__qRC-S","vt-slide-from-top":"Calendar_vt-slide-from-top__GYRDJ","vt-slide-to-top":"Calendar_vt-slide-to-top__qfqiD","vt-slide-from-bottom":"Calendar_vt-slide-from-bottom__Jw2dp","vt-slide-to-right":"Calendar_vt-slide-to-right__qJ4Ur","vt-slide-from-left":"Calendar_vt-slide-from-left__Xlsac","vt-slide-to-left":"Calendar_vt-slide-to-left__uMzUm","vt-slide-from-right":"Calendar_vt-slide-from-right__Ewify"};
5
5
  styleInject(css_248z);
6
6
 
7
7
  export { S as default };
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import S from './Flex.styl.js';
3
3
 
4
- const Flex = ({ children, justifyContent, alignItems, flexDirection, flexWrap, flexGrow, flexShrink, flexBasis, flex, order, alignSelf, flexFlow, ...props }) => {
4
+ const Flex = ({ children, justifyContent, alignItems, flexDirection, flexWrap, flexGrow, flexShrink, flexBasis, flex, order, alignSelf, flexFlow, width, height, ...props }) => {
5
5
  return (jsx("div", { className: S.root,
6
6
  // {...props}
7
7
  style: {
@@ -16,6 +16,8 @@ const Flex = ({ children, justifyContent, alignItems, flexDirection, flexWrap, f
16
16
  order,
17
17
  alignSelf,
18
18
  flexFlow,
19
+ width,
20
+ height,
19
21
  }, children: children }));
20
22
  };
21
23
 
@@ -70,6 +70,7 @@ var ICONS = {
70
70
  syncArrows: () => import('./syncArrows.svg.js'),
71
71
  table: () => import('./table.svg.js'),
72
72
  telegram: () => import('./telegram.svg.js'),
73
+ trafficLight: () => import('./trafficLight.svg.js'),
73
74
  };
74
75
 
75
76
  export { ICONS as default };
@@ -0,0 +1,49 @@
1
+ import * as React from 'react';
2
+
3
+ var _path;
4
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
+ var SvgTrafficLight = function SvgTrafficLight(props) {
6
+ return /*#__PURE__*/React.createElement("svg", _extends({
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ viewBox: "0 0 24 24"
9
+ }, props), /*#__PURE__*/React.createElement("g", {
10
+ transform: "matrix(.13313 0 0 -.13313 -.035 223.653)"
11
+ }, _path || (_path = /*#__PURE__*/React.createElement("path", {
12
+ d: "M60.026 1675.113c-21.216-3.065-23.3-5.886-25.508-34.705-1.962-26.121-1.962-75.911 0-102.032 2.207-29.187 4.047-31.517 27.225-34.829 24.772-3.433 64.383-1.226 73.458 4.047 6.99 4.047 8.339 8.462 10.056 30.782 1.962 26.12 2.085 75.91.123 102.032-2.208 29.187-4.047 31.517-27.225 34.828-15.943 2.207-42.31 2.207-58.13-.123m38.752-9.688c6.132-2.575 8.83-5.15 11.528-11.037 4.047-8.707 1.84-20.848-4.537-26.612-6.378-5.64-16.801-7.358-24.65-4.047-6.132 2.576-8.83 5.151-11.528 11.038-3.801 8.216-2.33 19.008 3.557 25.63 5.518 6.132 17.291 8.462 25.63 5.028m0-55.185c6.132-2.576 8.83-5.151 11.528-11.038 4.047-8.707 1.84-20.847-4.537-26.611-6.378-5.641-16.801-7.358-24.65-4.047-6.132 2.575-8.83 5.15-11.528 11.037-3.801 8.217-2.33 19.008 3.557 25.63 5.518 6.132 17.291 8.462 25.63 5.029m0-55.186c6.132-2.575 8.83-5.15 11.528-11.037 4.047-8.707 1.84-20.848-4.537-26.612-6.378-5.641-16.801-7.358-24.65-4.047-6.132 2.576-8.83 5.15-11.528 11.037-3.801 8.217-2.33 19.009 3.557 25.631 5.518 6.132 17.291 8.462 25.63 5.028"
13
+ })), /*#__PURE__*/React.createElement("circle", {
14
+ cx: 89.992,
15
+ cy: -1644.533,
16
+ r: 23.827,
17
+ style: {
18
+ fill: "#e02020",
19
+ fillOpacity: 0.751445,
20
+ strokeWidth: 0.976535,
21
+ strokeLinecap: "round"
22
+ },
23
+ transform: "scale(1 -1)"
24
+ }), /*#__PURE__*/React.createElement("circle", {
25
+ cx: 90.023,
26
+ cy: -1589.156,
27
+ r: 23.827,
28
+ style: {
29
+ fill: "#e0dd20",
30
+ fillOpacity: 0.751445,
31
+ strokeWidth: 0.976535,
32
+ strokeLinecap: "round"
33
+ },
34
+ transform: "scale(1 -1)"
35
+ }), /*#__PURE__*/React.createElement("circle", {
36
+ cx: 89.745,
37
+ cy: -1534.207,
38
+ r: 23.827,
39
+ style: {
40
+ fill: "#20e020",
41
+ fillOpacity: 0.751445,
42
+ strokeWidth: 0.976535,
43
+ strokeLinecap: "round"
44
+ },
45
+ transform: "scale(1 -1)"
46
+ })));
47
+ };
48
+
49
+ export { SvgTrafficLight as default };
@@ -3,6 +3,9 @@ import debounce from '../tools/debounce.js';
3
3
 
4
4
  function useDebounce(fn, delay) {
5
5
  return useCallback(debounce(fn, delay), [fn, delay]);
6
+ }
7
+ function useDebounceCallback(fn, delay, deps) {
8
+ return useCallback(debounce(fn, delay), deps);
6
9
  }
7
10
 
8
- export { useDebounce };
11
+ export { useDebounce, useDebounceCallback };
@@ -23,6 +23,9 @@ function useThrottle(cb, limit, options = { trailing: false }, deps = []) {
23
23
  timeoutId.current = setTimeout(execute, remaining);
24
24
  }
25
25
  }, [limit, options.trailing, ...deps]);
26
+ }
27
+ function useThrottleCallback(cb, limit, deps = []) {
28
+ return useCallback(useThrottle(cb, limit, { trailing: true }, deps), deps);
26
29
  }
27
30
 
28
- export { useThrottle };
31
+ export { useThrottle, useThrottleCallback };
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties, HTMLAttributes } from 'react';
2
- type FlexProps = HTMLAttributes<HTMLDivElement> & Pick<CSSProperties, 'justifyContent' | 'alignItems' | 'flexDirection' | 'flexWrap' | 'flexGrow' | 'flexShrink' | 'flexBasis' | 'flex' | 'order' | 'alignSelf' | 'flexFlow'> & {
2
+ type FlexProps = HTMLAttributes<HTMLDivElement> & Pick<CSSProperties, 'justifyContent' | 'alignItems' | 'flexDirection' | 'flexWrap' | 'flexGrow' | 'flexShrink' | 'flexBasis' | 'flex' | 'order' | 'alignSelf' | 'flexFlow' | 'width' | 'height'> & {
3
3
  children: React.ReactNode;
4
4
  };
5
- export declare const Flex: ({ children, justifyContent, alignItems, flexDirection, flexWrap, flexGrow, flexShrink, flexBasis, flex, order, alignSelf, flexFlow, ...props }: FlexProps) => JSX.Element;
5
+ export declare const Flex: ({ children, justifyContent, alignItems, flexDirection, flexWrap, flexGrow, flexShrink, flexBasis, flex, order, alignSelf, flexFlow, width, height, ...props }: FlexProps) => JSX.Element;
6
6
  export {};
@@ -6,11 +6,13 @@ export declare const icons: {
6
6
  brain: () => Promise<any>;
7
7
  brokenImage: () => Promise<any>;
8
8
  camera: () => Promise<any>;
9
+ chat: () => Promise<any>;
9
10
  check: () => Promise<any>;
10
11
  close: () => Promise<any>;
11
12
  colors: () => Promise<any>;
12
- compas: () => Promise<any>;
13
+ compass: () => Promise<any>;
13
14
  copy: () => Promise<any>;
15
+ checkers: () => Promise<any>;
14
16
  chevronUp: () => Promise<any>;
15
17
  chevronDown: () => Promise<any>;
16
18
  chevronRight: () => Promise<any>;
@@ -18,6 +20,8 @@ export declare const icons: {
18
20
  clearAll: () => Promise<any>;
19
21
  delete: () => Promise<any>;
20
22
  draft: () => Promise<any>;
23
+ dragHandlerHorizontal: () => Promise<any>;
24
+ dragHandlerVertical: () => Promise<any>;
21
25
  edit: () => Promise<any>;
22
26
  email: () => Promise<any>;
23
27
  externalLink: () => Promise<any>;
@@ -67,6 +71,7 @@ export declare const icons: {
67
71
  syncArrows: () => Promise<any>;
68
72
  table: () => Promise<any>;
69
73
  telegram: () => Promise<any>;
74
+ trafficLight: () => Promise<any>;
70
75
  };
71
76
  export type { IconType } from './Icon.types';
72
77
  export declare function Icon(props: T.Props): JSX.Element;
@@ -70,5 +70,6 @@ declare const _default: {
70
70
  syncArrows: () => Promise<any>;
71
71
  table: () => Promise<any>;
72
72
  telegram: () => Promise<any>;
73
+ trafficLight: () => Promise<any>;
73
74
  };
74
75
  export default _default;
@@ -1 +1,2 @@
1
1
  export declare function useDebounce(fn: (...args: any[]) => void, delay: number): any;
2
+ export declare function useDebounceCallback(fn: (...args: any[]) => void, delay: number, deps: any[]): any;
@@ -2,4 +2,5 @@ type ThrottleOptions = {
2
2
  trailing?: boolean;
3
3
  };
4
4
  export declare function useThrottle<T extends any[]>(cb: (...args: T) => void, limit: number, options?: ThrottleOptions, deps?: any[]): (...args: T) => void;
5
+ export declare function useThrottleCallback<T extends any[]>(cb: (...args: T) => void, limit: number, deps?: any[]): (...args: T) => void;
5
6
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homecode/ui",
3
- "version": "4.22.16",
3
+ "version": "4.22.18",
4
4
  "description": "React UI components library",
5
5
  "scripts": {
6
6
  "test": "jest",