@uxf/ui 10.0.0-beta.7 → 10.0.0-beta.74

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 (194) hide show
  1. package/_file-input-base/file-input-base.js +9 -1
  2. package/_select-base/_select-base.d.ts +1 -1
  3. package/_select-base/_select-base.js +4 -3
  4. package/alert-bubble/alert-bubble.d.ts +8 -0
  5. package/alert-bubble/alert-bubble.js +22 -0
  6. package/alert-bubble/alert-bubble.spec.d.ts +1 -0
  7. package/alert-bubble/alert-bubble.spec.js +9 -0
  8. package/alert-bubble/alert-bubble.stories.d.ts +7 -0
  9. package/alert-bubble/alert-bubble.stories.js +50 -0
  10. package/alert-bubble/index.d.ts +3 -0
  11. package/alert-bubble/index.js +5 -0
  12. package/alert-bubble/theme.d.ts +16 -0
  13. package/alert-bubble/theme.js +2 -0
  14. package/avatar-file-input/avatar-file-input.d.ts +3 -0
  15. package/avatar-file-input/avatar-file-input.js +10 -4
  16. package/avatar-file-input/avatar-file-input.stories.js +2 -2
  17. package/avatar-file-input/theme.d.ts +5 -0
  18. package/avatar-file-input/theme.js +2 -0
  19. package/button/theme.d.ts +1 -0
  20. package/calendar/calendar-day-cell.d.ts +3 -0
  21. package/calendar/calendar-day-cell.js +14 -14
  22. package/{date-picker/date-picker-navigation.d.ts → calendar/calendar-navigation.d.ts} +2 -3
  23. package/{date-picker/date-picker-navigation.js → calendar/calendar-navigation.js} +6 -6
  24. package/calendar/calendar-provider.js +1 -1
  25. package/calendar/calendar.d.ts +5 -0
  26. package/calendar/calendar.js +5 -8
  27. package/calendar/index.d.ts +4 -1
  28. package/calendar/index.js +5 -15
  29. package/chip/chip.js +6 -4
  30. package/chip/chip.stories.js +37 -28
  31. package/combobox/combobox.d.ts +1 -1
  32. package/combobox/combobox.stories.d.ts +2 -1
  33. package/combobox/combobox.stories.js +6 -2
  34. package/config/icons-config.d.ts +1 -1
  35. package/config/icons-config.js +1 -1
  36. package/config/icons.d.ts +13 -3
  37. package/config/icons.js +3 -1
  38. package/css/alert-bubble.css +100 -0
  39. package/css/avatar-file-input.css +54 -20
  40. package/css/avatar.css +3 -3
  41. package/css/badge.css +5 -5
  42. package/css/button-group.css +1 -1
  43. package/css/button-list.css +2 -2
  44. package/css/button.css +72 -26
  45. package/css/calendar.css +115 -51
  46. package/css/checkbox-button.css +8 -8
  47. package/css/checkbox.css +9 -9
  48. package/css/chip.css +217 -318
  49. package/css/color-radio-group.css +1 -1
  50. package/css/color-radio.css +3 -3
  51. package/css/component-structure-analyzer.css +12 -12
  52. package/css/date-picker.css +10 -3
  53. package/css/date-range-picker.css +21 -0
  54. package/css/datetime-picker.css +2 -2
  55. package/css/dialog.css +55 -0
  56. package/css/dropdown.css +10 -2
  57. package/css/dropzone.css +7 -7
  58. package/css/error-message.css +1 -1
  59. package/css/file-input.css +2 -2
  60. package/css/flash-messages.css +133 -9
  61. package/css/icon.css +1 -1
  62. package/css/image-gallery.css +7 -7
  63. package/css/input-with-popover.css +1 -1
  64. package/css/input.css +8 -8
  65. package/css/layout.css +4 -4
  66. package/css/list-item.css +2 -2
  67. package/css/message.css +92 -0
  68. package/css/modal.css +10 -54
  69. package/css/multi-combobox.css +10 -10
  70. package/css/pagination.css +14 -14
  71. package/css/paper.css +1 -1
  72. package/css/radio-group.css +3 -3
  73. package/css/radio.css +7 -7
  74. package/css/raster-image.css +1 -1
  75. package/css/select-base.css +1 -1
  76. package/css/tabs.css +13 -13
  77. package/css/text-link.css +4 -4
  78. package/css/textarea.css +68 -76
  79. package/css/time-picker.css +12 -16
  80. package/css/toggle.css +1 -1
  81. package/css/tooltip.css +2 -2
  82. package/date-picker/date-picker-decade.js +6 -6
  83. package/date-picker/date-picker-month.js +6 -6
  84. package/date-picker/date-picker-year.js +2 -2
  85. package/date-picker/date-picker.d.ts +2 -0
  86. package/date-picker/date-picker.js +2 -0
  87. package/date-picker-input/date-picker-input.d.ts +1 -0
  88. package/date-picker-input/date-picker-input.js +3 -1
  89. package/date-range-picker/date-range-picker-content.d.ts +2 -0
  90. package/date-range-picker/date-range-picker-content.js +55 -0
  91. package/date-range-picker/date-range-picker-decade.d.ts +6 -0
  92. package/date-range-picker/date-range-picker-decade.js +72 -0
  93. package/date-range-picker/date-range-picker-month.d.ts +8 -0
  94. package/date-range-picker/date-range-picker-month.js +69 -0
  95. package/date-range-picker/date-range-picker-year.d.ts +7 -0
  96. package/date-range-picker/date-range-picker-year.js +80 -0
  97. package/date-range-picker/date-range-picker.d.ts +10 -0
  98. package/date-range-picker/date-range-picker.js +51 -0
  99. package/date-range-picker/date-range-picker.spec.d.ts +1 -0
  100. package/date-range-picker/date-range-picker.spec.js +9 -0
  101. package/date-range-picker/date-range-picker.stories.d.ts +7 -0
  102. package/date-range-picker/date-range-picker.stories.js +43 -0
  103. package/date-range-picker/index.d.ts +3 -0
  104. package/date-range-picker/index.js +5 -0
  105. package/date-range-picker/types.d.ts +5 -0
  106. package/date-range-picker/types.js +2 -0
  107. package/date-range-picker-input/date-range-picker-input.d.ts +16 -0
  108. package/date-range-picker-input/date-range-picker-input.js +62 -0
  109. package/date-range-picker-input/date-range-picker-input.spec.d.ts +1 -0
  110. package/date-range-picker-input/date-range-picker-input.spec.js +9 -0
  111. package/date-range-picker-input/date-range-picker-input.stories.d.ts +10 -0
  112. package/date-range-picker-input/date-range-picker-input.stories.js +53 -0
  113. package/date-range-picker-input/index.d.ts +2 -0
  114. package/date-range-picker-input/index.js +5 -0
  115. package/datetime-picker/datetime-picker.d.ts +1 -0
  116. package/datetime-picker/datetime-picker.js +2 -2
  117. package/datetime-picker-input/datetime-picker-input.d.ts +1 -0
  118. package/datetime-picker-input/datetime-picker-input.js +3 -1
  119. package/dialog/dialog.d.ts +9 -0
  120. package/{modal/modal-dialog.js → dialog/dialog.js} +8 -9
  121. package/dialog/dialog.spec.d.ts +1 -0
  122. package/dialog/dialog.spec.js +9 -0
  123. package/dialog/dialog.stories.d.ts +7 -0
  124. package/dialog/dialog.stories.js +47 -0
  125. package/dialog/index.d.ts +2 -0
  126. package/dialog/index.js +5 -0
  127. package/dropzone/dropzone-input.js +10 -6
  128. package/file-input/file-input.d.ts +3 -0
  129. package/file-input/file-input.js +5 -5
  130. package/flash-messages/flash-message.js +1 -1
  131. package/flash-messages/flash-messages.js +44 -10
  132. package/flash-messages/flash-messages.stories.js +12 -0
  133. package/image-gallery/components/close-button.d.ts +2 -1
  134. package/image-gallery/components/close-button.js +2 -3
  135. package/image-gallery/components/gallery.d.ts +4 -1
  136. package/image-gallery/components/gallery.js +5 -4
  137. package/image-gallery/components/next-button.d.ts +7 -0
  138. package/image-gallery/components/next-button.js +14 -0
  139. package/image-gallery/components/prev-button.d.ts +7 -0
  140. package/image-gallery/components/prev-button.js +14 -0
  141. package/image-gallery/image-gallery.d.ts +4 -1
  142. package/image-gallery/image-gallery.js +1 -1
  143. package/image-gallery/image-gallery.stories.js +5 -1
  144. package/message/index.d.ts +3 -0
  145. package/message/index.js +7 -0
  146. package/message/message-content.d.ts +17 -0
  147. package/message/message-content.js +41 -0
  148. package/message/message-service.d.ts +13 -0
  149. package/message/message-service.js +29 -0
  150. package/message/message.d.ts +20 -0
  151. package/message/message.js +47 -0
  152. package/message/message.spec.d.ts +1 -0
  153. package/message/message.spec.js +9 -0
  154. package/message/message.stories.d.ts +7 -0
  155. package/message/message.stories.js +82 -0
  156. package/message/theme.d.ts +12 -0
  157. package/message/theme.js +2 -0
  158. package/modal/index.d.ts +2 -1
  159. package/modal/index.js +3 -3
  160. package/modal/modal.d.ts +5 -4
  161. package/modal/modal.js +9 -9
  162. package/modal/modal.stories.js +12 -0
  163. package/modal/theme.d.ts +3 -0
  164. package/multi-combobox/_multi-combobox-base.js +9 -3
  165. package/multi-combobox/multi-combobox.stories.js +6 -3
  166. package/multi-combobox/types.d.ts +4 -0
  167. package/multi-select/_multi-select-base.js +2 -2
  168. package/multi-select/multi-select.stories.js +5 -2
  169. package/package.json +10 -8
  170. package/radio-group/index.d.ts +1 -1
  171. package/radio-group/radio-group.d.ts +3 -3
  172. package/radio-group/radio-group.js +2 -2
  173. package/radio-group/radio-group.stories.js +4 -4
  174. package/raster-image/raster-image.js +1 -1
  175. package/select/select.d.ts +1 -1
  176. package/select/select.stories.d.ts +2 -1
  177. package/select/select.stories.js +8 -2
  178. package/textarea/textarea.js +5 -5
  179. package/time-picker/time-picker-hour.js +3 -3
  180. package/time-picker/time-picker-hours.js +1 -1
  181. package/time-picker/time-picker-minute.js +3 -3
  182. package/time-picker/time-picker-minutes.js +1 -1
  183. package/time-picker/time-picker.d.ts +1 -0
  184. package/time-picker/time-picker.js +3 -2
  185. package/time-picker-input/time-picker-input.js +3 -1
  186. package/tooltip/tooltip.js +20 -18
  187. package/utils/icons-config.js +13 -3
  188. package/utils/mocks/uploadFIle.mock.js +1 -1
  189. package/utils/storybook-config.d.ts +11 -1
  190. package/utils/storybook-config.js +9 -1
  191. package/utils/tailwind-config.js +8 -0
  192. package/image-gallery/components/arrow-button.d.ts +0 -7
  193. package/image-gallery/components/arrow-button.js +0 -14
  194. package/modal/modal-dialog.d.ts +0 -11
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DateRangePickerYear = void 0;
30
+ const classes_1 = require("@uxf/core/constants/classes");
31
+ const cx_1 = require("@uxf/core/utils/cx");
32
+ const use_year_1 = require("@uxf/datepicker/hooks/use-year");
33
+ const dayjs_1 = __importDefault(require("dayjs"));
34
+ const react_1 = __importStar(require("react"));
35
+ const date_range_picker_context_1 = require("@uxf/datepicker/contexts/date-range-picker-context");
36
+ const calendar_1 = require("../calendar");
37
+ exports.DateRangePickerYear = (0, react_1.memo)((props) => {
38
+ const { canGoToNextYear, canGoToPrevYear, goToNextYear, goToPrevYear, canGoToMonth, activeMonths } = (0, react_1.useContext)(date_range_picker_context_1.DateRangePickerContext);
39
+ const currentMonth = activeMonths[0].month;
40
+ const currentYear = activeMonths[0].year;
41
+ const { months, yearLabel } = (0, use_year_1.useYear)({
42
+ year: currentYear,
43
+ yearLabelFormat: (date) => (0, dayjs_1.default)(date).format("YYYY"),
44
+ monthLabelFormat: (date) => (0, dayjs_1.default)(date).format("MMMM"),
45
+ });
46
+ const handleGoToNextYear = (0, react_1.useCallback)(() => {
47
+ if (canGoToNextYear) {
48
+ goToNextYear(1);
49
+ }
50
+ }, [canGoToNextYear, goToNextYear]);
51
+ const handleGoToPrevYear = (0, react_1.useCallback)(() => {
52
+ if (canGoToPrevYear) {
53
+ goToPrevYear(1);
54
+ }
55
+ }, [canGoToPrevYear, goToPrevYear]);
56
+ const handleYearClick = (0, react_1.useCallback)(() => {
57
+ props.onYearSelect();
58
+ }, [props]);
59
+ const handleMonthClick = (0, react_1.useCallback)((date) => () => {
60
+ if (canGoToMonth(date)) {
61
+ props.onMonthSelect(date);
62
+ }
63
+ }, [canGoToMonth, props]);
64
+ return (react_1.default.createElement(react_1.default.Fragment, null,
65
+ react_1.default.createElement(calendar_1.CalendarNavigation, { prevButtonProps: {
66
+ disabled: !canGoToPrevYear,
67
+ onClick: canGoToPrevYear ? handleGoToPrevYear : undefined,
68
+ title: "Předchozí rok",
69
+ }, nextButtonProps: {
70
+ disabled: !canGoToNextYear,
71
+ onClick: canGoToNextYear ? handleGoToNextYear : undefined,
72
+ title: "Nadcházející rok",
73
+ }, selectButtonProps: {
74
+ children: yearLabel,
75
+ onClick: handleYearClick,
76
+ title: "Vybrat rok",
77
+ } }),
78
+ react_1.default.createElement("div", { className: "uxf-calendar__year" }, months.map((month, index) => (react_1.default.createElement("button", { className: (0, cx_1.cx)("uxf-calendar__cell uxf-calendar__cell-month", !canGoToMonth(month.date) && classes_1.CLASSES.IS_DISABLED, (0, dayjs_1.default)(month.date).month() === currentMonth && "uxf-calendar__cell-month--current"), key: month.monthLabel + index, onClick: handleMonthClick(month.date), type: "button" }, month.monthLabel))))));
79
+ });
80
+ exports.DateRangePickerYear.displayName = "UxfUiDatePickerYear";
@@ -0,0 +1,10 @@
1
+ import { FC, PropsWithChildren } from "react";
2
+ import { DateRangePickerValueType } from "./types";
3
+ export interface DateRangePickerProps {
4
+ closePopoverHandler: () => void;
5
+ numberOfMonths?: number;
6
+ onChange: (data: DateRangePickerValueType) => void;
7
+ selectedDates: DateRangePickerValueType;
8
+ unavailableDates?: Date[];
9
+ }
10
+ export declare const DateRangePicker: FC<PropsWithChildren<DateRangePickerProps>>;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DateRangePicker = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const date_range_picker_context_1 = require("@uxf/datepicker/contexts/date-range-picker-context");
29
+ const use_date_range_picker_1 = require("@uxf/datepicker/hooks/use-date-range-picker");
30
+ const date_range_picker_content_1 = require("./date-range-picker-content");
31
+ const DateRangePicker = (props) => {
32
+ var _a, _b, _c;
33
+ const [focusedInput, setFocusedInput] = (0, react_1.useState)(use_date_range_picker_1.START_DATE);
34
+ const onDatesChange = (0, react_1.useCallback)((data) => {
35
+ props.onChange({ from: data.startDate, to: data.endDate });
36
+ setFocusedInput(data.endDate ? use_date_range_picker_1.START_DATE : data.focusedInput);
37
+ }, [props]);
38
+ const dateRangePickerProps = (0, use_date_range_picker_1.useDateRangePicker)({
39
+ endDate: ((_a = props.selectedDates) === null || _a === void 0 ? void 0 : _a.to) || null,
40
+ firstDayOfWeek: 1,
41
+ focusedInput: focusedInput,
42
+ numberOfMonths: (_b = props.numberOfMonths) !== null && _b !== void 0 ? _b : 1,
43
+ onDatesChange,
44
+ startDate: ((_c = props.selectedDates) === null || _c === void 0 ? void 0 : _c.from) || null,
45
+ unavailableDates: props.unavailableDates,
46
+ });
47
+ return (react_1.default.createElement(date_range_picker_context_1.DateRangePickerContext.Provider, { value: dateRangePickerProps },
48
+ react_1.default.createElement(date_range_picker_content_1.DateRangePickerContent, null)));
49
+ };
50
+ exports.DateRangePicker = DateRangePicker;
51
+ exports.DateRangePicker.displayName = "UxfUiDatePicker";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const snap_test_1 = require("../utils/snap-test");
8
+ const date_range_picker_stories_1 = require("./date-range-picker.stories");
9
+ (0, snap_test_1.snapTest)("render stories", react_1.default.createElement(date_range_picker_stories_1.Default, null));
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.FC<React.PropsWithChildren<import("./date-range-picker").DateRangePickerProps>>;
5
+ };
6
+ export default _default;
7
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Default = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const action_1 = require("../utils/action");
29
+ const date_range_picker_1 = require("./date-range-picker");
30
+ exports.default = {
31
+ title: "UI/DateRangePicker",
32
+ component: date_range_picker_1.DateRangePicker,
33
+ };
34
+ function Default() {
35
+ const [value, setValue] = (0, react_1.useState)(null);
36
+ const onChange = (0, action_1.action)("onChange", setValue);
37
+ const testDatePickers = (react_1.default.createElement(react_1.default.Fragment, null,
38
+ react_1.default.createElement(date_range_picker_1.DateRangePicker, { closePopoverHandler: close, onChange: onChange, selectedDates: value })));
39
+ return (react_1.default.createElement(react_1.default.Fragment, null,
40
+ react_1.default.createElement("div", { className: "light max-w-[640px] space-y-4 rounded bg-white p-8" }, testDatePickers),
41
+ react_1.default.createElement("div", { className: "dark max-w-[640px] space-y-4 rounded bg-gray-900 p-8 text-white" }, testDatePickers)));
42
+ }
43
+ exports.Default = Default;
@@ -0,0 +1,3 @@
1
+ export { DateRangePicker } from "./date-range-picker";
2
+ export type { DateRangePickerProps } from "./date-range-picker";
3
+ export type { ViewModeType, DateRangePickerValueType } from "./types";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DateRangePicker = void 0;
4
+ var date_range_picker_1 = require("./date-range-picker");
5
+ Object.defineProperty(exports, "DateRangePicker", { enumerable: true, get: function () { return date_range_picker_1.DateRangePicker; } });
@@ -0,0 +1,5 @@
1
+ export type DateRangePickerValueType = {
2
+ from: Date | null;
3
+ to: Date | null;
4
+ } | null;
5
+ export type ViewModeType = "month" | "year" | "decade";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ import React, { ReactNode } from "react";
2
+ import { InputWithPopoverProps } from "../_input-with-popover";
3
+ export declare const ALLOWED_DATE_FORMAT: string[];
4
+ export declare const DISPLAY_DATE_FORMAT = "D. M. YYYY";
5
+ export declare const SEPARATOR = " \u2013 ";
6
+ export declare const splitValueToRange: (value: string | undefined | null) => {
7
+ from: string | undefined;
8
+ to: string | undefined;
9
+ };
10
+ export interface DateRangePickerInputProps extends Omit<InputWithPopoverProps<string | null>, "children" | "placeholder" | "triggerElement"> {
11
+ numberOfMonths?: number;
12
+ placeholder?: string;
13
+ triggerElement?: ReactNode;
14
+ unavailableDates?: Date[];
15
+ }
16
+ export declare const DateRangePickerInput: React.ForwardRefExoticComponent<DateRangePickerInputProps & React.RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DateRangePickerInput = exports.splitValueToRange = exports.SEPARATOR = exports.DISPLAY_DATE_FORMAT = exports.ALLOWED_DATE_FORMAT = void 0;
30
+ const dayjs_1 = __importDefault(require("dayjs"));
31
+ const react_1 = __importStar(require("react"));
32
+ const _input_with_popover_1 = require("../_input-with-popover");
33
+ const date_range_picker_1 = require("../date-range-picker");
34
+ const icon_1 = require("../icon");
35
+ exports.ALLOWED_DATE_FORMAT = ["D. M. YYYY", "DD. MM. YYYY", "D.M.YYYY", "DD.MM.YYYY", "YYYY-MM-DD"];
36
+ exports.DISPLAY_DATE_FORMAT = "D. M. YYYY";
37
+ exports.SEPARATOR = " – ";
38
+ const splitValueToRange = (value) => {
39
+ const splitStr = value === null || value === void 0 ? void 0 : value.split(exports.SEPARATOR);
40
+ return { from: splitStr ? splitStr[0] : undefined, to: splitStr && splitStr.length > 0 ? splitStr[1] : undefined };
41
+ };
42
+ exports.splitValueToRange = splitValueToRange;
43
+ exports.DateRangePickerInput = (0, react_1.forwardRef)((props, ref) => {
44
+ var _a, _b;
45
+ const { numberOfMonths, ...restProps } = props;
46
+ const onChange = props.onChange;
47
+ const onDatePickerChange = (0, react_1.useCallback)((value) => {
48
+ onChange(value
49
+ ? (value.from ? (0, dayjs_1.default)(value.from).format(exports.DISPLAY_DATE_FORMAT) : "") +
50
+ exports.SEPARATOR +
51
+ (value.to ? (0, dayjs_1.default)(value.to).format(exports.DISPLAY_DATE_FORMAT) : "")
52
+ : "");
53
+ }, [onChange]);
54
+ const { from, to } = (0, exports.splitValueToRange)(props.value);
55
+ const parsedFrom = (0, dayjs_1.default)(from, exports.ALLOWED_DATE_FORMAT, true);
56
+ const parsedTo = (0, dayjs_1.default)(to, exports.ALLOWED_DATE_FORMAT, true);
57
+ const selectedDates = props.value
58
+ ? { from: parsedFrom.isValid() ? parsedFrom.toDate() : null, to: parsedTo.isValid() ? parsedTo.toDate() : null }
59
+ : null;
60
+ return (react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...restProps, placeholder: props.placeholder || "Vyberte datum...", ref: ref, triggerElement: (_a = props.triggerElement) !== null && _a !== void 0 ? _a : react_1.default.createElement(icon_1.Icon, { name: "calendar", size: 20 }), value: (_b = props.value) !== null && _b !== void 0 ? _b : "" }, ({ close }) => (react_1.default.createElement(date_range_picker_1.DateRangePicker, { closePopoverHandler: close, numberOfMonths: numberOfMonths, onChange: onDatePickerChange, selectedDates: selectedDates, unavailableDates: props.unavailableDates }))));
61
+ });
62
+ exports.DateRangePickerInput.displayName = "UxfUiDatePickerInput";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const snap_test_1 = require("../utils/snap-test");
8
+ const date_range_picker_input_stories_1 = require("./date-range-picker-input.stories");
9
+ (0, snap_test_1.snapTest)("render stories", react_1.default.createElement(date_range_picker_input_stories_1.Default, null));
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.ForwardRefExoticComponent<import("./date-range-picker-input").DateRangePickerInputProps & React.RefAttributes<HTMLInputElement>>;
5
+ parameters: {
6
+ docs: {};
7
+ };
8
+ };
9
+ export default _default;
10
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Default = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const date_range_picker_input_1 = require("./date-range-picker-input");
29
+ // import Docs from "./date-picker.docs.mdx";
30
+ const action_1 = require("../utils/action");
31
+ exports.default = {
32
+ title: "UI/DateRangePickerInput",
33
+ component: date_range_picker_input_1.DateRangePickerInput,
34
+ parameters: {
35
+ docs: {
36
+ // page: Docs,
37
+ },
38
+ },
39
+ };
40
+ function Default() {
41
+ const [range, setRange] = (0, react_1.useState)(null);
42
+ const onChange = (0, action_1.action)("onChange", setRange);
43
+ const testDatePickers = (react_1.default.createElement(react_1.default.Fragment, null,
44
+ react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { id: "date-test", name: "date", label: "Datum \u010Dehokoliv", value: range, onChange: onChange, isClearable: true }),
45
+ react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { id: "date-test", name: "date", label: "Datum \u010Dehokoliv", value: range, onChange: onChange }),
46
+ react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { id: "date-test-disabled", name: "date-disabled", label: "Datum disabled", value: range, onChange: onChange, isDisabled: true }),
47
+ react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { id: "date-test-readonly", name: "date-readonly", label: "Datum readonly", value: range, onChange: onChange, isReadOnly: true }),
48
+ react_1.default.createElement(date_range_picker_input_1.DateRangePickerInput, { id: "date-test-invalid", name: "date-invalid", label: "Datum invalid", value: range, onChange: onChange, isInvalid: true, isClearable: true })));
49
+ return (react_1.default.createElement(react_1.default.Fragment, null,
50
+ react_1.default.createElement("div", { className: "light max-w-[640px] space-y-4 rounded bg-white p-8" }, testDatePickers),
51
+ react_1.default.createElement("div", { className: "dark max-w-[640px] space-y-4 rounded bg-gray-900 p-8 text-white" }, testDatePickers)));
52
+ }
53
+ exports.Default = Default;
@@ -0,0 +1,2 @@
1
+ export type { DateRangePickerInputProps } from "./date-range-picker-input";
2
+ export { DateRangePickerInput } from "./date-range-picker-input";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DateRangePickerInput = void 0;
4
+ var date_range_picker_input_1 = require("./date-range-picker-input");
5
+ Object.defineProperty(exports, "DateRangePickerInput", { enumerable: true, get: function () { return date_range_picker_input_1.DateRangePickerInput; } });
@@ -9,5 +9,6 @@ export interface DatetimePickerProps {
9
9
  value: InputWithPopoverProps<string | null>["value"];
10
10
  minDate?: Date;
11
11
  maxDate?: Date;
12
+ unavailableDates?: Date[];
12
13
  }
13
14
  export declare const DatetimePicker: FC<DatetimePickerProps>;
@@ -81,13 +81,13 @@ const DatetimePicker = (props) => {
81
81
  }, [onChange, tmpDate]);
82
82
  const selectedDate = getSelectedDate(props.value);
83
83
  const selectedTime = getSelectedTime(props.value);
84
- return (react_1.default.createElement("div", { className: "uxf-tabs uxf-tabs--grow2" },
84
+ return (react_1.default.createElement("div", { className: "uxf-tabs uxf-tabs--grow" },
85
85
  react_1.default.createElement("div", { className: "uxf-tabs__tab-list__wrapper uxf-tabs__tab-list__wrapper--segmented uxf-datetime-picker__tabs" },
86
86
  react_1.default.createElement("div", { className: (0, cx_1.cx)("uxf-tabs__tab-list", `uxf-tabs__tab-list--segmented`) },
87
87
  react_1.default.createElement("button", { className: (0, cx_1.cx)("uxf-tabs__tab uxf-tabs__tab--segmented uxf-datetime-picker__tab", selectedTab === "date" && classes_1.CLASSES.IS_ACTIVE), onClick: () => setSelectedTab("date") }, "Datum"),
88
88
  react_1.default.createElement("button", { className: (0, cx_1.cx)("uxf-tabs__tab uxf-tabs__tab--segmented uxf-datetime-picker__tab", selectedTab === "time" && classes_1.CLASSES.IS_ACTIVE), onClick: () => setSelectedTab("time") }, "\u010Cas"))),
89
89
  react_1.default.createElement("div", { className: "uxf-tabs__panels" },
90
- selectedTab === "date" && (react_1.default.createElement(date_picker_1.DatePicker, { maxDate: props.maxDate, minDate: props.minDate, onChange: onDatePickerChange, selectedDate: selectedDate })),
90
+ selectedTab === "date" && (react_1.default.createElement(date_picker_1.DatePicker, { maxDate: props.maxDate, minDate: props.minDate, onChange: onDatePickerChange, preventScroll: true, selectedDate: selectedDate, unavailableDates: props.unavailableDates })),
91
91
  selectedTab === "time" && react_1.default.createElement(time_picker_1.TimePicker, { onChange: onTimePickerChange, selectedTime: selectedTime }))));
92
92
  };
93
93
  exports.DatetimePicker = DatetimePicker;
@@ -8,5 +8,6 @@ export interface DatetimePickerInputProps extends Omit<InputWithPopoverProps<str
8
8
  triggerElement?: ReactNode;
9
9
  minDate?: string;
10
10
  maxDate?: string;
11
+ unavailableDates?: Date[];
11
12
  }
12
13
  export declare const DatetimePickerInput: React.ForwardRefExoticComponent<DatetimePickerInputProps & React.RefAttributes<HTMLInputElement>>;
@@ -33,6 +33,7 @@ const _input_with_popover_1 = require("../_input-with-popover");
33
33
  const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
34
34
  const icon_1 = require("../icon");
35
35
  const datetime_picker_1 = require("../datetime-picker");
36
+ const cx_1 = require("@uxf/core/utils/cx");
36
37
  (0, dayjs_1.extend)(customParseFormat_1.default);
37
38
  exports.ALLOWED_DATETIME_FORMAT = [
38
39
  "D. M. YYYY H:mm",
@@ -63,6 +64,7 @@ function getBoundaryDate(value) {
63
64
  exports.DatetimePickerInput = (0, react_1.forwardRef)((props, ref) => {
64
65
  var _a, _b;
65
66
  const onChange = props.onChange;
67
+ const className = (0, cx_1.cx)("uxf-date-time-picker-input", props.className);
66
68
  const onInputChange = (0, react_1.useCallback)((value) => {
67
69
  const parsedValue = (0, dayjs_1.default)(value, exports.ALLOWED_DATETIME_FORMAT, true);
68
70
  if (value !== "" && parsedValue.isValid()) {
@@ -76,6 +78,6 @@ exports.DatetimePickerInput = (0, react_1.forwardRef)((props, ref) => {
76
78
  const parsedMinDate = getBoundaryDate(props.minDate);
77
79
  const parsedMaxDate = getBoundaryDate(props.maxDate);
78
80
  return (react_1.default.createElement(react_1.default.Fragment, null,
79
- react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, onChange: onInputChange, placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : (0, dayjs_1.default)().format(exports.DISPLAY_DATETIME_FORMAT), ref: ref, value: value, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "calendar", size: 20 }) }, ({ close }) => (react_1.default.createElement(datetime_picker_1.DatetimePicker, { minDate: parsedMinDate, maxDate: parsedMaxDate, closePopoverHandler: close, onChange: onChange, value: props.value })))));
81
+ react_1.default.createElement(_input_with_popover_1._InputWithPopover, { ...props, className: className, onChange: onInputChange, placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : (0, dayjs_1.default)().format(exports.DISPLAY_DATETIME_FORMAT), ref: ref, value: value, triggerElement: (_b = props.triggerElement) !== null && _b !== void 0 ? _b : react_1.default.createElement(icon_1.Icon, { name: "calendar", size: 20 }) }, ({ close }) => (react_1.default.createElement(datetime_picker_1.DatetimePicker, { minDate: parsedMinDate, maxDate: parsedMaxDate, closePopoverHandler: close, onChange: onChange, value: props.value, unavailableDates: props.unavailableDates })))));
80
82
  });
81
83
  exports.DatetimePickerInput.displayName = "UxfUiDatePickerInput";
@@ -0,0 +1,9 @@
1
+ import React, { ReactNode } from "react";
2
+ export interface DialogProps {
3
+ children: ReactNode;
4
+ className?: string;
5
+ disableBackdropClose?: boolean;
6
+ onClose: () => void;
7
+ open: boolean;
8
+ }
9
+ export declare const Dialog: React.NamedExoticComponent<DialogProps>;
@@ -23,16 +23,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.ModalDialog = void 0;
26
+ exports.Dialog = void 0;
27
27
  const react_1 = require("@headlessui/react");
28
- const cx_1 = require("@uxf/core/utils/cx");
29
28
  const react_2 = __importStar(require("react"));
30
- exports.ModalDialog = (0, react_2.memo)((props) => {
29
+ exports.Dialog = (0, react_2.memo)((props) => {
31
30
  var _a;
32
- return (react_2.default.createElement(react_1.Dialog, { className: (0, cx_1.cx)("uxf-modal", "uxf-modal--width-" + ((_a = props.width) !== null && _a !== void 0 ? _a : "default"), props.className), open: props.open, onClose: props.disableBackdropClose ? () => null : props.onClose },
33
- react_2.default.createElement(react_1.Dialog.Overlay, { className: "uxf-modal__backdrop" }),
34
- react_2.default.createElement("div", { className: "uxf-modal__wrapper" },
35
- react_2.default.createElement("div", { className: "uxf-modal__body" },
36
- react_2.default.createElement(react_1.Dialog.Panel, { className: "uxf-modal__panel" }, props.children)))));
31
+ return (react_2.default.createElement(react_1.Dialog, { className: `uxf-dialog ${(_a = props.className) !== null && _a !== void 0 ? _a : ""}`, open: props.open, onClose: props.disableBackdropClose ? () => null : props.onClose },
32
+ react_2.default.createElement(react_1.Dialog.Overlay, { className: "uxf-dialog__backdrop" }),
33
+ react_2.default.createElement("div", { className: "uxf-dialog__wrapper" },
34
+ react_2.default.createElement("div", { className: "uxf-dialog__body" },
35
+ react_2.default.createElement(react_1.Dialog.Panel, { className: "uxf-dialog__panel" }, props.children)))));
37
36
  });
38
- exports.ModalDialog.displayName = "UxfUiModalDialog";
37
+ exports.Dialog.displayName = "UxfUiDialog";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const snap_test_1 = require("../utils/snap-test");
8
+ const dialog_stories_1 = require("./dialog.stories");
9
+ (0, snap_test_1.snapTest)("render stories", react_1.default.createElement(dialog_stories_1.Default, null));
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.NamedExoticComponent<import("./dialog").DialogProps>;
5
+ };
6
+ export default _default;
7
+ export declare function Default(): React.JSX.Element;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Default = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const dialog_1 = require("./dialog");
29
+ const button_1 = require("../button");
30
+ exports.default = {
31
+ title: "UI/Dialog",
32
+ component: dialog_1.Dialog,
33
+ };
34
+ function Default() {
35
+ const [open, setOpen] = (0, react_1.useState)();
36
+ const storyDialog = (react_1.default.createElement("div", null,
37
+ react_1.default.createElement(button_1.Button, { onClick: () => setOpen(true) }, "Click to open modal - default")));
38
+ return (react_1.default.createElement(react_1.default.Fragment, null,
39
+ react_1.default.createElement("div", { className: "flex flex-col lg:flex-row" },
40
+ react_1.default.createElement("div", { className: "light space-y-2 p-20 lg:w-1/2" }, storyDialog),
41
+ react_1.default.createElement("div", { className: "dark space-y-2 bg-gray-900 p-20 lg:w-1/2" }, storyDialog)),
42
+ open && (react_1.default.createElement(dialog_1.Dialog, { onClose: () => setOpen(true), open: open },
43
+ react_1.default.createElement("div", { className: "p-4" },
44
+ react_1.default.createElement("p", { className: "mb-3 text-lg font-bold" }, "Dialog"),
45
+ react_1.default.createElement(button_1.Button, { isFullWidth: true, onClick: () => setOpen(false) }, "Close dialog"))))));
46
+ }
47
+ exports.Default = Default;
@@ -0,0 +1,2 @@
1
+ export type { DialogProps } from "./dialog";
2
+ export { Dialog } from "./dialog";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Dialog = void 0;
4
+ var dialog_1 = require("./dialog");
5
+ Object.defineProperty(exports, "Dialog", { enumerable: true, get: function () { return dialog_1.Dialog; } });