@onehat/ui 0.4.70 → 0.4.71

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 (96) hide show
  1. package/package.json +2 -1
  2. package/src/Components/Accordion/Accordion.js +1 -0
  3. package/src/Components/Blank.js +1 -0
  4. package/src/Components/Buttons/BackButton.js +1 -0
  5. package/src/Components/Buttons/Button.js +5 -4
  6. package/src/Components/Buttons/CartButtonWithBadge.js +1 -0
  7. package/src/Components/Buttons/IconButton.js +9 -8
  8. package/src/Components/Buttons/PlusMinusButton.js +5 -4
  9. package/src/Components/Buttons/SquareButton.js +19 -18
  10. package/src/Components/Container/Container.js +1 -0
  11. package/src/Components/Container/ContainerColumn.js +4 -3
  12. package/src/Components/Container/ScreenContainer.js +13 -13
  13. package/src/Components/Container/Splitter.js +33 -28
  14. package/src/Components/Editor/InlineEditor.js +32 -30
  15. package/src/Components/Fab/DynamicFab.js +14 -13
  16. package/src/Components/Fab/FabWithTooltip.js +1 -0
  17. package/src/Components/Filter/DateRange.js +8 -7
  18. package/src/Components/Filter/NumberRange.js +8 -7
  19. package/src/Components/Form/Field/CKEditor/CKEditor.js +1 -0
  20. package/src/Components/Form/Field/Checkbox/CheckboxGroup.js +1 -0
  21. package/src/Components/Form/Field/Color.js +41 -40
  22. package/src/Components/Form/Field/Combo/Combo.js +173 -172
  23. package/src/Components/Form/Field/Combo/PageSizeCombo.js +1 -0
  24. package/src/Components/Form/Field/Date.js +117 -116
  25. package/src/Components/Form/Field/DisplayField.js +6 -5
  26. package/src/Components/Form/Field/File.js +1 -0
  27. package/src/Components/Form/Field/FormikForm.js +1 -0
  28. package/src/Components/Form/Field/Input.js +15 -14
  29. package/src/Components/Form/Field/Json.js +7 -6
  30. package/src/Components/Form/Field/Number.js +31 -30
  31. package/src/Components/Form/Field/RadioGroup/RadioGroup.js +1 -0
  32. package/src/Components/Form/Field/Select/PageSizeSelect.js +1 -0
  33. package/src/Components/Form/Field/Select/Select.js +9 -8
  34. package/src/Components/Form/Field/Slider.js +15 -14
  35. package/src/Components/Form/Field/Tag/Tag.js +25 -24
  36. package/src/Components/Form/Field/Tag/ValueBox.js +32 -31
  37. package/src/Components/Form/Field/Text.js +9 -8
  38. package/src/Components/Form/Field/TextArea.js +9 -8
  39. package/src/Components/Form/Field/Toggle.js +16 -15
  40. package/src/Components/Form/FieldSet.js +27 -26
  41. package/src/Components/Form/Form.js +104 -103
  42. package/src/Components/Form/Label.js +15 -14
  43. package/src/Components/Grid/Grid.js +46 -45
  44. package/src/Components/Grid/GridHeaderRow.js +42 -40
  45. package/src/Components/Grid/GridRow.js +63 -62
  46. package/src/Components/Grid/HeaderColumnSelectorHandle.js +9 -8
  47. package/src/Components/Grid/HeaderReorderHandle.js +9 -8
  48. package/src/Components/Grid/HeaderResizeHandle.js +9 -8
  49. package/src/Components/Grid/NoRecordsFound.js +4 -3
  50. package/src/Components/Grid/RowDragHandle.js +1 -0
  51. package/src/Components/Grid/RowSelectHandle.js +1 -0
  52. package/src/Components/Hoc/Secondary/withSecondaryEditor.js +1 -1
  53. package/src/Components/Hoc/Secondary/withSecondaryWindowedEditor.js +6 -5
  54. package/src/Components/Hoc/withAlert.js +35 -34
  55. package/src/Components/Hoc/withContextMenu.js +27 -26
  56. package/src/Components/Hoc/withDnd.js +1 -0
  57. package/src/Components/Hoc/withEditor.js +1 -1
  58. package/src/Components/Hoc/withFilters.js +19 -18
  59. package/src/Components/Hoc/withModal.js +7 -6
  60. package/src/Components/Hoc/withToast.js +1 -0
  61. package/src/Components/Hoc/withWindowedEditor.js +6 -5
  62. package/src/Components/Layout/AsyncOperation.js +1 -0
  63. package/src/Components/Layout/CenterBox.js +9 -8
  64. package/src/Components/Layout/Footer.js +11 -10
  65. package/src/Components/Layout/ScreenHeader.js +5 -4
  66. package/src/Components/Layout/TextWithTooltip.js +1 -0
  67. package/src/Components/Messages/ConfirmationMessage.js +6 -5
  68. package/src/Components/Messages/ErrorMessage.js +40 -39
  69. package/src/Components/Messages/Loading.js +1 -0
  70. package/src/Components/Messages/OkMessage.js +11 -10
  71. package/src/Components/Messages/Unauthorized.js +1 -0
  72. package/src/Components/Messages/WaitMessage.js +16 -15
  73. package/src/Components/Panel/AccordionGridPanel.js +1 -0
  74. package/src/Components/Panel/FormPanel.js +1 -0
  75. package/src/Components/Panel/Header.js +59 -58
  76. package/src/Components/Panel/Mask.js +1 -0
  77. package/src/Components/Panel/Panel.js +7 -6
  78. package/src/Components/Picker/Picker.js +1 -0
  79. package/src/Components/Report/Report.js +35 -34
  80. package/src/Components/Screens/Manager.js +1 -0
  81. package/src/Components/Screens/ReportsManager.js +1 -0
  82. package/src/Components/Tab/Tab.js +1 -0
  83. package/src/Components/Tab/TabBar.js +67 -66
  84. package/src/Components/Toolbar/FilterToolbar.js +14 -11
  85. package/src/Components/Toolbar/Pagination.js +26 -25
  86. package/src/Components/Toolbar/PaginationToolbar.js +13 -12
  87. package/src/Components/Toolbar/Toolbar.js +13 -12
  88. package/src/Components/Tooltip/Tooltip.js +1 -0
  89. package/src/Components/Tree/Tree.js +12 -11
  90. package/src/Components/Tree/TreeNode.js +20 -19
  91. package/src/Components/Tree/TreeNodeDragHandle.js +11 -10
  92. package/src/Components/Viewer/MeterTypeText.js +8 -7
  93. package/src/Components/Viewer/TextWithLinks.js +16 -15
  94. package/src/Components/Viewer/Viewer.js +23 -22
  95. package/src/Components/Window/UploadsDownloadsWindow.js +6 -5
  96. package/src/Components/index.js +1 -0
@@ -5,6 +5,7 @@ import {
5
5
  Icon,
6
6
  Text,
7
7
  } from '@project-components/Gluestack';
8
+ import clsx from 'clsx';
8
9
  import withModal from './withModal.js';
9
10
  import CircleInfo from '../Icons/CircleInfo.js';
10
11
  import CircleQuestion from '../Icons/CircleQuestion.js';
@@ -33,41 +34,41 @@ function withAlert(WrappedComponent) {
33
34
  color = 'black',
34
35
  } = args;
35
36
  return <HStack className="withAlert-HStack flex-1 w-full">
36
- <Box className={`
37
- withAlert-Box1
38
- h-full
39
- w-[100px]
40
- flex
41
- items-end
42
- justify-center
43
- pr-3
44
- `}>
45
- <Icon as={icon} className={`
46
- withAlert-Icon
47
- h-[40px]
48
- w-[40px]
49
- text-${color}
50
- `} />
37
+ <Box className={clsx(
38
+ 'withAlert-Box1',
39
+ 'h-full',
40
+ 'w-[100px]',
41
+ 'flex',
42
+ 'items-end',
43
+ 'justify-center',
44
+ 'pr-3',
45
+ )}>
46
+ <Icon as={icon} className={clsx(
47
+ 'withAlert-Icon',
48
+ 'h-[40px]',
49
+ 'w-[40px]',
50
+ `text-${color}`,
51
+ )} />
51
52
  </Box>
52
- <Box className={`
53
- withAlert-Box2
54
- h-full
55
- flex
56
- flex-1
57
- items-start
58
- justify-center
59
- `}>
60
- <Text className={`
61
- withAlert-Text
62
- text-${color}
63
- text-[18px]
64
- flex-none
65
- mr-2
66
- w-full
67
- break-words
68
- whitespace-normal
69
- overflow-wrap-anywhere
70
- `}>{message}</Text>
53
+ <Box className={clsx(
54
+ 'withAlert-Box2',
55
+ 'h-full',
56
+ 'flex',
57
+ 'flex-1',
58
+ 'items-start',
59
+ 'justify-center',
60
+ )}>
61
+ <Text className={clsx(
62
+ 'withAlert-Text',
63
+ `text-${color}`,
64
+ 'text-[18px]',
65
+ 'flex-none',
66
+ 'mr-2',
67
+ 'w-full',
68
+ 'break-words',
69
+ 'whitespace-normal',
70
+ 'overflow-wrap-anywhere',
71
+ )}>{message}</Text>
71
72
  </Box>
72
73
  </HStack>;
73
74
  },
@@ -3,6 +3,7 @@ import {
3
3
  Text,
4
4
  VStack,
5
5
  } from '@project-components/Gluestack';
6
+ import clsx from 'clsx';
6
7
  import UiGlobals from '../../UiGlobals.js';
7
8
  import Button from '../Buttons/Button.js';
8
9
  import testProps from '../../Functions/testProps.js';
@@ -63,28 +64,28 @@ export default function withContextMenu(WrappedComponent) {
63
64
  isDisabled={isDisabled}
64
65
  icon={icon}
65
66
  _icon={{
66
- className: `
67
- ml-2
68
- self-center
69
- `,
67
+ className: clsx(
68
+ 'ml-2',
69
+ 'self-center',
70
+ ),
70
71
  }}
71
72
  text={text}
72
73
  _text={{
73
- className: `
74
- flex-1
75
- select-none
76
- text-black
77
- `,
74
+ className: clsx(
75
+ 'flex-1',
76
+ 'select-none',
77
+ 'text-black',
78
+ ),
78
79
  }}
79
- className={`
80
- flex-row
81
- border-b-2
82
- border-b-grey-200
83
- py-2
84
- px-4
85
- select-none
86
- rounded-none
87
- `}
80
+ className={clsx(
81
+ 'flex-row',
82
+ 'border-b-2',
83
+ 'border-b-grey-200',
84
+ 'py-2',
85
+ 'px-4',
86
+ 'select-none',
87
+ 'rounded-none',
88
+ )}
88
89
  variant="outline"
89
90
  action="secondary"
90
91
  />;
@@ -119,14 +120,14 @@ export default function withContextMenu(WrappedComponent) {
119
120
  // show context menu
120
121
  const
121
122
  contextMenuItemComponents = createContextMenuItemComponents(),
122
- className = `
123
- context-menu-container
124
- absolute
125
- border
126
- border-grey-400
127
- shadow-lg
128
- bg-white
129
- `,
123
+ className = clsx(
124
+ 'context-menu-container',
125
+ 'absolute',
126
+ 'border',
127
+ 'border-grey-400',
128
+ 'shadow-lg',
129
+ 'bg-white',
130
+ ),
130
131
  screenWidth = window.innerWidth,
131
132
  screenHeight = window.innerHeight;
132
133
  let l = left,
@@ -3,6 +3,7 @@ import { useDrag, useDrop, useDragLayer } from 'react-dnd'; // https://react-dnd
3
3
  import {
4
4
  Box,
5
5
  } from '@project-components/Gluestack';
6
+ import clsx from 'clsx';
6
7
  import {
7
8
  UI_MODE_WEB,
8
9
  UI_MODE_NATIVE,
@@ -179,7 +179,7 @@ export default function withEditor(WrappedComponent, isTree = false) {
179
179
  if (defaultValues) {
180
180
  _.merge(defaultValuesToUse, defaultValues);
181
181
  }
182
- addValues = [...defaultValuesToUse];
182
+ addValues = {...defaultValuesToUse};
183
183
  }
184
184
 
185
185
  if (selectorId && !_.isEmpty(selectorSelected)) {
@@ -4,6 +4,7 @@ import {
4
4
  // ScrollView,
5
5
  Text,
6
6
  } from '@project-components/Gluestack';
7
+ import clsx from 'clsx';
7
8
  import {
8
9
  ScrollView,
9
10
  Platform,
@@ -327,17 +328,17 @@ export default function withFilters(WrappedComponent) {
327
328
  // add a container for each filter
328
329
  filterElement = <HStack
329
330
  key={'filter-' + ix}
330
- className={`
331
- Filter-container-HStack
332
- h-full
333
- px-1
334
- mx-1
335
- bg-grey-100
336
- rounded-[6px]
337
- border
338
- border-l-white
339
- items-center
340
- `}
331
+ className={clsx(
332
+ 'Filter-container-HStack',
333
+ 'h-full',
334
+ 'px-1',
335
+ 'mx-1',
336
+ 'bg-grey-100',
337
+ 'rounded-[6px]',
338
+ 'border',
339
+ 'border-l-white',
340
+ 'items-center',
341
+ )}
341
342
  >
342
343
  {filterElement}
343
344
  </HStack>;
@@ -660,13 +661,13 @@ export default function withFilters(WrappedComponent) {
660
661
  onContentSizeChange={onContentSizeChange}
661
662
  >
662
663
  <Text
663
- className={`
664
- withFilters-filtersLabel
665
- italic-italic
666
- pr-2
667
- select-none
668
- ${hasFilters ? 'flex-1' : 'italic'}
669
- `}>{hasFilters ? 'Filters:' : 'No Filters'}</Text>
664
+ className={clsx(
665
+ 'withFilters-filtersLabel',
666
+ 'italic-italic',
667
+ 'pr-2',
668
+ 'select-none',
669
+ hasFilters ? 'flex-1' : 'italic',
670
+ )}>{hasFilters ? 'Filters:' : 'No Filters'}</Text>
670
671
  {renderedFilters}
671
672
  </ScrollView>
672
673
  </HStack>
@@ -5,6 +5,7 @@ import {
5
5
  Modal, ModalBackdrop, ModalHeader, ModalContent, ModalCloseButton, ModalBody, ModalFooter,
6
6
  Text,
7
7
  } from '@project-components/Gluestack';
8
+ import clsx from 'clsx';
8
9
  import Button from '../Buttons/Button.js';
9
10
  import Panel from '../Panel/Panel.js';
10
11
  import Footer from '../Layout/Footer.js';
@@ -151,12 +152,12 @@ export default function withModal(WrappedComponent) {
151
152
  let footer = null;
152
153
  if (buttons && buttons.length > 0) {
153
154
  footer = <Footer
154
- className={`
155
- justify-end
156
- py-2
157
- pr-4
158
- bg-grey-100
159
- `}
155
+ className={clsx(
156
+ 'justify-end',
157
+ 'py-2',
158
+ 'pr-4',
159
+ 'bg-grey-100',
160
+ )}
160
161
  >{buttons}</Footer>;
161
162
  }
162
163
  modalBody =
@@ -5,6 +5,7 @@ import {
5
5
  ToastDescription,
6
6
  useToast,
7
7
  } from '@project-components/Gluestack';
8
+ import clsx from 'clsx';
8
9
  import _ from 'lodash';
9
10
 
10
11
  // This HOC enables showing a toast in the wrapped component.
@@ -2,6 +2,7 @@ import { forwardRef } from 'react';
2
2
  import {
3
3
  Modal, ModalBackdrop, ModalHeader, ModalContent, ModalCloseButton, ModalBody, ModalFooter,
4
4
  } from '@project-components/Gluestack';
5
+ import clsx from 'clsx';
5
6
  import {
6
7
  EDITOR_TYPE__WINDOWED,
7
8
  } from '../../Constants/Editor.js';
@@ -83,11 +84,11 @@ export default function withWindowedEditor(WrappedComponent, isTree = false) {
83
84
  {..._editor}
84
85
  parent={self}
85
86
  reference="editor"
86
- className={`
87
- bg-white
88
- shadow-lg
89
- rounded-lg
90
- `}
87
+ className={clsx(
88
+ 'bg-white',
89
+ 'shadow-lg',
90
+ 'rounded-lg',
91
+ )}
91
92
  />
92
93
  </Modal>}
93
94
  </>;
@@ -5,6 +5,7 @@ import {
5
5
  Text,
6
6
  VStack,
7
7
  } from '@project-components/Gluestack';
8
+ import clsx from 'clsx';
8
9
  import { useSelector, useDispatch, } from 'react-redux';
9
10
  import { PROGRESS_COMPLETED } from '../../Constants/Progress.js';
10
11
  import useForceUpdate from '../../Hooks/useForceUpdate.js';
@@ -1,16 +1,17 @@
1
1
  import {
2
2
  Box
3
3
  } from '@project-components/Gluestack';
4
+ import clsx from 'clsx';
4
5
 
5
6
  export default function CenterBox(props) {
6
- let className = `
7
- CenterBox
8
- w-full
9
- flex-1
10
- items-center
11
- justify-center
12
- p-2
13
- `;
7
+ let className = clsx(
8
+ 'CenterBox',
9
+ 'w-full',
10
+ 'flex-1',
11
+ 'items-center',
12
+ 'justify-center',
13
+ 'p-2',
14
+ );
14
15
  if (props.className) {
15
16
  className += props.className;
16
17
  }
@@ -1,20 +1,21 @@
1
1
  import {
2
2
  HStack,
3
3
  } from '@project-components/Gluestack';
4
+ import clsx from 'clsx';
4
5
  import UiGlobals from '../../UiGlobals.js';
5
6
 
6
7
  export default function Footer(props) {
7
8
  const styles = UiGlobals.styles;
8
- let className = `
9
- Footer
10
- w-full
11
- items-center
12
- justify-center
13
- self-end
14
- p-2
15
- border-t-2
16
- ${styles.PANEL_FOOTER_CLASSNAME}
17
- `;
9
+ let className = clsx(
10
+ 'Footer',
11
+ 'w-full',
12
+ 'items-center',
13
+ 'justify-center',
14
+ 'self-end',
15
+ 'p-2',
16
+ 'border-t-2',
17
+ styles.PANEL_FOOTER_CLASSNAME,
18
+ );
18
19
  if (props.className) {
19
20
  className += ' ' + props.className
20
21
  }
@@ -4,6 +4,7 @@ import {
4
4
  Text,
5
5
  VStack,
6
6
  } from '@project-components/Gluestack';
7
+ import clsx from 'clsx';
7
8
  import {
8
9
  SCREEN_MODES__FULL,
9
10
  SCREEN_MODES__SIDE,
@@ -36,10 +37,10 @@ export default function ScreenHeader(props) {
36
37
  {icon &&
37
38
  <Icon
38
39
  as={icon}
39
- className={`
40
- ml-5
41
- text-black
42
- `}
40
+ className={clsx(
41
+ 'ml-5',
42
+ 'text-black',
43
+ )}
43
44
  size="xl"
44
45
  />}
45
46
  <Text {...textProps} className="ScreenHeader-Text pl-4 text-[26px] font-[700]">{title}</Text>
@@ -2,6 +2,7 @@ import {
2
2
  TextNative,
3
3
  Tooltip, TooltipContent, TooltipText,
4
4
  } from '@project-components/Gluestack';
5
+ import clsx from 'clsx';
5
6
 
6
7
  export default function TextWithTooltip(props) {
7
8
  const {
@@ -2,6 +2,7 @@ import {
2
2
  Modal, ModalBackdrop, ModalHeader, ModalContent, ModalCloseButton, ModalBody, ModalFooter,
3
3
  Text,
4
4
  } from '@project-components/Gluestack';
5
+ import clsx from 'clsx';
5
6
  import Button from '../Buttons/Button';
6
7
  import emptyFn from '../../Functions/emptyFn.js';
7
8
 
@@ -17,11 +18,11 @@ export default function ConfirmationMessage(props) {
17
18
  <ModalContent maxWidth="400px">
18
19
  <ModalHeader>Confirm</ModalHeader>
19
20
  <ModalBody
20
- className={`
21
- p-5
22
- pb-0
23
- border-t-0
24
- `}
21
+ className={clsx(
22
+ 'p-5',
23
+ 'pb-0',
24
+ 'border-t-0',
25
+ )}
25
26
  >
26
27
  <Text className="text-black">{textMessage}</Text>
27
28
  </ModalBody>
@@ -5,6 +5,7 @@ import {
5
5
  Modal, ModalBackdrop, ModalHeader, ModalContent, ModalCloseButton, ModalBody, ModalFooter,
6
6
  Text,
7
7
  } from '@project-components/Gluestack';
8
+ import clsx from 'clsx';
8
9
  import useAdjustedWindowSize from '../../Hooks/useAdjustedWindowSize.js';
9
10
  import Button from '../Buttons/Button.js';
10
11
  import Panel from '../Panel/Panel.js';
@@ -33,12 +34,12 @@ export default function ErrorMessage(props) {
33
34
  disableAutoFlex={true}
34
35
  onClose={onOk}
35
36
  footer={<Footer
36
- className={`
37
- justify-end
38
- py-2
39
- px-4
40
- bg-grey-100
41
- `}
37
+ className={clsx(
38
+ 'justify-end',
39
+ 'py-2',
40
+ 'px-4',
41
+ 'bg-grey-100',
42
+ )}
42
43
  >
43
44
  <Button
44
45
  {...testProps('okBtn')}
@@ -50,40 +51,40 @@ export default function ErrorMessage(props) {
50
51
  </Footer>}
51
52
  >
52
53
  <HStack className="ErrorMessage-HStack flex-1 w-full p-4">
53
- <Box className={`
54
- ErrorMessage-Box1
55
- h-full
56
- w-[100px]
57
- flex
58
- items-center
59
- justify-center
60
- pr-3
61
- `}>
62
- <Icon as={TriangleExclamation} className={`
63
- ErrorMessage-Icon
64
- h-[40px]
65
- w-[40px]
66
- text-${color}
67
- `} />
54
+ <Box className={clsx(
55
+ 'ErrorMessage-Box1',
56
+ 'h-full',
57
+ 'w-[100px]',
58
+ 'flex',
59
+ 'items-center',
60
+ 'justify-center',
61
+ 'pr-3',
62
+ )}>
63
+ <Icon as={TriangleExclamation} className={clsx(
64
+ 'ErrorMessage-Icon',
65
+ 'h-[40px]',
66
+ 'w-[40px]',
67
+ `text-${color}`,
68
+ )} />
68
69
  </Box>
69
- <Box className={`
70
- ErrorMessage-Box2
71
- h-full
72
- flex
73
- flex-1
74
- items-start
75
- justify-center
76
- overflow-hidden
77
- `}>
78
- <Text className={`
79
- ErrorMessage-Text
80
- text-${color}
81
- text-[18px]
82
- break-words
83
- whitespace-normal
84
- w-full
85
- overflow-auto
86
- `}>{text}</Text>
70
+ <Box className={clsx(
71
+ 'ErrorMessage-Box2',
72
+ 'h-full',
73
+ 'flex',
74
+ 'flex-1',
75
+ 'items-start',
76
+ 'justify-center',
77
+ 'overflow-hidden',
78
+ )}>
79
+ <Text className={clsx(
80
+ 'ErrorMessage-Text',
81
+ `text-${color}`,
82
+ 'text-[18px]',
83
+ 'break-words',
84
+ 'whitespace-normal',
85
+ 'w-full',
86
+ 'overflow-auto',
87
+ )}>{text}</Text>
87
88
  </Box>
88
89
  </HStack>
89
90
  </Panel>
@@ -4,6 +4,7 @@ import {
4
4
  Spinner,
5
5
  Text,
6
6
  } from '@project-components/Gluestack';
7
+ import clsx from 'clsx';
7
8
  import ScreenContainer from '../Container/ScreenContainer.js';
8
9
 
9
10
  export default function Loading(props) {
@@ -2,6 +2,7 @@ import {
2
2
  Modal, ModalBackdrop, ModalHeader, ModalContent, ModalCloseButton, ModalBody, ModalFooter,
3
3
  Text,
4
4
  } from '@project-components/Gluestack';
5
+ import clsx from 'clsx';
5
6
  import Button from '../Buttons/Button';
6
7
 
7
8
  export default function OkMessage(props) {
@@ -14,20 +15,20 @@ export default function OkMessage(props) {
14
15
  <ModalBackdrop />
15
16
  <ModalContent maxWidth="400px">
16
17
  <ModalBody
17
- className={`
18
- p-5
19
- pb-0
20
- border-t-0
21
- `}
18
+ className={clsx(
19
+ 'p-5',
20
+ 'pb-0',
21
+ 'border-t-0',
22
+ )}
22
23
  >
23
24
  <Text className="text-black">{textMessage}</Text>
24
25
  </ModalBody>
25
26
  <ModalFooter
26
- className={`
27
- p-0
28
- pr-4
29
- border-t-0
30
- `}
27
+ className={clsx(
28
+ 'p-0',
29
+ 'pr-4',
30
+ 'border-t-0',
31
+ )}
31
32
  >
32
33
  <Button
33
34
  variant="outline"
@@ -2,6 +2,7 @@ import {
2
2
  Text,
3
3
  VStack,
4
4
  } from '@project-components/Gluestack';
5
+ import clsx from 'clsx';
5
6
 
6
7
  export default function Unauthorized(props) {
7
8
  const
@@ -4,6 +4,7 @@ import {
4
4
  Spinner,
5
5
  Text,
6
6
  } from '@project-components/Gluestack';
7
+ import clsx from 'clsx';
7
8
  import testProps from '../../Functions/testProps.js';
8
9
 
9
10
  export default function WaitMessage(props) {
@@ -22,25 +23,25 @@ export default function WaitMessage(props) {
22
23
  >
23
24
  <ModalBackdrop />
24
25
  <ModalContent
25
- className={`
26
- ModalContent
27
- w-[200px]
28
- h-[50px]
29
- shadow-lg
30
- `}
26
+ className={clsx(
27
+ 'ModalContent',
28
+ 'w-[200px]',
29
+ 'h-[50px]',
30
+ 'shadow-lg',
31
+ )}
31
32
  >
32
33
  <HStack
33
- className={`
34
- HStack
35
- items-center
36
- justify-center
37
- `}
34
+ className={clsx(
35
+ 'HStack',
36
+ 'items-center',
37
+ 'justify-center',
38
+ )}
38
39
  >
39
40
  <Spinner
40
- className={`
41
- mr-2
42
- focus:outline-none
43
- `}
41
+ className={clsx(
42
+ 'mr-2',
43
+ 'focus:outline-none',
44
+ )}
44
45
  />
45
46
  <Text className="text-black">{text}</Text>
46
47
  </HStack>
@@ -3,6 +3,7 @@ import {
3
3
  ScrollView,
4
4
  VStack,
5
5
  } from '@project-components/Gluestack';
6
+ import clsx from 'clsx';
6
7
  import Accordion from 'react-native-collapsible/Accordion'; // https://www.npmjs.com/package/react-native-collapsible
7
8
  import testProps from '../../Functions/testProps';
8
9
  import Footer from '../Layout/Footer.js';
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  Text,
3
3
  } from '@project-components/Gluestack';
4
+ import clsx from 'clsx';
4
5
  import Panel from './Panel.js';
5
6
  import Form, { FormEditor } from '../Form/Form.js';
6
7
  import withData from '../Hoc/withData.js';