@nice2dev/ui-tools 1.0.10

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 (158) hide show
  1. package/README.md +36 -0
  2. package/dist/access-control.d.ts +726 -0
  3. package/dist/access-control.d.ts.map +1 -0
  4. package/dist/accessibility-i18n.d.ts +1017 -0
  5. package/dist/accessibility-i18n.d.ts.map +1 -0
  6. package/dist/ai-assistant.d.ts +263 -0
  7. package/dist/ai-assistant.d.ts.map +1 -0
  8. package/dist/ai-playgrounds.d.ts +842 -0
  9. package/dist/ai-playgrounds.d.ts.map +1 -0
  10. package/dist/alerting-incidents.d.ts +558 -0
  11. package/dist/alerting-incidents.d.ts.map +1 -0
  12. package/dist/api-designer.d.ts +1568 -0
  13. package/dist/api-designer.d.ts.map +1 -0
  14. package/dist/api-testing.d.ts +1146 -0
  15. package/dist/api-testing.d.ts.map +1 -0
  16. package/dist/apm-profiling.d.ts +656 -0
  17. package/dist/apm-profiling.d.ts.map +1 -0
  18. package/dist/artifacts.d.ts +421 -0
  19. package/dist/artifacts.d.ts.map +1 -0
  20. package/dist/audit-compliance.d.ts +752 -0
  21. package/dist/audit-compliance.d.ts.map +1 -0
  22. package/dist/certificates.d.ts +256 -0
  23. package/dist/certificates.d.ts.map +1 -0
  24. package/dist/chart-builder.d.ts +1404 -0
  25. package/dist/chart-builder.d.ts.map +1 -0
  26. package/dist/cloud-instances.d.ts +169 -0
  27. package/dist/cloud-instances.d.ts.map +1 -0
  28. package/dist/config-management.d.ts +350 -0
  29. package/dist/config-management.d.ts.map +1 -0
  30. package/dist/containers.d.ts +256 -0
  31. package/dist/containers.d.ts.map +1 -0
  32. package/dist/dashboard-designer.d.ts +1238 -0
  33. package/dist/dashboard-designer.d.ts.map +1 -0
  34. package/dist/data-management.d.ts +496 -0
  35. package/dist/data-management.d.ts.map +1 -0
  36. package/dist/data-pipeline.d.ts +1105 -0
  37. package/dist/data-pipeline.d.ts.map +1 -0
  38. package/dist/data-warehouse.d.ts +1097 -0
  39. package/dist/data-warehouse.d.ts.map +1 -0
  40. package/dist/dataset-management.d.ts +782 -0
  41. package/dist/dataset-management.d.ts.map +1 -0
  42. package/dist/db-adapters.d.ts +704 -0
  43. package/dist/db-adapters.d.ts.map +1 -0
  44. package/dist/db-admin.d.ts +699 -0
  45. package/dist/db-admin.d.ts.map +1 -0
  46. package/dist/db-designer.d.ts +366 -0
  47. package/dist/db-designer.d.ts.map +1 -0
  48. package/dist/debugger.d.ts +356 -0
  49. package/dist/debugger.d.ts.map +1 -0
  50. package/dist/device-management.d.ts +871 -0
  51. package/dist/device-management.d.ts.map +1 -0
  52. package/dist/distributed-tracing.d.ts +427 -0
  53. package/dist/distributed-tracing.d.ts.map +1 -0
  54. package/dist/dns-management.d.ts +215 -0
  55. package/dist/dns-management.d.ts.map +1 -0
  56. package/dist/download-manager.d.ts +271 -0
  57. package/dist/download-manager.d.ts.map +1 -0
  58. package/dist/download-torrent.d.ts +1062 -0
  59. package/dist/download-torrent.d.ts.map +1 -0
  60. package/dist/edge-computing.d.ts +720 -0
  61. package/dist/edge-computing.d.ts.map +1 -0
  62. package/dist/education.d.ts +1135 -0
  63. package/dist/education.d.ts.map +1 -0
  64. package/dist/email-template.d.ts +1141 -0
  65. package/dist/email-template.d.ts.map +1 -0
  66. package/dist/erp-enterprise.d.ts +1270 -0
  67. package/dist/erp-enterprise.d.ts.map +1 -0
  68. package/dist/form-builder.d.ts +1117 -0
  69. package/dist/form-builder.d.ts.map +1 -0
  70. package/dist/game-engine-advanced.d.ts +1049 -0
  71. package/dist/game-engine-advanced.d.ts.map +1 -0
  72. package/dist/git.d.ts +415 -0
  73. package/dist/git.d.ts.map +1 -0
  74. package/dist/hardware-integration.d.ts +966 -0
  75. package/dist/hardware-integration.d.ts.map +1 -0
  76. package/dist/iac.d.ts +318 -0
  77. package/dist/iac.d.ts.map +1 -0
  78. package/dist/icon-tools.d.ts +1023 -0
  79. package/dist/icon-tools.d.ts.map +1 -0
  80. package/dist/ide.d.ts +322 -0
  81. package/dist/ide.d.ts.map +1 -0
  82. package/dist/index.cjs +2 -0
  83. package/dist/index.cjs.map +1 -0
  84. package/dist/index.d.ts +176 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/index.mjs +1887 -0
  87. package/dist/index.mjs.map +1 -0
  88. package/dist/integration-platform.d.ts +857 -0
  89. package/dist/integration-platform.d.ts.map +1 -0
  90. package/dist/kubernetes.d.ts +278 -0
  91. package/dist/kubernetes.d.ts.map +1 -0
  92. package/dist/life-management.d.ts +1132 -0
  93. package/dist/life-management.d.ts.map +1 -0
  94. package/dist/log-management.d.ts +473 -0
  95. package/dist/log-management.d.ts.map +1 -0
  96. package/dist/mathematics.d.ts +870 -0
  97. package/dist/mathematics.d.ts.map +1 -0
  98. package/dist/message-queue.d.ts +1006 -0
  99. package/dist/message-queue.d.ts.map +1 -0
  100. package/dist/metrics-dashboard.d.ts +596 -0
  101. package/dist/metrics-dashboard.d.ts.map +1 -0
  102. package/dist/mobile-components.d.ts +766 -0
  103. package/dist/mobile-components.d.ts.map +1 -0
  104. package/dist/model-deployment.d.ts +787 -0
  105. package/dist/model-deployment.d.ts.map +1 -0
  106. package/dist/model-registry.d.ts +740 -0
  107. package/dist/model-registry.d.ts.map +1 -0
  108. package/dist/model-training.d.ts +706 -0
  109. package/dist/model-training.d.ts.map +1 -0
  110. package/dist/network-config.d.ts +334 -0
  111. package/dist/network-config.d.ts.map +1 -0
  112. package/dist/network-monitoring.d.ts +291 -0
  113. package/dist/network-monitoring.d.ts.map +1 -0
  114. package/dist/pdf-tools.d.ts +1003 -0
  115. package/dist/pdf-tools.d.ts.map +1 -0
  116. package/dist/pipelines.d.ts +250 -0
  117. package/dist/pipelines.d.ts.map +1 -0
  118. package/dist/remote-desktop.d.ts +207 -0
  119. package/dist/remote-desktop.d.ts.map +1 -0
  120. package/dist/report-designer.d.ts +1153 -0
  121. package/dist/report-designer.d.ts.map +1 -0
  122. package/dist/scada-industrial.d.ts +848 -0
  123. package/dist/scada-industrial.d.ts.map +1 -0
  124. package/dist/scientific-research.d.ts +1149 -0
  125. package/dist/scientific-research.d.ts.map +1 -0
  126. package/dist/secret-management.d.ts +617 -0
  127. package/dist/secret-management.d.ts.map +1 -0
  128. package/dist/security-scanning.d.ts +714 -0
  129. package/dist/security-scanning.d.ts.map +1 -0
  130. package/dist/self-service-analytics.d.ts +1208 -0
  131. package/dist/self-service-analytics.d.ts.map +1 -0
  132. package/dist/sensor-dashboard.d.ts +845 -0
  133. package/dist/sensor-dashboard.d.ts.map +1 -0
  134. package/dist/server-management.d.ts +331 -0
  135. package/dist/server-management.d.ts.map +1 -0
  136. package/dist/smart-home.d.ts +861 -0
  137. package/dist/smart-home.d.ts.map +1 -0
  138. package/dist/spreadsheet.d.ts +1043 -0
  139. package/dist/spreadsheet.d.ts.map +1 -0
  140. package/dist/sql-editor.d.ts +402 -0
  141. package/dist/sql-editor.d.ts.map +1 -0
  142. package/dist/terminal.d.ts +245 -0
  143. package/dist/terminal.d.ts.map +1 -0
  144. package/dist/testing-qa.d.ts +1013 -0
  145. package/dist/testing-qa.d.ts.map +1 -0
  146. package/dist/torrent-client.d.ts +298 -0
  147. package/dist/torrent-client.d.ts.map +1 -0
  148. package/dist/traceless.d.ts +759 -0
  149. package/dist/traceless.d.ts.map +1 -0
  150. package/dist/virtual-machines.d.ts +199 -0
  151. package/dist/virtual-machines.d.ts.map +1 -0
  152. package/dist/visual-scripting.d.ts +381 -0
  153. package/dist/visual-scripting.d.ts.map +1 -0
  154. package/dist/word-processor.d.ts +1124 -0
  155. package/dist/word-processor.d.ts.map +1 -0
  156. package/dist/workspace.d.ts +333 -0
  157. package/dist/workspace.d.ts.map +1 -0
  158. package/package.json +62 -0
@@ -0,0 +1,766 @@
1
+ /**
2
+ * @file mobile-components.ts
3
+ * @module @nice2dev/ui-tools
4
+ * @description PRO-21 — Mobile & Embedded
5
+ *
6
+ * Types for mobile-first components, touch optimization,
7
+ * offline capabilities, and embedded displays.
8
+ */
9
+ /** Breakpoint */
10
+ export type MobileBreakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
11
+ /** Orientation */
12
+ export type ScreenOrientation = 'portrait' | 'landscape' | 'any';
13
+ /** Touch gesture */
14
+ export type TouchGesture = 'tap' | 'doubleTap' | 'longPress' | 'swipe' | 'pan' | 'pinch' | 'rotate' | 'press';
15
+ /** Swipe direction */
16
+ export type SwipeDirection = 'left' | 'right' | 'up' | 'down';
17
+ /** Mobile config */
18
+ export interface MobileConfig {
19
+ /** Theme */
20
+ theme?: MobileTheme;
21
+ /** Breakpoints */
22
+ breakpoints?: BreakpointConfig;
23
+ /** Touch config */
24
+ touch?: TouchConfig;
25
+ /** Haptics config */
26
+ haptics?: HapticsConfig;
27
+ /** Offline config */
28
+ offline?: OfflineConfig;
29
+ /** Kiosk config */
30
+ kiosk?: KioskConfig;
31
+ }
32
+ /** Mobile theme */
33
+ export interface MobileTheme {
34
+ name?: string;
35
+ colors?: MobileColors;
36
+ spacing?: MobileSpacing;
37
+ typography?: MobileTypography;
38
+ safeArea?: SafeAreaConfig;
39
+ }
40
+ /** Mobile colors */
41
+ export interface MobileColors {
42
+ primary?: string;
43
+ surface?: string;
44
+ background?: string;
45
+ tabBar?: string;
46
+ statusBar?: string;
47
+ }
48
+ /** Mobile spacing */
49
+ export interface MobileSpacing {
50
+ touchTarget?: number;
51
+ contentPadding?: number;
52
+ listItemHeight?: number;
53
+ headerHeight?: number;
54
+ tabBarHeight?: number;
55
+ }
56
+ /** Mobile typography */
57
+ export interface MobileTypography {
58
+ baseFontSize?: number;
59
+ scaleFactor?: number;
60
+ headerSize?: number;
61
+ bodySize?: number;
62
+ }
63
+ /** Safe area config */
64
+ export interface SafeAreaConfig {
65
+ top?: number;
66
+ bottom?: number;
67
+ left?: number;
68
+ right?: number;
69
+ respectNotch?: boolean;
70
+ }
71
+ /** Breakpoint config */
72
+ export interface BreakpointConfig {
73
+ xs?: number;
74
+ sm?: number;
75
+ md?: number;
76
+ lg?: number;
77
+ xl?: number;
78
+ '2xl'?: number;
79
+ }
80
+ /** Touch config */
81
+ export interface TouchConfig {
82
+ minTargetSize?: number;
83
+ tapDelay?: number;
84
+ longPressDelay?: number;
85
+ swipeThreshold?: number;
86
+ panThreshold?: number;
87
+ }
88
+ /** Haptics config */
89
+ export interface HapticsConfig {
90
+ enabled?: boolean;
91
+ intensity?: HapticsIntensity;
92
+ patterns?: HapticsPattern[];
93
+ }
94
+ /** Haptics intensity */
95
+ export type HapticsIntensity = 'light' | 'medium' | 'heavy';
96
+ /** Haptics pattern */
97
+ export interface HapticsPattern {
98
+ name: string;
99
+ vibrations: VibrationEntry[];
100
+ }
101
+ /** Vibration entry */
102
+ export interface VibrationEntry {
103
+ duration: number;
104
+ intensity?: number;
105
+ pause?: number;
106
+ }
107
+ /** Mobile tabs config */
108
+ export interface MobileTabsConfig {
109
+ items: MobileTabItem[];
110
+ position?: 'bottom' | 'top';
111
+ style?: TabsStyle;
112
+ badges?: TabBadge[];
113
+ activeColor?: string;
114
+ inactiveColor?: string;
115
+ }
116
+ /** Mobile tab item */
117
+ export interface MobileTabItem {
118
+ id: string;
119
+ label: string;
120
+ icon: string;
121
+ activeIcon?: string;
122
+ route?: string;
123
+ disabled?: boolean;
124
+ hidden?: boolean;
125
+ }
126
+ /** Tabs style */
127
+ export interface TabsStyle {
128
+ background?: string;
129
+ height?: number;
130
+ iconSize?: number;
131
+ labelSize?: number;
132
+ showLabels?: boolean;
133
+ elevated?: boolean;
134
+ }
135
+ /** Tab badge */
136
+ export interface TabBadge {
137
+ tabId: string;
138
+ count?: number;
139
+ dot?: boolean;
140
+ color?: string;
141
+ }
142
+ /** Mobile drawer config */
143
+ export interface MobileDrawerConfig {
144
+ position: 'left' | 'right';
145
+ mode: 'overlay' | 'push';
146
+ width?: number | string;
147
+ swipeEnabled?: boolean;
148
+ swipeEdgeWidth?: number;
149
+ backdrop?: boolean;
150
+ backdropOpacity?: number;
151
+ header?: DrawerHeader;
152
+ footer?: DrawerFooter;
153
+ items: DrawerItem[];
154
+ }
155
+ /** Drawer header */
156
+ export interface DrawerHeader {
157
+ title?: string;
158
+ subtitle?: string;
159
+ avatar?: string;
160
+ background?: string;
161
+ }
162
+ /** Drawer footer */
163
+ export interface DrawerFooter {
164
+ content?: string;
165
+ actions?: DrawerAction[];
166
+ }
167
+ /** Drawer action */
168
+ export interface DrawerAction {
169
+ id: string;
170
+ label: string;
171
+ icon?: string;
172
+ onClick?: () => void;
173
+ }
174
+ /** Drawer item */
175
+ export interface DrawerItem {
176
+ id: string;
177
+ type: 'item' | 'divider' | 'header';
178
+ label?: string;
179
+ icon?: string;
180
+ route?: string;
181
+ badge?: TabBadge;
182
+ children?: DrawerItem[];
183
+ expanded?: boolean;
184
+ }
185
+ /** Mobile header config */
186
+ export interface MobileHeaderConfig {
187
+ title?: string;
188
+ subtitle?: string;
189
+ leftAction?: HeaderAction;
190
+ rightActions?: HeaderAction[];
191
+ style?: HeaderStyle;
192
+ collapsible?: CollapsibleConfig;
193
+ }
194
+ /** Header action */
195
+ export interface HeaderAction {
196
+ id: string;
197
+ icon: string;
198
+ label?: string;
199
+ badge?: number;
200
+ onClick?: () => void;
201
+ }
202
+ /** Header style */
203
+ export interface HeaderStyle {
204
+ background?: string;
205
+ textColor?: string;
206
+ height?: number;
207
+ elevated?: boolean;
208
+ transparent?: boolean;
209
+ }
210
+ /** Collapsible config */
211
+ export interface CollapsibleConfig {
212
+ enabled: boolean;
213
+ minHeight?: number;
214
+ maxHeight?: number;
215
+ triggerOffset?: number;
216
+ background?: string;
217
+ }
218
+ /** Pull to refresh config */
219
+ export interface PullToRefreshConfig {
220
+ enabled?: boolean;
221
+ threshold?: number;
222
+ maxPull?: number;
223
+ indicator?: RefreshIndicator;
224
+ onRefresh?: () => Promise<void>;
225
+ }
226
+ /** Refresh indicator */
227
+ export interface RefreshIndicator {
228
+ type: 'spinner' | 'dots' | 'custom';
229
+ color?: string;
230
+ size?: number;
231
+ text?: string;
232
+ }
233
+ /** Swipe actions config */
234
+ export interface SwipeActionsConfig {
235
+ left?: SwipeAction[];
236
+ right?: SwipeAction[];
237
+ threshold?: number;
238
+ overshoot?: boolean;
239
+ autoClose?: boolean;
240
+ }
241
+ /** Swipe action */
242
+ export interface SwipeAction {
243
+ id: string;
244
+ label?: string;
245
+ icon?: string;
246
+ color: string;
247
+ textColor?: string;
248
+ width?: number;
249
+ onAction?: () => void;
250
+ }
251
+ /** Infinite scroll config */
252
+ export interface InfiniteScrollConfig {
253
+ enabled?: boolean;
254
+ threshold?: number;
255
+ loading?: boolean;
256
+ hasMore?: boolean;
257
+ loadMore?: () => Promise<void>;
258
+ loader?: ScrollLoader;
259
+ endMessage?: string;
260
+ }
261
+ /** Scroll loader */
262
+ export interface ScrollLoader {
263
+ type: 'spinner' | 'skeleton' | 'custom';
264
+ count?: number;
265
+ }
266
+ /** Mobile modal config */
267
+ export interface MobileModalConfig {
268
+ type: 'bottom-sheet' | 'fullscreen' | 'center';
269
+ snapPoints?: number[];
270
+ initialSnap?: number;
271
+ dismissible?: boolean;
272
+ swipeToClose?: boolean;
273
+ backdrop?: boolean;
274
+ handle?: boolean;
275
+ header?: ModalHeader;
276
+ }
277
+ /** Modal header */
278
+ export interface ModalHeader {
279
+ title?: string;
280
+ showClose?: boolean;
281
+ actions?: HeaderAction[];
282
+ }
283
+ /** Gesture config */
284
+ export interface GestureConfig {
285
+ enabled?: boolean;
286
+ gestures: GestureDefinition[];
287
+ }
288
+ /** Gesture definition */
289
+ export interface GestureDefinition {
290
+ type: TouchGesture;
291
+ direction?: SwipeDirection;
292
+ fingers?: number;
293
+ minDistance?: number;
294
+ maxDuration?: number;
295
+ onGesture?: (event: GestureEvent) => void;
296
+ }
297
+ /** Gesture event */
298
+ export interface GestureEvent {
299
+ type: TouchGesture;
300
+ direction?: SwipeDirection;
301
+ scale?: number;
302
+ rotation?: number;
303
+ velocity?: GestureVelocity;
304
+ center?: GesturePoint;
305
+ delta?: GesturePoint;
306
+ }
307
+ /** Gesture velocity */
308
+ export interface GestureVelocity {
309
+ x: number;
310
+ y: number;
311
+ }
312
+ /** Gesture point */
313
+ export interface GesturePoint {
314
+ x: number;
315
+ y: number;
316
+ }
317
+ /** Mobile picker config */
318
+ export interface MobilePickerConfig {
319
+ type: 'wheel' | 'list' | 'grid';
320
+ columns?: PickerColumn[];
321
+ visibleItems?: number;
322
+ itemHeight?: number;
323
+ haptics?: boolean;
324
+ }
325
+ /** Picker column */
326
+ export interface PickerColumn {
327
+ id: string;
328
+ label?: string;
329
+ options: PickerOption[];
330
+ width?: number;
331
+ suffix?: string;
332
+ }
333
+ /** Picker option */
334
+ export interface PickerOption {
335
+ value: string | number;
336
+ label: string;
337
+ disabled?: boolean;
338
+ }
339
+ /** Mobile calendar config */
340
+ export interface MobileCalendarConfig {
341
+ mode: 'single' | 'range' | 'multiple';
342
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
343
+ minDate?: Date;
344
+ maxDate?: Date;
345
+ disabledDates?: Date[];
346
+ markedDates?: MarkedDate[];
347
+ showWeekNumbers?: boolean;
348
+ swipeNavigation?: boolean;
349
+ }
350
+ /** Marked date */
351
+ export interface MarkedDate {
352
+ date: Date;
353
+ color?: string;
354
+ dotColor?: string;
355
+ selected?: boolean;
356
+ disabled?: boolean;
357
+ label?: string;
358
+ }
359
+ /** Touch signature config */
360
+ export interface TouchSignatureConfig {
361
+ width?: number;
362
+ height?: number;
363
+ penColor?: string;
364
+ penWidth?: number;
365
+ backgroundColor?: string;
366
+ clearOnResize?: boolean;
367
+ trimWhitespace?: boolean;
368
+ }
369
+ /** Touch drawing config */
370
+ export interface TouchDrawingConfig {
371
+ width?: number;
372
+ height?: number;
373
+ tools: DrawingTool[];
374
+ defaultTool?: string;
375
+ backgroundColor?: string;
376
+ gridEnabled?: boolean;
377
+ undoSteps?: number;
378
+ }
379
+ /** Drawing tool */
380
+ export interface DrawingTool {
381
+ id: string;
382
+ type: 'pen' | 'brush' | 'eraser' | 'shape' | 'text';
383
+ color?: string;
384
+ size?: number;
385
+ opacity?: number;
386
+ }
387
+ /** Touch color picker config */
388
+ export interface TouchColorPickerConfig {
389
+ type: 'wheel' | 'spectrum' | 'sliders';
390
+ showAlpha?: boolean;
391
+ showHex?: boolean;
392
+ showRgb?: boolean;
393
+ presets?: string[];
394
+ recentColors?: string[];
395
+ }
396
+ /** Touch slider config */
397
+ export interface TouchSliderConfig {
398
+ min: number;
399
+ max: number;
400
+ step?: number;
401
+ value?: number;
402
+ range?: boolean;
403
+ vertical?: boolean;
404
+ showValue?: boolean;
405
+ showTicks?: boolean;
406
+ hapticFeedback?: boolean;
407
+ }
408
+ /** Touch menu config */
409
+ export interface TouchMenuConfig {
410
+ items: TouchMenuItem[];
411
+ position?: 'auto' | 'top' | 'bottom';
412
+ trigger?: 'longPress' | 'tap';
413
+ haptics?: boolean;
414
+ backdrop?: boolean;
415
+ }
416
+ /** Touch menu item */
417
+ export interface TouchMenuItem {
418
+ id: string;
419
+ label: string;
420
+ icon?: string;
421
+ destructive?: boolean;
422
+ disabled?: boolean;
423
+ children?: TouchMenuItem[];
424
+ }
425
+ /** Offline config */
426
+ export interface OfflineConfig {
427
+ enabled?: boolean;
428
+ storage?: OfflineStorage;
429
+ sync?: SyncConfig;
430
+ indicators?: OfflineIndicators;
431
+ cacheStrategies?: CacheStrategy[];
432
+ }
433
+ /** Offline storage */
434
+ export interface OfflineStorage {
435
+ type: 'indexeddb' | 'localstorage' | 'sqlite';
436
+ name?: string;
437
+ version?: number;
438
+ quota?: number;
439
+ encryption?: boolean;
440
+ }
441
+ /** Sync config */
442
+ export interface SyncConfig {
443
+ enabled?: boolean;
444
+ strategy: 'immediate' | 'background' | 'manual';
445
+ interval?: number;
446
+ retryAttempts?: number;
447
+ conflictResolution?: ConflictResolution;
448
+ backgroundSync?: BackgroundSyncConfig;
449
+ }
450
+ /** Conflict resolution */
451
+ export type ConflictResolution = 'server_wins' | 'client_wins' | 'last_write_wins' | 'manual';
452
+ /** Background sync config */
453
+ export interface BackgroundSyncConfig {
454
+ enabled: boolean;
455
+ tag?: string;
456
+ minInterval?: number;
457
+ requiresNetwork?: boolean;
458
+ }
459
+ /** Offline indicators */
460
+ export interface OfflineIndicators {
461
+ showBanner?: boolean;
462
+ showIcon?: boolean;
463
+ bannerPosition?: 'top' | 'bottom';
464
+ bannerMessage?: string;
465
+ onlineMessage?: string;
466
+ }
467
+ /** Cache strategy */
468
+ export interface CacheStrategy {
469
+ pattern: string;
470
+ strategy: CacheStrategyType;
471
+ maxAge?: number;
472
+ maxEntries?: number;
473
+ }
474
+ /** Cache strategy type */
475
+ export type CacheStrategyType = 'cache_first' | 'network_first' | 'stale_while_revalidate' | 'network_only' | 'cache_only';
476
+ /** Offline form config */
477
+ export interface OfflineFormConfig {
478
+ formId: string;
479
+ saveLocally?: boolean;
480
+ syncOnOnline?: boolean;
481
+ conflictResolution?: ConflictResolution;
482
+ validationOffline?: boolean;
483
+ }
484
+ /** Offline media config */
485
+ export interface OfflineMediaConfig {
486
+ enabled?: boolean;
487
+ maxSize?: number;
488
+ preloadUrls?: string[];
489
+ cacheImages?: boolean;
490
+ cacheVideos?: boolean;
491
+ cacheAudio?: boolean;
492
+ }
493
+ /** Sync status */
494
+ export interface SyncStatus {
495
+ status: 'idle' | 'syncing' | 'error' | 'offline';
496
+ lastSync?: Date;
497
+ pendingChanges?: number;
498
+ failedItems?: SyncFailure[];
499
+ progress?: SyncProgress;
500
+ }
501
+ /** Sync failure */
502
+ export interface SyncFailure {
503
+ id: string;
504
+ type: string;
505
+ error: string;
506
+ retryCount: number;
507
+ data?: unknown;
508
+ }
509
+ /** Sync progress */
510
+ export interface SyncProgress {
511
+ total: number;
512
+ completed: number;
513
+ percentage: number;
514
+ }
515
+ /** Kiosk config */
516
+ export interface KioskConfig {
517
+ enabled?: boolean;
518
+ mode: KioskMode;
519
+ lockScreen?: LockScreenConfig;
520
+ screenSaver?: ScreenSaverConfig;
521
+ autoStart?: AutoStartConfig;
522
+ remoteManagement?: RemoteManagementConfig;
523
+ display?: DisplayConfig;
524
+ }
525
+ /** Kiosk mode */
526
+ export type KioskMode = 'fullscreen' | 'locked' | 'semi-locked';
527
+ /** Lock screen config */
528
+ export interface LockScreenConfig {
529
+ enabled?: boolean;
530
+ pin?: string;
531
+ timeout?: number;
532
+ allowedApps?: string[];
533
+ adminAccess?: boolean;
534
+ }
535
+ /** Screen saver config */
536
+ export interface ScreenSaverConfig {
537
+ enabled?: boolean;
538
+ timeout?: number;
539
+ type: 'blank' | 'slideshow' | 'clock' | 'logo' | 'custom';
540
+ media?: string[];
541
+ brightness?: number;
542
+ }
543
+ /** Auto start config */
544
+ export interface AutoStartConfig {
545
+ enabled?: boolean;
546
+ delay?: number;
547
+ url?: string;
548
+ showSplash?: boolean;
549
+ splashDuration?: number;
550
+ }
551
+ /** Remote management config */
552
+ export interface RemoteManagementConfig {
553
+ enabled?: boolean;
554
+ provider: 'mdm' | 'custom';
555
+ endpoint?: string;
556
+ apiKey?: string;
557
+ heartbeatInterval?: number;
558
+ remoteCommands?: boolean;
559
+ }
560
+ /** Display config */
561
+ export interface DisplayConfig {
562
+ orientation?: ScreenOrientation;
563
+ orientationLock?: boolean;
564
+ brightness?: number;
565
+ autoBrightness?: boolean;
566
+ timeout?: number;
567
+ lowPowerMode?: LowPowerConfig;
568
+ externalDisplay?: ExternalDisplayConfig;
569
+ }
570
+ /** Low power config */
571
+ export interface LowPowerConfig {
572
+ enabled?: boolean;
573
+ threshold?: number;
574
+ dimBrightness?: number;
575
+ disableAnimations?: boolean;
576
+ reducedRefresh?: boolean;
577
+ }
578
+ /** External display config */
579
+ export interface ExternalDisplayConfig {
580
+ enabled?: boolean;
581
+ mode: 'mirror' | 'extend' | 'separate';
582
+ preferredDisplay?: number;
583
+ resolution?: DisplayResolution;
584
+ }
585
+ /** Display resolution */
586
+ export interface DisplayResolution {
587
+ width: number;
588
+ height: number;
589
+ refreshRate?: number;
590
+ }
591
+ /** Touch calibration config */
592
+ export interface TouchCalibrationConfig {
593
+ enabled?: boolean;
594
+ points?: CalibrationPoint[];
595
+ matrix?: number[][];
596
+ }
597
+ /** Calibration point */
598
+ export interface CalibrationPoint {
599
+ screenX: number;
600
+ screenY: number;
601
+ touchX: number;
602
+ touchY: number;
603
+ }
604
+ /** Responsive layout config */
605
+ export interface ResponsiveLayoutConfig {
606
+ breakpoints?: BreakpointConfig;
607
+ columns?: ResponsiveColumns;
608
+ spacing?: ResponsiveSpacing;
609
+ visibility?: ResponsiveVisibility;
610
+ }
611
+ /** Responsive columns */
612
+ export interface ResponsiveColumns {
613
+ xs?: number;
614
+ sm?: number;
615
+ md?: number;
616
+ lg?: number;
617
+ xl?: number;
618
+ '2xl'?: number;
619
+ }
620
+ /** Responsive spacing */
621
+ export interface ResponsiveSpacing {
622
+ xs?: number;
623
+ sm?: number;
624
+ md?: number;
625
+ lg?: number;
626
+ xl?: number;
627
+ }
628
+ /** Responsive visibility */
629
+ export interface ResponsiveVisibility {
630
+ hidden?: MobileBreakpoint[];
631
+ visible?: MobileBreakpoint[];
632
+ }
633
+ /** Adaptive component config */
634
+ export interface AdaptiveComponentConfig {
635
+ xs?: unknown;
636
+ sm?: unknown;
637
+ md?: unknown;
638
+ lg?: unknown;
639
+ xl?: unknown;
640
+ '2xl'?: unknown;
641
+ }
642
+ /** Mobile keyboard config */
643
+ export interface MobileKeyboardConfig {
644
+ type: KeyboardType;
645
+ returnKeyType?: ReturnKeyType;
646
+ autoCapitalize?: AutoCapitalize;
647
+ autoCorrect?: boolean;
648
+ autoComplete?: AutoCompleteHint;
649
+ textContentType?: TextContentType;
650
+ }
651
+ /** Keyboard type */
652
+ export type KeyboardType = 'default' | 'numeric' | 'email' | 'phone' | 'url' | 'decimal' | 'search' | 'twitter' | 'web-search';
653
+ /** Return key type */
654
+ export type ReturnKeyType = 'done' | 'go' | 'next' | 'search' | 'send' | 'default';
655
+ /** Auto capitalize */
656
+ export type AutoCapitalize = 'none' | 'sentences' | 'words' | 'characters';
657
+ /** Auto complete hint */
658
+ export type AutoCompleteHint = 'off' | 'username' | 'password' | 'email' | 'name' | 'tel' | 'street-address' | 'postal-code' | 'cc-number';
659
+ /** Text content type */
660
+ export type TextContentType = 'none' | 'URL' | 'addressCity' | 'addressState' | 'countryName' | 'creditCardNumber' | 'emailAddress' | 'familyName' | 'givenName' | 'telephoneNumber' | 'postalCode' | 'oneTimeCode';
661
+ /** Custom keyboard config */
662
+ export interface CustomKeyboardConfig {
663
+ layout: KeyboardLayout;
664
+ height?: number;
665
+ theme?: KeyboardTheme;
666
+ haptics?: boolean;
667
+ }
668
+ /** Keyboard layout */
669
+ export interface KeyboardLayout {
670
+ rows: KeyboardRow[];
671
+ }
672
+ /** Keyboard row */
673
+ export interface KeyboardRow {
674
+ keys: KeyboardKey[];
675
+ }
676
+ /** Keyboard key */
677
+ export interface KeyboardKey {
678
+ type: 'character' | 'modifier' | 'action' | 'spacer';
679
+ label?: string;
680
+ value?: string;
681
+ width?: number;
682
+ icon?: string;
683
+ action?: string;
684
+ }
685
+ /** Keyboard theme */
686
+ export interface KeyboardTheme {
687
+ background?: string;
688
+ keyBackground?: string;
689
+ keyTextColor?: string;
690
+ specialKeyBackground?: string;
691
+ borderRadius?: number;
692
+ }
693
+ /** Device capabilities */
694
+ export interface DeviceCapabilities {
695
+ hasCamera?: boolean;
696
+ hasMicrophone?: boolean;
697
+ hasGps?: boolean;
698
+ hasAccelerometer?: boolean;
699
+ hasGyroscope?: boolean;
700
+ hasCompass?: boolean;
701
+ hasBiometrics?: boolean;
702
+ hasNfc?: boolean;
703
+ hasBluetooth?: boolean;
704
+ hasVibration?: boolean;
705
+ hasNotch?: boolean;
706
+ screenSize?: ScreenSize;
707
+ pixelRatio?: number;
708
+ os?: DeviceOS;
709
+ osVersion?: string;
710
+ }
711
+ /** Screen size */
712
+ export interface ScreenSize {
713
+ width: number;
714
+ height: number;
715
+ diagonal?: number;
716
+ }
717
+ /** Device OS */
718
+ export type DeviceOS = 'ios' | 'android' | 'windows' | 'macos' | 'linux' | 'web';
719
+ /** Biometrics config */
720
+ export interface BiometricsConfig {
721
+ enabled?: boolean;
722
+ types?: BiometricType[];
723
+ fallbackToPin?: boolean;
724
+ promptMessage?: string;
725
+ }
726
+ /** Biometric type */
727
+ export type BiometricType = 'fingerprint' | 'face' | 'iris';
728
+ /** Camera config */
729
+ export interface CameraConfig {
730
+ mode: 'photo' | 'video' | 'scan';
731
+ facing?: 'front' | 'back';
732
+ flash?: 'auto' | 'on' | 'off';
733
+ resolution?: CameraResolution;
734
+ overlay?: CameraOverlay;
735
+ }
736
+ /** Camera resolution */
737
+ export interface CameraResolution {
738
+ width: number;
739
+ height: number;
740
+ quality?: 'low' | 'medium' | 'high';
741
+ }
742
+ /** Camera overlay */
743
+ export interface CameraOverlay {
744
+ type: 'document' | 'face' | 'barcode' | 'custom';
745
+ aspectRatio?: number;
746
+ guidelines?: boolean;
747
+ }
748
+ /** Location config */
749
+ export interface LocationConfig {
750
+ accuracy?: 'low' | 'medium' | 'high';
751
+ timeout?: number;
752
+ maximumAge?: number;
753
+ watchPosition?: boolean;
754
+ backgroundMode?: boolean;
755
+ }
756
+ /** Location data */
757
+ export interface LocationData {
758
+ latitude: number;
759
+ longitude: number;
760
+ altitude?: number;
761
+ accuracy?: number;
762
+ speed?: number;
763
+ heading?: number;
764
+ timestamp: Date;
765
+ }
766
+ //# sourceMappingURL=mobile-components.d.ts.map