@redneckz/wildless-cms-uni-blocks 0.14.589 → 0.14.590

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 (31) hide show
  1. package/bundle/bundle.umd.js +22 -2
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/hooks/useElementSpace.d.ts +2 -0
  4. package/dist/hooks/useElementSpace.d.ts +2 -0
  5. package/dist/hooks/useElementSpace.js +21 -0
  6. package/dist/hooks/useElementSpace.js.map +1 -0
  7. package/dist/ui-kit/DatePicker/DatePicker.js +5 -1
  8. package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  9. package/lib/hooks/useElementSpace.d.ts +2 -0
  10. package/lib/hooks/useElementSpace.js +18 -0
  11. package/lib/hooks/useElementSpace.js.map +1 -0
  12. package/lib/ui-kit/DatePicker/DatePicker.js +5 -1
  13. package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  14. package/mobile/bundle/bundle.umd.js +22 -2
  15. package/mobile/bundle/bundle.umd.min.js +1 -1
  16. package/mobile/bundle/hooks/useElementSpace.d.ts +2 -0
  17. package/mobile/dist/hooks/useElementSpace.d.ts +2 -0
  18. package/mobile/dist/hooks/useElementSpace.js +21 -0
  19. package/mobile/dist/hooks/useElementSpace.js.map +1 -0
  20. package/mobile/dist/ui-kit/DatePicker/DatePicker.js +5 -1
  21. package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
  22. package/mobile/lib/hooks/useElementSpace.d.ts +2 -0
  23. package/mobile/lib/hooks/useElementSpace.js +18 -0
  24. package/mobile/lib/hooks/useElementSpace.js.map +1 -0
  25. package/mobile/lib/ui-kit/DatePicker/DatePicker.js +5 -1
  26. package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
  27. package/mobile/src/hooks/useElementSpace.ts +25 -0
  28. package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +9 -1
  29. package/package.json +1 -1
  30. package/src/hooks/useElementSpace.ts +25 -0
  31. package/src/ui-kit/DatePicker/DatePicker.tsx +9 -1
@@ -0,0 +1,2 @@
1
+ import { type RefObject } from 'react';
2
+ export declare const useElementSpace: (ref: RefObject<HTMLElement>, heightEl: number) => boolean;
@@ -0,0 +1,2 @@
1
+ import { type RefObject } from 'react';
2
+ export declare const useElementSpace: (ref: RefObject<HTMLElement>, heightEl: number) => boolean;
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.useElementSpace = void 0;
3
+ const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
4
+ const useElementSpace = (ref, heightEl) => {
5
+ const [spaceAbove, setSpaceAbove] = (0, hooks_1.useState)(false);
6
+ (0, hooks_1.useEffect)(() => {
7
+ const handleResize = () => {
8
+ if (ref?.current) {
9
+ const { top } = ref.current.getBoundingClientRect();
10
+ const hasSpaceAbove = top > heightEl;
11
+ setSpaceAbove(hasSpaceAbove);
12
+ }
13
+ };
14
+ handleResize();
15
+ window.addEventListener('resize', handleResize);
16
+ return () => window.removeEventListener('resize', handleResize);
17
+ }, [ref]);
18
+ return spaceAbove;
19
+ };
20
+ exports.useElementSpace = useElementSpace;
21
+ //# sourceMappingURL=useElementSpace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElementSpace.js","sourceRoot":"","sources":["../../src/hooks/useElementSpace.ts"],"names":[],"mappings":";;AAAA,uDAAkE;AAG3D,MAAM,eAAe,GAAG,CAAC,GAA2B,EAAE,QAAgB,EAAE,EAAE;IAC/E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEpD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,GAAG,EAAE,OAAO,EAAE;gBAChB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBAEpD,MAAM,aAAa,GAAG,GAAG,GAAG,QAAQ,CAAC;gBAErC,aAAa,CAAC,aAAa,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,YAAY,EAAE,CAAC;QACf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AArBW,QAAA,eAAe,mBAqB1B"}
@@ -4,6 +4,7 @@ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
4
  const uni_jsx_1 = require("@redneckz/uni-jsx");
5
5
  const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
6
6
  const useBool_1 = require("@redneckz/uni-jsx/lib/hooks/useBool");
7
+ const useElementSpace_1 = require("../../hooks/useElementSpace");
7
8
  const formatDate_1 = require("../../utils/formatDate");
8
9
  const style_1 = require("../../utils/style");
9
10
  const Icon_1 = require("../Icon/Icon");
@@ -38,7 +39,10 @@ exports.DatePicker = (0, uni_jsx_1.JSX)(({ className = '', label = '', value, va
38
39
  selectedMonth,
39
40
  showCalendar,
40
41
  });
41
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)('space-y-xs', className), ref: ref, children: [(0, renderLabel_1.renderLabel)(label), (0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [renderDatePickerForm(handleChangeVisibleCalendar, value, valid), showCalendar ? ((0, jsx_runtime_1.jsxs)("div", { className: "absolute bg-white z-20 select-none bottom-full", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-s", children: [(0, jsx_runtime_1.jsx)("div", { className: "my-auto", onClick: handlePrevMonth, children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { ...ICON_PROPS, className: "-rotate-90 cursor-pointer" }) }), (0, jsx_runtime_1.jsx)(Select_1.Select, { onChange: handleSelectMonth, value: { key: months_1.months[selectedMonth] }, options: monthsOptions, ...SELECT_PROPS }), (0, jsx_runtime_1.jsx)(Select_1.Select, { onChange: handleSelectYear, value: { key: String(selectedYear) }, options: yearsOptions, ...SELECT_PROPS }), (0, jsx_runtime_1.jsx)("div", { className: "my-auto", onClick: handleNextMonth, children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { ...ICON_PROPS, className: "rotate-90 cursor-pointer" }) })] }), (0, jsx_runtime_1.jsx)(Calendar_1.Calendar, { today: value, currentMonth: selectedMonth, currentYear: selectedYear, onDateSelect: onChange, min: minDate, max: maxDate })] })) : null] })] }));
42
+ const spaceAbove = (0, useElementSpace_1.useElementSpace)(ref, 370);
43
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)('space-y-xs', className), ref: ref, children: [(0, renderLabel_1.renderLabel)(label), (0, jsx_runtime_1.jsxs)("div", { className: "relative", children: [renderDatePickerForm(handleChangeVisibleCalendar, value, valid), showCalendar ? ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)('absolute bg-white z-20 select-none', {
44
+ 'bottom-full': spaceAbove,
45
+ }), children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-s", children: [(0, jsx_runtime_1.jsx)("div", { className: "my-auto", onClick: handlePrevMonth, children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { ...ICON_PROPS, className: "-rotate-90 cursor-pointer" }) }), (0, jsx_runtime_1.jsx)(Select_1.Select, { onChange: handleSelectMonth, value: { key: months_1.months[selectedMonth] }, options: monthsOptions, ...SELECT_PROPS }), (0, jsx_runtime_1.jsx)(Select_1.Select, { onChange: handleSelectYear, value: { key: String(selectedYear) }, options: yearsOptions, ...SELECT_PROPS }), (0, jsx_runtime_1.jsx)("div", { className: "my-auto", onClick: handleNextMonth, children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { ...ICON_PROPS, className: "rotate-90 cursor-pointer" }) })] }), (0, jsx_runtime_1.jsx)(Calendar_1.Calendar, { today: value, currentMonth: selectedMonth, currentYear: selectedYear, onDateSelect: onChange, min: minDate, max: maxDate, setValue: setValue })] })) : null] })] }));
42
46
  });
43
47
  const renderDatePickerForm = (handleChangeVisibleCalendar, value, valid) => ((0, jsx_runtime_1.jsxs)("div", { onClick: handleChangeVisibleCalendar, className: (0, style_1.style)(formStyle, valid ? 'border-gray' : 'border-error'), children: [(0, jsx_runtime_1.jsx)(Paragraph_1.Paragraph, { children: value && (0, formatDate_1.formatDate)(value) }), (0, jsx_runtime_1.jsx)(Icon_1.Icon, { ...ICON_PROPS, name: "CalendarIcon" })] }));
44
48
  //# sourceMappingURL=DatePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../src/ui-kit/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../src/ui-kit/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type RefObject } from 'react';
2
+ export declare const useElementSpace: (ref: RefObject<HTMLElement>, heightEl: number) => boolean;
@@ -0,0 +1,18 @@
1
+ import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ export const useElementSpace = (ref, heightEl) => {
3
+ const [spaceAbove, setSpaceAbove] = useState(false);
4
+ useEffect(() => {
5
+ const handleResize = () => {
6
+ if (ref?.current) {
7
+ const { top } = ref.current.getBoundingClientRect();
8
+ const hasSpaceAbove = top > heightEl;
9
+ setSpaceAbove(hasSpaceAbove);
10
+ }
11
+ };
12
+ handleResize();
13
+ window.addEventListener('resize', handleResize);
14
+ return () => window.removeEventListener('resize', handleResize);
15
+ }, [ref]);
16
+ return spaceAbove;
17
+ };
18
+ //# sourceMappingURL=useElementSpace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElementSpace.js","sourceRoot":"","sources":["../../src/hooks/useElementSpace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGlE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAA2B,EAAE,QAAgB,EAAE,EAAE;IAC/E,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,GAAG,EAAE,OAAO,EAAE;gBAChB,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBAEpD,MAAM,aAAa,GAAG,GAAG,GAAG,QAAQ,CAAC;gBAErC,aAAa,CAAC,aAAa,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,YAAY,EAAE,CAAC;QACf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { useState } from '@redneckz/uni-jsx/lib/hooks';
4
4
  import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
5
+ import { useElementSpace } from '../../hooks/useElementSpace.js';
5
6
  import { formatDate } from '../../utils/formatDate.js';
6
7
  import { style } from '../../utils/style.js';
7
8
  import { Icon } from '../Icon/Icon.js';
@@ -36,7 +37,10 @@ export const DatePicker = JSX(({ className = '', label = '', value, valid = true
36
37
  selectedMonth,
37
38
  showCalendar,
38
39
  });
39
- return (_jsxs("div", { className: style('space-y-xs', className), ref: ref, children: [renderLabel(label), _jsxs("div", { className: "relative", children: [renderDatePickerForm(handleChangeVisibleCalendar, value, valid), showCalendar ? (_jsxs("div", { className: "absolute bg-white z-20 select-none bottom-full", children: [_jsxs("div", { className: "flex gap-s", children: [_jsx("div", { className: "my-auto", onClick: handlePrevMonth, children: _jsx(Icon, { ...ICON_PROPS, className: "-rotate-90 cursor-pointer" }) }), _jsx(Select, { onChange: handleSelectMonth, value: { key: months[selectedMonth] }, options: monthsOptions, ...SELECT_PROPS }), _jsx(Select, { onChange: handleSelectYear, value: { key: String(selectedYear) }, options: yearsOptions, ...SELECT_PROPS }), _jsx("div", { className: "my-auto", onClick: handleNextMonth, children: _jsx(Icon, { ...ICON_PROPS, className: "rotate-90 cursor-pointer" }) })] }), _jsx(Calendar, { today: value, currentMonth: selectedMonth, currentYear: selectedYear, onDateSelect: onChange, min: minDate, max: maxDate })] })) : null] })] }));
40
+ const spaceAbove = useElementSpace(ref, 370);
41
+ return (_jsxs("div", { className: style('space-y-xs', className), ref: ref, children: [renderLabel(label), _jsxs("div", { className: "relative", children: [renderDatePickerForm(handleChangeVisibleCalendar, value, valid), showCalendar ? (_jsxs("div", { className: style('absolute bg-white z-20 select-none', {
42
+ 'bottom-full': spaceAbove,
43
+ }), children: [_jsxs("div", { className: "flex gap-s", children: [_jsx("div", { className: "my-auto", onClick: handlePrevMonth, children: _jsx(Icon, { ...ICON_PROPS, className: "-rotate-90 cursor-pointer" }) }), _jsx(Select, { onChange: handleSelectMonth, value: { key: months[selectedMonth] }, options: monthsOptions, ...SELECT_PROPS }), _jsx(Select, { onChange: handleSelectYear, value: { key: String(selectedYear) }, options: yearsOptions, ...SELECT_PROPS }), _jsx("div", { className: "my-auto", onClick: handleNextMonth, children: _jsx(Icon, { ...ICON_PROPS, className: "rotate-90 cursor-pointer" }) })] }), _jsx(Calendar, { today: value, currentMonth: selectedMonth, currentYear: selectedYear, onDateSelect: onChange, min: minDate, max: maxDate, setValue: setValue })] })) : null] })] }));
40
44
  });
41
45
  const renderDatePickerForm = (handleChangeVisibleCalendar, value, valid) => (_jsxs("div", { onClick: handleChangeVisibleCalendar, className: style(formStyle, valid ? 'border-gray' : 'border-error'), children: [_jsx(Paragraph, { children: value && formatDate(value) }), _jsx(Icon, { ...ICON_PROPS, name: "CalendarIcon" })] }));
42
46
  //# sourceMappingURL=DatePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../src/ui-kit/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../../src/ui-kit/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
@@ -1750,6 +1750,23 @@
1750
1750
 
1751
1751
  const BankEmpoleeField = JSX(({ field }) => (jsx(InputControl, { label: "\u0424\u0418\u041E \u0438\u043B\u0438 \u0434\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C \u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u0432\u0448\u0435\u0433\u043E \u0412\u0430\u0441 \u0441\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A\u0430 \u0411\u0430\u043D\u043A\u0430", ...field('bankEmpolee') })));
1752
1752
 
1753
+ const useElementSpace = (ref, heightEl) => {
1754
+ const [spaceAbove, setSpaceAbove] = useState(false);
1755
+ useEffect(() => {
1756
+ const handleResize = () => {
1757
+ if (ref?.current) {
1758
+ const { top } = ref.current.getBoundingClientRect();
1759
+ const hasSpaceAbove = top > heightEl;
1760
+ setSpaceAbove(hasSpaceAbove);
1761
+ }
1762
+ };
1763
+ handleResize();
1764
+ window.addEventListener('resize', handleResize);
1765
+ return () => window.removeEventListener('resize', handleResize);
1766
+ }, [ref]);
1767
+ return spaceAbove;
1768
+ };
1769
+
1753
1770
  const DAY_COUNT = 6;
1754
1771
  const WEEK_COUNT = 7;
1755
1772
  const renderCalendarCells = ({ today, firstDayOfWeek, totalDays, currentMonth, currentYear, min, max, onDateClick, }) => {
@@ -1888,7 +1905,10 @@
1888
1905
  selectedMonth,
1889
1906
  showCalendar,
1890
1907
  });
1891
- return (jsxs("div", { className: style('space-y-xs', className), ref: ref, children: [renderLabel(label), jsxs("div", { className: "relative", children: [renderDatePickerForm(handleChangeVisibleCalendar, value, valid), showCalendar ? (jsxs("div", { className: "absolute bg-white z-20 select-none bottom-full", children: [jsxs("div", { className: "flex gap-s", children: [jsx("div", { className: "my-auto", onClick: handlePrevMonth, children: jsx(Icon, { ...ICON_PROPS, className: "-rotate-90 cursor-pointer" }) }), jsx(Select, { onChange: handleSelectMonth, value: { key: months[selectedMonth] }, options: monthsOptions, ...SELECT_PROPS }), jsx(Select, { onChange: handleSelectYear, value: { key: String(selectedYear) }, options: yearsOptions, ...SELECT_PROPS }), jsx("div", { className: "my-auto", onClick: handleNextMonth, children: jsx(Icon, { ...ICON_PROPS, className: "rotate-90 cursor-pointer" }) })] }), jsx(Calendar, { today: value, currentMonth: selectedMonth, currentYear: selectedYear, onDateSelect: onChange, min: minDate, max: maxDate })] })) : null] })] }));
1908
+ const spaceAbove = useElementSpace(ref, 370);
1909
+ return (jsxs("div", { className: style('space-y-xs', className), ref: ref, children: [renderLabel(label), jsxs("div", { className: "relative", children: [renderDatePickerForm(handleChangeVisibleCalendar, value, valid), showCalendar ? (jsxs("div", { className: style('absolute bg-white z-20 select-none', {
1910
+ 'bottom-full': spaceAbove,
1911
+ }), children: [jsxs("div", { className: "flex gap-s", children: [jsx("div", { className: "my-auto", onClick: handlePrevMonth, children: jsx(Icon, { ...ICON_PROPS, className: "-rotate-90 cursor-pointer" }) }), jsx(Select, { onChange: handleSelectMonth, value: { key: months[selectedMonth] }, options: monthsOptions, ...SELECT_PROPS }), jsx(Select, { onChange: handleSelectYear, value: { key: String(selectedYear) }, options: yearsOptions, ...SELECT_PROPS }), jsx("div", { className: "my-auto", onClick: handleNextMonth, children: jsx(Icon, { ...ICON_PROPS, className: "rotate-90 cursor-pointer" }) })] }), jsx(Calendar, { today: value, currentMonth: selectedMonth, currentYear: selectedYear, onDateSelect: onChange, min: minDate, max: maxDate, setValue: setValue })] })) : null] })] }));
1892
1912
  });
1893
1913
  const renderDatePickerForm = (handleChangeVisibleCalendar, value, valid) => (jsxs("div", { onClick: handleChangeVisibleCalendar, className: style(formStyle, valid ? 'border-gray' : 'border-error'), children: [jsx(Paragraph, { children: value && formatDate(value) }), jsx(Icon, { ...ICON_PROPS, name: "CalendarIcon" })] }));
1894
1914
 
@@ -7038,7 +7058,7 @@
7038
7058
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
7039
7059
  });
7040
7060
 
7041
- const packageVersion = "0.14.588";
7061
+ const packageVersion = "0.14.589";
7042
7062
 
7043
7063
  exports.Blocks = Blocks;
7044
7064
  exports.ContentPage = ContentPage;