@onehat/ui 0.4.13 → 0.4.15

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 (31) hide show
  1. package/package.json +1 -1
  2. package/src/Components/Buttons/IconButton.js +3 -6
  3. package/src/Components/Editor/InlineEditor.js +2 -2
  4. package/src/Components/Form/Field/Color.js +24 -7
  5. package/src/Components/Form/Field/Combo/Combo.js +14 -27
  6. package/src/Components/Form/Field/Date.js +29 -30
  7. package/src/Components/Form/Field/FormikForm.js +2 -2
  8. package/src/Components/Form/Field/Input.js +3 -7
  9. package/src/Components/Form/Field/Number.js +0 -4
  10. package/src/Components/Form/Field/Select/Select.js +1 -4
  11. package/src/Components/Form/Field/Tag/Tag.js +4 -4
  12. package/src/Components/Form/Field/Tag/ValueBox.js +13 -3
  13. package/src/Components/Form/Field/Text.js +1 -1
  14. package/src/Components/Form/Field/TextArea.js +1 -6
  15. package/src/Components/Form/Field/Toggle.js +1 -1
  16. package/src/Components/Form/FieldSet.js +10 -20
  17. package/src/Components/Form/Form.js +22 -9
  18. package/src/Components/Form/Label.js +2 -1
  19. package/src/Components/Grid/Grid.js +12 -5
  20. package/src/Components/Grid/GridHeaderRow.js +5 -7
  21. package/src/Components/Grid/GridRow.js +9 -7
  22. package/src/Components/Hoc/withContextMenu.js +7 -9
  23. package/src/Components/Hoc/withFilters.js +1 -1
  24. package/src/Components/Layout/Footer.js +1 -1
  25. package/src/Components/Panel/Header.js +6 -10
  26. package/src/Components/Tab/TabBar.js +3 -3
  27. package/src/Components/Toolbar/Toolbar.js +1 -1
  28. package/src/Components/Tree/TreeNode.js +3 -5
  29. package/src/Components/Viewer/Viewer.js +17 -7
  30. package/src/Constants/Styles.js +62 -76
  31. package/src/PlatformImports/Web/File.js +1 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onehat/ui",
3
- "version": "0.4.13",
3
+ "version": "0.4.15",
4
4
  "description": "Base UI for OneHat apps",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -14,14 +14,11 @@ const IconButtonElement = forwardRef((props, ref) => {
14
14
 
15
15
  let buttonClassName = `
16
16
  IconButton
17
- ${styles.ICON_BUTTON_PY}
18
- ${styles.ICON_BUTTON_PX}
19
- ${styles.ICON_BUTTON_BG}
20
- ${styles.ICON_BUTTON_BG_HOVER}
21
- ${styles.ICON_BUTTON_BG_ACTIVE}
22
- ${styles.ICON_BUTTON_BG_DISABLED}
23
17
  rounded-md
24
18
  self-center
19
+ px-[10px]
20
+ py-[10px]
21
+ ${styles.ICON_BUTTON_CLASSNAME}
25
22
  `;
26
23
  if (props.className) {
27
24
  buttonClassName += ' ' + props.className;
@@ -157,8 +157,8 @@ function InlineEditor(props) {
157
157
  py-1
158
158
  border-t-4
159
159
  border-b-4
160
- ${styles.GRID_INLINE_EDITOR_BORDER_TOP_COLOR}
161
- ${styles.GRID_INLINE_EDITOR_BORDER_BOTTOM_COLOR}
160
+ border-t-primary-100
161
+ border-b-primary-100
162
162
  `}
163
163
  />
164
164
  </VStack>
@@ -137,7 +137,12 @@ export function ColorElement(props) {
137
137
  assembledComponents =
138
138
  <HStackNative
139
139
  onLayout={() => setIsRendered(true)}
140
- className="flex-1 h-full items-center"
140
+ className={`
141
+ ColorElement-HStackNative
142
+ flex-1
143
+ h-full
144
+ items-center
145
+ `}
141
146
  >
142
147
  <Pressable
143
148
  ref={triggerRef}
@@ -147,7 +152,14 @@ export function ColorElement(props) {
147
152
  borderBottomLeftRadius={6}
148
153
  borderTopRightRadius={0}
149
154
  borderBottomRightRadius={0}
150
- className={` bg-${value} h-[10px] w-[10px] border border-grey-300 `}
155
+ className={`
156
+ ColorElement-Pressable
157
+ bg-${value}
158
+ h-[10px]
159
+ w-[10px]
160
+ border
161
+ border-grey-300
162
+ `}
151
163
  />
152
164
  <Input
153
165
  ref={inputRef}
@@ -157,6 +169,7 @@ export function ColorElement(props) {
157
169
  onBlur={onInputBlur}
158
170
  onClick={onInputClick}
159
171
  className={`
172
+ ColorElement-Input
160
173
  flex-1
161
174
  h-full
162
175
  p-2
@@ -167,9 +180,7 @@ export function ColorElement(props) {
167
180
  border-bottom-left-radius-0
168
181
  border-top-right-radius-6
169
182
  border-bottom-right-radius-6
170
- ${styles.FORM_COLOR_READOUT_FONTSIZE}
171
- ${styles.FORM_COLOR_INPUT_BG}
172
- ${styles.FORM_COLOR_INPUT_BG_FOCUS}
183
+ ${styles.FORM_COLOR_INPUT_CLASSNAME}
173
184
  `}
174
185
  onLayout={(e) => {
175
186
  // On web, this is not needed, but on RN it might be, so leave it in for now
@@ -190,11 +201,14 @@ export function ColorElement(props) {
190
201
  trigger={emptyFn}
191
202
  trapFocus={true}
192
203
  placement={'auto'}
193
- {...props}
204
+ className={`
205
+ ColorElement-Popover
206
+ `}
194
207
  >
195
208
  <PopoverContent
196
209
  position="absolute"
197
210
  className={`
211
+ ColorElement-PopoverContent
198
212
  w-[220px]
199
213
  h-[287px]
200
214
  `}
@@ -206,7 +220,10 @@ export function ColorElement(props) {
206
220
  >
207
221
  <PopoverBody
208
222
  ref={pickerRef}
209
- className="p-0"
223
+ className={`
224
+ ColorElement-PopoverBody
225
+ p-0
226
+ `}
210
227
  >
211
228
  <SketchPicker
212
229
  disableAlpha={true}
@@ -519,8 +519,7 @@ export function ComboComponent(props) {
519
519
  className={`
520
520
  h-full
521
521
  mr-1
522
- ${styles.FORM_COMBO_TRIGGER_BG}
523
- ${styles.FORM_COMBO_TRIGGER_BG_HOVER}
522
+ ${styles.FORM_COMBO_TRIGGER_CLASSNAME}
524
523
  `}
525
524
  />;
526
525
  }
@@ -538,8 +537,7 @@ export function ComboComponent(props) {
538
537
  className={`
539
538
  h-full
540
539
  mr-1
541
- ${styles.FORM_COMBO_TRIGGER_BG}
542
- ${styles.FORM_COMBO_TRIGGER_BG_HOVER}
540
+ ${styles.FORM_COMBO_TRIGGER_CLASSNAME}
543
541
  `}
544
542
  />;
545
543
  }
@@ -552,8 +550,7 @@ export function ComboComponent(props) {
552
550
  border-gray-400
553
551
  rounded-l-none
554
552
  rounded-r-md
555
- ${styles.FORM_COMBO_TRIGGER_BG}
556
- ${styles.FORM_COMBO_TRIGGER_BG_HOVER}
553
+ ${styles.FORM_COMBO_TRIGGER_CLASSNAME}
557
554
  `;
558
555
  trigger = <IconButton
559
556
  {...testProps('trigger')}
@@ -575,7 +572,7 @@ export function ComboComponent(props) {
575
572
  {...testProps('toggleMenuBtn')}
576
573
  onPress={toggleMenu}
577
574
  className={`
578
- toggleMenuBtn
575
+ Combo-toggleMenuBtn
579
576
  h-auto
580
577
  self-stretch
581
578
  flex-1
@@ -596,12 +593,12 @@ export function ComboComponent(props) {
596
593
  numberOfLines={1}
597
594
  ellipsizeMode="head"
598
595
  className={`
599
- Text
596
+ Combo-TextNative
600
597
  h-auto
601
598
  self-stretch
602
599
  flex-1
603
600
  ${_.isEmpty(textInputValue) ? "text-grey-400" : "text-black"}
604
- ${styles.FORM_COMBO_INPUT_FONTSIZE}
601
+ ${styles.FORM_COMBO_INPUT_CLASSNAME}
605
602
  `}
606
603
  >{_.isEmpty(textInputValue) ? placeholder : textInputValue}</TextNative>
607
604
  </Pressable> :
@@ -620,7 +617,7 @@ export function ComboComponent(props) {
620
617
  autoSubmitDelay={500}
621
618
  placeholder={placeholder}
622
619
  className={`
623
- ComboInput
620
+ Combo-Input
624
621
  grow
625
622
  h-auto
626
623
  self-stretch
@@ -628,9 +625,7 @@ export function ComboComponent(props) {
628
625
  m-0
629
626
  rounded-tr-none
630
627
  rounded-br-none
631
- ${styles.FORM_COMBO_INPUT_FONTSIZE}
632
- ${styles.FORM_COMBO_INPUT_BG}
633
- ${styles.FORM_COMBO_INPUT_BG_FOCUS}
628
+ ${styles.FORM_COMBO_INPUT_CLASSNAME}
634
629
  `}
635
630
  {..._input}
636
631
  />;
@@ -665,7 +660,7 @@ export function ComboComponent(props) {
665
660
  m-0
666
661
  p-1
667
662
  ${_.isEmpty(displayValue) ? "text-grey-400" : "text-black"}
668
- ${styles.FORM_COMBO_INPUT_FONTSIZE}
663
+ ${styles.FORM_COMBO_INPUT_CLASSNAME}
669
664
  `}
670
665
  >{_.isEmpty(displayValue) ? placeholder : displayValue}</TextNative>
671
666
  </Pressable>;
@@ -854,9 +849,7 @@ export function ComboComponent(props) {
854
849
  m-0
855
850
  rounded-tr-none
856
851
  rounded-br-none
857
- ${styles.FORM_COMBO_INPUT_FONTSIZE}
858
- ${styles.FORM_COMBO_INPUT_BG}
859
- ${styles.FORM_COMBO_INPUT_BG_FOCUS}
852
+ ${styles.FORM_COMBO_INPUT_CLASSNAME}
860
853
  `}
861
854
  {..._input}
862
855
  />
@@ -915,8 +908,7 @@ export function ComboComponent(props) {
915
908
  border
916
909
  border-grey-400
917
910
  rounded-md
918
- ${styles.FORM_COMBO_TRIGGER_BG}
919
- ${styles.FORM_COMBO_TRIGGER_BG_HOVER}
911
+ ${styles.FORM_COMBO_TRIGGER_CLASSNAME}
920
912
  `}
921
913
  />;
922
914
  }
@@ -937,9 +929,7 @@ export function ComboComponent(props) {
937
929
  border
938
930
  border-grey-400
939
931
  rounded-r-none
940
- ${styles.FORM_COMBO_INPUT_BG}
941
- ${styles.FORM_COMBO_INPUT_BG_FOCUS}
942
- ${styles.FORM_COMBO_INPUT_FONTSIZE}
932
+ ${styles.FORM_COMBO_INPUT_CLASSNAME}
943
933
  `}
944
934
  >{textInputValue}</TextNative> :
945
935
  <Input
@@ -961,9 +951,7 @@ export function ComboComponent(props) {
961
951
  flex-1
962
952
  m-0
963
953
  rounded-r-none
964
- ${styles.FORM_COMBO_INPUT_FONTSIZE}
965
- ${styles.FORM_COMBO_INPUT_BG}
966
- ${styles.FORM_COMBO_INPUT_BG_FOCUS}
954
+ ${styles.FORM_COMBO_INPUT_CLASSNAME}
967
955
  `}
968
956
  {..._input}
969
957
  />}
@@ -982,8 +970,7 @@ export function ComboComponent(props) {
982
970
  border-grey-400
983
971
  rounded-l-none
984
972
  rounded-r-md
985
- ${styles.FORM_COMBO_TRIGGER_BG}
986
- ${styles.FORM_COMBO_TRIGGER_BG_HOVER}
973
+ ${styles.FORM_COMBO_TRIGGER_CLASSNAME}
987
974
  `}
988
975
  />
989
976
  {checkButton}
@@ -292,9 +292,9 @@ export const DateElement = forwardRef((props, ref) => {
292
292
  isDisabled={isDisabled}
293
293
  onPress={onClearBtn}
294
294
  className={`
295
+ Date-xBtn
295
296
  h-full
296
- ${styles.FORM_COMBO_TRIGGER_BG}
297
- ${styles.FORM_COMBO_TRIGGER_BG_HOVER}
297
+ ${styles.FORM_COMBO_TRIGGER_CLASSNAME}
298
298
  `}
299
299
  />;
300
300
  }
@@ -304,20 +304,20 @@ export const DateElement = forwardRef((props, ref) => {
304
304
  icon={Calendar}
305
305
  _icon={{
306
306
  size: 'sm',
307
- className: styles.FORM_DATE_ICON_COLOR,
307
+ className: styles.FORM_DATE_TRIGGER_ICON_CLASSNAME,
308
308
  }}
309
309
  onPress={onTriggerPress}
310
310
  onBlur={onTriggerBlur}
311
311
  isDisabled={isDisabled}
312
312
  className={`
313
+ Date-trigger
313
314
  h-10
314
315
  w-10
315
316
  border
316
317
  border-grey-400
317
318
  rounded-l-md
318
319
  rounded-r-none
319
- ${styles.FORM_DATE_ICON_BG}
320
- ${styles.FORM_DATE_ICON_BG_HOVER}
320
+ ${styles.FORM_DATE_TRIGGER_CLASSNAME}
321
321
  `}
322
322
  />;
323
323
 
@@ -326,13 +326,14 @@ export const DateElement = forwardRef((props, ref) => {
326
326
  <Pressable
327
327
  {...testProps('togglePickerBtn')}
328
328
  onPress={togglePicker}
329
- className="flex-1 h-full"
329
+ className="Date-togglePickerBtn flex-1 h-full"
330
330
  >
331
331
  <TextNative
332
332
  ref={inputRef}
333
333
  numberOfLines={1}
334
334
  ellipsizeMode="head"
335
335
  className={`
336
+ Date-TextNative
336
337
  flex-1
337
338
  h-full
338
339
  m-0
@@ -343,9 +344,7 @@ export const DateElement = forwardRef((props, ref) => {
343
344
  rounded-l-none
344
345
  rounded-r-md
345
346
  ${_.isEmpty(textInputValue) ? "text-grey-400" : "text-black"}
346
- ${styles.FORM_DATE_INPUT_BG}
347
- ${styles.FORM_DATE_INPUT_BG_FOCUS}
348
- ${styles.FORM_DATE_READOUT_FONTSIZE}
347
+ ${styles.FORM_DATE_INPUT_CLASSNAME}
349
348
  `}
350
349
  >{_.isEmpty(textInputValue) ? placeholder : textInputValue}</TextNative>
351
350
  </Pressable> :
@@ -369,13 +368,12 @@ export const DateElement = forwardRef((props, ref) => {
369
368
  // setTop(Math.round(height));
370
369
  // }}
371
370
  className={`
371
+ Date-Input
372
372
  flex-1
373
373
  h-full
374
374
  m-0
375
375
  rounded-r-lg
376
- ${styles.FORM_DATE_INPUT_BG}
377
- ${styles.FORM_DATE_INPUT_BG_FOCUS}
378
- ${styles.FORM_DATE_READOUT_FONTSIZE}
376
+ ${styles.FORM_DATE_INPUT_CLASSNAME}
379
377
  ${_.isEmpty(textInputValue) ? 'text-grey-400' : 'text-black'}
380
378
  `}
381
379
  autoSubmitDelay={1000}
@@ -407,8 +405,8 @@ export const DateElement = forwardRef((props, ref) => {
407
405
  rounded-r-md
408
406
  ${_.isEmpty(textInputValue) ? "text-grey-400" : "text-black"}
409
407
  ${styles.FORM_DATE_READOUT_FONTSIZE}
410
- ${styles.FORM_DATE_INPUT_BG}
411
- ${styles.FORM_DATE_INPUT_BG_FOCUS}
408
+ ${styles.FORM_DATE_INPUT_CLASSNAME}
409
+ ${styles.FORM_DATE_INPUT_CLASSNAME_FOCUS}
412
410
  `}
413
411
  >{_.isEmpty(textInputValue) ? placeholder : textInputValue}</TextNative>
414
412
  </Pressable>;
@@ -422,13 +420,13 @@ export const DateElement = forwardRef((props, ref) => {
422
420
  hidePicker();
423
421
  }}
424
422
  trigger={emptyFn}
425
- className="block"
423
+ className="Date-Popover block"
426
424
  >
427
425
  <PopoverBackdrop className="PopoverBackdrop bg-[#000]" />
428
426
  <PopoverContent
429
427
  ref={pickerRef}
430
428
  className={`
431
- PopoverContent
429
+ Date-PopoverContent
432
430
  `}
433
431
  style={{
434
432
  top,
@@ -440,7 +438,7 @@ export const DateElement = forwardRef((props, ref) => {
440
438
  >
441
439
  <PopoverBody
442
440
  className={`
443
- PopoverBody
441
+ Date-PopoverBody
444
442
  overflow-hidden
445
443
  `}
446
444
  >
@@ -463,10 +461,10 @@ export const DateElement = forwardRef((props, ref) => {
463
461
  <HStack className="h-[10px]">
464
462
  <IconButton
465
463
  {...testProps('hidePickerBtn')}
464
+ icon={Calendar}
466
465
  _icon={{
467
- as: Calendar,
468
- color: styles.FORM_DATE_ICON_COLOR,
469
466
  size: 'sm',
467
+ className: styles.FORM_DATE_TRIGGER_ICON_CLASSNAME,
470
468
  }}
471
469
  isDisabled={isDisabled}
472
470
  onPress={() => hidePicker()}
@@ -477,8 +475,7 @@ export const DateElement = forwardRef((props, ref) => {
477
475
  border-grey-400
478
476
  rounded-l-md
479
477
  rounded-r-none
480
- ${styles.FORM_DATE_ICON_BG}
481
- ${styles.FORM_DATE_ICON_BG_HOVER}
478
+ ${styles.FORM_DATE_TRIGGER_CLASSNAME}
482
479
  `}
483
480
  />
484
481
  {disableDirectEntry ?
@@ -497,9 +494,7 @@ export const DateElement = forwardRef((props, ref) => {
497
494
  rounded-l-none
498
495
  rounded-r-md
499
496
  ${_.isEmpty(textInputValue) ? "text-grey-400" : "text-black"}
500
- ${styles.FORM_DATE_INPUT_BG}
501
- ${styles.FORM_DATE_INPUT_BG_FOCUS}
502
- ${styles.FORM_DATE_READOUT_FONTSIZE}
497
+ ${styles.FORM_DATE_INPUT_CLASSNAME}
503
498
  `}
504
499
  >{textInputValue}</TextNative> :
505
500
  <Input
@@ -521,9 +516,7 @@ export const DateElement = forwardRef((props, ref) => {
521
516
  rounded-tr-none
522
517
  rounded-br-none
523
518
  ${_.isEmpty(textInputValue) ? 'text-grey-400' : 'text-black'}
524
- ${styles.FORM_DATE_READOUT_FONTSIZE}
525
- ${styles.FORM_DATE_INPUT_BG}
526
- ${styles.FORM_DATE_INPUT_BG_FOCUS}
519
+ ${styles.FORM_DATE_INPUT_CLASSNAME}
527
520
  `}
528
521
  {..._input}
529
522
  />}
@@ -532,7 +525,13 @@ export const DateElement = forwardRef((props, ref) => {
532
525
  isOpen={true}
533
526
  safeAreaTop={true}
534
527
  onClose={() => setIsPickerShown(false)}
535
- className="mt-auto mb-auto w-full h-[400px] p-[5px]"
528
+ className={`
529
+ Date-Modal
530
+ my-auto
531
+ w-full
532
+ h-[400px]
533
+ p-3
534
+ `}
536
535
  >
537
536
  <ModalBackdrop />
538
537
  <ModalContent>
@@ -548,7 +547,7 @@ export const DateElement = forwardRef((props, ref) => {
548
547
  timeFormat={mode === TIME || mode === DATETIME ? 'HH:mm:ss' : false}
549
548
  onChange={onPickerChange}
550
549
  /> */}
551
- <Box className="bg-white">
550
+ <Box className="Date-Box bg-white">
552
551
  <Datetime
553
552
  {...testProps('picker')}
554
553
  initialDate={moment(value).toDate()}
@@ -570,7 +569,7 @@ export const DateElement = forwardRef((props, ref) => {
570
569
  flex-1
571
570
  justify-center
572
571
  items-center
573
- ${styles.FORM_COMBO_HEIGHT}
572
+ ${styles.FORM_DATE_CLASSNAME}
574
573
  `;
575
574
  if (props.className) {
576
575
  className += props.className;
@@ -642,12 +642,12 @@ function FormikForm(props) {
642
642
  title += ' for ' + record.displayValue;
643
643
  }
644
644
  title = <Text
645
- className={` ${styles.FORM_ANCILLARY_TITLE_FONTSIZE} font-bold `}
645
+ className={` ${styles.FORM_ANCILLARY_TITLE_CLASSNAME} font-bold `}
646
646
  >{title}</Text>;
647
647
  }
648
648
  if (description) {
649
649
  description = <Text
650
- className={` ${styles.FORM_ANCILLARY_DESCRIPTION_FONTSIZE} italic-italic `}
650
+ className={` ${styles.FORM_ANCILLARY_DESCRIPTION_CLASSNAME} italic-italic `}
651
651
  >{description}</Text>;
652
652
  }
653
653
  components.push(<VStack key={'ancillary-' + ix} className="mx-1 my-3">{title}{description}{element}</VStack>);
@@ -113,9 +113,7 @@ const InputElement = forwardRef((props, ref) => {
113
113
  }
114
114
  let inputClassName = `
115
115
  Input
116
- ${styles.FORM_INPUT_BG}
117
- ${styles.FORM_INPUT_BG_FOCUS}
118
- ${styles.FORM_INPUT_BG_HOVER}
116
+ ${styles.FORM_INPUT_CLASSNAME}
119
117
  `,
120
118
  inputFieldClassName = `
121
119
  InputField
@@ -124,10 +122,8 @@ const InputElement = forwardRef((props, ref) => {
124
122
  w-full
125
123
  p-2
126
124
  ${textAlignIsCenter ? 'text-center' : 'text-left'}
127
- ${styles.FORM_INPUT_FONTSIZE}
128
- ${styles.FORM_INPUT_BG}
129
- ${styles.FORM_INPUT_BG_FOCUS}
130
- ${styles.FORM_INPUT_BG_HOVER}
125
+ ${styles.FORM_INPUT_CLASSNAME}
126
+ ${styles.FORM_INPUT_FIELD_CLASSNAME}
131
127
  `;
132
128
  if (className) {
133
129
  inputClassName += className;
@@ -170,10 +170,6 @@ function NumberElement(props) {
170
170
  h-full
171
171
  text-center
172
172
  rounded-none
173
- ${styles.FORM_INPUT_FONTSIZE}
174
- ${styles.FORM_INPUT_BG}
175
- ${styles.FORM_INPUT_BG_HOVER}
176
- ${styles.FORM_INPUT_BG_FOCUS}
177
173
  `}
178
174
  style={{
179
175
  flex: 3
@@ -72,10 +72,7 @@ const SelectElement = forwardRef((props, ref) => {
72
72
  w-full
73
73
  text-left
74
74
  rounded-lg
75
- ${styles.FORM_SELECT_FONTSIZE}
76
- ${styles.FORM_SELECT_BG}
77
- ${styles.FORM_SELECT_BG_FOCUS}
78
- ${styles.FORM_SELECT_BG_HOVER}
75
+ ${styles.FORM_SELECT_CLASSNAME}
79
76
  `;
80
77
  if (props.className) {
81
78
  className += props.className;
@@ -274,15 +274,15 @@ function TagComponent(props) {
274
274
  w-full
275
275
  min-h-[40px]
276
276
  max-h-[200px]
277
+ mb-1
278
+ p-1
277
279
  flex-wrap
278
280
  overflow-auto
279
281
  border
280
282
  border-grey-300
281
283
  rounded-md
282
284
  bg-grey-100
283
- ${styles.FORM_TAG_MIN_HEIGHT}
284
- ${styles.FORM_TAG_MB}
285
- ${styles.FORM_TAG_PADDING}
285
+ ${styles.FORM_TAG_CLASSNAME}
286
286
  `,
287
287
  comboClassName = '';
288
288
  if (_combo.className) {
@@ -291,7 +291,7 @@ function TagComponent(props) {
291
291
  if (minimizeForRow) {
292
292
  if (isViewOnly) {
293
293
  // combo is not shown, so allow valueBoxes to take up more space
294
- valueBoxesClassName += ' h-auto min-h-[50px] max-h-[50px] overflow-auto flex-1';
294
+ valueBoxesClassName += ' min-h-[25px] h-full overflow-auto flex-1';
295
295
  } else {
296
296
  // shrink both down
297
297
  valueBoxesClassName += ' h-auto min-h-[25px] max-h-[25px] overflow-auto flex-1';
@@ -19,6 +19,7 @@ export default function ValueBox(props) {
19
19
  return <HStackNative
20
20
  {...testProps('valueBox-' + text)}
21
21
  className={`
22
+ ValueBox-HStackNative
22
23
  max-w-full
23
24
  items-center
24
25
  mr-1
@@ -37,12 +38,17 @@ export default function ValueBox(props) {
37
38
  className: 'text-grey-600',
38
39
  }}
39
40
  onPress={onView}
40
- className="h-full"
41
+ className={`
42
+ ValueBox-eyeBtn
43
+ h-full
44
+ ${styles.FORM_TAG_BTN_CLASSNAME}
45
+ `}
41
46
  />
42
47
  <Text
43
48
  className={`
49
+ ValueBox-Text
44
50
  text-grey-600
45
- ${styles.FORM_TAG_VALUEBOX_FONTSIZE}
51
+ ${styles.FORM_TAG_VALUEBOX_CLASSNAME}
46
52
  ${onDelete ? 'mr-0' : 'mr-1'}
47
53
  `}
48
54
  >{text}</Text>
@@ -55,7 +61,11 @@ export default function ValueBox(props) {
55
61
  className: 'text-grey-600',
56
62
  }}
57
63
  onPress={onDelete}
58
- className="h-full"
64
+ className={`
65
+ ValueBox-xBtn
66
+ h-full
67
+ ${styles.FORM_TAG_BTN_CLASSNAME}
68
+ `}
59
69
  />}
60
70
  </HStackNative>;
61
71
  }
@@ -16,7 +16,7 @@ const
16
16
  min-h-[40px]
17
17
  px-3
18
18
  py-2
19
- ${styles.FORM_TEXT_FONTSIZE}
19
+ ${styles.FORM_TEXT_CLASSNAME}
20
20
  `;
21
21
  if (props.className) {
22
22
  className += ' ' + props.className;
@@ -83,9 +83,7 @@ const
83
83
  inputClassName = `
84
84
  TextAreaInput
85
85
  flex-1
86
- ${styles.FORM_TEXTAREA_BG}
87
- ${styles.FORM_TEXTAREA_FONTSIZE}
88
- ${styles.FORM_TEXTAREA_HEIGHT}
86
+ ${styles.FORM_TEXTAREA_CLASSNAME}
89
87
  `;
90
88
  if (props.className) {
91
89
  inputClassName += ' ' + props.className;
@@ -99,9 +97,6 @@ const
99
97
  <TextareaInput
100
98
  ref={props.outerRef}
101
99
  onChangeText={onChangeTextLocal}
102
- _focus={{
103
- bg: styles.FORM_TEXTAREA_BG,
104
- }}
105
100
  value={localValue}
106
101
  className={inputClassName}
107
102
  placeholder={placeholder}
@@ -101,7 +101,7 @@ const
101
101
  className={`
102
102
  ml-1
103
103
  mr-2
104
- ${styles.FORM_TOGGLE_FONTSIZE}
104
+ ${styles.FORM_TOGGLE_READOUT_CLASSNAME}
105
105
  `}
106
106
  >{_.isNil(value) ? 'N/A' : (!!value ? onText : offText)}</Text>
107
107
  </Pressable>
@@ -109,7 +109,7 @@ export default function FieldSet(props) {
109
109
  numberOfLines={1}
110
110
  ellipsizeMode="head"
111
111
  className={`
112
- FieldSet-title-Text
112
+ FieldSet-title-TextNative
113
113
  flex-1
114
114
  py-1
115
115
  px-3
@@ -119,25 +119,15 @@ export default function FieldSet(props) {
119
119
  >{title}</TextNative>
120
120
 
121
121
  {showToggleAllCheckbox &&
122
- <HStack className="self-right">
123
- <TextNative
124
- numberOfLines={1}
125
- className={`
126
- flex-1
127
- py-1
128
- px-3
129
- ${styles.FORM_FIELDSET_FONTSIZE}
130
- `}
131
- >Toggle All?</TextNative>
132
- <CheckboxButton
133
- {...testProps('toggleAllBtn')}
134
- isChecked={getIsAllChecked()}
135
- onPress={onToggleAllChecked}
136
- _icon={{
137
- size: 'lg',
138
- }}
139
- />
140
- </HStack>}
122
+ <CheckboxButton
123
+ {...testProps('toggleAllBtn')}
124
+ isChecked={getIsAllChecked()}
125
+ onPress={onToggleAllChecked}
126
+ className="FieldSet-title-showToggleAllCheckbox self-right"
127
+ _icon={{
128
+ size: 'lg',
129
+ }}
130
+ />}
141
131
 
142
132
  {isCollapsible &&
143
133
  <IconButton