@adaptabletools/adaptable 21.2.2-canary.0 → 22.0.0-canary.0

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 (513) hide show
  1. package/icons/inspector.svg +1 -0
  2. package/index.css +6464 -5488
  3. package/index.css.map +1 -1
  4. package/package.json +5 -6
  5. package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -1
  6. package/src/AdaptableState/ChartingState.d.ts +1 -1
  7. package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
  8. package/src/AdaptableState/Common/AdaptableIcon.d.ts +1 -1
  9. package/src/AdaptableState/Common/AdaptablePredicate.js +7 -3
  10. package/src/AdaptableState/Common/AggregationColumns.d.ts +3 -3
  11. package/src/AdaptableState/Common/DataUpdateConfig.d.ts +4 -4
  12. package/src/AdaptableState/TeamSharingState.d.ts +1 -1
  13. package/src/Api/CustomSortApi.d.ts +6 -1
  14. package/src/Api/Implementation/ColumnApiImpl.d.ts +3 -0
  15. package/src/Api/Implementation/ColumnApiImpl.js +12 -3
  16. package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -1
  17. package/src/Api/Implementation/CustomSortApiImpl.js +5 -1
  18. package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
  19. package/src/Api/Implementation/LayoutApiImpl.js +85 -2
  20. package/src/Api/Implementation/LayoutHelpers.d.ts +2 -2
  21. package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
  22. package/src/Api/Implementation/ScheduleApiImpl.js +12 -0
  23. package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
  24. package/src/Api/Implementation/ShortcutApiImpl.js +4 -0
  25. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +1 -0
  26. package/src/Api/Implementation/StyledColumnApiImpl.js +4 -0
  27. package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -1
  28. package/src/Api/Internal/AdaptableInternalApi.js +3 -3
  29. package/src/Api/Internal/ColumnFilterInternalApi.js +1 -1
  30. package/src/Api/Internal/LayoutInternalApi.d.ts +5 -0
  31. package/src/Api/Internal/LayoutInternalApi.js +25 -0
  32. package/src/Api/LayoutApi.d.ts +7 -1
  33. package/src/Api/ScheduleApi.d.ts +5 -0
  34. package/src/Api/ShortcutApi.d.ts +5 -0
  35. package/src/Api/StyledColumnApi.d.ts +5 -0
  36. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +1 -1
  37. package/src/Redux/ActionsReducers/DashboardRedux.d.ts +1 -1
  38. package/src/Redux/ActionsReducers/InternalRedux.d.ts +6 -6
  39. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +3 -9
  40. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +6 -6
  41. package/src/Redux/ActionsReducers/StyledColumnRedux.js +16 -16
  42. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +3 -0
  43. package/src/Strategy/FormatColumnModule.js +2 -2
  44. package/src/Strategy/Utilities/Alert/getAlertPreviewViewItems.js +1 -1
  45. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +2 -1
  46. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +4 -3
  47. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +4 -4
  48. package/src/Utilities/Extensions/StringExtensions.d.ts +1 -1
  49. package/src/Utilities/Helpers/StyleHelper.d.ts +1 -1
  50. package/src/Utilities/Services/Interface/IAlertService.d.ts +2 -2
  51. package/src/Utilities/createAgStatusPanelComponent.d.ts +1 -1
  52. package/src/Utilities/getObjectTagsViewItems.js +1 -1
  53. package/src/Utilities/runIfNotResolvedIn.d.ts +1 -1
  54. package/src/View/AdaptableComputedCSSVarsContext.js +6 -1
  55. package/src/View/AdaptablePopover/index.d.ts +1 -1
  56. package/src/View/AdaptablePopover/index.js +3 -3
  57. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +7 -8
  58. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +7 -6
  59. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +4 -2
  60. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +3 -3
  61. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +9 -9
  62. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +3 -3
  63. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +4 -4
  64. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +4 -4
  65. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +2 -2
  66. package/src/View/AdaptableWizardView/Wizard.js +1 -1
  67. package/src/View/AdaptableWizardView/index.js +1 -4
  68. package/src/View/Alert/ActiveAlertsPanelItemLabel.js +2 -2
  69. package/src/View/Alert/AlertStatusSubPanel.js +1 -1
  70. package/src/View/Alert/AlertViewPanel.js +2 -2
  71. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +3 -20
  72. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +15 -13
  73. package/src/View/Alert/Wizard/AlertButtonsEditor.js +25 -22
  74. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +12 -16
  75. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +3 -1
  76. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +7 -7
  77. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +2 -2
  78. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  79. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +1 -1
  80. package/src/View/Alert/Wizard/AlertWizard.js +8 -8
  81. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +11 -8
  82. package/src/View/BulkUpdate/BulkUpdatePopup.js +11 -11
  83. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -4
  84. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  85. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +8 -8
  86. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  87. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +4 -4
  88. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +4 -5
  89. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.d.ts +1 -1
  90. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +1 -1
  91. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +0 -2
  92. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +8 -14
  93. package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.d.ts +2 -0
  94. package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.js +6 -0
  95. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  96. package/src/View/CellSummary/CellSummaryViewPanel.js +5 -5
  97. package/src/View/Charting/ChartingStatusBarPopover.js +4 -4
  98. package/src/View/Charting/ChartingViewPanel.js +7 -7
  99. package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +4 -4
  100. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +3 -3
  101. package/src/View/Charting/useChartingElements.d.ts +1 -1
  102. package/src/View/Charting/useChartingElements.js +1 -1
  103. package/src/View/ColumnInfo/ColumnInfo.js +14 -19
  104. package/src/View/ColumnInfo/ColumnInfoPopup.js +2 -2
  105. package/src/View/Comments/CommentsEditor.js +14 -17
  106. package/src/View/Comments/CommentsPopup.js +6 -6
  107. package/src/View/Components/AdaptableDateInput/index.js +1 -1
  108. package/src/View/Components/AdaptableInput/index.js +3 -2
  109. package/src/View/Components/AdaptableObjectCollection/index.d.ts +2 -2
  110. package/src/View/Components/AdaptableObjectCollection/index.js +9 -5
  111. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +10 -10
  112. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +2 -0
  113. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +20 -18
  114. package/src/View/Components/AdaptableObjectRow/index.d.ts +1 -0
  115. package/src/View/Components/AdaptableObjectRow/index.js +4 -5
  116. package/src/View/Components/Buttons/ButtonBase/index.d.ts +1 -2
  117. package/src/View/Components/Buttons/ButtonBase/index.js +5 -4
  118. package/src/View/Components/Buttons/ButtonClear.js +2 -1
  119. package/src/View/Components/Buttons/ButtonFunction.js +2 -1
  120. package/src/View/Components/Buttons/ButtonNew.d.ts +11 -1
  121. package/src/View/Components/Buttons/ButtonNew.js +2 -1
  122. package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -1
  123. package/src/View/Components/Buttons/EntityListActionButtons.js +14 -43
  124. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
  125. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +3 -2
  126. package/src/View/Components/CellPopup/index.d.ts +1 -1
  127. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +4 -3
  128. package/src/View/Components/ColumnFilter/ColumnFilter.d.ts +4 -2
  129. package/src/View/Components/ColumnFilter/ColumnFilter.js +26 -23
  130. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +6 -6
  131. package/src/View/Components/ColumnFilter/FloatingFilter.js +6 -6
  132. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.d.ts +1 -1
  133. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
  134. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -1
  135. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +6 -6
  136. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
  137. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +9 -1
  138. package/src/View/Components/ColumnSelector/index.js +1 -3
  139. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +10 -10
  140. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +11 -15
  141. package/src/View/Components/EntityRulesEditor/index.d.ts +5 -2
  142. package/src/View/Components/EntityRulesEditor/index.js +11 -10
  143. package/src/View/Components/ExpressionWizard.js +4 -4
  144. package/src/View/Components/FilterForm/Waiting.d.ts +4 -2
  145. package/src/View/Components/FilterForm/Waiting.js +3 -2
  146. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -0
  147. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +4 -8
  148. package/src/View/Components/ModuleValueSelector/index.js +2 -2
  149. package/src/View/Components/NewScopeComponent.js +20 -20
  150. package/src/View/Components/Panels/PanelFooter.js +5 -5
  151. package/src/View/Components/Panels/PanelToolPanel/index.d.ts +1 -1
  152. package/src/View/Components/Panels/PanelToolPanel/index.js +9 -11
  153. package/src/View/Components/Panels/PanelWithButton.d.ts +3 -5
  154. package/src/View/Components/Panels/PanelWithButton.js +7 -6
  155. package/src/View/Components/Panels/PanelWithImage.d.ts +2 -3
  156. package/src/View/Components/Panels/PanelWithImage.js +10 -12
  157. package/src/View/Components/Panels/PanelWithRow.d.ts +0 -1
  158. package/src/View/Components/Panels/PanelWithRow.js +3 -3
  159. package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +1 -1
  160. package/src/View/Components/Panels/PanelWithTwoButtons.js +3 -3
  161. package/src/View/Components/Popups/AdaptableLoadingScreen.js +3 -5
  162. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -3
  163. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -2
  164. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +4 -4
  165. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +63 -31
  166. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +2 -0
  167. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +8 -9
  168. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
  169. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +1 -1
  170. package/src/View/Components/Popups/AdaptablePopupAlert.js +6 -11
  171. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +6 -6
  172. package/src/View/Components/Popups/AdaptablePopupPrompt.js +7 -7
  173. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +9 -11
  174. package/src/View/Components/Popups/FormPopups/FormPopups.js +3 -3
  175. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +1 -1
  176. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +3 -3
  177. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
  178. package/src/View/Components/PredicateEditor/PredicateEditor.js +7 -7
  179. package/src/View/Components/PreviewResultsPanel.d.ts +1 -0
  180. package/src/View/Components/PreviewResultsPanel.js +6 -13
  181. package/src/View/Components/RangesComponent.js +19 -19
  182. package/src/View/Components/ReorderDraggable/index.d.ts +2 -0
  183. package/src/View/Components/ReorderDraggable/index.js +8 -7
  184. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +4 -7
  185. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  186. package/src/View/Components/Selectors/ColumnSelectorOld.js +1 -1
  187. package/src/View/Components/StyleComponent.d.ts +2 -26
  188. package/src/View/Components/StyleComponent.js +186 -190
  189. package/src/View/Components/TagValueSelector/index.d.ts +1 -1
  190. package/src/View/Components/TagValueSelector/index.js +4 -3
  191. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
  192. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +13 -12
  193. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  194. package/src/View/Components/ToolPanel/ToolPanelPopup.js +13 -10
  195. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -2
  196. package/src/View/Components/ValueSelector/index.d.ts +9 -33
  197. package/src/View/Components/ValueSelector/index.js +38 -61
  198. package/src/View/Components/WizardSummaryPage.js +1 -1
  199. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
  200. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +4 -7
  201. package/src/View/CustomSort/Wizard/CustomSortWizard.js +5 -5
  202. package/src/View/Dashboard/Dashboard.js +3 -3
  203. package/src/View/Dashboard/DashboardPopup.js +27 -23
  204. package/src/View/Dashboard/DashboardViewPanel.js +4 -4
  205. package/src/View/Dashboard/PinnedDashboard.js +3 -3
  206. package/src/View/Dashboard/PinnedToolbarsSelector.js +3 -2
  207. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +10 -10
  208. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +7 -7
  209. package/src/View/DataImport/DataImportPopup.js +2 -2
  210. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +2 -2
  211. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +6 -6
  212. package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +4 -4
  213. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadFileSection.js +1 -1
  214. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +4 -4
  215. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +1 -1
  216. package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +4 -4
  217. package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
  218. package/src/View/DataSet/DataSetViewPanel.js +2 -2
  219. package/src/View/Export/ExportDestinationPicker.js +2 -1
  220. package/src/View/Export/ExportViewPanel.js +4 -4
  221. package/src/View/Export/ReportFormatSelector.js +3 -3
  222. package/src/View/Export/ReportListItem.js +1 -1
  223. package/src/View/Export/ReportNameSelector.js +3 -3
  224. package/src/View/Export/Wizard/NewReportWizard.js +4 -4
  225. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +8 -8
  226. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +11 -11
  227. package/src/View/Export/Wizard/ReportNameWizardSection.js +4 -4
  228. package/src/View/Export/Wizard/ReportRowTypeWizard.js +8 -8
  229. package/src/View/Export/Wizard/ReportRowsWizardSection.js +9 -9
  230. package/src/View/Export/Wizard/ReportSettingsWizard.js +3 -3
  231. package/src/View/Filter/FilterSummary.d.ts +1 -1
  232. package/src/View/Filter/FilterSummary.js +1 -1
  233. package/src/View/Filter/FilterViewPanel.d.ts +2 -2
  234. package/src/View/Filter/FilterViewPanel.js +4 -4
  235. package/src/View/FlashingCell/FlashingCellStyle.d.ts +2 -2
  236. package/src/View/FlashingCell/FlashingCellStyle.js +4 -4
  237. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
  238. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +11 -11
  239. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +2 -2
  240. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +4 -4
  241. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +5 -5
  242. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  243. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +59 -64
  244. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  245. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -4
  246. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +28 -28
  247. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
  248. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +2 -2
  249. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +8 -8
  250. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +11 -11
  251. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +4 -4
  252. package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -6
  253. package/src/View/GridFilter/GridFilterPopup.js +31 -40
  254. package/src/View/GridFilter/GridFilterPopupUI/index.d.ts +68 -0
  255. package/src/View/GridFilter/GridFilterPopupUI/index.js +42 -0
  256. package/src/View/GridFilter/GridFilterViewPanel.js +14 -21
  257. package/src/View/GridFilter/NamedQuerySelector.js +7 -7
  258. package/src/View/GridFilter/useGridFilterExpressionEditor.d.ts +5 -1
  259. package/src/View/GridFilter/useGridFilterExpressionEditor.js +2 -1
  260. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.d.ts +3 -1
  261. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +4 -3
  262. package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +5 -9
  263. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -7
  264. package/src/View/KeyHint.d.ts +5 -2
  265. package/src/View/KeyHint.js +4 -2
  266. package/src/View/Layout/EditCurrentLayoutButton.js +1 -1
  267. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +1 -1
  268. package/src/View/Layout/LayoutViewPanel.d.ts +3 -3
  269. package/src/View/Layout/LayoutViewPanel.js +2 -2
  270. package/src/View/Layout/TransposedPopup.js +4 -4
  271. package/src/View/Layout/Wizard/LayoutWizard.js +18 -18
  272. package/src/View/Layout/Wizard/sections/AggregationsSection.js +6 -8
  273. package/src/View/Layout/Wizard/sections/ColumnsSection.js +213 -138
  274. package/src/View/Layout/Wizard/sections/FilterSection.js +6 -7
  275. package/src/View/Layout/Wizard/sections/GridFilterSection.js +2 -2
  276. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +15 -18
  277. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +4 -6
  278. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +3 -5
  279. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +8 -10
  280. package/src/View/Layout/Wizard/sections/RowSummarySection.js +15 -17
  281. package/src/View/Layout/Wizard/sections/SettingsSection.js +8 -8
  282. package/src/View/Layout/Wizard/sections/SortSection.js +5 -7
  283. package/src/View/License/LicenseWatermark.js +1 -1
  284. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
  285. package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +3 -3
  286. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +3 -3
  287. package/src/View/Note/NoteEditor.js +5 -1
  288. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +5 -5
  289. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +4 -4
  290. package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.js +2 -2
  291. package/src/View/QuickSearch/QuickSearchInput.d.ts +1 -0
  292. package/src/View/QuickSearch/QuickSearchInput.js +5 -5
  293. package/src/View/QuickSearch/QuickSearchPopup.js +17 -16
  294. package/src/View/QuickSearch/QuickSearchViewPanel.js +1 -1
  295. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +4 -4
  296. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
  297. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -2
  298. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +4 -4
  299. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +5 -5
  300. package/src/View/Schedule/Wizard/ScheduleWizard.js +5 -5
  301. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +5 -8
  302. package/src/View/Shortcut/Wizard/ShortcutWizard.js +5 -5
  303. package/src/View/SmartEdit/SmartEditPopup.d.ts +1 -1
  304. package/src/View/SmartEdit/SmartEditPopup.js +8 -8
  305. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -1
  306. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  307. package/src/View/StateManagement/StateManagementPopup.js +12 -12
  308. package/src/View/StateManagement/StateManagementViewPanel.js +1 -1
  309. package/src/View/StateManagement/handleExportState.d.ts +1 -1
  310. package/src/View/StatusBar/AdaptableStatusBar.js +1 -1
  311. package/src/View/StatusBar/StatusBarPanel.d.ts +2 -2
  312. package/src/View/StatusBar/StatusBarPanel.js +5 -4
  313. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +9 -9
  314. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +51 -48
  315. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +8 -8
  316. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +2 -2
  317. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +18 -18
  318. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +3 -3
  319. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -5
  320. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +5 -5
  321. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +2 -2
  322. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +4 -6
  323. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +14 -15
  324. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +4 -4
  325. package/src/View/SystemStatus/SystemStatusEntityRow.js +3 -3
  326. package/src/View/SystemStatus/SystemStatusPopup.js +2 -2
  327. package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -2
  328. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +2 -2
  329. package/src/View/SystemStatus/SystemStatusViewPanel.js +2 -2
  330. package/src/View/TeamSharing/SharedEntityDependencies.js +4 -4
  331. package/src/View/TeamSharing/SharedEntityObjectView.js +8 -8
  332. package/src/View/Theme/ThemeEditor.js +6 -31
  333. package/src/View/Theme/ThemeEditorWindow.js +2 -2
  334. package/src/View/Theme/ThemeField.js +1 -2
  335. package/src/View/Theme/ThemePopup.d.ts +1 -1
  336. package/src/View/Theme/ThemePopup.js +4 -4
  337. package/src/View/Theme/ThemeStatusbar.js +1 -1
  338. package/src/View/Theme/VariantSelector.js +1 -1
  339. package/src/View/UIHelper.d.ts +1 -1
  340. package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +1 -1
  341. package/src/View/Wizard/ObjectTagsWizardSection.js +2 -4
  342. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +10 -4
  343. package/src/View/Wizard/OnePageAdaptableWizard.js +14 -16
  344. package/src/View/Wizard/OnePageWizards.d.ts +10 -4
  345. package/src/View/Wizard/OnePageWizards.js +50 -64
  346. package/src/View/Wizard/TypeRadio.js +3 -3
  347. package/src/View/Wizard/WizardLegend.js +3 -4
  348. package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
  349. package/src/View/Wizard/useKeyboardNavigation.js +7 -4
  350. package/src/View/renderWithAdaptableContext.js +2 -5
  351. package/src/agGrid/AdaptableAgGrid.d.ts +2 -3
  352. package/src/agGrid/AdaptableAgGrid.js +92 -14
  353. package/src/agGrid/AdaptableFilterHandler.d.ts +5 -7
  354. package/src/agGrid/AdaptableFilterHandler.js +12 -28
  355. package/src/agGrid/AgGridColumnAdapter.d.ts +6 -1
  356. package/src/agGrid/AgGridColumnAdapter.js +26 -5
  357. package/src/agGrid/AgGridFilterAdapter.js +1 -1
  358. package/src/agGrid/AgGridFloatingFilterAdapter.js +1 -21
  359. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -5
  360. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -5
  361. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +9 -8
  362. package/src/components/Card/index.d.ts +25 -0
  363. package/src/components/Card/index.js +45 -0
  364. package/src/components/CheckBox/index.d.ts +3 -4
  365. package/src/components/CheckBox/index.js +7 -9
  366. package/src/components/CodeBlock/index.d.ts +6 -2
  367. package/src/components/CodeBlock/index.js +3 -3
  368. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  369. package/src/components/ColorPicker/ColorPicker.js +10 -9
  370. package/src/components/Dashboard/Dashboard.js +1 -1
  371. package/src/components/Dashboard/DashboardToolbar.js +5 -6
  372. package/src/components/Datepicker/index.d.ts +2 -2
  373. package/src/components/Datepicker/index.js +9 -8
  374. package/src/components/Dialog/index.d.ts +8 -2
  375. package/src/components/Dialog/index.js +7 -7
  376. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +1 -1
  377. package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
  378. package/src/components/DragAndDropContext/ModuleManager.js +9 -6
  379. package/src/components/DragAndDropContext/TabList.d.ts +2 -1
  380. package/src/components/DragAndDropContext/TabList.js +44 -24
  381. package/src/components/DragAndDropContext/UnusedPanel.js +7 -15
  382. package/src/components/Dropdown/index.d.ts +2 -2
  383. package/src/components/Dropdown/index.js +5 -6
  384. package/src/components/DropdownButton/index.d.ts +2 -22
  385. package/src/components/DropdownButton/index.js +7 -4
  386. package/src/components/EmptyContent/index.d.ts +2 -2
  387. package/src/components/EmptyContent/index.js +4 -4
  388. package/src/components/ErrorBox/index.d.ts +2 -2
  389. package/src/components/ErrorBox/index.js +3 -3
  390. package/src/components/ExpressionEditor/BaseEditorInput.js +65 -48
  391. package/src/components/ExpressionEditor/DataTableEditor.js +6 -10
  392. package/src/components/ExpressionEditor/EditorButton.js +0 -2
  393. package/src/components/ExpressionEditor/EditorContext.d.ts +0 -1
  394. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +5 -5
  395. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +9 -11
  396. package/src/components/ExpressionEditor/NamedQueryContext.d.ts +0 -1
  397. package/src/components/ExpressionEditor/NamedQueryEditor.js +6 -16
  398. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.d.ts +2 -10
  399. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +6 -6
  400. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
  401. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +7 -7
  402. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -14
  403. package/src/components/ExpressionEditor/index.d.ts +1 -0
  404. package/src/components/ExpressionEditor/index.js +29 -34
  405. package/src/components/FieldWrap/index.d.ts +9 -2
  406. package/src/components/FieldWrap/index.js +3 -8
  407. package/src/components/FileDroppable/FileDroppableState.d.ts +0 -1
  408. package/src/components/FileDroppable/index.d.ts +3 -2
  409. package/src/components/FileDroppable/index.js +3 -3
  410. package/src/components/Flex.d.ts +15 -1
  411. package/src/components/Flex.js +40 -1
  412. package/src/components/FlexWithFooter.d.ts +3 -2
  413. package/src/components/FlexWithFooter.js +4 -4
  414. package/src/components/FormLayout/index.d.ts +5 -1
  415. package/src/components/FormLayout/index.js +1 -1
  416. package/src/components/HelpBlock/index.d.ts +2 -2
  417. package/src/components/HelpBlock/index.js +4 -3
  418. package/src/components/IconSelector/IconSelector.js +8 -8
  419. package/src/components/Input/index.d.ts +1 -2
  420. package/src/components/Input/index.js +6 -3
  421. package/src/components/Modal/Backdrop.js +1 -1
  422. package/src/components/Modal/index.d.ts +3 -2
  423. package/src/components/Modal/index.js +3 -3
  424. package/src/components/OverlayTrigger/index.js +3 -0
  425. package/src/components/Panel/index.d.ts +22 -6
  426. package/src/components/Panel/index.js +54 -15
  427. package/src/components/PopupWithFooter.js +3 -4
  428. package/src/components/ProgressIndicator/ProgressIndicator.js +3 -3
  429. package/src/components/Radio/index.d.ts +25 -3
  430. package/src/components/Radio/index.js +18 -20
  431. package/src/components/Select/Select.js +33 -21
  432. package/src/components/SelectList.js +1 -1
  433. package/src/components/SelectableList/index.d.ts +1 -1
  434. package/src/components/SimpleButton/index.d.ts +4 -6
  435. package/src/components/SimpleButton/index.js +55 -23
  436. package/src/components/SizedContainer/index.d.ts +3 -1
  437. package/src/components/SizedContainer/index.js +1 -1
  438. package/src/components/StylePreview.d.ts +3 -1
  439. package/src/components/StylePreview.js +4 -3
  440. package/src/components/Tabs/index.d.ts +3 -3
  441. package/src/components/Tabs/index.js +26 -9
  442. package/src/components/Tag/Tag.d.ts +14 -2
  443. package/src/components/Tag/Tag.js +10 -3
  444. package/src/components/Tag/index.d.ts +1 -1
  445. package/src/components/Tag/index.js +1 -1
  446. package/src/components/Textarea/index.d.ts +5 -1
  447. package/src/components/Textarea/index.js +4 -3
  448. package/src/components/Toggle/Toggle.js +48 -3
  449. package/src/components/Toggle/ToggleGroup.d.ts +7 -0
  450. package/src/components/Toggle/ToggleGroup.js +57 -2
  451. package/src/components/ToggleButton/index.d.ts +2 -2
  452. package/src/components/ToggleButton/index.js +25 -7
  453. package/src/components/Tree/TreeDropdown/index.js +10 -15
  454. package/src/components/Tree/TreeList/index.js +5 -9
  455. package/src/components/WarningBox/index.d.ts +6 -2
  456. package/src/components/WarningBox/index.js +3 -3
  457. package/src/components/WizardPanel/index.d.ts +6 -1
  458. package/src/components/WizardPanel/index.js +2 -2
  459. package/src/components/icons/DefaultIcon.d.ts +1 -0
  460. package/src/components/icons/index.d.ts +1 -1
  461. package/src/components/icons/index.js +2 -0
  462. package/src/components/icons/inspector.d.ts +3 -0
  463. package/src/components/icons/inspector.js +5 -0
  464. package/src/components/twUtils.d.ts +7 -0
  465. package/src/components/twUtils.js +13 -0
  466. package/src/components/utils/useDraggable.d.ts +0 -1
  467. package/src/devTools/index.d.ts +23 -23
  468. package/src/env.js +2 -2
  469. package/src/layout-manager/src/LMEmitter.d.ts +1 -0
  470. package/src/layout-manager/src/LMEmitter.js +1 -0
  471. package/src/layout-manager/src/index.js +2 -2
  472. package/src/migration/VersionUpgrade20.js +6 -5
  473. package/src/twMerge.d.ts +1 -0
  474. package/src/twMerge.js +11 -0
  475. package/themes/dark.css +35 -9
  476. package/themes/light.css +0 -2
  477. package/tsconfig.esm.tsbuildinfo +1 -1
  478. package/base.css +0 -5602
  479. package/base.css.map +0 -1
  480. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.d.ts +0 -3
  481. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +0 -6
  482. package/src/View/Alert/AlertsPanel.d.ts +0 -14
  483. package/src/View/Alert/AlertsPanel.js +0 -38
  484. package/src/View/Alert/Wizard/AlertSelectQueryWizard.d.ts +0 -19
  485. package/src/View/Alert/Wizard/AlertSelectQueryWizard.js +0 -54
  486. package/src/View/Components/FilterForm/ListBoxMenu.d.ts +0 -14
  487. package/src/View/Components/FilterForm/ListBoxMenu.js +0 -28
  488. package/src/View/Components/ListBox/DualListBoxEditor.d.ts +0 -22
  489. package/src/View/Components/ListBox/DualListBoxEditor.js +0 -515
  490. package/src/View/Components/ListBox/ListBoxFilterSortComponent.d.ts +0 -13
  491. package/src/View/Components/ListBox/ListBoxFilterSortComponent.js +0 -26
  492. package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.d.ts +0 -15
  493. package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.js +0 -31
  494. package/src/View/Layout/Wizard/Components/ColumnLabels.d.ts +0 -9
  495. package/src/View/Layout/Wizard/Components/ColumnLabels.js +0 -52
  496. package/src/View/Wizard/AdaptableWizard.d.ts +0 -56
  497. package/src/View/Wizard/AdaptableWizard.js +0 -168
  498. package/src/components/ContainerProps.d.ts +0 -30
  499. package/src/components/ContainerProps.js +0 -1
  500. package/src/components/EllipsisContainer/index.d.ts +0 -13
  501. package/src/components/EllipsisContainer/index.js +0 -100
  502. package/src/components/List/GridList/index.d.ts +0 -10
  503. package/src/components/List/GridList/index.js +0 -23
  504. package/src/components/List/ListGroup/index.d.ts +0 -6
  505. package/src/components/List/ListGroup/index.js +0 -9
  506. package/src/components/List/ListGroupItem/index.d.ts +0 -11
  507. package/src/components/List/ListGroupItem/index.js +0 -16
  508. package/src/components/utils/useTheme.d.ts +0 -32
  509. package/src/components/utils/useTheme.js +0 -2
  510. package/src/theme.d.ts +0 -32
  511. package/src/theme.js +0 -49
  512. package/themes/dark.css.map +0 -1
  513. package/themes/light.css.map +0 -1
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import { Flex, Box } from 'rebass';
3
2
  import { useReducer, useRef } from 'react';
4
3
  import join from '../../components/utils/join';
5
4
  import contains from '../../components/utils/contains';
@@ -7,6 +6,7 @@ import SimpleButton from '../SimpleButton';
7
6
  import { Icon } from '../icons';
8
7
  import HelpBlock from '../HelpBlock';
9
8
  import reducer, { ActionTypes } from './reducer';
9
+ import { Box, Flex } from '../Flex';
10
10
  const initialState = {
11
11
  dragOver: false,
12
12
  message: null,
@@ -112,10 +112,10 @@ const FileDroppable = (props = {}) => {
112
112
  return (React.createElement(Flex, { ...domProps, flexDirection: "column", className: join(props.className, 'ab-FileDroppable', state.dragOver ? 'ab-FileDroppable--drag-over' : ''), alignItems: "center", justifyContent: "center", onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDrop: onDrop, onDragOver: preventEventPropagation, ref: domRef },
113
113
  props.children,
114
114
  helpText || icon ? (React.createElement(Flex, { flexDirection: "column" },
115
- helpText ? (React.createElement(Flex, { flexDirection: "column", alignItems: "center", margin: 2 },
115
+ helpText ? (React.createElement(Flex, { flexDirection: "column", alignItems: "center", className: "twa:m-2" },
116
116
  React.createElement(HelpBlock, null,
117
117
  React.createElement("b", null, helpText)))) : null,
118
- icon ? (React.createElement(Flex, { flexDirection: "column", alignItems: "center", margin: 2 }, icon)) : null)) : null,
118
+ icon ? (React.createElement(Flex, { flexDirection: "column", alignItems: "center", className: "twa:m-2" }, icon)) : null)) : null,
119
119
  msg,
120
120
  form));
121
121
  };
@@ -1 +1,15 @@
1
- export { Flex } from 'rebass';
1
+ import * as React from 'react';
2
+ type AsProp = 'summary' | 'form' | 'label' | 'button' | 'ul' | string;
3
+ export type FlexProps = {
4
+ as?: AsProp;
5
+ flexDirection?: 'row' | 'column';
6
+ justifyContent?: 'space-between' | 'space-around' | 'space-evenly' | 'space-start' | 'space-end' | 'center';
7
+ flexWrap?: 'wrap' | 'nowrap' | 'wrap-reverse';
8
+ alignItems?: 'center' | 'flex-start' | 'flex-end' | 'stretch' | 'baseline' | 'start' | 'end';
9
+ };
10
+ export declare const Flex: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLDivElement> & FlexProps, "ref"> & React.RefAttributes<unknown>>;
11
+ export type BoxProps = {
12
+ as?: AsProp;
13
+ };
14
+ export declare const Box: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLDivElement> & BoxProps, "ref"> & React.RefAttributes<unknown>>;
15
+ export {};
@@ -1 +1,40 @@
1
- export { Flex } from 'rebass';
1
+ import * as React from 'react';
2
+ import clsx from 'clsx';
3
+ import { twMerge } from '../twMerge';
4
+ const ALIGN_ITEMS_MAP = {
5
+ center: 'twa:items-center',
6
+ 'flex-start': 'twa:items-start',
7
+ start: 'twa:items-start',
8
+ 'flex-end': 'twa:items-end',
9
+ end: 'twa:items-end',
10
+ stretch: 'twa:items-stretch',
11
+ baseline: 'twa:items-baseline',
12
+ };
13
+ const FLEX_DIRECTION_MAP = {
14
+ row: 'twa:flex-row',
15
+ column: 'twa:flex-col',
16
+ };
17
+ const JUSTIFY_CONTENT_MAP = {
18
+ 'space-between': 'twa:justify-between',
19
+ 'space-around': 'twa:justify-around',
20
+ 'space-evenly': 'twa:justify-evenly',
21
+ 'space-start': 'twa:justify-start',
22
+ 'space-end': 'twa:justify-end',
23
+ center: 'twa:justify-center',
24
+ };
25
+ const FLEX_WRAP_MAP = {
26
+ wrap: 'twa:flex-wrap',
27
+ nowrap: 'twa:flex-nowrap',
28
+ 'wrap-reverse': 'twa:flex-wrap-reverse',
29
+ };
30
+ export const Flex = React.forwardRef((props, ref) => {
31
+ const { className: _, flexDirection, alignItems, justifyContent, flexWrap, as, ...domProps } = props;
32
+ const className = clsx('twa:flex', 'twa:box-border', FLEX_DIRECTION_MAP[flexDirection], ALIGN_ITEMS_MAP[alignItems], JUSTIFY_CONTENT_MAP[justifyContent], FLEX_WRAP_MAP[flexWrap]);
33
+ const Cmp = (as || 'div');
34
+ return (React.createElement(Cmp, { ref: ref, ...domProps, className: twMerge(className, props.className) }));
35
+ });
36
+ export const Box = React.forwardRef((props, ref) => {
37
+ const { className, as, ...domProps } = props;
38
+ const Cmp = (as || 'div');
39
+ return (React.createElement(Cmp, { ref: ref, ...domProps, className: twMerge('twa:box-border', className) }));
40
+ });
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
- import { FlexProps } from 'rebass';
2
+ import { FlexProps } from './Flex';
3
+ import { HTMLProps } from 'react';
3
4
  interface TypeProps extends FlexProps {
4
5
  footer: React.ReactNode;
5
- footerProps?: FlexProps;
6
+ footerProps?: FlexProps & HTMLProps<HTMLDivElement>;
6
7
  }
7
8
  declare const FlexWithFooter: (props: TypeProps & React.HTMLProps<HTMLDivElement>) => React.JSX.Element;
8
9
  export default FlexWithFooter;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { Flex } from 'rebass';
2
+ import { Flex } from './Flex';
3
3
  const defaultStyle = {
4
4
  height: '100%',
5
5
  maxHeight: '90vh',
@@ -9,8 +9,8 @@ const defaultStyle = {
9
9
  const FlexWithFooter = (props) => {
10
10
  const { footer, footerProps, children, style, ...domProps } = props;
11
11
  return (React.createElement(Flex, { flexDirection: "column", ...domProps, style: { ...defaultStyle, ...style } },
12
- React.createElement(Flex, { flexDirection: "column", padding: 0, flex: 1 },
13
- React.createElement(Flex, { flexDirection: "column", flex: 1 }, children)),
14
- footer ? (React.createElement(Flex, { padding: 2, backgroundColor: "primary", ...footerProps }, footer)) : null));
12
+ React.createElement(Flex, { flexDirection: "column", className: "twa:p-0 twa:flex-1" },
13
+ React.createElement(Flex, { flexDirection: "column", className: "twa:flex-1" }, children)),
14
+ footer ? (React.createElement(Flex, { className: "twa:p-2 twa:bg-primary", ...footerProps }, footer)) : null));
15
15
  };
16
16
  export default FlexWithFooter;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { BoxProps } from 'rebass';
3
2
  import { ReactNode } from 'react';
3
+ import { BoxProps } from '../Flex';
4
4
  type FormColumn = {
5
5
  name: string;
6
6
  component?: React.ComponentType<any>;
@@ -21,6 +21,10 @@ type TypeFormLayout = {
21
21
  export type AdaptableFormConfig = TypeFormLayout;
22
22
  export type FormLayoutColumn = FormColumn;
23
23
  interface FormLayoutProps extends Omit<BoxProps, keyof TypeFormLayout>, TypeFormLayout {
24
+ children?: React.ReactNode;
25
+ className?: string;
26
+ style?: React.CSSProperties;
27
+ onKeyDown?: (event: React.KeyboardEvent<HTMLDivElement>) => void;
24
28
  }
25
29
  declare const FormLayout: (props: FormLayoutProps) => React.JSX.Element;
26
30
  interface FormRowProps {
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
- import { Box } from 'rebass';
3
2
  import { createContext, useContext } from 'react';
4
3
  import merge from 'lodash/merge';
5
4
  import join from '../utils/join';
5
+ import { Box } from '../Flex';
6
6
  const FormLayoutContext = createContext(null);
7
7
  const defaultColumns = {
8
8
  label: {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { BoxProps } from 'rebass';
3
2
  export declare const baseClassName = "ab-HelpBlock";
4
- declare const HelpBlock: (props: BoxProps) => React.JSX.Element;
3
+ export declare const HelpBlockClassName: string;
4
+ declare const HelpBlock: (props: React.HTMLProps<HTMLDivElement>) => React.JSX.Element;
5
5
  export default HelpBlock;
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
- import { Box } from 'rebass';
3
- import join from '../utils/join';
2
+ import { Box } from '../Flex';
3
+ import clsx from 'clsx';
4
4
  export const baseClassName = 'ab-HelpBlock';
5
+ export const HelpBlockClassName = clsx('twa:text-2/relaxed twa:p-2 twa:rounded-standard', 'twa:bg-primarylight twa:text-primary-foreground', baseClassName);
5
6
  const HelpBlock = (props) => {
6
- return React.createElement(Box, { ...props, className: join(props.className, baseClassName) });
7
+ return React.createElement(Box, { ...props, className: clsx(HelpBlockClassName, props.className) });
7
8
  };
8
9
  export default HelpBlock;
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
- import { Box, Flex } from 'rebass';
3
2
  import AdaptableInput from '../../View/Components/AdaptableInput';
4
3
  import { IconComponent } from '../Icon';
5
4
  import { allIcons, Icon } from '../icons';
6
5
  import OverlayTrigger from '../OverlayTrigger';
7
6
  import SimpleButton from '../SimpleButton';
7
+ import { Box, Flex } from '../Flex';
8
8
  const IconButton = (props) => {
9
- return (React.createElement(SimpleButton, { onClick: () => props.onClick(), p: 2, variant: props.active ? 'raised' : 'text', tone: props.active ? 'accent' : 'none', icon: props.icon }, props.children));
9
+ return (React.createElement(SimpleButton, { onClick: () => props.onClick(), className: "twa:p-2", variant: props.active ? 'raised' : 'text', tone: props.active ? 'accent' : 'none', icon: props.icon }, props.children));
10
10
  };
11
11
  export const IconSelector = (props) => {
12
12
  const [query, setQuery] = React.useState('');
@@ -25,10 +25,10 @@ export const IconSelector = (props) => {
25
25
  React.createElement(IconComponent, { key: def.name, icon: def.icon })));
26
26
  });
27
27
  const popup = (React.createElement(Box, { className: "ab-IconSelector__Popup" },
28
- React.createElement(Box, { mb: 2 },
29
- React.createElement(Box, { mb: 2, fontSize: 4 }, "Select an Icon"),
30
- React.createElement(AdaptableInput, { value: query, onChange: (event) => setQuery(event.target.value ?? ''), width: "100%" })),
31
- React.createElement(Flex, { p: 2, style: { width: 300, maxHeight: 300, overflow: 'auto' }, flexWrap: "wrap" },
28
+ React.createElement(Box, { className: "twa:mb-2" },
29
+ React.createElement(Box, { className: "twa:mb-2 twa:text-4" }, "Select an Icon"),
30
+ React.createElement(AdaptableInput, { value: query, onChange: (event) => setQuery(event.target.value ?? ''), className: "twa:w-full" })),
31
+ React.createElement(Flex, { className: "twa:p-2 twa:w-[300px] twa:max-h-[300px] twa:overflow-auto twa:flex-wrap" },
32
32
  iconsElements,
33
33
  " ",
34
34
  customIconsElements)));
@@ -43,8 +43,8 @@ export const IconSelector = (props) => {
43
43
  }
44
44
  return (React.createElement(Flex, { className: "ab-IconSelector" },
45
45
  React.createElement(OverlayTrigger, { preventPortalEventPropagation: false, render: () => popup, showEvent: "mouseenter", hideEvent: "mouseleave", hideDelay: 300 },
46
- React.createElement(SimpleButton, { className: "ab-IconSelector__trigger", textAlign: "center", onClick: () => null, variant: "raised", width: 150, justifyContent: "center" }, value)),
47
- (props.clearable ?? true) && (React.createElement(SimpleButton, { disabled: !props.value, className: "ab-IconSelector__clear-button", ml: 2, onClick: (event) => {
46
+ React.createElement(SimpleButton, { className: "ab-IconSelector__trigger twa:text-center twa:w-[150px] twa:justify-center", onClick: () => null, variant: "raised" }, value)),
47
+ (props.clearable ?? true) && (React.createElement(SimpleButton, { disabled: !props.value, className: "ab-IconSelector__clear-button twa:ml-2", onClick: (event) => {
48
48
  event.stopPropagation();
49
49
  event.preventDefault();
50
50
  props.onChange('');
@@ -1,11 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { HTMLProps } from 'react';
3
- import { BoxProps } from 'rebass';
4
3
  export declare const baseClassName = "ab-Input";
5
4
  export type InputProps = HTMLProps<HTMLInputElement> & {
6
5
  type?: string;
7
6
  disabled?: boolean;
8
7
  list?: any;
9
- } & BoxProps;
8
+ };
10
9
  declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
11
10
  export default Input;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { Box } from 'rebass';
3
- import join from '../utils/join';
2
+ import { Box } from '../Flex';
3
+ import clsx from 'clsx';
4
4
  export const baseClassName = 'ab-Input';
5
5
  const Input = React.forwardRef((props, ref) => {
6
6
  const { disabled, className, ...inputProps } = props;
@@ -11,6 +11,9 @@ const Input = React.forwardRef((props, ref) => {
11
11
  if (type === 'string') {
12
12
  type = 'text';
13
13
  }
14
- return (React.createElement(Box, { as: "input", ref: ref, ...inputProps, type: type, disabled: disabled, className: join(className, baseClassName, type ? `${baseClassName}--type-${type}` : '', disabled ? `${baseClassName}--disabled` : '') }));
14
+ return (React.createElement(Box, { as: "input", ref: ref, ...inputProps, type: type, disabled: disabled, className: clsx(className, baseClassName, 'twa:min-h-input', type ? `${baseClassName}--type-${type}` : '', disabled ? `${baseClassName}--disabled` : '', {
15
+ 'twa:bg-(--ab-cmp-input__background)': !disabled,
16
+ 'twa:bg-(--ab-cmp-input--disabled__background)': disabled,
17
+ }) }));
15
18
  });
16
19
  export default Input;
@@ -22,7 +22,7 @@ const Backdrop = (props) => {
22
22
  });
23
23
  return () => updatePositionInStack(uuid, null);
24
24
  }, []);
25
- return backdropVisible ? (React.createElement("div", { "data-id": uuid, style: { zIndex }, className: `${baseClassName}-backdrop` })) : null;
25
+ return backdropVisible ? (React.createElement("div", { "data-id": uuid, style: { zIndex }, className: `${baseClassName}-backdrop twa:fixed twa:inset-0 twa:z-900 twa:bg-(--ab-cmp-modal-backdrop__background)` })) : null;
26
26
  };
27
27
  const stack = {};
28
28
  export const updatePositionInStack = (id, data) => {
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
- import { FlexProps } from 'rebass';
2
+ import { HTMLProps } from 'react';
3
+ import { FlexProps } from '../Flex';
3
4
  export declare const ensurePortalElement: () => HTMLElement;
4
5
  export declare const ensureLoadingScreenPortalElement: () => HTMLElement;
5
- export interface ModalProps extends FlexProps {
6
+ export interface ModalProps extends FlexProps, HTMLProps<HTMLDivElement> {
6
7
  isOpen?: boolean;
7
8
  baseZIndex?: number;
8
9
  onBringToFront?: () => void;
@@ -1,13 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
  import { useMemo } from 'react';
4
- import join from '../utils/join';
5
4
  import { RemoveScroll } from 'react-remove-scroll';
6
- import { Flex } from 'rebass';
7
5
  import { baseClassName, default as Backdrop } from './Backdrop';
8
6
  import { createUuid } from '../utils/uuid';
9
7
  import { isBrowserDocumentAvailable } from '../../View/UIHelper';
10
8
  import { useStacking } from '../WindowModal/useStacking';
9
+ import { Flex } from '../Flex';
10
+ import clsx from 'clsx';
11
11
  let portalElement;
12
12
  let loadingScreenPortalElement;
13
13
  export const ensurePortalElement = () => {
@@ -45,5 +45,5 @@ export const Modal = (props) => {
45
45
  return createPortal(isOpen ? (React.createElement(React.Fragment, null,
46
46
  React.createElement(Backdrop, { timestamp: openTimestamp, uuid: uuid, zIndex: zIndex - backdropZIndexOffset, onBringToFront: onBringToFront }),
47
47
  React.createElement(RemoveScroll, null,
48
- React.createElement(Flex, { alignItems: "center", justifyContent: "center", flexDirection: "column", ...boxProps, style: { zIndex, ...style }, className: join(baseClassName, className) }, children)))) : null, portalElement);
48
+ React.createElement(Flex, { alignItems: "center", justifyContent: "center", flexDirection: "column", ...boxProps, style: { zIndex, ...style }, className: clsx('twa:fixed twa:inset-0 twa:z-1000 twa:font-(family-name:--ab__font-family)', baseClassName, className) }, children)))) : null, portalElement);
49
49
  };
@@ -93,6 +93,9 @@ const OverlayTrigger = React.forwardRef((givenProps, ref) => {
93
93
  // when moving the mouse cursor from the trigger to the overlay
94
94
  // for this case we debounce the visible change for a very small amount of time
95
95
  debounce((visible) => {
96
+ // if (!visible) {
97
+ // return;
98
+ // }
96
99
  onVisibleChange?.(visible);
97
100
  if (!visible) {
98
101
  hideTimeoutRef.current = setTimeout(() => {
@@ -1,18 +1,34 @@
1
1
  import * as React from 'react';
2
- import { BoxProps, FlexProps } from 'rebass';
3
2
  import { ReactNode, HTMLProps } from 'react';
3
+ import { FlexProps } from '../Flex';
4
4
  export declare const baseClassName = "ab-Panel";
5
5
  export interface HeaderProps extends FlexProps {
6
+ className?: string;
7
+ style?: React.CSSProperties;
8
+ onClick?: () => void;
6
9
  }
7
- export type PanelProps = HTMLProps<HTMLElement> & {
10
+ export type PanelProps = HTMLProps<HTMLDivElement> & {
8
11
  header?: ReactNode | string;
9
12
  children?: ReactNode;
10
13
  headerProps?: HeaderProps;
11
- bodyProps?: BoxProps;
14
+ bodyProps?: {
15
+ className?: string;
16
+ style?: React.CSSProperties;
17
+ };
12
18
  variant?: 'default' | 'primary' | 'modern';
13
19
  border?: string | number;
14
- borderRadius?: string | number;
15
20
  bodyScroll?: string | boolean;
16
- } & BoxProps;
17
- declare const Panel: React.FC<PanelProps>;
21
+ } & FlexProps;
22
+ declare const PlainHeader: ({ children, className }: {
23
+ children?: ReactNode;
24
+ className?: string;
25
+ }) => React.JSX.Element;
26
+ declare const FlexBody: ({ children, className }: {
27
+ children?: ReactNode;
28
+ className?: string;
29
+ }) => React.JSX.Element;
30
+ declare const Panel: React.FC<PanelProps> & {
31
+ FlexBody: typeof FlexBody;
32
+ PlainHeader: typeof PlainHeader;
33
+ };
18
34
  export default Panel;
@@ -1,30 +1,36 @@
1
1
  import * as React from 'react';
2
- import { Box, Flex } from 'rebass';
3
- import join from '../utils/join';
2
+ import clsx from 'clsx';
3
+ import { Box, Flex } from '../Flex';
4
+ import { twMerge } from '../../twMerge';
4
5
  export const baseClassName = 'ab-Panel';
5
- const Header = ({ children, variant = 'default', ...headerProps }) => {
6
+ const DEFAULT_BODY_CLS = 'twa:relative twa:flex-1 twa:p-2 twa:bg-defaultbackground twa:text-text-on-defaultbackground';
7
+ const Header = ({ children, variant = 'default', className, style, onClick, ...flexProps }) => {
6
8
  if (!children) {
7
9
  return null;
8
10
  }
9
- const style = {};
10
- return (React.createElement(Flex, { flexDirection: "row", alignItems: "center", ...headerProps, style: { ...style, ...headerProps.style }, className: join(`${baseClassName}__header`, `${baseClassName}__header--variant-${variant}`) }, children));
11
+ return (React.createElement(Flex, { flexDirection: "row", alignItems: "center", style: { ...style }, onClick: onClick, className: twMerge(`${baseClassName}__header ${baseClassName}__header--variant-${variant}`, className), ...flexProps }, children));
11
12
  };
12
- const Body = ({ children, bodyScroll, variant, ...bodyProps }) => {
13
+ const Body = ({ children, bodyScroll, variant, className, style, }) => {
13
14
  if (!children) {
14
15
  return null;
15
16
  }
16
17
  if (bodyScroll === true) {
17
18
  bodyScroll = 'auto';
18
19
  }
19
- return (React.createElement(Box, { ...bodyProps, className: join(`${baseClassName}__body`, variant && `${baseClassName}__body--variant-${variant}`, bodyScroll ? `${baseClassName}__body--scroll-${bodyScroll}` : null) }, children));
20
+ const bodyCls = clsx(DEFAULT_BODY_CLS, `${baseClassName}__body`, variant && `${baseClassName}__body--variant-${variant}`, bodyScroll ? `twa:overflow-auto` : null, {
21
+ 'twa:bg-primarylight twa:text-text-on-primary twa:border-0': variant === 'modern',
22
+ }, className);
23
+ return (React.createElement(Box, { style: style, className: bodyCls }, children));
24
+ };
25
+ const PlainHeader = ({ children, className }) => {
26
+ return (React.createElement(Box, { className: clsx(`${baseClassName}__header`, `${baseClassName}__header--variant-plain`, className) }, children));
27
+ };
28
+ const FlexBody = ({ children, className }) => {
29
+ return (React.createElement(Box, { className: clsx(DEFAULT_BODY_CLS, `${baseClassName}__body`, `${baseClassName}__body--variant-flex`, 'twa:overflow-auto twa:min-h-0', 'twa:flex-1 twa:flex twa:flex-col', className) }, children));
20
30
  };
21
31
  const Panel = (props) => {
22
- const { borderRadius, border, className, header, children, headerProps, bodyProps, bodyScroll, variant = 'default', ...boxProps } = props;
32
+ const { border, className, header, children, headerProps, bodyProps, bodyScroll, variant = 'default', ...boxProps } = props;
23
33
  const style = {};
24
- if (borderRadius !== undefined) {
25
- style['--ab-cmp-panel__border-radius'] =
26
- typeof borderRadius == 'number' ? `var(--ab-space-${borderRadius})` : borderRadius;
27
- }
28
34
  const headerStyle = {
29
35
  border,
30
36
  ...(headerProps ? headerProps.style : null),
@@ -33,8 +39,41 @@ const Panel = (props) => {
33
39
  border,
34
40
  ...(bodyProps ? bodyProps.style : null),
35
41
  };
36
- return (React.createElement(Box, { ...boxProps, style: { ...style, ...boxProps.style }, className: join(className, baseClassName, `${baseClassName}--variant-${variant}`, !header ? `${baseClassName}--no-header` : `${baseClassName}--with-header`) },
37
- React.createElement(Header, { ...headerProps, style: headerStyle, variant: variant }, header),
38
- React.createElement(Body, { ...bodyProps, style: bodyStyle, bodyScroll: bodyScroll, variant: variant }, children)));
42
+ const cls = twMerge(clsx(baseClassName, `${baseClassName}--variant-${variant}`, !header ? `${baseClassName}--no-header` : `${baseClassName}--with-header`, 'twa:rounded-standard', 'twa:flex twa:flex-col'), className);
43
+ let headerCls = headerProps?.className;
44
+ if (cls.includes('twa:rounded-none')) {
45
+ headerCls = twMerge(headerCls, 'twa:rounded-none');
46
+ }
47
+ let bodyCls = bodyProps?.className;
48
+ if (cls.includes('twa:rounded-none')) {
49
+ bodyCls = twMerge(bodyCls, 'twa:rounded-none');
50
+ }
51
+ if (cls.includes('twa:border-none')) {
52
+ bodyCls = twMerge(bodyCls, 'twa:border-none');
53
+ }
54
+ let childrenArr = React.Children.toArray(children);
55
+ let theBody;
56
+ let theHeader;
57
+ childrenArr.forEach((child) => {
58
+ if (React.isValidElement(child) && child.type === FlexBody) {
59
+ theBody = child;
60
+ }
61
+ else if (React.isValidElement(child) && child.type === PlainHeader) {
62
+ theHeader = child;
63
+ }
64
+ });
65
+ if (theHeader) {
66
+ childrenArr = childrenArr.filter((child) => child !== theHeader);
67
+ theHeader = (React.createElement(PlainHeader, { ...theHeader.props, className: clsx(headerCls, theHeader.props.className ?? '') }));
68
+ }
69
+ if (theBody) {
70
+ theBody = (React.createElement(FlexBody, { ...theBody.props, className: clsx(bodyCls, theBody.props.className ?? '') }));
71
+ }
72
+ return (React.createElement(Box, { ...boxProps, style: { ...style, ...boxProps.style }, className: cls },
73
+ theHeader ?? (React.createElement(Header, { ...headerProps, style: headerStyle, variant: variant, className: headerCls }, header)),
74
+ theBody ??
75
+ (childrenArr.length > 0 ? (React.createElement(Body, { ...bodyProps, style: bodyStyle, bodyScroll: bodyScroll, variant: variant, className: twMerge(bodyCls) }, childrenArr)) : null)));
39
76
  };
77
+ Panel.PlainHeader = PlainHeader;
78
+ Panel.FlexBody = FlexBody;
40
79
  export default Panel;
@@ -1,12 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import Dialog from './Dialog';
3
3
  import FlexWithFooter from './FlexWithFooter';
4
+ import { twMerge } from '../twMerge';
4
5
  export const PopupWithFooter = React.forwardRef((props, ref) => {
5
6
  const { showModal, onHide, footer, maxWidth, style, ...dialogProps } = props;
6
- return (React.createElement(Dialog, { ...dialogProps, ref: ref, isOpen: showModal, onDismiss: onHide, showCloseButton: false, padding: 0 },
7
+ return (React.createElement(Dialog, { ...dialogProps, ref: ref, isOpen: showModal, onDismiss: onHide, showCloseButton: false, className: twMerge('twa:p-0', dialogProps.className) },
7
8
  React.createElement(FlexWithFooter, { flexDirection: "column", style: style, footer: footer, footerProps: {
8
- padding: 2,
9
- backgroundColor: 'primary',
10
- className: 'ab-Popup__footer',
9
+ className: 'ab-Popup__footer twa:p-2 twa:bg-primary',
11
10
  }, children: props.children })));
12
11
  });
@@ -5,7 +5,7 @@ import { LoaderSpinner } from '../Loader';
5
5
  import { useAdaptable } from '../../View/AdaptableContext';
6
6
  import { ExternalRenderer } from '../../View/Components/ExternalRenderer';
7
7
  import Dialog from '../Dialog';
8
- import { Box, Flex } from 'rebass';
8
+ import { Box, Flex } from '../Flex';
9
9
  export const ProgressIndicator = () => {
10
10
  const adaptable = useAdaptable();
11
11
  const { active, text, render, frameworkComponent, renderMode } = useSelector((state) => state.Popup.ProgressIndicator);
@@ -62,9 +62,9 @@ export const ProgressIndicator = () => {
62
62
  // Otherwise use the default Flex layout
63
63
  (React.createElement(
64
64
  Flex,
65
- { alignItems: "center", flexDirection: "column", p: 3, className: "ab-ProgressIndicator-body" },
65
+ { alignItems: "center", flexDirection: "column", className: "ab-ProgressIndicator-body twa:p-3" },
66
66
  React.createElement(LoaderSpinner, null),
67
- React.createElement(Box, { mt: 3 },
67
+ React.createElement(Box, { className: "twa:mt-3" },
68
68
  text && React.createElement(Box, null, text),
69
69
  customEl)
70
70
  )))))
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ReactNode, SyntheticEvent } from 'react';
3
- import { BoxProps, FlexProps } from 'rebass';
3
+ import { BoxProps } from '../Flex';
4
+ type Variant = 'default' | 'text-only';
4
5
  type TypeProps = {
5
6
  checked?: boolean;
6
7
  as?: any;
@@ -10,20 +11,41 @@ type TypeProps = {
10
11
  children?: ReactNode | React.JSX.Element;
11
12
  gapDistance?: number;
12
13
  childrenPosition?: 'start' | 'end';
14
+ variant?: Variant;
13
15
  };
14
16
  export interface RadioProps extends TypeProps, Omit<BoxProps, keyof TypeProps> {
17
+ tabIndex?: number;
18
+ id?: string;
19
+ disabled?: boolean;
20
+ className?: string;
21
+ style?: React.CSSProperties;
22
+ onClick?: React.MouseEventHandler<HTMLDivElement>;
23
+ onFocus?: React.FocusEventHandler<HTMLDivElement>;
15
24
  }
16
25
  export declare const useRadioContext: <T extends unknown>() => {
17
26
  value: T;
18
27
  onChange: (value: T) => void;
19
28
  name: string;
29
+ variant: Variant;
20
30
  };
21
31
  declare const Radio: ({ children, checked, onChange, value, name, gapDistance, childrenPosition, as, id, tabIndex, disabled, ...props }: RadioProps) => React.JSX.Element;
22
- export declare const RadioGroup: <T extends unknown>(props: FlexProps & {
23
- orientation: 'horizontal' | 'vertical';
32
+ export declare const RadioGroup: <T extends unknown>(props: {
33
+ orientation: "horizontal" | "vertical";
24
34
  value?: T;
25
35
  name?: string;
26
36
  defaultValue?: T;
27
37
  onRadioChange?: (value: T) => void;
38
+ className?: string;
39
+ children: React.ReactNode;
40
+ /**
41
+ * The variant of the radio group.
42
+ * @default 'default' - will show the radio button and the text
43
+ *
44
+ * 'text-only' - will show the text only and hide the radio button
45
+ */
46
+ variant?: Variant;
28
47
  }) => React.JSX.Element;
48
+ export declare const radioGroupStyling: {
49
+ horizontalTextOnly: string;
50
+ };
29
51
  export default Radio;
@@ -1,18 +1,22 @@
1
1
  import * as React from 'react';
2
2
  import { useState } from 'react';
3
- import { Box, Flex } from 'rebass';
4
3
  import useProperty from '../utils/useProperty';
4
+ import { Box, Flex } from '../Flex';
5
+ import { twMerge } from '../../twMerge';
6
+ import clsx from 'clsx';
7
+ import { targetChildren } from '../twUtils';
5
8
  const RadioContext = React.createContext({
6
9
  value: null,
7
10
  name: '',
8
11
  onChange: (v) => { },
12
+ variant: 'default',
9
13
  });
10
14
  export const useRadioContext = () => {
11
15
  return React.useContext(RadioContext);
12
16
  };
13
17
  const Radio = ({ children, checked, onChange, value, name, gapDistance = 10, childrenPosition = 'end', as = 'label', id, tabIndex, disabled, ...props }) => {
14
18
  const context = useRadioContext();
15
- const { value: contextValue, onChange: contextOnChange, name: contextName } = context;
19
+ const { value: contextValue, onChange: contextOnChange, name: contextName, variant } = context;
16
20
  const [stateChecked, setStateChecked] = useState(false);
17
21
  const computedChecked = checked !== undefined
18
22
  ? checked
@@ -36,34 +40,28 @@ const Radio = ({ children, checked, onChange, value, name, gapDistance = 10, chi
36
40
  const beforeGap = childrenPosition === 'start' ? gap : null;
37
41
  const after = childrenPosition === 'end' ? children : null;
38
42
  const afterGap = childrenPosition === 'end' ? gap : null;
39
- return (React.createElement(Box, { className: "ab-Radio", my: 2, ...props, style: {
40
- display: 'inline-flex',
41
- flexFlow: 'row',
42
- alignItems: 'center',
43
- cursor: 'pointer',
44
- position: 'relative',
45
- ...props.style,
46
- }, as: as },
43
+ return (React.createElement(Box, { ...props, className: twMerge(`ab-Radio twa:my-2 twa:inline-flex twa:flex-row twa:items-center twa:cursor-pointer twa:relative`, props.className), "data-checked": computedChecked, as: as },
47
44
  before,
48
45
  beforeGap,
49
- React.createElement("input", { disabled: disabled, className: "ab-Radio-input", id: id, checked: computedChecked, type: "radio", name: name ?? contextName, value: value, tabIndex: tabIndex, style: {
50
- verticalAlign: 'middle',
51
- margin: '0px',
52
- borderRadius: '50%',
53
- cursor: 'pointer',
54
- position: 'relative',
55
- }, onChange: onInputChange }),
46
+ React.createElement("input", { disabled: disabled, className: clsx('ab-Radio-input', 'twa:align-middle', 'twa:m-0', 'twa:rounded-full', 'twa:cursor-pointer', 'twa:position-relative', 'twa:w-[1rem]', 'twa:h-[1rem]', 'twa:min-w-[1rem]', 'twa:min-h-[1rem]', variant === 'default' && 'ab-Radio-input--default', variant === 'text-only' && 'ab-Radio-input--text-only twa:size-0 twa:opacity-0'), id: id, checked: computedChecked, type: "radio", name: name ?? contextName, value: value, tabIndex: tabIndex, onChange: onInputChange }),
56
47
  afterGap,
57
48
  after));
58
49
  };
59
50
  export const RadioGroup = (props) => {
60
- const { orientation, value: _value, name, onRadioChange, ...flexProps } = props;
51
+ const { orientation, value: _value, name, onRadioChange, children, variant = 'default' } = props;
61
52
  const [value, setValue] = useProperty(props, 'value', undefined, {
62
53
  onChange: (value) => {
63
54
  onRadioChange(value);
64
55
  },
65
56
  });
66
- return (React.createElement(RadioContext.Provider, { value: { value, onChange: setValue, name } },
67
- React.createElement(Flex, { className: "ab-RadioGroup", flexDirection: orientation == 'horizontal' ? 'row' : 'column', alignItems: orientation == 'horizontal' ? 'center' : 'flex=start', ...flexProps })));
57
+ return (React.createElement(RadioContext.Provider, { value: { value, onChange: setValue, name, variant } },
58
+ React.createElement(Flex, { className: clsx('ab-RadioGroup', props.className), flexDirection: orientation == 'horizontal' ? 'row' : 'column', alignItems: orientation == 'horizontal' ? 'center' : 'flex-start' }, children)));
59
+ };
60
+ export const radioGroupStyling = {
61
+ horizontalTextOnly: clsx('twa:bg-primarylight twa:rounded-standard twa:p-1 twa:gap-5', {
62
+ 'twa:*:flex-1 twa:*:rounded-standard twa:*:p-1 twa:*:m-0': 'default styles for all the radio buttons',
63
+ 'twa:*:data-[checked=true]:bg-accent twa:*:data-[checked=true]:text-accent-foreground': 'style the checked state',
64
+ [targetChildren.focusWithinOutline]: 'styles for when a radio is currently focused - show a ring, so people know they can do keyboard nav with left/right arrow keys',
65
+ }),
68
66
  };
69
67
  export default Radio;