@bit.rhplus/ui.f7.detail-item 0.0.14 → 0.0.16

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.
@@ -1,7 +1,9 @@
1
1
  /* eslint-disable */
2
2
  import React, { useRef, useEffect, useState, useCallback } from 'react';
3
- import { f7, Popup, Page, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Link, Block, Icon, Card } from 'framework7-react';
3
+ import { f7, Popup, Popover, Page, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Link, Block, Icon, Card, List, ListInput, Picker, Button } from 'framework7-react';
4
4
  import { Calendar as CalendarIcon } from 'lucide-react';
5
+ import SaveButton from '@bit.rhplus/ui.f7.save-button';
6
+ import SmallButton from '@bit.rhplus/ui.f7.small-button';
5
7
 
6
8
  export const Calendar = ({
7
9
  value,
@@ -16,6 +18,7 @@ export const Calendar = ({
16
18
  icon,
17
19
  iconSize = 16,
18
20
  field = null,
21
+ enableTime = false, // Nový prop pro povolení výběru času
19
22
  calendarParams = {},
20
23
  ...restProps
21
24
  }) => {
@@ -24,7 +27,19 @@ export const Calendar = ({
24
27
  const isInitializingRef = useRef(false);
25
28
  const [displayValue, setDisplayValue] = useState('');
26
29
  const [popupOpened, setPopupOpened] = useState(false);
30
+ const [timePopoverOpened, setTimePopoverOpened] = useState(false);
31
+ const timePickerRef = useRef(null);
27
32
  const [selectedDate, setSelectedDate] = useState(value ? new Date(value) : null);
33
+ const [selectedTime, setSelectedTime] = useState(() => {
34
+ if (value && enableTime) {
35
+ const d = new Date(value);
36
+ return {
37
+ hours: String(d.getHours()).padStart(2, '0'),
38
+ minutes: String(d.getMinutes()).padStart(2, '0')
39
+ };
40
+ }
41
+ return { hours: '09', minutes: '00' };
42
+ });
28
43
 
29
44
  // Převod hodnoty na display formát
30
45
  const formatDate = (date) => {
@@ -36,7 +51,16 @@ export const Calendar = ({
36
51
  const month = String(d.getMonth() + 1).padStart(2, '0');
37
52
  const year = d.getFullYear();
38
53
 
39
- return `${day}.${month}.${year}`;
54
+ let dateStr = `${day}.${month}.${year}`;
55
+
56
+ // Pokud je povolený čas, přidej ho k formátu
57
+ if (enableTime) {
58
+ const hours = String(d.getHours()).padStart(2, '0');
59
+ const minutes = String(d.getMinutes()).padStart(2, '0');
60
+ dateStr += ` ${hours}:${minutes}`;
61
+ }
62
+
63
+ return dateStr;
40
64
  };
41
65
 
42
66
  // Aktualizace display hodnoty při změně value
@@ -54,12 +78,21 @@ export const Calendar = ({
54
78
  // Cleanup kalendáře při zavírání popup
55
79
  useEffect(() => {
56
80
  if (!popupOpened && calendarRef.current) {
57
- calendarRef.current.destroy();
58
- calendarRef.current = null;
59
- // Vyčisti i DOM kontejner
60
- if (calendarContainerRef.current) {
61
- calendarContainerRef.current.innerHTML = '';
62
- }
81
+ // Bezpečný cleanup s timeout pro prevenci konfliktů
82
+ setTimeout(() => {
83
+ if (calendarRef.current) {
84
+ try {
85
+ calendarRef.current.destroy();
86
+ } catch (error) {
87
+ console.warn('Calendar cleanup error:', error);
88
+ }
89
+ calendarRef.current = null;
90
+ }
91
+ // Vyčisti i DOM kontejner
92
+ if (calendarContainerRef.current) {
93
+ calendarContainerRef.current.innerHTML = '';
94
+ }
95
+ }, 100);
63
96
  }
64
97
  }, [popupOpened]);
65
98
 
@@ -106,6 +139,10 @@ export const Calendar = ({
106
139
  dayNames,
107
140
  dayNamesShort: dayNames,
108
141
  firstDay: 1, // Pondělí jako první den
142
+ // Vypne timePicker - použijeme vlastní řešení
143
+ timePicker: false,
144
+ // Vypne automatické zavírání při enableTime
145
+ closeOnSelect: !enableTime,
109
146
  on: {
110
147
  change: (calendar, value) => {
111
148
  // Ignoruj změny během inicializace
@@ -116,14 +153,16 @@ export const Calendar = ({
116
153
  if (value && value.length > 0) {
117
154
  const newSelectedDate = value[0];
118
155
  setSelectedDate(newSelectedDate);
119
- // Automaticky potvrď a zavři popup při výběru data
120
- if (onChange) {
121
- onChange(newSelectedDate);
156
+ // Pokud není povolen čas, automaticky potvrď a zavři popup
157
+ if (!enableTime) {
158
+ if (onChange) {
159
+ onChange(newSelectedDate);
160
+ }
161
+ // Zavři popup s mírným zpožděním pro lepší UX
162
+ setTimeout(() => {
163
+ setPopupOpened(false);
164
+ }, 200);
122
165
  }
123
- // Zavři popup s mírným zpožděním pro lepší UX
124
- setTimeout(() => {
125
- setPopupOpened(false);
126
- }, 200);
127
166
  }
128
167
  }
129
168
  },
@@ -141,24 +180,135 @@ export const Calendar = ({
141
180
  return () => {
142
181
  clearTimeout(timeoutId);
143
182
  if (calendarRef.current) {
144
- calendarRef.current.destroy();
183
+ try {
184
+ calendarRef.current.destroy();
185
+ } catch (error) {
186
+ console.warn('Calendar cleanup error:', error);
187
+ }
145
188
  calendarRef.current = null;
146
189
  }
147
190
  };
148
191
  }, [popupOpened, selectedDate, calendarParams]);
149
192
 
193
+ // Otevření time picker
194
+ const openTimePicker = useCallback(() => {
195
+ if (!enableTime) return;
196
+
197
+ // Bezpečný cleanup existujícího pickeru
198
+ if (timePickerRef.current) {
199
+ try {
200
+ timePickerRef.current.destroy();
201
+ } catch (error) {
202
+ console.warn('Time picker cleanup error:', error);
203
+ }
204
+ timePickerRef.current = null;
205
+ }
206
+
207
+ // Krátký timeout pro zajištění úplného cleanup
208
+ setTimeout(() => {
209
+ // Vytvoř hodnoty pro picker
210
+ const hours = Array.from({ length: 24 }, (_, i) => ({
211
+ value: String(i).padStart(2, '0'),
212
+ displayValue: String(i).padStart(2, '0')
213
+ }));
214
+
215
+ const minutes = Array.from({ length: 60 }, (_, i) => ({
216
+ value: String(i).padStart(2, '0'),
217
+ displayValue: String(i).padStart(2, '0')
218
+ }));
219
+
220
+ timePickerRef.current = f7.picker.create({
221
+ inputEl: '.time-picker-button',
222
+ value: [selectedTime.hours, selectedTime.minutes],
223
+ cols: [
224
+ {
225
+ textAlign: 'center',
226
+ values: hours.map(h => h.value),
227
+ displayValues: hours.map(h => h.displayValue),
228
+ },
229
+ {
230
+ textAlign: 'center',
231
+ values: minutes.map(m => m.value),
232
+ displayValues: minutes.map(m => m.displayValue),
233
+ }
234
+ ],
235
+ formatValue: (values) => `${values[0]}:${values[1]}`,
236
+ on: {
237
+ change: (picker, values) => {
238
+ setSelectedTime({
239
+ hours: values[0],
240
+ minutes: values[1]
241
+ });
242
+ },
243
+ close: () => {
244
+ // Cleanup při zavření
245
+ setTimeout(() => {
246
+ if (timePickerRef.current) {
247
+ try {
248
+ timePickerRef.current.destroy();
249
+ } catch (error) {
250
+ console.warn('Time picker close cleanup error:', error);
251
+ }
252
+ timePickerRef.current = null;
253
+ }
254
+ }, 100);
255
+ }
256
+ }
257
+ });
258
+
259
+ timePickerRef.current.open();
260
+ }, 50);
261
+ }, [enableTime, selectedTime]);
262
+
263
+ // Cleanup time pickeru
264
+ useEffect(() => {
265
+ return () => {
266
+ if (timePickerRef.current) {
267
+ try {
268
+ timePickerRef.current.destroy();
269
+ } catch (error) {
270
+ console.warn('Time picker unmount cleanup error:', error);
271
+ }
272
+ timePickerRef.current = null;
273
+ }
274
+ };
275
+ }, []);
276
+
277
+ // Cleanup při zavírání hlavního popup
278
+ useEffect(() => {
279
+ if (!popupOpened && timePickerRef.current) {
280
+ try {
281
+ timePickerRef.current.destroy();
282
+ } catch (error) {
283
+ console.warn('Time picker popup cleanup error:', error);
284
+ }
285
+ timePickerRef.current = null;
286
+ }
287
+ }, [popupOpened]);
288
+
150
289
  // Potvrzení výběru data
151
290
  const confirmSelection = useCallback(() => {
152
291
  if (selectedDate && onChange) {
153
- onChange(selectedDate);
292
+ let finalDate = new Date(selectedDate);
293
+
294
+ // Pokud je povolen čas, aplikuj vybraný čas
295
+ if (enableTime) {
296
+ finalDate.setHours(parseInt(selectedTime.hours));
297
+ finalDate.setMinutes(parseInt(selectedTime.minutes));
298
+ }
299
+
300
+ onChange(finalDate);
154
301
  }
155
302
  setPopupOpened(false);
156
- }, [selectedDate, onChange]);
303
+ }, [selectedDate, selectedTime, enableTime, onChange]);
157
304
 
158
305
  // Zrušení výběru
159
306
  const cancelSelection = useCallback(() => {
160
307
  setSelectedDate(value ? new Date(value) : null);
161
- setPopupOpened(false);
308
+ // Bezpečné zavření s delay
309
+ setTimeout(() => {
310
+ setPopupOpened(false);
311
+ }, 50);
162
312
  }, [value]);
163
313
 
164
314
  const containerStyle = {
@@ -250,11 +400,48 @@ export const Calendar = ({
250
400
  />
251
401
  </Block>
252
402
  </Card>
403
+
404
+ {/* Pokud je povolen čas, zobraz tlačítko pro výběr času */}
405
+ {enableTime && (
406
+ <Block
407
+ style={{
408
+ padding: '10px 0',
409
+ }}
410
+ >
411
+ <Card>
412
+ <Block style={{ padding: '20px' }}>
413
+ <div style={{
414
+ display: 'flex',
415
+ justifyContent: 'space-between',
416
+ alignItems: 'center'
417
+ }}>
418
+ <h3 style={{ margin: 0, fontSize: '18px', fontWeight: '600' }}>Čas</h3>
419
+ <SmallButton
420
+ className="time-picker-button"
421
+ onClick={openTimePicker}
422
+ style={{ width: 'auto' }}
423
+ >
424
+ {selectedTime.hours}:{selectedTime.minutes}
425
+ </SmallButton>
426
+ </div>
427
+ </Block>
428
+ </Card>
429
+ </Block>
430
+ )}
431
+
432
+ {/* Tlačítko pro potvrzení */}
433
+ {enableTime && (
434
+ <SaveButton
435
+ onClick={confirmSelection}
436
+ variant="black"
437
+ />
438
+ )}
253
439
  </Block>
254
440
  </div>
255
441
  </div>
256
442
  </div>
257
443
  </Popup>
444
+
258
445
  </>
259
446
  );
260
447
  };
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable */
2
2
  import React from 'react';
3
- import { ListInput } from 'framework7-react';
3
+ import { ListInput, Block, List } from 'framework7-react';
4
4
  import { UserCheck } from 'lucide-react';
5
5
  import { Custom } from './Custom';
6
6
 
@@ -12,29 +12,36 @@ const ContactRenderer = ({ fields, formData, onChange }) => {
12
12
  };
13
13
 
14
14
  return (
15
- <>
16
- {fields.map((field, index) => (
17
- <ListInput
18
- key={field.key || index}
19
- type={field.type || 'text'}
20
- label={field.label}
21
- placeholder={field.placeholder}
22
- value={formData[field.key] || ''}
23
- onInput={(e) => handleInputChange(field.key, e)}
24
- clearButton
25
- style={{ fontSize: '18px' }}
26
- // Speciální styling pro různé typy polí
27
- {...(field.type === 'email' && {
28
- inputMode: 'email',
29
- autoComplete: 'email'
30
- })}
31
- {...(field.type === 'tel' && {
32
- inputMode: 'tel',
33
- autoComplete: 'tel'
34
- })}
35
- />
36
- ))}
37
- </>
15
+ <Block inset>
16
+ <List>
17
+ {fields.map((field, index) => (
18
+ <ListInput
19
+ key={field.key || index}
20
+ type={field.type || 'text'}
21
+ label={field.label}
22
+ placeholder={field.placeholder}
23
+ value={formData[field.key] || ''}
24
+ onInput={(e) => handleInputChange(field.key, e)}
25
+ clearButton
26
+ style={{ fontSize: '18px' }}
27
+ // Speciální styling pro různé typy polí
28
+ {...(field.type === 'email' && {
29
+ inputMode: 'email',
30
+ autoComplete: 'email'
31
+ })}
32
+ {...(field.type === 'tel' && {
33
+ inputMode: 'tel',
34
+ autoComplete: 'tel'
35
+ })}
36
+ {...(field.type === 'textarea' && {
37
+ type: 'textarea',
38
+ resizable: false,
39
+ inputStyle: { minHeight: '60px', resize: 'none' }
40
+ })}
41
+ />
42
+ ))}
43
+ </List>
44
+ </Block>
38
45
  );
39
46
  };
40
47
 
@@ -48,22 +55,17 @@ export const Contact = ({
48
55
  color = '#6887d3',
49
56
  size = 16,
50
57
  field = null, // Pole pro výběr konkrétní vlastnosti objektu
58
+ visibleFields = ['name', 'email', 'phone', 'position'], // Pole k zobrazení v popup
51
59
  ...restProps
52
60
  }) => {
53
61
  // Předdefinovaná pole pro Externí PM
54
- const pmFields = [
62
+ const allFields = [
55
63
  {
56
- key: 'firstName',
64
+ key: 'name',
57
65
  label: 'Jméno',
58
66
  type: 'text',
59
67
  placeholder: 'Zadejte jméno'
60
68
  },
61
- {
62
- key: 'lastName',
63
- label: 'Příjmení',
64
- type: 'text',
65
- placeholder: 'Zadejte příjmení'
66
- },
67
69
  {
68
70
  key: 'email',
69
71
  label: 'Email',
@@ -81,9 +83,18 @@ export const Contact = ({
81
83
  label: 'Pozice',
82
84
  type: 'text',
83
85
  placeholder: 'Zadejte pozici'
86
+ },
87
+ {
88
+ key: 'note',
89
+ label: 'Poznámka',
90
+ type: 'textarea',
91
+ placeholder: 'Zadejte poznámku'
84
92
  }
85
93
  ];
86
94
 
95
+ // Filtrování polí podle visibleFields
96
+ const pmFields = allFields.filter(field => visibleFields.includes(field.key));
97
+
87
98
  // Pole pro zobrazení v linku - jméno, příjmení a pozice
88
99
  const displayFields = ['firstName', 'lastName', 'position'];
89
100
 
@@ -108,17 +108,18 @@ export const InputText = ({
108
108
  <NavTitleLarge>{title}</NavTitleLarge>
109
109
  </Navbar>
110
110
 
111
- <Block style={{ marginTop: '20px' }}>
111
+ <Block inset>
112
112
  <List>
113
113
  <ListInput
114
- type="text"
115
- label="Typ dokladu"
114
+ type="textarea"
116
115
  placeholder={placeholder}
117
116
  value={inputValue}
118
117
  onInput={(e) => setInputValue(e.target.value)}
119
118
  clearButton
120
119
  autoFocus
120
+ resizable
121
121
  style={{ fontSize: '18px' }}
122
+ inputStyle={{ minHeight: '24px' }}
122
123
  />
123
124
  </List>
124
125
  </Block>
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable */
2
2
  import React from 'react';
3
- import { Toggle } from 'framework7-react';
3
+ import { Switch as AntSwitch } from 'antd';
4
4
 
5
5
  // Switch komponenta kompatibilní s Ant Design Form
6
6
  export const Switch = ({
@@ -9,6 +9,9 @@ export const Switch = ({
9
9
  disabled,
10
10
  // Ant Design Form props
11
11
  value,
12
+ // Text props pro stavy
13
+ checkedChildren, // Text když je true
14
+ unCheckedChildren, // Text když je false
12
15
  // Ikona props - Switch nemá vizuální ikonu, ale zachováme konzistenci
13
16
  lucideIcon,
14
17
  icon,
@@ -18,21 +21,21 @@ export const Switch = ({
18
21
  // Pro Form.Item kompatibilitu - preferuj value před checked
19
22
  const isChecked = value !== undefined ? value : checked;
20
23
 
21
- // Framework7 Toggle předává event, ale Form.Item očekává boolean hodnotu
22
- const handleChange = (event) => {
24
+ // Ant Design Switch přímo vrací boolean hodnotu, nepotřebujeme event handling
25
+ const handleChange = (checked) => {
23
26
  if (onChange) {
24
- // Rozhodni jakou hodnotu vrátit podle field parametru (pro Switch nevyžíváme pole objektu)
25
- const returnValue = event.target.checked;
26
27
  // Pro Form.Item předáme boolean hodnotu
27
- onChange(returnValue);
28
+ onChange(checked);
28
29
  }
29
30
  };
30
31
 
31
32
  return (
32
- <Toggle
33
+ <AntSwitch
33
34
  checked={isChecked}
34
35
  onChange={handleChange}
35
36
  disabled={disabled}
37
+ checkedChildren={checkedChildren}
38
+ unCheckedChildren={unCheckedChildren}
36
39
  {...restProps}
37
40
  />
38
41
  );
@@ -1,4 +1,4 @@
1
- export function Calendar({ value, title, onChange, placeholder, format, color, style, disabled, lucideIcon, icon, iconSize, field, calendarParams, ...restProps }: {
1
+ export function Calendar({ value, title, onChange, placeholder, format, color, style, disabled, lucideIcon, icon, iconSize, field, enableTime, calendarParams, ...restProps }: {
2
2
  [x: string]: any;
3
3
  value: any;
4
4
  title: any;
@@ -12,6 +12,7 @@ export function Calendar({ value, title, onChange, placeholder, format, color, s
12
12
  icon: any;
13
13
  iconSize?: number | undefined;
14
14
  field?: null | undefined;
15
+ enableTime?: boolean | undefined;
15
16
  calendarParams?: {} | undefined;
16
17
  }): import("react/jsx-runtime").JSX.Element;
17
18
  import React from 'react';
@@ -1,15 +1,30 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /* eslint-disable */
3
3
  import React, { useRef, useEffect, useState, useCallback } from 'react';
4
- import { f7, Popup, Page, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Link, Block, Icon, Card } from 'framework7-react';
4
+ import { f7, Popup, Popover, Page, Navbar, NavLeft, NavTitle, NavTitleLarge, NavRight, Link, Block, Icon, Card, List, ListInput, Picker, Button } from 'framework7-react';
5
5
  import { Calendar as CalendarIcon } from 'lucide-react';
6
- export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum', format = 'dd.MM.yyyy', color, style, disabled = false, lucideIcon = CalendarIcon, icon, iconSize = 16, field = null, calendarParams = {}, ...restProps }) => {
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 }) => {
7
10
  const calendarRef = useRef(null);
8
11
  const calendarContainerRef = useRef(null);
9
12
  const isInitializingRef = useRef(false);
10
13
  const [displayValue, setDisplayValue] = useState('');
11
14
  const [popupOpened, setPopupOpened] = useState(false);
15
+ const [timePopoverOpened, setTimePopoverOpened] = useState(false);
16
+ const timePickerRef = useRef(null);
12
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
+ };
25
+ }
26
+ return { hours: '09', minutes: '00' };
27
+ });
13
28
  // Převod hodnoty na display formát
14
29
  const formatDate = (date) => {
15
30
  if (!date)
@@ -20,7 +35,14 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
20
35
  const day = String(d.getDate()).padStart(2, '0');
21
36
  const month = String(d.getMonth() + 1).padStart(2, '0');
22
37
  const year = d.getFullYear();
23
- return `${day}.${month}.${year}`;
38
+ let dateStr = `${day}.${month}.${year}`;
39
+ // Pokud je povolený čas, přidej ho k formátu
40
+ if (enableTime) {
41
+ const hours = String(d.getHours()).padStart(2, '0');
42
+ const minutes = String(d.getMinutes()).padStart(2, '0');
43
+ dateStr += ` ${hours}:${minutes}`;
44
+ }
45
+ return dateStr;
24
46
  };
25
47
  // Aktualizace display hodnoty při změně value
26
48
  useEffect(() => {
@@ -36,12 +58,22 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
36
58
  // Cleanup kalendáře při zavírání popup
37
59
  useEffect(() => {
38
60
  if (!popupOpened && calendarRef.current) {
39
- calendarRef.current.destroy();
40
- calendarRef.current = null;
41
- // Vyčisti i DOM kontejner
42
- if (calendarContainerRef.current) {
43
- calendarContainerRef.current.innerHTML = '';
44
- }
61
+ // Bezpečný cleanup s timeout pro prevenci konfliktů
62
+ setTimeout(() => {
63
+ if (calendarRef.current) {
64
+ try {
65
+ calendarRef.current.destroy();
66
+ }
67
+ catch (error) {
68
+ console.warn('Calendar cleanup error:', error);
69
+ }
70
+ calendarRef.current = null;
71
+ }
72
+ // Vyčisti i DOM kontejner
73
+ if (calendarContainerRef.current) {
74
+ calendarContainerRef.current.innerHTML = '';
75
+ }
76
+ }, 100);
45
77
  }
46
78
  }, [popupOpened]);
47
79
  // Inicializace kalendáře po otevření popup
@@ -82,6 +114,10 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
82
114
  dayNames,
83
115
  dayNamesShort: dayNames,
84
116
  firstDay: 1, // Pondělí jako první den
117
+ // Vypne timePicker - použijeme vlastní řešení
118
+ timePicker: false,
119
+ // Vypne automatické zavírání při enableTime
120
+ closeOnSelect: !enableTime,
85
121
  on: {
86
122
  change: (calendar, value) => {
87
123
  // Ignoruj změny během inicializace
@@ -91,14 +127,16 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
91
127
  if (value && value.length > 0) {
92
128
  const newSelectedDate = value[0];
93
129
  setSelectedDate(newSelectedDate);
94
- // Automaticky potvrď a zavři popup při výběru data
95
- if (onChange) {
96
- onChange(newSelectedDate);
130
+ // Pokud není povolen čas, automaticky potvrď a zavři popup
131
+ if (!enableTime) {
132
+ if (onChange) {
133
+ onChange(newSelectedDate);
134
+ }
135
+ // Zavři popup s mírným zpožděním pro lepší UX
136
+ setTimeout(() => {
137
+ setPopupOpened(false);
138
+ }, 200);
97
139
  }
98
- // Zavři popup s mírným zpožděním pro lepší UX
99
- setTimeout(() => {
100
- setPopupOpened(false);
101
- }, 200);
102
140
  }
103
141
  }
104
142
  },
@@ -113,22 +151,129 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
113
151
  return () => {
114
152
  clearTimeout(timeoutId);
115
153
  if (calendarRef.current) {
116
- calendarRef.current.destroy();
154
+ try {
155
+ calendarRef.current.destroy();
156
+ }
157
+ catch (error) {
158
+ console.warn('Calendar cleanup error:', error);
159
+ }
117
160
  calendarRef.current = null;
118
161
  }
119
162
  };
120
163
  }, [popupOpened, selectedDate, calendarParams]);
164
+ // Otevření time picker
165
+ const openTimePicker = useCallback(() => {
166
+ if (!enableTime)
167
+ return;
168
+ // Bezpečný cleanup existujícího pickeru
169
+ if (timePickerRef.current) {
170
+ try {
171
+ timePickerRef.current.destroy();
172
+ }
173
+ catch (error) {
174
+ console.warn('Time picker cleanup error:', error);
175
+ }
176
+ timePickerRef.current = null;
177
+ }
178
+ // Krátký timeout pro zajištění úplného cleanup
179
+ setTimeout(() => {
180
+ // Vytvoř hodnoty pro picker
181
+ const hours = Array.from({ length: 24 }, (_, i) => ({
182
+ value: String(i).padStart(2, '0'),
183
+ displayValue: String(i).padStart(2, '0')
184
+ }));
185
+ const minutes = Array.from({ length: 60 }, (_, i) => ({
186
+ value: String(i).padStart(2, '0'),
187
+ displayValue: String(i).padStart(2, '0')
188
+ }));
189
+ timePickerRef.current = f7.picker.create({
190
+ inputEl: '.time-picker-button',
191
+ value: [selectedTime.hours, selectedTime.minutes],
192
+ cols: [
193
+ {
194
+ textAlign: 'center',
195
+ values: hours.map(h => h.value),
196
+ displayValues: hours.map(h => h.displayValue),
197
+ },
198
+ {
199
+ textAlign: 'center',
200
+ values: minutes.map(m => m.value),
201
+ displayValues: minutes.map(m => m.displayValue),
202
+ }
203
+ ],
204
+ formatValue: (values) => `${values[0]}:${values[1]}`,
205
+ on: {
206
+ change: (picker, values) => {
207
+ setSelectedTime({
208
+ hours: values[0],
209
+ minutes: values[1]
210
+ });
211
+ },
212
+ close: () => {
213
+ // Cleanup při zavření
214
+ setTimeout(() => {
215
+ if (timePickerRef.current) {
216
+ try {
217
+ timePickerRef.current.destroy();
218
+ }
219
+ catch (error) {
220
+ console.warn('Time picker close cleanup error:', error);
221
+ }
222
+ timePickerRef.current = null;
223
+ }
224
+ }, 100);
225
+ }
226
+ }
227
+ });
228
+ timePickerRef.current.open();
229
+ }, 50);
230
+ }, [enableTime, selectedTime]);
231
+ // Cleanup time pickeru
232
+ useEffect(() => {
233
+ return () => {
234
+ if (timePickerRef.current) {
235
+ try {
236
+ timePickerRef.current.destroy();
237
+ }
238
+ catch (error) {
239
+ console.warn('Time picker unmount cleanup error:', error);
240
+ }
241
+ timePickerRef.current = null;
242
+ }
243
+ };
244
+ }, []);
245
+ // Cleanup při zavírání hlavního popup
246
+ useEffect(() => {
247
+ if (!popupOpened && timePickerRef.current) {
248
+ try {
249
+ timePickerRef.current.destroy();
250
+ }
251
+ catch (error) {
252
+ console.warn('Time picker popup cleanup error:', error);
253
+ }
254
+ timePickerRef.current = null;
255
+ }
256
+ }, [popupOpened]);
121
257
  // Potvrzení výběru data
122
258
  const confirmSelection = useCallback(() => {
123
259
  if (selectedDate && onChange) {
124
- onChange(selectedDate);
260
+ let finalDate = new Date(selectedDate);
261
+ // Pokud je povolen čas, aplikuj vybraný čas
262
+ if (enableTime) {
263
+ finalDate.setHours(parseInt(selectedTime.hours));
264
+ finalDate.setMinutes(parseInt(selectedTime.minutes));
265
+ }
266
+ onChange(finalDate);
125
267
  }
126
268
  setPopupOpened(false);
127
- }, [selectedDate, onChange]);
269
+ }, [selectedDate, selectedTime, enableTime, onChange]);
128
270
  // Zrušení výběru
129
271
  const cancelSelection = useCallback(() => {
130
272
  setSelectedDate(value ? new Date(value) : null);
131
- setPopupOpened(false);
273
+ // Bezpečné zavření s delay
274
+ setTimeout(() => {
275
+ setPopupOpened(false);
276
+ }, 50);
132
277
  }, [value]);
133
278
  const containerStyle = {
134
279
  display: 'flex',
@@ -166,13 +311,19 @@ export const Calendar = ({ value, title, onChange, placeholder = 'Vyberte datum'
166
311
  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: {
167
312
  '--f7-popup-tablet-width': '90vw',
168
313
  '--f7-popup-tablet-height': '90vh'
169
- }, 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: _jsx(Block, { style: {
314
+ }, 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: {
170
315
  padding: '10px 0',
171
- }, children: _jsx(Card, { children: _jsx(Block, { style: { padding: '20px' }, children: _jsx("div", { ref: calendarContainerRef, style: {
172
- minHeight: '300px',
173
- display: 'flex',
174
- justifyContent: 'center',
175
- alignItems: 'flex-start'
176
- } }) }) }) }) })] }) }) })] }));
316
+ }, children: [_jsx(Card, { children: _jsx(Block, { style: { padding: '20px' }, children: _jsx("div", { ref: calendarContainerRef, style: {
317
+ minHeight: '300px',
318
+ display: 'flex',
319
+ justifyContent: 'center',
320
+ alignItems: 'flex-start'
321
+ } }) }) }), enableTime && (_jsx(Block, { style: {
322
+ padding: '10px 0',
323
+ }, children: _jsx(Card, { children: _jsx(Block, { style: { padding: '20px' }, children: _jsxs("div", { style: {
324
+ display: 'flex',
325
+ justifyContent: 'space-between',
326
+ alignItems: 'center'
327
+ }, children: [_jsx("h3", { style: { margin: 0, fontSize: '18px', fontWeight: '600' }, children: "\u010Cas" }), _jsxs(SmallButton, { className: "time-picker-button", onClick: openTimePicker, style: { width: 'auto' }, children: [selectedTime.hours, ":", selectedTime.minutes] })] }) }) }) })), enableTime && (_jsx(SaveButton, { onClick: confirmSelection, variant: "black" }))] }) })] }) }) })] }));
177
328
  };
178
329
  //# sourceMappingURL=Calendar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../components/Calendar.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../components/Calendar.jsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export function Contact({ value, onSave, onChange, title, placeholder, color, size, field, ...restProps }: {
1
+ export function Contact({ value, onSave, onChange, title, placeholder, color, size, field, visibleFields, ...restProps }: {
2
2
  [x: string]: any;
3
3
  value: any;
4
4
  onSave: any;
@@ -8,4 +8,5 @@ export function Contact({ value, onSave, onChange, title, placeholder, color, si
8
8
  color?: string | undefined;
9
9
  size?: number | undefined;
10
10
  field?: null | undefined;
11
+ visibleFields?: string[] | undefined;
11
12
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /* eslint-disable */
3
3
  import React from 'react';
4
- import { ListInput } from 'framework7-react';
4
+ import { ListInput, Block, List } from 'framework7-react';
5
5
  import { UserCheck } from 'lucide-react';
6
6
  import { Custom } from './Custom';
7
7
  // Renderer pro Contact formulář
@@ -10,31 +10,30 @@ const ContactRenderer = ({ fields, formData, onChange }) => {
10
10
  const newValue = event.target.value;
11
11
  onChange(fieldKey, newValue);
12
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))) }));
13
+ return (_jsx(Block, { inset: true, children: _jsx(List, { 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.type === 'textarea' && {
20
+ type: 'textarea',
21
+ resizable: false,
22
+ inputStyle: { minHeight: '60px', resize: 'none' }
23
+ }) }, field.key || index))) }) }));
20
24
  };
21
25
  // Externí PM komponenta s předdefinovanými poli
22
26
  export const Contact = ({ value, onSave, onChange, title = 'Kontakt', placeholder = 'Zadej kontakt', color = '#6887d3', size = 16, field = null, // Pole pro výběr konkrétní vlastnosti objektu
27
+ visibleFields = ['name', 'email', 'phone', 'position'], // Pole k zobrazení v popup
23
28
  ...restProps }) => {
24
29
  // Předdefinovaná pole pro Externí PM
25
- const pmFields = [
30
+ const allFields = [
26
31
  {
27
- key: 'firstName',
32
+ key: 'name',
28
33
  label: 'Jméno',
29
34
  type: 'text',
30
35
  placeholder: 'Zadejte jméno'
31
36
  },
32
- {
33
- key: 'lastName',
34
- label: 'Příjmení',
35
- type: 'text',
36
- placeholder: 'Zadejte příjmení'
37
- },
38
37
  {
39
38
  key: 'email',
40
39
  label: 'Email',
@@ -52,8 +51,16 @@ export const Contact = ({ value, onSave, onChange, title = 'Kontakt', placeholde
52
51
  label: 'Pozice',
53
52
  type: 'text',
54
53
  placeholder: 'Zadejte pozici'
54
+ },
55
+ {
56
+ key: 'note',
57
+ label: 'Poznámka',
58
+ type: 'textarea',
59
+ placeholder: 'Zadejte poznámku'
55
60
  }
56
61
  ];
62
+ // Filtrování polí podle visibleFields
63
+ const pmFields = allFields.filter(field => visibleFields.includes(field.key));
57
64
  // Pole pro zobrazení v linku - jméno, příjmení a pozice
58
65
  const displayFields = ['firstName', 'lastName', 'position'];
59
66
  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, field: field, ...restProps }));
@@ -1 +1 @@
1
- {"version":3,"file":"Contact.js","sourceRoot":"","sources":["../../components/Contact.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Contact.js","sourceRoot":"","sources":["../../components/Contact.jsx"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ field = null // Pole pro výběr konkrétní vlastnosti objektu
54
54
  }
55
55
  return _jsx(Pencil, { size: size, color: color });
56
56
  };
57
- return (_jsxs(_Fragment, { children: [_jsxs(Link, { onClick: () => setPopupOpened(true), className: "link", style: linkStyle, children: [renderIcon(), (value !== null && value !== undefined && value !== '') ? (value || children) : placeholder] }), _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: _jsx(ListInput, { type: "text", label: "Typ dokladu", placeholder: placeholder, value: inputValue, onInput: (e) => setInputValue(e.target.value), clearButton: true, autoFocus: true, style: { fontSize: '18px' } }) }) }), _jsx(SaveButton, { onClick: () => {
57
+ return (_jsxs(_Fragment, { children: [_jsxs(Link, { onClick: () => setPopupOpened(true), className: "link", style: linkStyle, children: [renderIcon(), (value !== null && value !== undefined && value !== '') ? (value || children) : placeholder] }), _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, { inset: true, children: _jsx(List, { children: _jsx(ListInput, { type: "textarea", placeholder: placeholder, value: inputValue, onInput: (e) => setInputValue(e.target.value), clearButton: true, autoFocus: true, resizable: true, style: { fontSize: '18px' }, inputStyle: { minHeight: '24px' } }) }) }), _jsx(SaveButton, { onClick: () => {
58
58
  handleSave();
59
59
  }, variant: "black" })] }) })] }));
60
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InputText.js","sourceRoot":"","sources":["../../components/InputText.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputText.js","sourceRoot":"","sources":["../../components/InputText.jsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- export function Switch({ checked, onChange, disabled, value, lucideIcon, icon, field, ...restProps }: {
1
+ export function Switch({ checked, onChange, disabled, value, checkedChildren, unCheckedChildren, lucideIcon, icon, field, ...restProps }: {
2
2
  [x: string]: any;
3
3
  checked: any;
4
4
  onChange: any;
5
5
  disabled: any;
6
6
  value: any;
7
+ checkedChildren: any;
8
+ unCheckedChildren: any;
7
9
  lucideIcon: any;
8
10
  icon: any;
9
11
  field?: null | undefined;
@@ -1,25 +1,26 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /* eslint-disable */
3
3
  import React from 'react';
4
- import { Toggle } from 'framework7-react';
4
+ import { Switch as AntSwitch } from 'antd';
5
5
  // Switch komponenta kompatibilní s Ant Design Form
6
6
  export const Switch = ({ checked, onChange, disabled,
7
7
  // Ant Design Form props
8
8
  value,
9
+ // Text props pro stavy
10
+ checkedChildren, // Text když je true
11
+ unCheckedChildren, // Text když je false
9
12
  // Ikona props - Switch nemá vizuální ikonu, ale zachováme konzistenci
10
13
  lucideIcon, icon, field = null, // Pole pro výběr konkrétní vlastnosti objektu
11
14
  ...restProps }) => {
12
15
  // Pro Form.Item kompatibilitu - preferuj value před checked
13
16
  const isChecked = value !== undefined ? value : checked;
14
- // Framework7 Toggle předává event, ale Form.Item očekává boolean hodnotu
15
- const handleChange = (event) => {
17
+ // Ant Design Switch přímo vrací boolean hodnotu, nepotřebujeme event handling
18
+ const handleChange = (checked) => {
16
19
  if (onChange) {
17
- // Rozhodni jakou hodnotu vrátit podle field parametru (pro Switch nevyžíváme pole objektu)
18
- const returnValue = event.target.checked;
19
20
  // Pro Form.Item předáme boolean hodnotu
20
- onChange(returnValue);
21
+ onChange(checked);
21
22
  }
22
23
  };
23
- return (_jsx(Toggle, { checked: isChecked, onChange: handleChange, disabled: disabled, ...restProps }));
24
+ return (_jsx(AntSwitch, { checked: isChecked, onChange: handleChange, disabled: disabled, checkedChildren: checkedChildren, unCheckedChildren: unCheckedChildren, ...restProps }));
24
25
  };
25
26
  //# sourceMappingURL=Switch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../components/Switch.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,mDAAmD;AACnD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACrB,OAAO,EACP,QAAQ,EACR,QAAQ;AACR,wBAAwB;AACxB,KAAK;AACL,sEAAsE;AACtE,UAAU,EACV,IAAI,EACJ,KAAK,GAAG,IAAI,EAAE,8CAA8C;AAC5D,GAAG,SAAS,EACb,EAAE,EAAE;IACH,4DAA4D;IAC5D,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAExD,yEAAyE;IACzE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,EAAE;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,2FAA2F;YAC3F,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YACzC,wCAAwC;YACxC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,MAAM,IACL,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,KACd,SAAS,GACb,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../components/Switch.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE3C,mDAAmD;AACnD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACrB,OAAO,EACP,QAAQ,EACR,QAAQ;AACR,wBAAwB;AACxB,KAAK;AACL,uBAAuB;AACvB,eAAe,EAAE,oBAAoB;AACrC,iBAAiB,EAAE,qBAAqB;AACxC,sEAAsE;AACtE,UAAU,EACV,IAAI,EACJ,KAAK,GAAG,IAAI,EAAE,8CAA8C;AAC5D,GAAG,SAAS,EACb,EAAE,EAAE;IACH,4DAA4D;IAC5D,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAExD,iFAAiF;IACjF,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,EAAE;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,wCAAwC;YACxC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,IACR,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,KAChC,SAAS,GACb,CACH,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,21 +1,23 @@
1
1
  {
2
2
  "name": "@bit.rhplus/ui.f7.detail-item",
3
- "version": "0.0.14",
3
+ "version": "0.0.16",
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.14"
9
+ "version": "0.0.16"
10
10
  },
11
11
  "dependencies": {
12
12
  "lucide-react": "^0.503.0",
13
+ "antd": "^5.20.6",
13
14
  "@bit.rhplus/ui.f7.list-item": "0.0.7",
14
15
  "@bit.rhplus/ui.form": "0.1.8",
16
+ "@bit.rhplus/ui.f7.save-button": "0.0.5",
17
+ "@bit.rhplus/ui.f7.small-button": "0.0.9",
15
18
  "@bit.rhplus/ui.circle-button": "0.0.9",
16
19
  "@bit.rhplus/ui.f7.category": "0.0.2",
17
- "@bit.rhplus/ui.f7.save-button": "0.0.5",
18
- "@bit.rhplus/ui.grid": "0.0.49",
20
+ "@bit.rhplus/ui.grid": "0.0.51",
19
21
  "@bit.rhplus/ui.f7.filter": "0.0.2",
20
22
  "@bit.rhplus/ui.f7.segmented": "0.0.11"
21
23
  },