@controleonline/ui-default 1.0.270 → 1.0.273

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 (100) hide show
  1. package/.github/workflows/integration-source-gate.yml +68 -0
  2. package/.github/workflows/manager-worker.yml +19 -0
  3. package/.github/workflows/publish-npm.yml +91 -0
  4. package/AGENTS.md +46 -50
  5. package/docs/technical/Contrato-de-colunas.md +67 -0
  6. package/docs/technical/Default-Components.md +76 -0
  7. package/docs/technical/DefaultForm.md +80 -0
  8. package/docs/technical/DefaultInput-e-DefaultSelect.md +73 -0
  9. package/docs/technical/DefaultTable.md +272 -0
  10. package/docs/wiki.md +1 -0
  11. package/package.json +4 -3
  12. package/scripts/validate-wiki-pointer.cjs +13 -0
  13. package/src/react/components/address/DefaultAddress.js +446 -0
  14. package/src/react/components/address/DefaultAddress.styles.js +133 -0
  15. package/src/react/components/address/DefaultAddressCoordFields.js +59 -0
  16. package/src/react/components/address/DefaultAddressMapPane.js +55 -0
  17. package/src/react/components/address/LatLonReadonlyFields.js +51 -0
  18. package/src/react/components/address/defaultAddressHelpers.js +163 -0
  19. package/src/react/components/address/defaultAddressStyles.js +148 -0
  20. package/src/react/components/address/defaultAddressUtils.js +129 -0
  21. package/src/react/components/extra-data/DefaultExtraData.js +152 -0
  22. package/src/react/components/extra-data/DefaultExtraData.styles.js +61 -0
  23. package/src/react/components/files/DefaultFile.js +231 -46
  24. package/src/react/components/files/DefaultFileColumn.js +123 -0
  25. package/src/react/components/files/DefaultFileColumn.styles.js +52 -0
  26. package/src/react/components/files/DefaultFileColumn.utils.js +104 -0
  27. package/src/react/components/filters/CompactFilterSelector.js +51 -35
  28. package/src/react/components/filters/DefaultColumnFilter.js +60 -48
  29. package/src/react/components/filters/DefaultExternalFilters.js +324 -265
  30. package/src/react/components/filters/filterValue.js +65 -0
  31. package/src/react/components/form/DefaultForm.js +99 -79
  32. package/src/react/components/help/DefaultTooltip.js +48 -12
  33. package/src/react/components/help/DefaultTooltip.styles.js +20 -0
  34. package/src/react/components/inputs/DefaultColorInput.js +153 -0
  35. package/src/react/components/inputs/DefaultFeatherIconPicker.js +146 -0
  36. package/src/react/components/inputs/DefaultFeatherIconPicker.styles.js +113 -0
  37. package/src/react/components/inputs/DefaultInput.js +296 -141
  38. package/src/react/components/inputs/DefaultInput.styles.js +26 -0
  39. package/src/react/components/inputs/DefaultSelect.js +134 -123
  40. package/src/react/components/inputs/defaultInputUtils.js +262 -213
  41. package/src/react/components/map/DefaultMap.native.js +73 -73
  42. package/src/react/components/map/DefaultMap.shared.js +911 -762
  43. package/src/react/components/map/DefaultMap.web.js +124 -68
  44. package/src/react/components/table/DefaultColumnMenu.js +22 -3
  45. package/src/react/components/table/DefaultDebug.js +44 -37
  46. package/src/react/components/table/DefaultSearchModal.js +9 -1
  47. package/src/react/components/table/DefaultTable.grouping.js +98 -0
  48. package/src/react/components/table/DefaultTable.js +217 -111
  49. package/src/react/components/table/DefaultTable.styles.js +369 -310
  50. package/src/react/components/table/DefaultTable.utils.js +38 -4
  51. package/src/react/components/table/DefaultTableBody.js +13 -8
  52. package/src/react/components/table/DefaultTableCards.js +20 -1
  53. package/src/react/components/table/DefaultTableControls.js +180 -205
  54. package/src/react/components/table/DefaultTableImportModal.js +108 -0
  55. package/src/react/components/table/DefaultTableInput.js +1 -0
  56. package/src/react/components/table/DefaultTableRowActions.js +1 -1
  57. package/src/react/components/table/DefaultTableRows.js +357 -325
  58. package/src/react/components/table/DefaultTableSearch.js +28 -5
  59. package/src/react/components/table/DefaultTableToolbar.js +92 -3
  60. package/src/react/components/table/useDefaultTablePagination.js +56 -7
  61. package/src/react/components/table/useDefaultTableStoreSync.js +164 -0
  62. package/src/react/components/upload/DefaultUpload.js +406 -0
  63. package/src/react/components/upload/DefaultUpload.styles.js +153 -0
  64. package/src/react/components/upload/DefaultUploadAttachmentsList.js +146 -0
  65. package/src/react/components/upload/DefaultUploadManagerModal.js +247 -0
  66. package/src/react/components/upload/defaultUploadHelpers.js +108 -0
  67. package/src/react/components/upload/defaultUploadLibrary.js +248 -0
  68. package/src/react/components/upload/fileUpload.js +93 -0
  69. package/src/react/hooks/usePostalCodeLookup.js +159 -0
  70. package/src/react/index.js +6 -0
  71. package/src/react/services/addressFormUtils.js +262 -0
  72. package/src/react/services/addressGeo.js +230 -0
  73. package/src/react/utils/tableVisibleColumnsPreferences.js +113 -15
  74. package/src/tests/react/components/address/defaultAddressHelpers.test.js +104 -0
  75. package/src/tests/react/components/files/DefaultFile.test.js +22 -6
  76. package/src/tests/react/components/files/DefaultFileColumn.company.test.js +24 -0
  77. package/src/tests/react/components/form/DefaultForm.test.js +123 -0
  78. package/src/tests/react/components/help/DefaultTooltip.test.js +93 -0
  79. package/src/tests/react/components/inputs/DefaultSelect.test.js +108 -79
  80. package/src/tests/react/components/table/DefaultTable.grouping.test.js +49 -0
  81. package/src/tests/react/components/table/DefaultTable.test.js +53 -2
  82. package/src/tests/react/components/table/DefaultTable.utils.test.js +10 -0
  83. package/src/tests/react/components/table/DefaultTableControls.filters.test.mjs +21 -0
  84. package/src/tests/react/components/table/DefaultTableRowActions.test.js +23 -0
  85. package/src/tests/react/components/table/DefaultTableRows.rowActions.test.js +152 -0
  86. package/src/tests/react/components/table/resolveRowBackgroundColor.test.mjs +45 -0
  87. package/src/tests/react/components/table/useDefaultTableStoreSync.test.js +161 -0
  88. package/src/tests/react/components/upload/DefaultUpload.test.js +353 -0
  89. package/src/tests/react/components/upload/defaultUploadLibrary.test.js +104 -0
  90. package/src/tests/react/components/upload/peopleMediaLibraryPreview.test.mjs +57 -0
  91. package/src/tests/react/filters/filterValue.test.js +46 -0
  92. package/src/tests/react/hooks/usePostalCodeLookup.test.js +107 -0
  93. package/src/tests/react/inputs/defaultInputUtils.test.js +9 -1
  94. package/src/tests/react/services/SMOKE-637-cep-hydrate.md +45 -0
  95. package/src/tests/react/services/addressFormUtils.test.js +179 -0
  96. package/src/tests/react/services/addressGeoLookup.async.test.js +104 -0
  97. package/src/tests/react/services/addressGeoLookup.test.js +105 -0
  98. package/src/tests/react/services/smoke-637/form-cep-12941040.png +0 -0
  99. package/src/tests/react/services/smoke-637/index.html +132 -0
  100. package/src/tests/react/utils/tableVisibleColumnsPreferences.test.js +96 -49
@@ -1,17 +1,17 @@
1
- import { Platform, StyleSheet } from 'react-native';
2
-
3
- const shadow = Platform.select({
4
- ios: {
5
- shadowColor: '#0F172A',
6
- shadowOffset: { width: 0, height: 8 },
7
- shadowOpacity: 0.14,
8
- shadowRadius: 20,
9
- },
10
- android: { elevation: 6 },
11
- web: { boxShadow: '0 14px 36px rgba(15,23,42,0.16)' },
12
- });
13
-
14
- const styles = StyleSheet.create({
1
+ import { Platform, StyleSheet } from 'react-native';
2
+
3
+ const shadow = Platform.select({
4
+ ios: {
5
+ shadowColor: '#0F172A',
6
+ shadowOffset: { width: 0, height: 8 },
7
+ shadowOpacity: 0.14,
8
+ shadowRadius: 20,
9
+ },
10
+ android: { elevation: 6 },
11
+ web: { boxShadow: '0 14px 36px rgba(15,23,42,0.16)' },
12
+ });
13
+
14
+ const styles = StyleSheet.create({
15
15
  wrap: {
16
16
  flex: 1,
17
17
  width: '100%',
@@ -104,11 +104,11 @@ const styles = StyleSheet.create({
104
104
  alignItems: 'center',
105
105
  justifyContent: 'center',
106
106
  flexShrink: 1,
107
- },
108
- toolbarCountText: {
109
- fontSize: 9,
110
- fontWeight: '900',
111
- },
107
+ },
108
+ toolbarCountText: {
109
+ fontSize: 9,
110
+ fontWeight: '900',
111
+ },
112
112
  toolbarButton: {
113
113
  minWidth: 36,
114
114
  height: 36,
@@ -119,7 +119,7 @@ const styles = StyleSheet.create({
119
119
  alignItems: 'center',
120
120
  justifyContent: 'center',
121
121
  gap: 4,
122
- },
122
+ },
123
123
  toolbarButtonActive: {
124
124
  },
125
125
  toolbarAddButton: {
@@ -139,6 +139,35 @@ const styles = StyleSheet.create({
139
139
  zIndex: 30,
140
140
  ...shadow,
141
141
  },
142
+ bottomAddBar: {
143
+ paddingHorizontal: 12,
144
+ paddingVertical: 10,
145
+ borderTopWidth: 1,
146
+ borderTopColor: '#E2E8F0',
147
+ backgroundColor: '#FFFFFF',
148
+ zIndex: 14,
149
+ ...shadow,
150
+ ...Platform.select({
151
+ web: {
152
+ position: 'sticky',
153
+ bottom: 0,
154
+ },
155
+ default: {},
156
+ }),
157
+ },
158
+ bottomAddButton: {
159
+ minHeight: 46,
160
+ borderRadius: 8,
161
+ paddingHorizontal: 16,
162
+ flexDirection: 'row',
163
+ alignItems: 'center',
164
+ justifyContent: 'center',
165
+ gap: 8,
166
+ },
167
+ bottomAddText: {
168
+ fontSize: 14,
169
+ fontWeight: '900',
170
+ },
142
171
  toolbarBadgeText: {
143
172
  fontSize: 10,
144
173
  fontWeight: '900',
@@ -164,12 +193,12 @@ const styles = StyleSheet.create({
164
193
  ...shadow,
165
194
  },
166
195
  columnMenuItem: {
167
- minHeight: 32,
168
- paddingHorizontal: 10,
169
- flexDirection: 'row',
170
- alignItems: 'center',
171
- gap: 8,
172
- },
196
+ minHeight: 32,
197
+ paddingHorizontal: 10,
198
+ flexDirection: 'row',
199
+ alignItems: 'center',
200
+ gap: 8,
201
+ },
173
202
  columnMenuText: {
174
203
  flex: 1,
175
204
  color: '#0F172A',
@@ -272,6 +301,12 @@ const styles = StyleSheet.create({
272
301
  width: '100%',
273
302
  minHeight: 0,
274
303
  },
304
+ body: {
305
+ flex: 1,
306
+ width: '100%',
307
+ minHeight: 0,
308
+ overflow: 'hidden',
309
+ },
275
310
  horizontalScrollContent: {
276
311
  flexGrow: 1,
277
312
  minWidth: '100%',
@@ -279,40 +314,40 @@ const styles = StyleSheet.create({
279
314
  content: {
280
315
  flex: 1,
281
316
  width: '100%',
282
- minWidth: '100%',
283
- minHeight: 0,
284
- },
317
+ minWidth: '100%',
318
+ minHeight: 0,
319
+ },
285
320
  headerRow: {
286
321
  minHeight: 40,
287
- width: '100%',
288
- flexDirection: 'row',
289
- alignItems: 'center',
290
- backgroundColor: '#F8FAFC',
291
- borderBottomWidth: 1,
292
- borderBottomColor: '#E2E8F0',
293
- },
322
+ width: '100%',
323
+ flexDirection: 'row',
324
+ alignItems: 'center',
325
+ backgroundColor: '#F8FAFC',
326
+ borderBottomWidth: 1,
327
+ borderBottomColor: '#E2E8F0',
328
+ },
294
329
  filterRow: {
295
330
  minHeight: 46,
296
- width: '100%',
297
- flexDirection: 'row',
298
- alignItems: 'stretch',
299
- backgroundColor: '#FFFFFF',
300
- borderBottomWidth: 1,
301
- borderBottomColor: '#E2E8F0',
302
- },
331
+ width: '100%',
332
+ flexDirection: 'row',
333
+ alignItems: 'stretch',
334
+ backgroundColor: '#FFFFFF',
335
+ borderBottomWidth: 1,
336
+ borderBottomColor: '#E2E8F0',
337
+ },
303
338
  row: {
304
339
  minHeight: 48,
305
- width: '100%',
306
- flexDirection: 'row',
307
- alignItems: 'stretch',
308
- borderBottomWidth: 1,
309
- borderBottomColor: '#EEF2F7',
310
- },
340
+ width: '100%',
341
+ flexDirection: 'row',
342
+ alignItems: 'stretch',
343
+ borderBottomWidth: 1,
344
+ borderBottomColor: '#EEF2F7',
345
+ },
311
346
  cell: {
312
347
  minWidth: 118,
313
348
  flexBasis: 118,
314
- flexGrow: 1,
315
- flexShrink: 0,
349
+ flexGrow: 1,
350
+ flexShrink: 0,
316
351
  paddingHorizontal: 14,
317
352
  paddingVertical: 10,
318
353
  justifyContent: 'center',
@@ -373,67 +408,67 @@ const styles = StyleSheet.create({
373
408
  moneyCell: {
374
409
  minWidth: 132,
375
410
  flexBasis: 132,
376
- flexGrow: 0.9,
377
- },
411
+ flexGrow: 0.9,
412
+ },
378
413
  headerText: {
379
414
  fontSize: 11,
380
415
  fontWeight: '800',
381
416
  letterSpacing: 0,
382
417
  textTransform: 'uppercase',
383
418
  },
384
- sortableHeader: {
385
- flexDirection: 'row',
386
- alignItems: 'center',
387
- gap: 4,
388
- },
389
- filterCell: {
390
- paddingVertical: 4,
391
- backgroundColor: '#FFFFFF',
392
- },
393
- filterInput: {
394
- height: 30,
395
- borderWidth: 1,
396
- borderColor: '#CBD5E1',
397
- borderRadius: 8,
398
- paddingHorizontal: 8,
399
- color: '#0F172A',
400
- backgroundColor: '#FFFFFF',
401
- fontSize: 11,
402
- fontWeight: '700',
403
- },
419
+ sortableHeader: {
420
+ flexDirection: 'row',
421
+ alignItems: 'center',
422
+ gap: 4,
423
+ },
424
+ filterCell: {
425
+ paddingVertical: 4,
426
+ backgroundColor: '#FFFFFF',
427
+ },
428
+ filterInput: {
429
+ height: 30,
430
+ borderWidth: 1,
431
+ borderColor: '#CBD5E1',
432
+ borderRadius: 8,
433
+ paddingHorizontal: 8,
434
+ color: '#0F172A',
435
+ backgroundColor: '#FFFFFF',
436
+ fontSize: 11,
437
+ fontWeight: '700',
438
+ },
404
439
  cellText: {
405
440
  fontSize: 13,
406
441
  fontWeight: '600',
407
442
  },
408
- mutedCellText: {
409
- color: '#94A3B8',
410
- },
411
- editableCell: {
412
- backgroundColor: '#FFFFFF',
413
- },
443
+ mutedCellText: {
444
+ color: '#94A3B8',
445
+ },
446
+ editableCell: {
447
+ backgroundColor: '#FFFFFF',
448
+ },
414
449
  editingCell: {
415
450
  paddingVertical: 4,
416
451
  backgroundColor: '#EFF6FF',
417
452
  },
418
453
  input: {
419
- flex: 1,
420
- height: 32,
421
- borderWidth: 1,
422
- borderColor: '#93C5FD',
423
- borderRadius: 8,
424
- paddingHorizontal: 8,
425
- color: '#0F172A',
426
- fontSize: 12,
427
- fontWeight: '700',
428
- backgroundColor: '#FFFFFF',
429
- },
430
- savingText: {
431
- marginTop: 2,
432
- color: '#64748B',
433
- fontSize: 9,
434
- fontWeight: '800',
435
- textTransform: 'uppercase',
436
- },
454
+ flex: 1,
455
+ height: 32,
456
+ borderWidth: 1,
457
+ borderColor: '#93C5FD',
458
+ borderRadius: 8,
459
+ paddingHorizontal: 8,
460
+ color: '#0F172A',
461
+ fontSize: 12,
462
+ fontWeight: '700',
463
+ backgroundColor: '#FFFFFF',
464
+ },
465
+ savingText: {
466
+ marginTop: 2,
467
+ color: '#64748B',
468
+ fontSize: 9,
469
+ fontWeight: '800',
470
+ textTransform: 'uppercase',
471
+ },
437
472
  actionsCell: {
438
473
  minWidth: 60,
439
474
  width: 60,
@@ -456,41 +491,63 @@ const styles = StyleSheet.create({
456
491
  height: 28,
457
492
  borderRadius: 14,
458
493
  alignItems: 'center',
459
- justifyContent: 'center',
460
- borderWidth: 1,
461
- borderColor: '#E2E8F0',
462
- backgroundColor: '#F8FAFC',
463
- },
464
- cancelButton: {
465
- width: 28,
466
- height: 28,
467
- borderRadius: 14,
468
- alignItems: 'center',
469
- justifyContent: 'center',
470
- backgroundColor: '#FFFFFF',
471
- borderWidth: 1,
472
- borderColor: '#CBD5E1',
473
- },
474
- cardsScroll: {
475
- flex: 1,
476
- minHeight: 0,
477
- },
478
- cardsGrid: {
479
- padding: 10,
480
- gap: 10,
481
- flexGrow: 1,
482
- },
483
- tableList: {
484
- flex: 1,
485
- width: '100%',
486
- minHeight: 0,
487
- },
488
- tableListContent: {
489
- flexGrow: 1,
490
- width: '100%',
491
- },
494
+ justifyContent: 'center',
495
+ borderWidth: 1,
496
+ borderColor: '#E2E8F0',
497
+ backgroundColor: '#F8FAFC',
498
+ },
499
+ cancelButton: {
500
+ width: 28,
501
+ height: 28,
502
+ borderRadius: 14,
503
+ alignItems: 'center',
504
+ justifyContent: 'center',
505
+ backgroundColor: '#FFFFFF',
506
+ borderWidth: 1,
507
+ borderColor: '#CBD5E1',
508
+ },
509
+ cardsScroll: {
510
+ flex: 1,
511
+ width: '100%',
512
+ minHeight: 0,
513
+ ...Platform.select({
514
+ web: {
515
+ overflowY: 'auto',
516
+ },
517
+ default: {},
518
+ }),
519
+ },
520
+ cardsGrid: {
521
+ paddingVertical: 10,
522
+ paddingHorizontal: 0,
523
+ gap: 8,
524
+ flexGrow: 1,
525
+ width: '100%',
526
+ alignSelf: 'stretch',
527
+ },
528
+ cardsGridWithBottomAdd: {
529
+ paddingBottom: 86,
530
+ },
531
+ tableList: {
532
+ flex: 1,
533
+ width: '100%',
534
+ minHeight: 0,
535
+ },
536
+ tableListContent: {
537
+ flexGrow: 1,
538
+ width: '100%',
539
+ },
540
+ // FlatList multi-column cells must stretch so cards fill the row
541
+ // (app-community#710 — products card grid floating on desktop).
492
542
  cardItem: {
493
543
  position: 'relative',
544
+ flex: 1,
545
+ flexBasis: 0,
546
+ flexGrow: 1,
547
+ minWidth: 0,
548
+ width: '100%',
549
+ maxWidth: '100%',
550
+ alignSelf: 'stretch',
494
551
  },
495
552
  cardItemWithActions: {
496
553
  flexDirection: 'row',
@@ -500,6 +557,7 @@ const styles = StyleSheet.create({
500
557
  cardContent: {
501
558
  flex: 1,
502
559
  minWidth: 0,
560
+ width: '100%',
503
561
  },
504
562
  cardActions: {
505
563
  flexDirection: 'row',
@@ -519,47 +577,48 @@ const styles = StyleSheet.create({
519
577
  borderWidth: 1,
520
578
  borderColor: '#E2E8F0',
521
579
  borderRadius: 10,
522
- backgroundColor: '#FFFFFF',
523
- padding: 12,
524
- gap: 8,
525
- },
526
- defaultCardLine: {
527
- flexDirection: 'row',
528
- alignItems: 'center',
529
- gap: 12,
530
- },
531
- defaultCardLabel: {
532
- width: 130,
533
- color: '#64748B',
534
- fontSize: 10,
535
- fontWeight: '900',
536
- textTransform: 'uppercase',
537
- },
538
- defaultCardValue: {
539
- flex: 1,
540
- color: '#0F172A',
541
- fontSize: 12,
542
- fontWeight: '700',
543
- },
544
- cardEditButton: {
545
- position: 'absolute',
546
- top: 8,
547
- right: 8,
548
- width: 28,
549
- height: 28,
550
- borderRadius: 14,
551
- alignItems: 'center',
552
- justifyContent: 'center',
553
- borderWidth: 1,
554
- borderColor: '#E2E8F0',
555
- backgroundColor: '#F8FAFC',
556
- },
557
- emptyBox: {
558
- padding: 20,
559
- alignItems: 'center',
560
- justifyContent: 'center',
561
- gap: 8,
562
- },
580
+ backgroundColor: '#FFFFFF',
581
+ padding: 12,
582
+ gap: 8,
583
+ width: '100%',
584
+ },
585
+ defaultCardLine: {
586
+ flexDirection: 'row',
587
+ alignItems: 'center',
588
+ gap: 12,
589
+ },
590
+ defaultCardLabel: {
591
+ width: 130,
592
+ color: '#64748B',
593
+ fontSize: 10,
594
+ fontWeight: '900',
595
+ textTransform: 'uppercase',
596
+ },
597
+ defaultCardValue: {
598
+ flex: 1,
599
+ color: '#0F172A',
600
+ fontSize: 12,
601
+ fontWeight: '700',
602
+ },
603
+ cardEditButton: {
604
+ position: 'absolute',
605
+ top: 8,
606
+ right: 8,
607
+ width: 28,
608
+ height: 28,
609
+ borderRadius: 14,
610
+ alignItems: 'center',
611
+ justifyContent: 'center',
612
+ borderWidth: 1,
613
+ borderColor: '#E2E8F0',
614
+ backgroundColor: '#F8FAFC',
615
+ },
616
+ emptyBox: {
617
+ padding: 20,
618
+ alignItems: 'center',
619
+ justifyContent: 'center',
620
+ gap: 8,
621
+ },
563
622
  footerBar: {
564
623
  minHeight: 40,
565
624
  paddingHorizontal: 8,
@@ -571,22 +630,22 @@ const styles = StyleSheet.create({
571
630
  alignItems: 'center',
572
631
  justifyContent: 'space-between',
573
632
  gap: 6,
574
- zIndex: 12,
575
- ...Platform.select({
576
- web: {
577
- position: 'sticky',
578
- bottom: 0,
579
- },
580
- default: {},
581
- }),
582
- },
583
- footerSummaryList: {
584
- flex: 1,
585
- minWidth: 0,
586
- flexDirection: 'row',
587
- alignItems: 'center',
588
- gap: 4,
589
- },
633
+ zIndex: 12,
634
+ ...Platform.select({
635
+ web: {
636
+ position: 'sticky',
637
+ bottom: 0,
638
+ },
639
+ default: {},
640
+ }),
641
+ },
642
+ footerSummaryList: {
643
+ flex: 1,
644
+ minWidth: 0,
645
+ flexDirection: 'row',
646
+ alignItems: 'center',
647
+ gap: 4,
648
+ },
590
649
  footerSummaryItem: {
591
650
  flex: 1,
592
651
  minWidth: 0,
@@ -613,126 +672,126 @@ const styles = StyleSheet.create({
613
672
  paddingHorizontal: 10,
614
673
  paddingVertical: 5,
615
674
  },
616
- footerCountText: {
617
- fontSize: 11,
618
- fontWeight: '900',
619
- },
620
- emptyText: {
621
- color: '#64748B',
622
- fontSize: 12,
623
- fontWeight: '700',
624
- },
625
- modalOverlay: {
626
- flex: 1,
627
- alignItems: 'center',
628
- justifyContent: 'center',
629
- padding: 16,
630
- backgroundColor: 'rgba(15,23,42,0.42)',
631
- },
632
- modalCard: {
633
- width: '100%',
634
- maxWidth: 860,
635
- maxHeight: '86%',
636
- borderRadius: 12,
637
- backgroundColor: '#FFFFFF',
638
- overflow: 'hidden',
639
- ...shadow,
640
- },
641
- modalHeader: {
642
- minHeight: 48,
643
- paddingHorizontal: 14,
644
- borderBottomWidth: 1,
645
- borderBottomColor: '#E2E8F0',
646
- flexDirection: 'row',
647
- alignItems: 'center',
648
- justifyContent: 'space-between',
649
- },
650
- modalTitle: {
651
- color: '#0F172A',
652
- fontSize: 16,
653
- fontWeight: '900',
654
- },
655
- modalCloseButton: {
656
- width: 32,
657
- height: 32,
658
- borderRadius: 16,
659
- alignItems: 'center',
660
- justifyContent: 'center',
661
- borderWidth: 1,
662
- borderColor: '#E2E8F0',
663
- backgroundColor: '#F8FAFC',
664
- },
665
- modalBody: {
666
- maxHeight: 520,
667
- },
668
- formGrid: {
669
- padding: 14,
670
- flexDirection: 'row',
671
- flexWrap: 'wrap',
672
- gap: 10,
673
- },
674
- formField: {
675
- flexGrow: 1,
676
- flexBasis: 220,
677
- minWidth: 220,
678
- },
679
- formLabel: {
680
- marginBottom: 4,
681
- color: '#64748B',
682
- fontSize: 10,
683
- fontWeight: '900',
684
- letterSpacing: 0.3,
685
- textTransform: 'uppercase',
686
- },
687
- formInput: {
688
- height: 34,
689
- borderWidth: 1,
690
- borderColor: '#CBD5E1',
691
- borderRadius: 8,
692
- paddingHorizontal: 10,
693
- color: '#0F172A',
694
- backgroundColor: '#FFFFFF',
695
- fontSize: 12,
696
- fontWeight: '700',
697
- },
698
- modalActions: {
699
- minHeight: 52,
700
- paddingHorizontal: 14,
701
- borderTopWidth: 1,
702
- borderTopColor: '#E2E8F0',
703
- flexDirection: 'row',
704
- alignItems: 'center',
705
- justifyContent: 'flex-end',
706
- gap: 8,
707
- },
708
- secondaryButton: {
709
- height: 34,
710
- borderRadius: 8,
711
- borderWidth: 1,
712
- borderColor: '#CBD5E1',
713
- paddingHorizontal: 14,
714
- alignItems: 'center',
715
- justifyContent: 'center',
716
- backgroundColor: '#FFFFFF',
717
- },
718
- secondaryButtonText: {
719
- color: '#334155',
720
- fontSize: 12,
721
- fontWeight: '800',
722
- },
723
- primaryButton: {
724
- height: 34,
725
- borderRadius: 8,
726
- paddingHorizontal: 16,
727
- alignItems: 'center',
728
- justifyContent: 'center',
729
- backgroundColor: '#0EA5E9',
730
- },
731
- primaryButtonText: {
732
- color: '#FFFFFF',
733
- fontSize: 12,
734
- fontWeight: '900',
735
- },
736
- });
737
-
738
- export default styles;
675
+ footerCountText: {
676
+ fontSize: 11,
677
+ fontWeight: '900',
678
+ },
679
+ emptyText: {
680
+ color: '#64748B',
681
+ fontSize: 12,
682
+ fontWeight: '700',
683
+ },
684
+ modalOverlay: {
685
+ flex: 1,
686
+ alignItems: 'center',
687
+ justifyContent: 'center',
688
+ padding: 16,
689
+ backgroundColor: 'rgba(15,23,42,0.42)',
690
+ },
691
+ modalCard: {
692
+ width: '100%',
693
+ maxWidth: 860,
694
+ maxHeight: '86%',
695
+ borderRadius: 12,
696
+ backgroundColor: '#FFFFFF',
697
+ overflow: 'hidden',
698
+ ...shadow,
699
+ },
700
+ modalHeader: {
701
+ minHeight: 48,
702
+ paddingHorizontal: 14,
703
+ borderBottomWidth: 1,
704
+ borderBottomColor: '#E2E8F0',
705
+ flexDirection: 'row',
706
+ alignItems: 'center',
707
+ justifyContent: 'space-between',
708
+ },
709
+ modalTitle: {
710
+ color: '#0F172A',
711
+ fontSize: 16,
712
+ fontWeight: '900',
713
+ },
714
+ modalCloseButton: {
715
+ width: 32,
716
+ height: 32,
717
+ borderRadius: 16,
718
+ alignItems: 'center',
719
+ justifyContent: 'center',
720
+ borderWidth: 1,
721
+ borderColor: '#E2E8F0',
722
+ backgroundColor: '#F8FAFC',
723
+ },
724
+ modalBody: {
725
+ maxHeight: 520,
726
+ },
727
+ formGrid: {
728
+ padding: 14,
729
+ flexDirection: 'row',
730
+ flexWrap: 'wrap',
731
+ gap: 10,
732
+ },
733
+ formField: {
734
+ flexGrow: 1,
735
+ flexBasis: 220,
736
+ minWidth: 220,
737
+ },
738
+ formLabel: {
739
+ marginBottom: 4,
740
+ color: '#64748B',
741
+ fontSize: 10,
742
+ fontWeight: '900',
743
+ letterSpacing: 0.3,
744
+ textTransform: 'uppercase',
745
+ },
746
+ formInput: {
747
+ height: 34,
748
+ borderWidth: 1,
749
+ borderColor: '#CBD5E1',
750
+ borderRadius: 8,
751
+ paddingHorizontal: 10,
752
+ color: '#0F172A',
753
+ backgroundColor: '#FFFFFF',
754
+ fontSize: 12,
755
+ fontWeight: '700',
756
+ },
757
+ modalActions: {
758
+ minHeight: 52,
759
+ paddingHorizontal: 14,
760
+ borderTopWidth: 1,
761
+ borderTopColor: '#E2E8F0',
762
+ flexDirection: 'row',
763
+ alignItems: 'center',
764
+ justifyContent: 'flex-end',
765
+ gap: 8,
766
+ },
767
+ secondaryButton: {
768
+ height: 34,
769
+ borderRadius: 8,
770
+ borderWidth: 1,
771
+ borderColor: '#CBD5E1',
772
+ paddingHorizontal: 14,
773
+ alignItems: 'center',
774
+ justifyContent: 'center',
775
+ backgroundColor: '#FFFFFF',
776
+ },
777
+ secondaryButtonText: {
778
+ color: '#334155',
779
+ fontSize: 12,
780
+ fontWeight: '800',
781
+ },
782
+ primaryButton: {
783
+ height: 34,
784
+ borderRadius: 8,
785
+ paddingHorizontal: 16,
786
+ alignItems: 'center',
787
+ justifyContent: 'center',
788
+ backgroundColor: '#0EA5E9',
789
+ },
790
+ primaryButtonText: {
791
+ color: '#FFFFFF',
792
+ fontSize: 12,
793
+ fontWeight: '900',
794
+ },
795
+ });
796
+
797
+ export default styles;