@bit.rhplus/ui.f7.detail-item 0.0.105 → 0.0.107

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 (53) hide show
  1. package/package.json +13 -12
  2. package/dist/components/Calendar.d.ts +0 -18
  3. package/dist/components/Calendar.js +0 -367
  4. package/dist/components/Calendar.js.map +0 -1
  5. package/dist/components/Category.d.ts +0 -14
  6. package/dist/components/Category.js +0 -90
  7. package/dist/components/Category.js.map +0 -1
  8. package/dist/components/Contact.d.ts +0 -12
  9. package/dist/components/Contact.js +0 -90
  10. package/dist/components/Contact.js.map +0 -1
  11. package/dist/components/CountryFlag.d.ts +0 -12
  12. package/dist/components/CountryFlag.js +0 -76
  13. package/dist/components/CountryFlag.js.map +0 -1
  14. package/dist/components/Custom.d.ts +0 -22
  15. package/dist/components/Custom.js +0 -146
  16. package/dist/components/Custom.js.map +0 -1
  17. package/dist/components/Download.d.ts +0 -12
  18. package/dist/components/Download.js +0 -48
  19. package/dist/components/Download.js.map +0 -1
  20. package/dist/components/Grid.d.ts +0 -20
  21. package/dist/components/Grid.js +0 -147
  22. package/dist/components/Grid.js.map +0 -1
  23. package/dist/components/InputNumber.d.ts +0 -16
  24. package/dist/components/InputNumber.js +0 -78
  25. package/dist/components/InputNumber.js.map +0 -1
  26. package/dist/components/InputText.d.ts +0 -13
  27. package/dist/components/InputText.js +0 -61
  28. package/dist/components/InputText.js.map +0 -1
  29. package/dist/components/List.d.ts +0 -29
  30. package/dist/components/List.js +0 -269
  31. package/dist/components/List.js.map +0 -1
  32. package/dist/components/Project.d.ts +0 -31
  33. package/dist/components/Project.js +0 -575
  34. package/dist/components/Project.js.map +0 -1
  35. package/dist/components/Select.d.ts +0 -14
  36. package/dist/components/Select.js +0 -105
  37. package/dist/components/Select.js.map +0 -1
  38. package/dist/components/Switch.d.ts +0 -12
  39. package/dist/components/Switch.js +0 -26
  40. package/dist/components/Switch.js.map +0 -1
  41. package/dist/components/Text.d.ts +0 -11
  42. package/dist/components/Text.js +0 -30
  43. package/dist/components/Text.js.map +0 -1
  44. package/dist/components/index.d.ts +0 -14
  45. package/dist/components/index.js +0 -15
  46. package/dist/components/index.js.map +0 -1
  47. package/dist/index.d.ts +0 -17
  48. package/dist/index.js +0 -41
  49. package/dist/index.js.map +0 -1
  50. package/dist/preview-1773412876021.js +0 -7
  51. package/dist/style.css +0 -113
  52. package/types/asset.d.ts +0 -43
  53. package/types/style.d.ts +0 -42
package/package.json CHANGED
@@ -1,28 +1,28 @@
1
1
  {
2
2
  "name": "@bit.rhplus/ui.f7.detail-item",
3
- "version": "0.0.105",
3
+ "version": "0.0.107",
4
4
  "homepage": "https://bit.cloud/remote-scope/ui/f7/detail-item",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "remote-scope",
8
8
  "name": "ui/f7/detail-item",
9
- "version": "0.0.105"
9
+ "version": "0.0.107"
10
10
  },
11
11
  "dependencies": {
12
12
  "lucide-react": "^0.503.0",
13
13
  "antd": "^5.20.6",
14
- "@bit.rhplus/ui.f7.list-item": "0.0.8",
15
- "@bit.rhplus/ui.form": "0.1.13",
16
- "@bit.rhplus/ui.f7.save-button": "0.0.7",
17
- "@bit.rhplus/ui.f7.small-button": "0.0.10",
18
- "@bit.rhplus/ui.circle-button": "0.0.15",
19
- "@bit.rhplus/ui.f7.category": "0.0.3",
20
- "@bit.rhplus/ui.f7.filter": "0.0.4",
21
- "@bit.rhplus/ui.f7.segmented": "0.0.12",
22
- "@bit.rhplus/ui.grid": "0.0.131"
14
+ "@bit.rhplus/ui.f7.list-item": "0.0.9",
15
+ "@bit.rhplus/ui.form": "0.1.15",
16
+ "@bit.rhplus/ui.f7.save-button": "0.0.8",
17
+ "@bit.rhplus/ui.f7.small-button": "0.0.11",
18
+ "@bit.rhplus/ui.circle-button": "0.0.16",
19
+ "@bit.rhplus/ui.f7.category": "0.0.4",
20
+ "@bit.rhplus/ui.grid": "0.0.132",
21
+ "@bit.rhplus/ui.f7.filter": "0.0.5",
22
+ "@bit.rhplus/ui.f7.segmented": "0.0.13"
23
23
  },
24
24
  "devDependencies": {
25
- "@teambit/react.react-env": "1.3.1"
25
+ "@bitdev/react.react-env": "4.0.14"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "framework7-react": "^8.3.3",
@@ -31,6 +31,7 @@
31
31
  "license": "SEE LICENSE IN UNLICENSED",
32
32
  "optionalDependencies": {},
33
33
  "peerDependenciesMeta": {},
34
+ "type": "module",
34
35
  "private": false,
35
36
  "publishConfig": {
36
37
  "scope": "@bit.rhplus",
@@ -1,18 +0,0 @@
1
- export function Calendar({ value, title, onChange, placeholder, format, color, style, disabled, lucideIcon, icon, iconSize, field, enableTime, calendarParams, ...restProps }: {
2
- [x: string]: any;
3
- value: any;
4
- title: any;
5
- onChange: any;
6
- placeholder?: string | undefined;
7
- format?: string | undefined;
8
- color: any;
9
- style: any;
10
- disabled?: boolean | undefined;
11
- lucideIcon?: React.ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & React.RefAttributes<SVGSVGElement>> | undefined;
12
- icon: any;
13
- iconSize?: number | undefined;
14
- field?: null | undefined;
15
- enableTime?: boolean | undefined;
16
- calendarParams?: {} | undefined;
17
- }): import("react/jsx-runtime").JSX.Element;
18
- import React from 'react';
@@ -1,367 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /* eslint-disable */
3
- import React, { useRef, useEffect, useState, useCallback } from 'react';
4
- import { f7, Popup, Popover, Page, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Link, Block, Icon, Card, List, ListInput, Picker, Button } from 'framework7-react';
5
- import { Calendar as CalendarIcon, X } from 'lucide-react';
6
- import SaveButton from '@bit.rhplus/ui.f7.save-button';
7
- import SmallButton from '@bit.rhplus/ui.f7.small-button';
8
- export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum', format = 'dd.MM.yyyy', color, style, disabled = false, lucideIcon = CalendarIcon, icon, iconSize = 16, field = null, enableTime = false, // Nový prop pro povolení výběru času
9
- calendarParams = {}, ...restProps }) => {
10
- const calendarRef = useRef(null);
11
- const calendarContainerRef = useRef(null);
12
- const isInitializingRef = useRef(false);
13
- const [displayValue, setDisplayValue] = useState('');
14
- const [popupOpened, setPopupOpened] = useState(false);
15
- const [timePopoverOpened, setTimePopoverOpened] = useState(false);
16
- const timePickerRef = useRef(null);
17
- const [selectedDate, setSelectedDate] = useState(value ? new Date(value) : null);
18
- const [selectedTime, setSelectedTime] = useState(() => {
19
- if (value && enableTime) {
20
- const d = new Date(value);
21
- return {
22
- hours: String(d.getHours()).padStart(2, '0'),
23
- minutes: String(d.getMinutes()).padStart(2, '0'),
24
- isSet: true
25
- };
26
- }
27
- return { hours: null, minutes: null, isSet: false };
28
- });
29
- // Převod hodnoty na display formát
30
- const formatDate = (date) => {
31
- if (!date)
32
- return '';
33
- const d = new Date(date);
34
- if (isNaN(d.getTime()))
35
- return '';
36
- const day = String(d.getDate()).padStart(2, '0');
37
- const month = String(d.getMonth() + 1).padStart(2, '0');
38
- const year = d.getFullYear();
39
- let dateStr = `${day}.${month}.${year}`;
40
- // Pokud je povolený čas a je nastaven, přidej ho k formátu
41
- if (enableTime && selectedTime.isSet && selectedTime.hours !== null) {
42
- const hours = String(d.getHours()).padStart(2, '0');
43
- const minutes = String(d.getMinutes()).padStart(2, '0');
44
- dateStr += ` ${hours}:${minutes}`;
45
- }
46
- return dateStr;
47
- };
48
- // Aktualizace display hodnoty při změně value
49
- useEffect(() => {
50
- setDisplayValue(formatDate(value));
51
- setSelectedDate(value ? new Date(value) : null);
52
- }, [value]);
53
- // Otevření popup s kalendářem
54
- const openCalendar = useCallback(() => {
55
- if (disabled)
56
- return;
57
- setPopupOpened(true);
58
- }, [disabled]);
59
- // Cleanup kalendáře při zavírání popup
60
- useEffect(() => {
61
- if (!popupOpened && calendarRef.current) {
62
- // Bezpečný cleanup s timeout pro prevenci konfliktů
63
- setTimeout(() => {
64
- if (calendarRef.current) {
65
- try {
66
- calendarRef.current.destroy();
67
- }
68
- catch (error) {
69
- console.warn('Calendar cleanup error:', error);
70
- }
71
- calendarRef.current = null;
72
- }
73
- // Vyčisti i DOM kontejner
74
- if (calendarContainerRef.current) {
75
- calendarContainerRef.current.innerHTML = '';
76
- }
77
- }, 100);
78
- }
79
- }, [popupOpened]);
80
- // Inicializace kalendáře po otevření popup
81
- useEffect(() => {
82
- if (!popupOpened || !calendarContainerRef.current)
83
- return;
84
- // Počkej na vykreslení popup
85
- const timeoutId = setTimeout(() => {
86
- if (!calendarContainerRef.current || !popupOpened)
87
- return;
88
- // Vyčisti předchozí obsah
89
- calendarContainerRef.current.innerHTML = '';
90
- // Zničí existující kalendář pokud existuje
91
- if (calendarRef.current) {
92
- calendarRef.current.destroy();
93
- calendarRef.current = null;
94
- }
95
- // Nastav flag že se kalendář inicializuje
96
- isInitializingRef.current = true;
97
- // Měsíce v češtině
98
- const monthNames = [
99
- 'Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen',
100
- 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec'
101
- ];
102
- // Dny v češtině
103
- const dayNames = ['Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'];
104
- const defaultParams = {
105
- containerEl: calendarContainerRef.current,
106
- value: selectedDate ? [selectedDate] : [],
107
- // Nastavení výchozího roku a měsíce podle vybraného data
108
- ...(selectedDate && {
109
- currentYear: selectedDate.getFullYear(),
110
- currentMonth: selectedDate.getMonth(),
111
- currentDate: selectedDate
112
- }),
113
- monthNames,
114
- monthNamesShort: monthNames.map(name => name.substring(0, 3)),
115
- dayNames,
116
- dayNamesShort: dayNames,
117
- firstDay: 1, // Pondělí jako první den
118
- // Vypne timePicker - použijeme vlastní řešení
119
- timePicker: false,
120
- // Vypne automatické zavírání při enableTime
121
- closeOnSelect: !enableTime,
122
- on: {
123
- change: (calendar, value) => {
124
- // Ignoruj změny během inicializace
125
- if (isInitializingRef.current) {
126
- return;
127
- }
128
- if (value && value.length > 0) {
129
- const newSelectedDate = value[0];
130
- setSelectedDate(newSelectedDate);
131
- // Pokud není povolen čas, automaticky potvrď a zavři popup
132
- if (!enableTime) {
133
- if (onChange) {
134
- onChange(newSelectedDate);
135
- }
136
- // Zavři popup s mírným zpožděním pro lepší UX
137
- setTimeout(() => {
138
- setPopupOpened(false);
139
- }, 200);
140
- }
141
- }
142
- }
143
- },
144
- ...calendarParams
145
- };
146
- calendarRef.current = f7.calendar.create(defaultParams);
147
- // Po vytvoření kalendáře vypni inicializační flag
148
- setTimeout(() => {
149
- isInitializingRef.current = false;
150
- }, 300);
151
- }, 150);
152
- return () => {
153
- clearTimeout(timeoutId);
154
- if (calendarRef.current) {
155
- try {
156
- calendarRef.current.destroy();
157
- }
158
- catch (error) {
159
- console.warn('Calendar cleanup error:', error);
160
- }
161
- calendarRef.current = null;
162
- }
163
- };
164
- }, [popupOpened, selectedDate, calendarParams]);
165
- // Otevření time picker
166
- const openTimePicker = useCallback(() => {
167
- if (!enableTime)
168
- return;
169
- // Bezpečný cleanup existujícího pickeru
170
- if (timePickerRef.current) {
171
- try {
172
- timePickerRef.current.destroy();
173
- }
174
- catch (error) {
175
- console.warn('Time picker cleanup error:', error);
176
- }
177
- timePickerRef.current = null;
178
- }
179
- // Krátký timeout pro zajištění úplného cleanup
180
- setTimeout(() => {
181
- // Vytvoř hodnoty pro picker
182
- const hours = Array.from({ length: 24 }, (_, i) => ({
183
- value: String(i).padStart(2, '0'),
184
- displayValue: String(i).padStart(2, '0')
185
- }));
186
- const minutes = Array.from({ length: 60 }, (_, i) => ({
187
- value: String(i).padStart(2, '0'),
188
- displayValue: String(i).padStart(2, '0')
189
- }));
190
- timePickerRef.current = f7.picker.create({
191
- inputEl: '.time-picker-button',
192
- value: selectedTime.isSet ? [selectedTime.hours, selectedTime.minutes] : ['09', '00'],
193
- cols: [
194
- {
195
- textAlign: 'center',
196
- values: hours.map(h => h.value),
197
- displayValues: hours.map(h => h.displayValue),
198
- },
199
- {
200
- textAlign: 'center',
201
- values: minutes.map(m => m.value),
202
- displayValues: minutes.map(m => m.displayValue),
203
- }
204
- ],
205
- formatValue: (values) => `${values[0]}:${values[1]}`,
206
- on: {
207
- change: (picker, values) => {
208
- setSelectedTime({
209
- hours: values[0],
210
- minutes: values[1],
211
- isSet: true
212
- });
213
- },
214
- close: () => {
215
- // Cleanup při zavření
216
- setTimeout(() => {
217
- if (timePickerRef.current) {
218
- try {
219
- timePickerRef.current.destroy();
220
- }
221
- catch (error) {
222
- console.warn('Time picker close cleanup error:', error);
223
- }
224
- timePickerRef.current = null;
225
- }
226
- }, 100);
227
- }
228
- }
229
- });
230
- timePickerRef.current.open();
231
- }, 50);
232
- }, [enableTime, selectedTime]);
233
- // Vynulování času
234
- const clearTime = useCallback(() => {
235
- setSelectedTime({ hours: null, minutes: null, isSet: false });
236
- }, []);
237
- // Cleanup time pickeru
238
- useEffect(() => {
239
- return () => {
240
- if (timePickerRef.current) {
241
- try {
242
- timePickerRef.current.destroy();
243
- }
244
- catch (error) {
245
- console.warn('Time picker unmount cleanup error:', error);
246
- }
247
- timePickerRef.current = null;
248
- }
249
- };
250
- }, []);
251
- // Cleanup při zavírání hlavního popup
252
- useEffect(() => {
253
- if (!popupOpened && timePickerRef.current) {
254
- try {
255
- timePickerRef.current.destroy();
256
- }
257
- catch (error) {
258
- console.warn('Time picker popup cleanup error:', error);
259
- }
260
- timePickerRef.current = null;
261
- }
262
- }, [popupOpened]);
263
- // Potvrzení výběru data
264
- const confirmSelection = useCallback(() => {
265
- if (selectedDate && onChange) {
266
- let finalDate = new Date(selectedDate);
267
- // Pokud je povolen čas a je nastaven, aplikuj vybraný čas
268
- if (enableTime && selectedTime.isSet && selectedTime.hours !== null) {
269
- finalDate.setHours(parseInt(selectedTime.hours));
270
- finalDate.setMinutes(parseInt(selectedTime.minutes));
271
- }
272
- else if (enableTime && !selectedTime.isSet) {
273
- // Pokud čas není nastaven, použij 00:00
274
- finalDate.setHours(0);
275
- finalDate.setMinutes(0);
276
- }
277
- onChange(finalDate);
278
- }
279
- setPopupOpened(false);
280
- }, [selectedDate, selectedTime, enableTime, onChange]);
281
- // Zrušení výběru
282
- const cancelSelection = useCallback(() => {
283
- setSelectedDate(value ? new Date(value) : null);
284
- // Obnovení původního stavu času
285
- if (value && enableTime) {
286
- const d = new Date(value);
287
- setSelectedTime({
288
- hours: String(d.getHours()).padStart(2, '0'),
289
- minutes: String(d.getMinutes()).padStart(2, '0'),
290
- isSet: true
291
- });
292
- }
293
- else {
294
- setSelectedTime({ hours: null, minutes: null, isSet: false });
295
- }
296
- // Bezpečné zavření s delay
297
- setTimeout(() => {
298
- setPopupOpened(false);
299
- }, 50);
300
- }, [value, enableTime]);
301
- const containerStyle = {
302
- display: 'flex',
303
- alignItems: 'center',
304
- justifyContent: 'flex-end',
305
- gap: '6px',
306
- cursor: disabled ? 'not-allowed' : 'pointer',
307
- opacity: disabled ? 0.6 : 1,
308
- minWidth: '120px',
309
- textAlign: 'right',
310
- ...style
311
- };
312
- const displayStyle = {
313
- border: 'none',
314
- background: 'transparent',
315
- outline: 'none',
316
- fontSize: 'inherit',
317
- color: '#6887d3',
318
- cursor: disabled ? 'not-allowed' : 'pointer',
319
- pointerEvents: 'none',
320
- fontWeight: displayValue ? '500' : 'normal'
321
- };
322
- // Určí jakou ikonu použít
323
- const renderIcon = () => {
324
- const iconColor = '#6887d3';
325
- if (icon) {
326
- return React.cloneElement(icon, { size: iconSize, color: iconColor, ...icon.props });
327
- }
328
- if (lucideIcon) {
329
- const LucideIcon = lucideIcon;
330
- return _jsx(LucideIcon, { size: iconSize, color: iconColor });
331
- }
332
- return null;
333
- };
334
- return (_jsxs(_Fragment, { children: [_jsxs("div", { style: containerStyle, onClick: openCalendar, ...restProps, children: [renderIcon(), _jsx("span", { style: displayStyle, children: displayValue || placeholder })] }), _jsx(Popup, { opened: popupOpened, onPopupClosed: cancelSelection, animate: true, backdrop: true, push: false, className: "f7-parallax calendar-popup", style: {
335
- '--f7-popup-tablet-width': '90vw',
336
- '--f7-popup-tablet-height': '90vh'
337
- }, children: _jsx("div", { className: "view view-init", children: _jsxs("div", { className: "page page-with-navbar-large", children: [_jsxs(Navbar, { large: true, children: [_jsx(NavLeft, { children: _jsx(Link, { onClick: cancelSelection, children: _jsx(Icon, { f7: "arrow_left", style: { fontWeight: 'bold' } }) }) }), _jsx(NavTitle, { children: title }), _jsx(NavTitleLarge, { children: title })] }), _jsx("div", { className: "page-content", children: _jsxs(Block, { style: {
338
- padding: '10px 0',
339
- }, children: [_jsx(Card, { children: _jsx(Block, { style: { padding: '20px' }, children: _jsx("div", { ref: calendarContainerRef, style: {
340
- minHeight: '300px',
341
- display: 'flex',
342
- justifyContent: 'center',
343
- alignItems: 'flex-start'
344
- } }) }) }), enableTime && (_jsx(Block, { style: {
345
- padding: '10px 0',
346
- }, children: _jsx(Card, { children: _jsx(Block, { style: { padding: '20px' }, children: _jsxs("div", { style: {
347
- display: 'flex',
348
- justifyContent: 'space-between',
349
- alignItems: 'center'
350
- }, children: [_jsx("h3", { style: { margin: 0, fontSize: '18px', fontWeight: '600' }, children: "\u010Cas" }), _jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '8px' }, children: [_jsx(SmallButton, { className: "time-picker-button", onClick: openTimePicker, style: {
351
- width: 'auto',
352
- opacity: selectedTime.isSet ? 1 : 0.6,
353
- padding: '16px 22px',
354
- }, children: selectedTime.isSet ? `${selectedTime.hours}:${selectedTime.minutes}` : 'Vyberte čas' }), selectedTime.isSet && (_jsx("button", { onClick: clearTime, style: {
355
- background: 'transparent',
356
- border: 'none',
357
- padding: '4px',
358
- cursor: 'pointer',
359
- borderRadius: '4px',
360
- display: 'flex',
361
- alignItems: 'center',
362
- justifyContent: 'center',
363
- opacity: 0.6,
364
- transition: 'opacity 0.2s'
365
- }, onMouseOver: (e) => e.target.style.opacity = '1', onMouseOut: (e) => e.target.style.opacity = '0.6', children: _jsx(X, { size: 16, color: "#666" }) }))] })] }) }) }) })), enableTime && (_jsx(SaveButton, { onClick: confirmSelection, variant: "black" }))] }) })] }) }) })] }));
366
- };
367
- //# sourceMappingURL=Calendar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../components/Calendar.jsx"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export function Category({ children, value, onSave, onChange, title, placeholder, color, size, lucideIcon, icon, categories, field }: {
2
- children: any;
3
- value: any;
4
- onSave: any;
5
- onChange: any;
6
- title?: string | undefined;
7
- placeholder?: string | undefined;
8
- color?: string | undefined;
9
- size?: number | undefined;
10
- lucideIcon: any;
11
- icon: any;
12
- categories?: never[] | undefined;
13
- field?: null | undefined;
14
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,90 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /* eslint-disable */
3
- import React, { useState, useEffect } from 'react';
4
- import { Link, Icon, Popup, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Page, Block, List, ListInput, Button } from 'framework7-react';
5
- import { Tag } from 'lucide-react';
6
- import CircleButton from '@bit.rhplus/ui.circle-button';
7
- import CategoryItems from '@bit.rhplus/ui.f7.category';
8
- // Category komponenta s modální editací - zobrazuje výběr jedné kategorie jako avatar
9
- export const Category = ({ children, value, onSave, onChange, // Přidáno pro Form.Item kompatibilitu
10
- title = 'Vyber', placeholder = 'Vyber kategorii', color = '#6887d3', size = 16, lucideIcon, // Lucide React ikona (např. Tag)
11
- icon, // Jakákoliv React komponenta ikony
12
- categories = [], // Array kategorií ve formátu [{ id, name, icon, color }]
13
- field = null // Pole pro výběr konkrétní vlastnosti objektu (např. 'id', 'name')
14
- }) => {
15
- const [popupOpened, setPopupOpened] = useState(false);
16
- // Najíst objekt na základě value (pokud je field nastaven, value může být jen konkrétní vlastnost)
17
- const findCategoryByValue = (val) => {
18
- if (!val || !categories.length)
19
- return null;
20
- if (field) {
21
- // Pokud je field nastaven, hledej objekt podle této vlastnosti
22
- return categories.find(cat => cat[field] === val) || null;
23
- }
24
- else {
25
- // Pokud field není nastaven, očekáváme celý objekt
26
- return val;
27
- }
28
- };
29
- const [selectedCategory, setSelectedCategory] = useState(() => findCategoryByValue(value));
30
- // Aktualizuj selectedCategory když se změní value prop (pro Form.Item kompatibilitu)
31
- useEffect(() => {
32
- if (value !== undefined) {
33
- setSelectedCategory(findCategoryByValue(value));
34
- }
35
- }, [value, categories, field]);
36
- const linkStyle = {
37
- color,
38
- cursor: 'pointer',
39
- display: 'flex',
40
- alignItems: 'center',
41
- gap: '6px'
42
- };
43
- const handleCancel = () => {
44
- setSelectedCategory(findCategoryByValue(value));
45
- setPopupOpened(false);
46
- };
47
- const selectCategory = (category) => {
48
- // Automaticky ulož a zavři popup
49
- setSelectedCategory(category);
50
- // Rozhodni jakou hodnotu vrátit podle field parametru
51
- const returnValue = field && category ? category[field] : category;
52
- // Preferuj onChange pro Form.Item kompatibilitu, jinak použij onSave
53
- if (onChange) {
54
- onChange(returnValue);
55
- }
56
- else if (onSave) {
57
- onSave(returnValue);
58
- }
59
- setPopupOpened(false);
60
- };
61
- // Určí jakou ikonu použít - priorita: icon > lucideIcon > výchozí Tag
62
- const renderIcon = () => {
63
- // Pokud je vybrána kategorie, použij její barvu
64
- let iconColor = color;
65
- if (selectedCategory?.color) {
66
- // Pokud barva už obsahuje #, použij ji přímo, jinak ji přidej
67
- iconColor = selectedCategory.color.startsWith('#') ? selectedCategory.color : `#${selectedCategory.color}`;
68
- }
69
- if (icon) {
70
- return React.cloneElement(icon, { size, color: iconColor, ...icon.props });
71
- }
72
- if (lucideIcon) {
73
- const LucideIcon = lucideIcon;
74
- return _jsx(LucideIcon, { size: size, color: iconColor });
75
- }
76
- return _jsx(Tag, { size: size, color: iconColor });
77
- };
78
- // Zobrazí název vybrané kategorie nebo placeholder
79
- const renderDisplayText = () => {
80
- if (selectedCategory && selectedCategory.name) {
81
- return selectedCategory.name;
82
- }
83
- return placeholder;
84
- };
85
- return (_jsxs(_Fragment, { children: [_jsxs(Link, { onClick: () => setPopupOpened(true), className: "link", style: linkStyle, children: [renderIcon(), renderDisplayText()] }), _jsx(Popup, { opened: popupOpened, onPopupClosed: () => setPopupOpened(false), animate: true, backdrop: true, push: false, className: "f7-parallax category-popup", style: {
86
- '--f7-popup-tablet-width': '90vw',
87
- '--f7-popup-tablet-height': '90vh'
88
- }, children: _jsx("div", { className: "view view-init", children: _jsxs("div", { className: "page page-with-navbar-large", children: [_jsxs(Navbar, { large: true, children: [_jsx(NavLeft, { children: _jsx(Link, { onClick: handleCancel, children: _jsx(Icon, { f7: "arrow_left", style: { fontWeight: 'bold' } }) }) }), _jsx(NavTitle, { children: title }), _jsx(NavTitleLarge, { children: title })] }), _jsx("div", { className: "page-content", children: _jsx(CategoryItems, { categories: categories, onCategorySelect: selectCategory }) })] }) }) })] }));
89
- };
90
- //# sourceMappingURL=Category.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Category.js","sourceRoot":"","sources":["../../components/Category.jsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- export function Contact({ value, onSave, onChange, title, placeholder, color, size, field, visibleFields, ...restProps }: {
2
- [x: string]: any;
3
- value: any;
4
- onSave: any;
5
- onChange: any;
6
- title?: string | undefined;
7
- placeholder?: string | undefined;
8
- color?: string | undefined;
9
- size?: number | undefined;
10
- field?: null | undefined;
11
- visibleFields?: string[] | undefined;
12
- }): import("react/jsx-runtime").JSX.Element;