@bit.rhplus/ui.f7.detail-item 0.0.2 → 0.0.3

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 (54) hide show
  1. package/components/Category.jsx +167 -0
  2. package/components/Contact.jsx +105 -0
  3. package/components/Custom.jsx +209 -4
  4. package/components/Download.jsx +32 -7
  5. package/components/Grid.jsx +230 -0
  6. package/components/InputNumber.jsx +17 -2
  7. package/components/InputText.jsx +17 -2
  8. package/components/List.jsx +305 -0
  9. package/components/Select.jsx +199 -0
  10. package/components/Switch.jsx +12 -1
  11. package/components/Text.jsx +36 -3
  12. package/components/index.jsx +6 -1
  13. package/dist/components/Category.d.ts +13 -0
  14. package/dist/components/Category.js +86 -0
  15. package/dist/components/Category.js.map +1 -0
  16. package/dist/components/Contact.d.ts +10 -0
  17. package/dist/components/Contact.js +60 -0
  18. package/dist/components/Contact.js.map +1 -0
  19. package/dist/components/Custom.d.ts +19 -2
  20. package/dist/components/Custom.js +114 -5
  21. package/dist/components/Custom.js.map +1 -1
  22. package/dist/components/Download.d.ts +5 -1
  23. package/dist/components/Download.js +19 -3
  24. package/dist/components/Download.js.map +1 -1
  25. package/dist/components/Grid.d.ts +19 -0
  26. package/dist/components/Grid.js +144 -0
  27. package/dist/components/Grid.js.map +1 -0
  28. package/dist/components/InputNumber.d.ts +3 -1
  29. package/dist/components/InputNumber.js +16 -2
  30. package/dist/components/InputNumber.js.map +1 -1
  31. package/dist/components/InputText.d.ts +3 -1
  32. package/dist/components/InputText.js +16 -2
  33. package/dist/components/InputText.js.map +1 -1
  34. package/dist/components/List.d.ts +20 -0
  35. package/dist/components/List.js +173 -0
  36. package/dist/components/List.js.map +1 -0
  37. package/dist/components/Select.d.ts +13 -0
  38. package/dist/components/Select.js +89 -0
  39. package/dist/components/Select.js.map +1 -0
  40. package/dist/components/Switch.d.ts +3 -1
  41. package/dist/components/Switch.js +11 -2
  42. package/dist/components/Switch.js.map +1 -1
  43. package/dist/components/Text.d.ts +8 -1
  44. package/dist/components/Text.js +25 -3
  45. package/dist/components/Text.js.map +1 -1
  46. package/dist/components/index.d.ts +5 -0
  47. package/dist/components/index.js +5 -0
  48. package/dist/components/index.js.map +1 -1
  49. package/dist/index.d.ts +3 -2
  50. package/dist/index.js +18 -11
  51. package/dist/index.js.map +1 -1
  52. package/index.jsx +109 -62
  53. package/package.json +6 -3
  54. /package/dist/{preview-1756999926762.js → preview-1757077532569.js} +0 -0
@@ -0,0 +1,199 @@
1
+ /* eslint-disable */
2
+ import React, { useState, useEffect } from 'react';
3
+ import {
4
+ Link,
5
+ Icon,
6
+ Popup,
7
+ Navbar,
8
+ NavLeft,
9
+ NavTitle,
10
+ NavTitleLarge,
11
+ NavRight,
12
+ Page,
13
+ Block,
14
+ List,
15
+ ListInput,
16
+ Button,
17
+ ListItem
18
+ } from 'framework7-react';
19
+ import { ChevronDown } from 'lucide-react';
20
+
21
+ // Select komponenta s modální editací - zobrazuje výběr jedné položky ze seznamu
22
+ export const Select = ({
23
+ children,
24
+ value,
25
+ onSave,
26
+ onChange, // Přidáno pro Form.Item kompatibilitu
27
+ title = 'Editace výběru',
28
+ placeholder = 'Vyberte položku',
29
+ color = '#6887d3',
30
+ size = 16,
31
+ lucideIcon, // Lucide React ikona (např. ChevronDown)
32
+ icon, // Jakákoliv React komponenta ikony
33
+ options = [] // Array možností ve formátu [{ id, name, description?, color? }]
34
+ }) => {
35
+ const [popupOpened, setPopupOpened] = useState(false);
36
+ const [selectedOption, setSelectedOption] = useState(value || null);
37
+
38
+ // Aktualizuj selectedOption když se změní value prop (pro Form.Item kompatibilitu)
39
+ useEffect(() => {
40
+ if (value !== undefined) {
41
+ setSelectedOption(value || null);
42
+ }
43
+ }, [value]);
44
+
45
+ const linkStyle = {
46
+ color,
47
+ cursor: 'pointer',
48
+ display: 'flex',
49
+ alignItems: 'center',
50
+ gap: '6px'
51
+ };
52
+
53
+ const handleCancel = () => {
54
+ setSelectedOption(value || null);
55
+ setPopupOpened(false);
56
+ };
57
+
58
+ const selectOption = (option) => {
59
+ // Automaticky ulož a zavři popup
60
+ setSelectedOption(option);
61
+
62
+ // Preferuj onChange pro Form.Item kompatibilitu, jinak použij onSave
63
+ if (onChange) {
64
+ onChange(option);
65
+ } else if (onSave) {
66
+ onSave(option);
67
+ }
68
+
69
+ setPopupOpened(false);
70
+ };
71
+
72
+ // Určí jakou ikonu použít - priorita: icon > lucideIcon > výchozí ChevronDown
73
+ const renderIcon = () => {
74
+ if (icon) {
75
+ return React.cloneElement(icon, { size, color, ...icon.props });
76
+ }
77
+ if (lucideIcon) {
78
+ const LucideIcon = lucideIcon;
79
+ return <LucideIcon size={size} color={color} />;
80
+ }
81
+ return <ChevronDown size={size} color={color} />;
82
+ };
83
+
84
+ // Zobrazí název vybrané položky nebo placeholder
85
+ const renderDisplayText = () => {
86
+ if (selectedOption && selectedOption.name) {
87
+ return selectedOption.name;
88
+ }
89
+ return placeholder;
90
+ };
91
+
92
+ return (
93
+ <>
94
+ <Link onClick={() => setPopupOpened(true)} className="link" style={linkStyle}>
95
+ {renderIcon()}
96
+ {renderDisplayText()}
97
+ </Link>
98
+
99
+ <Popup
100
+ opened={popupOpened}
101
+ onPopupClosed={() => setPopupOpened(false)}
102
+ animate
103
+ backdrop
104
+ push={false}
105
+ className="f7-parallax select-popup"
106
+ style={{
107
+ '--f7-popup-tablet-width': '90vw',
108
+ '--f7-popup-tablet-height': '90vh'
109
+ }}
110
+ >
111
+ <div className="view view-init">
112
+ <div className="page page-with-navbar-large">
113
+ <Navbar large className="navbar-transparent">
114
+ <NavLeft>
115
+ <Link onClick={handleCancel}>
116
+ <Icon f7="arrow_left" style={{ fontWeight: 'bold' }} />
117
+ </Link>
118
+ </NavLeft>
119
+ <NavTitle>Výběr</NavTitle>
120
+ <NavTitleLarge>Vyberte položku</NavTitleLarge>
121
+ </Navbar>
122
+
123
+ <div className="page-content">
124
+ {/* Seznam dostupných možností */}
125
+ <Block>
126
+ <List noHairlines>
127
+ {options.map((option) => {
128
+ const isSelected = selectedOption && selectedOption.id === option.id;
129
+ return (
130
+ <ListItem
131
+ key={option.id}
132
+ title={option.name}
133
+ subtitle={option.description}
134
+ onClick={() => selectOption(option)}
135
+ style={{
136
+ backgroundColor: isSelected ? '#f0f9ff' : 'transparent',
137
+ borderLeft: isSelected ? `4px solid ${option.color || '#6887d3'}` : '4px solid transparent',
138
+ transition: 'all 0.2s ease'
139
+ }}
140
+ >
141
+ {isSelected && (
142
+ <Icon
143
+ slot="after"
144
+ f7="checkmark"
145
+ style={{
146
+ color: option.color || '#6887d3',
147
+ fontSize: '18px',
148
+ fontWeight: 'bold'
149
+ }}
150
+ />
151
+ )}
152
+ {option.color && (
153
+ <div
154
+ slot="media"
155
+ style={{
156
+ width: '12px',
157
+ height: '12px',
158
+ borderRadius: '50%',
159
+ backgroundColor: option.color,
160
+ marginRight: '8px'
161
+ }}
162
+ />
163
+ )}
164
+ </ListItem>
165
+ );
166
+ })}
167
+
168
+ {/* Možnost zrušit výběr */}
169
+ {selectedOption && (
170
+ <>
171
+ <ListItem divider>Další možnosti</ListItem>
172
+ <ListItem
173
+ title="Zrušit výběr"
174
+ onClick={() => selectOption(null)}
175
+ style={{
176
+ color: '#999',
177
+ fontStyle: 'italic'
178
+ }}
179
+ >
180
+ <Icon
181
+ slot="media"
182
+ f7="xmark"
183
+ style={{
184
+ color: '#999',
185
+ fontSize: '16px'
186
+ }}
187
+ />
188
+ </ListItem>
189
+ </>
190
+ )}
191
+ </List>
192
+ </Block>
193
+ </div>
194
+ </div>
195
+ </div>
196
+ </Popup>
197
+ </>
198
+ );
199
+ };
@@ -9,15 +9,26 @@ export const Switch = ({
9
9
  disabled,
10
10
  // Ant Design Form props
11
11
  value,
12
+ // Ikona props - Switch nemá vizuální ikonu, ale zachováme konzistenci
13
+ lucideIcon,
14
+ icon,
12
15
  ...restProps
13
16
  }) => {
14
17
  // Pro Form.Item kompatibilitu - preferuj value před checked
15
18
  const isChecked = value !== undefined ? value : checked;
16
19
 
20
+ // Framework7 Toggle předává event, ale Form.Item očekává boolean hodnotu
21
+ const handleChange = (event) => {
22
+ if (onChange) {
23
+ // Pro Form.Item předáme boolean hodnotu
24
+ onChange(event.target.checked);
25
+ }
26
+ };
27
+
17
28
  return (
18
29
  <Toggle
19
30
  checked={isChecked}
20
- onChange={onChange}
31
+ onChange={handleChange}
21
32
  disabled={disabled}
22
33
  {...restProps}
23
34
  />
@@ -1,10 +1,43 @@
1
1
  /* eslint-disable */
2
2
  import React from 'react';
3
3
 
4
- export const Text = ({ children }) => {
4
+ export const Text = ({
5
+ children,
6
+ value,
7
+ color,
8
+ style,
9
+ lucideIcon, // Lucide React ikona
10
+ icon, // Jakákoliv React komponenta ikony
11
+ iconSize = 16,
12
+ ...restProps
13
+ }) => {
14
+ // Pro Form.Item kompatibilitu - zobraz value pokud je poskytnut, jinak children
15
+ const displayText = value !== undefined ? value : children;
16
+
17
+ const textStyle = {
18
+ ...(color && { color }),
19
+ ...style,
20
+ display: 'flex',
21
+ alignItems: 'center',
22
+ gap: '6px'
23
+ };
24
+
25
+ // Určí jakou ikonu použít - priorita: icon > lucideIcon > žádná ikona
26
+ const renderIcon = () => {
27
+ if (icon) {
28
+ return React.cloneElement(icon, { size: iconSize, color, ...icon.props });
29
+ }
30
+ if (lucideIcon) {
31
+ const LucideIcon = lucideIcon;
32
+ return <LucideIcon size={iconSize} color={color} />;
33
+ }
34
+ return null;
35
+ };
36
+
5
37
  return (
6
- <span>
7
- {children}
38
+ <span style={textStyle} {...restProps}>
39
+ {renderIcon()}
40
+ {displayText}
8
41
  </span>
9
42
  );
10
43
  };
@@ -4,4 +4,9 @@ export {Download} from './Download';
4
4
  export {InputText} from './InputText';
5
5
  export {InputNumber} from './InputNumber';
6
6
  export {Switch} from './Switch';
7
- export {Custom} from './Custom';
7
+ export {Custom} from './Custom';
8
+ export {Contact} from './Contact';
9
+ export {Category} from './Category';
10
+ export {Select} from './Select';
11
+ export {Grid} from './Grid';
12
+ export {List} from './List';
@@ -0,0 +1,13 @@
1
+ export function Category({ children, value, onSave, onChange, title, placeholder, color, size, lucideIcon, icon, categories }: {
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?: any[] | undefined;
13
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,86 @@
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
+ // Category komponenta s modální editací - zobrazuje výběr jedné kategorie jako avatar
8
+ export const Category = ({ children, value, onSave, onChange, // Přidáno pro Form.Item kompatibilitu
9
+ title = 'Vyber', placeholder = 'Vyber kategorii', color = '#6887d3', size = 16, lucideIcon, // Lucide React ikona (např. Tag)
10
+ icon, // Jakákoliv React komponenta ikony
11
+ categories = [] // Array kategorií ve formátu [{ id, name, icon, color }]
12
+ }) => {
13
+ const [popupOpened, setPopupOpened] = useState(false);
14
+ const [selectedCategory, setSelectedCategory] = useState(value || null);
15
+ // Aktualizuj selectedCategory když se změní value prop (pro Form.Item kompatibilitu)
16
+ useEffect(() => {
17
+ if (value !== undefined) {
18
+ setSelectedCategory(value || null);
19
+ }
20
+ }, [value]);
21
+ const linkStyle = {
22
+ color,
23
+ cursor: 'pointer',
24
+ display: 'flex',
25
+ alignItems: 'center',
26
+ gap: '6px'
27
+ };
28
+ const handleCancel = () => {
29
+ setSelectedCategory(value || null);
30
+ setPopupOpened(false);
31
+ };
32
+ const selectCategory = (category) => {
33
+ // Automaticky ulož a zavři popup
34
+ setSelectedCategory(category);
35
+ // Preferuj onChange pro Form.Item kompatibilitu, jinak použij onSave
36
+ if (onChange) {
37
+ onChange(category);
38
+ }
39
+ else if (onSave) {
40
+ onSave(category);
41
+ }
42
+ setPopupOpened(false);
43
+ };
44
+ // Určí jakou ikonu použít - priorita: icon > lucideIcon > výchozí Tag
45
+ const renderIcon = () => {
46
+ if (icon) {
47
+ return React.cloneElement(icon, { size, color, ...icon.props });
48
+ }
49
+ if (lucideIcon) {
50
+ const LucideIcon = lucideIcon;
51
+ return _jsx(LucideIcon, { size: size, color: color });
52
+ }
53
+ return _jsx(Tag, { size: size, color: color });
54
+ };
55
+ // Zobrazí název vybrané kategorie nebo placeholder
56
+ const renderDisplayText = () => {
57
+ if (selectedCategory && selectedCategory.name) {
58
+ return selectedCategory.name;
59
+ }
60
+ return placeholder;
61
+ };
62
+ 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: {
63
+ '--f7-popup-tablet-width': '90vw',
64
+ '--f7-popup-tablet-height': '90vh'
65
+ }, children: _jsx("div", { className: "view view-init", children: _jsxs("div", { className: "page page-with-navbar-large", children: [_jsxs(Navbar, { large: true, className: "navbar-transparent", 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(Block, { children: _jsx("div", { style: {
66
+ display: 'grid',
67
+ gridTemplateColumns: 'repeat(auto-fit, minmax(80px, 1fr))',
68
+ gap: '15px',
69
+ marginTop: '15px',
70
+ padding: '10px 5px'
71
+ }, children: categories.map((category) => {
72
+ const isSelected = selectedCategory && selectedCategory.id === category.id;
73
+ return (_jsx("div", { style: {
74
+ display: 'flex',
75
+ justifyContent: 'center',
76
+ minWidth: '80px'
77
+ }, children: _jsx(CircleButton, { icon: category.icon || 'tag', name: category.name, bgColor: isSelected ? '#28a745' : (category.color || '#6887d3'), iconColor: "white", textColor: "#333", onClick: () => selectCategory(category), style: {
78
+ opacity: isSelected ? 1 : 0.7,
79
+ transform: isSelected ? 'scale(1.05)' : 'scale(1)',
80
+ transition: 'all 0.2s ease',
81
+ width: '100%',
82
+ maxWidth: '100px'
83
+ } }) }, category.id));
84
+ }) }) }) })] }) }) })] }));
85
+ };
86
+ //# sourceMappingURL=Category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Category.js","sourceRoot":"","sources":["../../components/Category.jsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export function Contact({ value, onSave, onChange, title, placeholder, color, size, ...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
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,60 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /* eslint-disable */
3
+ import React from 'react';
4
+ import { ListInput } from 'framework7-react';
5
+ import { UserCheck } from 'lucide-react';
6
+ import { Custom } from './Custom';
7
+ // Renderer pro Contact formulář
8
+ const ContactRenderer = ({ fields, formData, onChange }) => {
9
+ const handleInputChange = (fieldKey, event) => {
10
+ const newValue = event.target.value;
11
+ onChange(fieldKey, newValue);
12
+ };
13
+ return (_jsx(_Fragment, { children: fields.map((field, index) => (_jsx(ListInput, { type: field.type || 'text', label: field.label, placeholder: field.placeholder, value: formData[field.key] || '', onInput: (e) => handleInputChange(field.key, e), clearButton: true, style: { fontSize: '18px' }, ...(field.type === 'email' && {
14
+ inputMode: 'email',
15
+ autoComplete: 'email'
16
+ }), ...(field.type === 'tel' && {
17
+ inputMode: 'tel',
18
+ autoComplete: 'tel'
19
+ }) }, field.key || index))) }));
20
+ };
21
+ // Externí PM komponenta s předdefinovanými poli
22
+ export const Contact = ({ value, onSave, onChange, title = 'Kontakt', placeholder = 'Zadej kontakt', color = '#6887d3', size = 16, ...restProps }) => {
23
+ // Předdefinovaná pole pro Externí PM
24
+ const pmFields = [
25
+ {
26
+ key: 'firstName',
27
+ label: 'Jméno',
28
+ type: 'text',
29
+ placeholder: 'Zadejte jméno'
30
+ },
31
+ {
32
+ key: 'lastName',
33
+ label: 'Příjmení',
34
+ type: 'text',
35
+ placeholder: 'Zadejte příjmení'
36
+ },
37
+ {
38
+ key: 'email',
39
+ label: 'Email',
40
+ type: 'email',
41
+ placeholder: 'Zadejte email'
42
+ },
43
+ {
44
+ key: 'phone',
45
+ label: 'Telefon',
46
+ type: 'tel',
47
+ placeholder: 'Zadejte telefon'
48
+ },
49
+ {
50
+ key: 'position',
51
+ label: 'Pozice',
52
+ type: 'text',
53
+ placeholder: 'Zadejte pozici'
54
+ }
55
+ ];
56
+ // Pole pro zobrazení v linku - jméno, příjmení a pozice
57
+ const displayFields = ['firstName', 'lastName', 'position'];
58
+ return (_jsx(Custom, { value: value, onSave: onSave, onChange: onChange, title: title, placeholder: placeholder, color: color, size: size, lucideIcon: UserCheck, FormRenderer: ContactRenderer, fields: pmFields, displayFields: displayFields, ...restProps }));
59
+ };
60
+ //# sourceMappingURL=Contact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Contact.js","sourceRoot":"","sources":["../../components/Contact.jsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,20 @@
1
- export function Custom({ children }: {
2
- children: any;
1
+ export function Custom({ value, onSave, onChange, title, placeholder, color, size, lucideIcon, icon, FormRenderer, fields, displayFields, ...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
+ lucideIcon: any;
11
+ icon: any;
12
+ FormRenderer: any;
13
+ fields?: {
14
+ key: string;
15
+ label: string;
16
+ type: string;
17
+ placeholder: string;
18
+ }[] | undefined;
19
+ displayFields?: string[] | undefined;
3
20
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,117 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable */
3
- import React from 'react';
4
- // Custom wrapper pro vlastní obsah
5
- export const Custom = ({ children }) => {
6
- return _jsx(_Fragment, { children: children });
3
+ import React, { useState, useEffect } from 'react';
4
+ import { Link, Icon, Popup, Navbar, NavLeft, NavTitle, NavTitleLarge, Page, Block, List, ListInput } from 'framework7-react';
5
+ import { User } from 'lucide-react';
6
+ import SaveButton from '@bit.rhplus/ui.f7.save-button';
7
+ // External Contact komponenta - formulář pro zadání externího kontaktu
8
+ export const Custom = ({ value, onSave, onChange, title = 'Externí kontakt', placeholder = 'Zadejte kontakt', color = '#6887d3', size = 16, lucideIcon, icon, FormRenderer, // Custom komponenta pro renderování formuláře
9
+ fields = [
10
+ { key: 'firstName', label: 'Jméno', type: 'text', placeholder: 'Zadejte jméno' },
11
+ { key: 'lastName', label: 'Příjmení', type: 'text', placeholder: 'Zadejte příjmení' },
12
+ { key: 'phone', label: 'Telefon', type: 'tel', placeholder: 'Zadejte telefon' },
13
+ { key: 'email', label: 'Email', type: 'email', placeholder: 'Zadejte email' },
14
+ { key: 'position', label: 'Pozice', type: 'text', placeholder: 'Zadejte pozici' }
15
+ ], displayFields = ['firstName', 'lastName', 'position'], // Pole pro zobrazení v linku
16
+ ...restProps }) => {
17
+ const [popupOpened, setPopupOpened] = useState(false);
18
+ // Dynamicky inicializuj formData na základě fields
19
+ const getInitialFormData = () => {
20
+ const initialData = {};
21
+ fields.forEach(field => {
22
+ initialData[field.key] = '';
23
+ });
24
+ return initialData;
25
+ };
26
+ const [formData, setFormData] = useState(getInitialFormData());
27
+ // Aktualizuj formData když se změní value prop nebo fields (ale ne když je popup otevřený)
28
+ useEffect(() => {
29
+ if (popupOpened)
30
+ return; // Neaktualizuj formData když je popup otevřený
31
+ const newFormData = {};
32
+ fields.forEach(field => {
33
+ newFormData[field.key] = '';
34
+ });
35
+ if (value && typeof value === 'object') {
36
+ fields.forEach(field => {
37
+ newFormData[field.key] = value[field.key] || '';
38
+ });
39
+ }
40
+ setFormData(newFormData);
41
+ }, [value, fields, popupOpened]);
42
+ const linkStyle = {
43
+ color,
44
+ cursor: 'pointer',
45
+ display: 'flex',
46
+ alignItems: 'center',
47
+ gap: '6px'
48
+ };
49
+ const handleSave = () => {
50
+ const result = { ...formData };
51
+ if (onChange) {
52
+ onChange(result);
53
+ }
54
+ else if (onSave) {
55
+ onSave(result);
56
+ }
57
+ setPopupOpened(false);
58
+ };
59
+ const handleCancel = () => {
60
+ const newFormData = {};
61
+ fields.forEach(field => {
62
+ newFormData[field.key] = '';
63
+ });
64
+ if (value && typeof value === 'object') {
65
+ fields.forEach(field => {
66
+ newFormData[field.key] = value[field.key] || '';
67
+ });
68
+ }
69
+ setFormData(newFormData);
70
+ setPopupOpened(false);
71
+ };
72
+ const handleInputChange = (field, newValue) => {
73
+ setFormData(prev => ({
74
+ ...prev,
75
+ [field]: newValue
76
+ }));
77
+ };
78
+ const handleOpenPopup = () => {
79
+ // Před otevřením popupu nastav aktuální hodnoty do formData
80
+ const newFormData = {};
81
+ fields.forEach(field => {
82
+ newFormData[field.key] = '';
83
+ });
84
+ if (value && typeof value === 'object') {
85
+ fields.forEach(field => {
86
+ newFormData[field.key] = value[field.key] || '';
87
+ });
88
+ }
89
+ setFormData(newFormData);
90
+ setPopupOpened(true);
91
+ };
92
+ // Určí jakou ikonu použít - priorita: icon > lucideIcon > výchozí User
93
+ const renderIcon = () => {
94
+ if (icon) {
95
+ return React.cloneElement(icon, { size, color, ...icon.props });
96
+ }
97
+ if (lucideIcon) {
98
+ const LucideIcon = lucideIcon;
99
+ return _jsx(LucideIcon, { size: size, color: color });
100
+ }
101
+ return _jsx(User, { size: size, color: color });
102
+ };
103
+ // Zobrazí text v linku podle vyplněných dat
104
+ const getDisplayText = () => {
105
+ if (value && typeof value === 'object') {
106
+ const displayValues = displayFields
107
+ .map(fieldKey => value[fieldKey])
108
+ .filter(Boolean);
109
+ if (displayValues.length > 0) {
110
+ return displayValues.join(' - ');
111
+ }
112
+ }
113
+ return placeholder;
114
+ };
115
+ return (_jsxs("div", { ...restProps, children: [_jsxs(Link, { onClick: handleOpenPopup, className: "link", style: linkStyle, children: [renderIcon(), getDisplayText()] }), _jsx(Popup, { opened: popupOpened, onPopupClosed: () => setPopupOpened(false), animate: true, backdrop: true, className: "f7-parallax", children: _jsxs(Page, { 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(Block, { style: { marginTop: '20px' }, children: _jsx(List, { children: FormRenderer ? (_jsx(FormRenderer, { fields: fields, formData: formData, onChange: handleInputChange })) : (fields.map((field, index) => (_jsx(ListInput, { type: field.type || 'text', label: field.label, placeholder: field.placeholder, value: formData[field.key], onInput: (e) => handleInputChange(field.key, e.target.value), clearButton: true, style: { fontSize: '18px' } }, field.key || index)))) }) }), _jsx(SaveButton, { onClick: handleSave, variant: "black" })] }) })] }));
7
116
  };
8
117
  //# sourceMappingURL=Custom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Custom.js","sourceRoot":"","sources":["../../components/Custom.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,mCAAmC;AACnC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrC,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"Custom.js","sourceRoot":"","sources":["../../components/Custom.jsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
- export function Download({ children, href, onClick, color, size }: {
1
+ export function Download({ children, href, onClick, color, size, value, lucideIcon, icon, ...restProps }: {
2
+ [x: string]: any;
2
3
  children: any;
3
4
  href: any;
4
5
  onClick: any;
5
6
  color?: string | undefined;
6
7
  size?: number | undefined;
8
+ value: any;
9
+ lucideIcon: any;
10
+ icon: any;
7
11
  }): import("react/jsx-runtime").JSX.Element;