@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.
- package/icons/inspector.svg +1 -0
- package/index.css +6464 -5488
- package/index.css.map +1 -1
- package/package.json +5 -6
- package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -1
- package/src/AdaptableState/ChartingState.d.ts +1 -1
- package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableIcon.d.ts +1 -1
- package/src/AdaptableState/Common/AdaptablePredicate.js +7 -3
- package/src/AdaptableState/Common/AggregationColumns.d.ts +3 -3
- package/src/AdaptableState/Common/DataUpdateConfig.d.ts +4 -4
- package/src/AdaptableState/TeamSharingState.d.ts +1 -1
- package/src/Api/CustomSortApi.d.ts +6 -1
- package/src/Api/Implementation/ColumnApiImpl.d.ts +3 -0
- package/src/Api/Implementation/ColumnApiImpl.js +12 -3
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -1
- package/src/Api/Implementation/CustomSortApiImpl.js +5 -1
- package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/LayoutApiImpl.js +85 -2
- package/src/Api/Implementation/LayoutHelpers.d.ts +2 -2
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +12 -0
- package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ShortcutApiImpl.js +4 -0
- package/src/Api/Implementation/StyledColumnApiImpl.d.ts +1 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +4 -0
- package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -1
- package/src/Api/Internal/AdaptableInternalApi.js +3 -3
- package/src/Api/Internal/ColumnFilterInternalApi.js +1 -1
- package/src/Api/Internal/LayoutInternalApi.d.ts +5 -0
- package/src/Api/Internal/LayoutInternalApi.js +25 -0
- package/src/Api/LayoutApi.d.ts +7 -1
- package/src/Api/ScheduleApi.d.ts +5 -0
- package/src/Api/ShortcutApi.d.ts +5 -0
- package/src/Api/StyledColumnApi.d.ts +5 -0
- package/src/Redux/ActionsReducers/CommentsRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/DashboardRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/InternalRedux.d.ts +6 -6
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +3 -9
- package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +6 -6
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +16 -16
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +3 -0
- package/src/Strategy/FormatColumnModule.js +2 -2
- package/src/Strategy/Utilities/Alert/getAlertPreviewViewItems.js +1 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +2 -1
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +4 -3
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +4 -4
- package/src/Utilities/Extensions/StringExtensions.d.ts +1 -1
- package/src/Utilities/Helpers/StyleHelper.d.ts +1 -1
- package/src/Utilities/Services/Interface/IAlertService.d.ts +2 -2
- package/src/Utilities/createAgStatusPanelComponent.d.ts +1 -1
- package/src/Utilities/getObjectTagsViewItems.js +1 -1
- package/src/Utilities/runIfNotResolvedIn.d.ts +1 -1
- package/src/View/AdaptableComputedCSSVarsContext.js +6 -1
- package/src/View/AdaptablePopover/index.d.ts +1 -1
- package/src/View/AdaptablePopover/index.js +3 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +7 -8
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +7 -6
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +4 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +3 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +9 -9
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +3 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +4 -4
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +4 -4
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +2 -2
- package/src/View/AdaptableWizardView/Wizard.js +1 -1
- package/src/View/AdaptableWizardView/index.js +1 -4
- package/src/View/Alert/ActiveAlertsPanelItemLabel.js +2 -2
- package/src/View/Alert/AlertStatusSubPanel.js +1 -1
- package/src/View/Alert/AlertViewPanel.js +2 -2
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +3 -20
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +15 -13
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +25 -22
- package/src/View/Alert/Wizard/AlertMessageWizardSection.js +12 -16
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +3 -1
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +7 -7
- package/src/View/Alert/Wizard/AlertRulesWizardSection.js +2 -2
- package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
- package/src/View/Alert/Wizard/AlertTypeWizardSection.js +1 -1
- package/src/View/Alert/Wizard/AlertWizard.js +8 -8
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +11 -8
- package/src/View/BulkUpdate/BulkUpdatePopup.js +11 -11
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -4
- package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +8 -8
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +4 -4
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +4 -5
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +0 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +8 -14
- package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.d.ts +2 -0
- package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.js +6 -0
- package/src/View/CellSummary/CellSummaryPopup.js +1 -1
- package/src/View/CellSummary/CellSummaryViewPanel.js +5 -5
- package/src/View/Charting/ChartingStatusBarPopover.js +4 -4
- package/src/View/Charting/ChartingViewPanel.js +7 -7
- package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +4 -4
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +3 -3
- package/src/View/Charting/useChartingElements.d.ts +1 -1
- package/src/View/Charting/useChartingElements.js +1 -1
- package/src/View/ColumnInfo/ColumnInfo.js +14 -19
- package/src/View/ColumnInfo/ColumnInfoPopup.js +2 -2
- package/src/View/Comments/CommentsEditor.js +14 -17
- package/src/View/Comments/CommentsPopup.js +6 -6
- package/src/View/Components/AdaptableDateInput/index.js +1 -1
- package/src/View/Components/AdaptableInput/index.js +3 -2
- package/src/View/Components/AdaptableObjectCollection/index.d.ts +2 -2
- package/src/View/Components/AdaptableObjectCollection/index.js +9 -5
- package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +10 -10
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +2 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +20 -18
- package/src/View/Components/AdaptableObjectRow/index.d.ts +1 -0
- package/src/View/Components/AdaptableObjectRow/index.js +4 -5
- package/src/View/Components/Buttons/ButtonBase/index.d.ts +1 -2
- package/src/View/Components/Buttons/ButtonBase/index.js +5 -4
- package/src/View/Components/Buttons/ButtonClear.js +2 -1
- package/src/View/Components/Buttons/ButtonFunction.js +2 -1
- package/src/View/Components/Buttons/ButtonNew.d.ts +11 -1
- package/src/View/Components/Buttons/ButtonNew.js +2 -1
- package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -1
- package/src/View/Components/Buttons/EntityListActionButtons.js +14 -43
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +3 -2
- package/src/View/Components/CellPopup/index.d.ts +1 -1
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +4 -3
- package/src/View/Components/ColumnFilter/ColumnFilter.d.ts +4 -2
- package/src/View/Components/ColumnFilter/ColumnFilter.js +26 -23
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +6 -6
- package/src/View/Components/ColumnFilter/FloatingFilter.js +6 -6
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.d.ts +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
- package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +6 -6
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +9 -1
- package/src/View/Components/ColumnSelector/index.js +1 -3
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +10 -10
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +11 -15
- package/src/View/Components/EntityRulesEditor/index.d.ts +5 -2
- package/src/View/Components/EntityRulesEditor/index.js +11 -10
- package/src/View/Components/ExpressionWizard.js +4 -4
- package/src/View/Components/FilterForm/Waiting.d.ts +4 -2
- package/src/View/Components/FilterForm/Waiting.js +3 -2
- package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -0
- package/src/View/Components/Forms/AdaptableFormControlTextClear.js +4 -8
- package/src/View/Components/ModuleValueSelector/index.js +2 -2
- package/src/View/Components/NewScopeComponent.js +20 -20
- package/src/View/Components/Panels/PanelFooter.js +5 -5
- package/src/View/Components/Panels/PanelToolPanel/index.d.ts +1 -1
- package/src/View/Components/Panels/PanelToolPanel/index.js +9 -11
- package/src/View/Components/Panels/PanelWithButton.d.ts +3 -5
- package/src/View/Components/Panels/PanelWithButton.js +7 -6
- package/src/View/Components/Panels/PanelWithImage.d.ts +2 -3
- package/src/View/Components/Panels/PanelWithImage.js +10 -12
- package/src/View/Components/Panels/PanelWithRow.d.ts +0 -1
- package/src/View/Components/Panels/PanelWithRow.js +3 -3
- package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +1 -1
- package/src/View/Components/Panels/PanelWithTwoButtons.js +3 -3
- package/src/View/Components/Popups/AdaptableLoadingScreen.js +3 -5
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -3
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -2
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +4 -4
- package/src/View/Components/Popups/AdaptablePopup/Navigation.js +63 -31
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +2 -0
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +8 -9
- package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.js +6 -11
- package/src/View/Components/Popups/AdaptablePopupConfirmation.js +6 -6
- package/src/View/Components/Popups/AdaptablePopupPrompt.js +7 -7
- package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +9 -11
- package/src/View/Components/Popups/FormPopups/FormPopups.js +3 -3
- package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +1 -1
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +3 -3
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
- package/src/View/Components/PredicateEditor/PredicateEditor.js +7 -7
- package/src/View/Components/PreviewResultsPanel.d.ts +1 -0
- package/src/View/Components/PreviewResultsPanel.js +6 -13
- package/src/View/Components/RangesComponent.js +19 -19
- package/src/View/Components/ReorderDraggable/index.d.ts +2 -0
- package/src/View/Components/ReorderDraggable/index.js +8 -7
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +4 -7
- package/src/View/Components/Selectors/ColumnSelector.js +1 -1
- package/src/View/Components/Selectors/ColumnSelectorOld.js +1 -1
- package/src/View/Components/StyleComponent.d.ts +2 -26
- package/src/View/Components/StyleComponent.js +186 -190
- package/src/View/Components/TagValueSelector/index.d.ts +1 -1
- package/src/View/Components/TagValueSelector/index.js +4 -3
- package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +13 -12
- package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +13 -10
- package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -2
- package/src/View/Components/ValueSelector/index.d.ts +9 -33
- package/src/View/Components/ValueSelector/index.js +38 -61
- package/src/View/Components/WizardSummaryPage.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +4 -7
- package/src/View/CustomSort/Wizard/CustomSortWizard.js +5 -5
- package/src/View/Dashboard/Dashboard.js +3 -3
- package/src/View/Dashboard/DashboardPopup.js +27 -23
- package/src/View/Dashboard/DashboardViewPanel.js +4 -4
- package/src/View/Dashboard/PinnedDashboard.js +3 -3
- package/src/View/Dashboard/PinnedToolbarsSelector.js +3 -2
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +10 -10
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +7 -7
- package/src/View/DataImport/DataImportPopup.js +2 -2
- package/src/View/DataImport/DataImportWizard/DataImportWizard.js +2 -2
- package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +6 -6
- package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +4 -4
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadFileSection.js +1 -1
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +4 -4
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +1 -1
- package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +4 -4
- package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
- package/src/View/DataSet/DataSetViewPanel.js +2 -2
- package/src/View/Export/ExportDestinationPicker.js +2 -1
- package/src/View/Export/ExportViewPanel.js +4 -4
- package/src/View/Export/ReportFormatSelector.js +3 -3
- package/src/View/Export/ReportListItem.js +1 -1
- package/src/View/Export/ReportNameSelector.js +3 -3
- package/src/View/Export/Wizard/NewReportWizard.js +4 -4
- package/src/View/Export/Wizard/ReportColumnTypeWizard.js +8 -8
- package/src/View/Export/Wizard/ReportColumnsWizardSection.js +11 -11
- package/src/View/Export/Wizard/ReportNameWizardSection.js +4 -4
- package/src/View/Export/Wizard/ReportRowTypeWizard.js +8 -8
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +9 -9
- package/src/View/Export/Wizard/ReportSettingsWizard.js +3 -3
- package/src/View/Filter/FilterSummary.d.ts +1 -1
- package/src/View/Filter/FilterSummary.js +1 -1
- package/src/View/Filter/FilterViewPanel.d.ts +2 -2
- package/src/View/Filter/FilterViewPanel.js +4 -4
- package/src/View/FlashingCell/FlashingCellStyle.d.ts +2 -2
- package/src/View/FlashingCell/FlashingCellStyle.js +4 -4
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +11 -11
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +4 -4
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +5 -5
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +59 -64
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -4
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +28 -28
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +8 -8
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +11 -11
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +4 -4
- package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -6
- package/src/View/GridFilter/GridFilterPopup.js +31 -40
- package/src/View/GridFilter/GridFilterPopupUI/index.d.ts +68 -0
- package/src/View/GridFilter/GridFilterPopupUI/index.js +42 -0
- package/src/View/GridFilter/GridFilterViewPanel.js +14 -21
- package/src/View/GridFilter/NamedQuerySelector.js +7 -7
- package/src/View/GridFilter/useGridFilterExpressionEditor.d.ts +5 -1
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +2 -1
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.d.ts +3 -1
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +4 -3
- package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +5 -9
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -7
- package/src/View/KeyHint.d.ts +5 -2
- package/src/View/KeyHint.js +4 -2
- package/src/View/Layout/EditCurrentLayoutButton.js +1 -1
- package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +1 -1
- package/src/View/Layout/LayoutViewPanel.d.ts +3 -3
- package/src/View/Layout/LayoutViewPanel.js +2 -2
- package/src/View/Layout/TransposedPopup.js +4 -4
- package/src/View/Layout/Wizard/LayoutWizard.js +18 -18
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +6 -8
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +213 -138
- package/src/View/Layout/Wizard/sections/FilterSection.js +6 -7
- package/src/View/Layout/Wizard/sections/GridFilterSection.js +2 -2
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +15 -18
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +4 -6
- package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +3 -5
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +8 -10
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +15 -17
- package/src/View/Layout/Wizard/sections/SettingsSection.js +8 -8
- package/src/View/Layout/Wizard/sections/SortSection.js +5 -7
- package/src/View/License/LicenseWatermark.js +1 -1
- package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
- package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +3 -3
- package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +3 -3
- package/src/View/Note/NoteEditor.js +5 -1
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +5 -5
- package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +4 -4
- package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.js +2 -2
- package/src/View/QuickSearch/QuickSearchInput.d.ts +1 -0
- package/src/View/QuickSearch/QuickSearchInput.js +5 -5
- package/src/View/QuickSearch/QuickSearchPopup.js +17 -16
- package/src/View/QuickSearch/QuickSearchViewPanel.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +4 -4
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +4 -4
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleWizard.js +5 -5
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +5 -8
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +5 -5
- package/src/View/SmartEdit/SmartEditPopup.d.ts +1 -1
- package/src/View/SmartEdit/SmartEditPopup.js +8 -8
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -1
- package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
- package/src/View/StateManagement/StateManagementPopup.js +12 -12
- package/src/View/StateManagement/StateManagementViewPanel.js +1 -1
- package/src/View/StateManagement/handleExportState.d.ts +1 -1
- package/src/View/StatusBar/AdaptableStatusBar.js +1 -1
- package/src/View/StatusBar/StatusBarPanel.d.ts +2 -2
- package/src/View/StatusBar/StatusBarPanel.js +5 -4
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +9 -9
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +51 -48
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +8 -8
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +18 -18
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +3 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +5 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +4 -6
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +14 -15
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +4 -4
- package/src/View/SystemStatus/SystemStatusEntityRow.js +3 -3
- package/src/View/SystemStatus/SystemStatusPopup.js +2 -2
- package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -2
- package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +2 -2
- package/src/View/SystemStatus/SystemStatusViewPanel.js +2 -2
- package/src/View/TeamSharing/SharedEntityDependencies.js +4 -4
- package/src/View/TeamSharing/SharedEntityObjectView.js +8 -8
- package/src/View/Theme/ThemeEditor.js +6 -31
- package/src/View/Theme/ThemeEditorWindow.js +2 -2
- package/src/View/Theme/ThemeField.js +1 -2
- package/src/View/Theme/ThemePopup.d.ts +1 -1
- package/src/View/Theme/ThemePopup.js +4 -4
- package/src/View/Theme/ThemeStatusbar.js +1 -1
- package/src/View/Theme/VariantSelector.js +1 -1
- package/src/View/UIHelper.d.ts +1 -1
- package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +1 -1
- package/src/View/Wizard/ObjectTagsWizardSection.js +2 -4
- package/src/View/Wizard/OnePageAdaptableWizard.d.ts +10 -4
- package/src/View/Wizard/OnePageAdaptableWizard.js +14 -16
- package/src/View/Wizard/OnePageWizards.d.ts +10 -4
- package/src/View/Wizard/OnePageWizards.js +50 -64
- package/src/View/Wizard/TypeRadio.js +3 -3
- package/src/View/Wizard/WizardLegend.js +3 -4
- package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
- package/src/View/Wizard/useKeyboardNavigation.js +7 -4
- package/src/View/renderWithAdaptableContext.js +2 -5
- package/src/agGrid/AdaptableAgGrid.d.ts +2 -3
- package/src/agGrid/AdaptableAgGrid.js +92 -14
- package/src/agGrid/AdaptableFilterHandler.d.ts +5 -7
- package/src/agGrid/AdaptableFilterHandler.js +12 -28
- package/src/agGrid/AgGridColumnAdapter.d.ts +6 -1
- package/src/agGrid/AgGridColumnAdapter.js +26 -5
- package/src/agGrid/AgGridFilterAdapter.js +1 -1
- package/src/agGrid/AgGridFloatingFilterAdapter.js +1 -21
- package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -5
- package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -5
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +9 -8
- package/src/components/Card/index.d.ts +25 -0
- package/src/components/Card/index.js +45 -0
- package/src/components/CheckBox/index.d.ts +3 -4
- package/src/components/CheckBox/index.js +7 -9
- package/src/components/CodeBlock/index.d.ts +6 -2
- package/src/components/CodeBlock/index.js +3 -3
- package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/src/components/ColorPicker/ColorPicker.js +10 -9
- package/src/components/Dashboard/Dashboard.js +1 -1
- package/src/components/Dashboard/DashboardToolbar.js +5 -6
- package/src/components/Datepicker/index.d.ts +2 -2
- package/src/components/Datepicker/index.js +9 -8
- package/src/components/Dialog/index.d.ts +8 -2
- package/src/components/Dialog/index.js +7 -7
- package/src/components/DragAndDropContext/DragAndDropContext.d.ts +1 -1
- package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
- package/src/components/DragAndDropContext/ModuleManager.js +9 -6
- package/src/components/DragAndDropContext/TabList.d.ts +2 -1
- package/src/components/DragAndDropContext/TabList.js +44 -24
- package/src/components/DragAndDropContext/UnusedPanel.js +7 -15
- package/src/components/Dropdown/index.d.ts +2 -2
- package/src/components/Dropdown/index.js +5 -6
- package/src/components/DropdownButton/index.d.ts +2 -22
- package/src/components/DropdownButton/index.js +7 -4
- package/src/components/EmptyContent/index.d.ts +2 -2
- package/src/components/EmptyContent/index.js +4 -4
- package/src/components/ErrorBox/index.d.ts +2 -2
- package/src/components/ErrorBox/index.js +3 -3
- package/src/components/ExpressionEditor/BaseEditorInput.js +65 -48
- package/src/components/ExpressionEditor/DataTableEditor.js +6 -10
- package/src/components/ExpressionEditor/EditorButton.js +0 -2
- package/src/components/ExpressionEditor/EditorContext.d.ts +0 -1
- package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +5 -5
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +9 -11
- package/src/components/ExpressionEditor/NamedQueryContext.d.ts +0 -1
- package/src/components/ExpressionEditor/NamedQueryEditor.js +6 -16
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.d.ts +2 -10
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +6 -6
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +7 -7
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -14
- package/src/components/ExpressionEditor/index.d.ts +1 -0
- package/src/components/ExpressionEditor/index.js +29 -34
- package/src/components/FieldWrap/index.d.ts +9 -2
- package/src/components/FieldWrap/index.js +3 -8
- package/src/components/FileDroppable/FileDroppableState.d.ts +0 -1
- package/src/components/FileDroppable/index.d.ts +3 -2
- package/src/components/FileDroppable/index.js +3 -3
- package/src/components/Flex.d.ts +15 -1
- package/src/components/Flex.js +40 -1
- package/src/components/FlexWithFooter.d.ts +3 -2
- package/src/components/FlexWithFooter.js +4 -4
- package/src/components/FormLayout/index.d.ts +5 -1
- package/src/components/FormLayout/index.js +1 -1
- package/src/components/HelpBlock/index.d.ts +2 -2
- package/src/components/HelpBlock/index.js +4 -3
- package/src/components/IconSelector/IconSelector.js +8 -8
- package/src/components/Input/index.d.ts +1 -2
- package/src/components/Input/index.js +6 -3
- package/src/components/Modal/Backdrop.js +1 -1
- package/src/components/Modal/index.d.ts +3 -2
- package/src/components/Modal/index.js +3 -3
- package/src/components/OverlayTrigger/index.js +3 -0
- package/src/components/Panel/index.d.ts +22 -6
- package/src/components/Panel/index.js +54 -15
- package/src/components/PopupWithFooter.js +3 -4
- package/src/components/ProgressIndicator/ProgressIndicator.js +3 -3
- package/src/components/Radio/index.d.ts +25 -3
- package/src/components/Radio/index.js +18 -20
- package/src/components/Select/Select.js +33 -21
- package/src/components/SelectList.js +1 -1
- package/src/components/SelectableList/index.d.ts +1 -1
- package/src/components/SimpleButton/index.d.ts +4 -6
- package/src/components/SimpleButton/index.js +55 -23
- package/src/components/SizedContainer/index.d.ts +3 -1
- package/src/components/SizedContainer/index.js +1 -1
- package/src/components/StylePreview.d.ts +3 -1
- package/src/components/StylePreview.js +4 -3
- package/src/components/Tabs/index.d.ts +3 -3
- package/src/components/Tabs/index.js +26 -9
- package/src/components/Tag/Tag.d.ts +14 -2
- package/src/components/Tag/Tag.js +10 -3
- package/src/components/Tag/index.d.ts +1 -1
- package/src/components/Tag/index.js +1 -1
- package/src/components/Textarea/index.d.ts +5 -1
- package/src/components/Textarea/index.js +4 -3
- package/src/components/Toggle/Toggle.js +48 -3
- package/src/components/Toggle/ToggleGroup.d.ts +7 -0
- package/src/components/Toggle/ToggleGroup.js +57 -2
- package/src/components/ToggleButton/index.d.ts +2 -2
- package/src/components/ToggleButton/index.js +25 -7
- package/src/components/Tree/TreeDropdown/index.js +10 -15
- package/src/components/Tree/TreeList/index.js +5 -9
- package/src/components/WarningBox/index.d.ts +6 -2
- package/src/components/WarningBox/index.js +3 -3
- package/src/components/WizardPanel/index.d.ts +6 -1
- package/src/components/WizardPanel/index.js +2 -2
- package/src/components/icons/DefaultIcon.d.ts +1 -0
- package/src/components/icons/index.d.ts +1 -1
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/inspector.d.ts +3 -0
- package/src/components/icons/inspector.js +5 -0
- package/src/components/twUtils.d.ts +7 -0
- package/src/components/twUtils.js +13 -0
- package/src/components/utils/useDraggable.d.ts +0 -1
- package/src/devTools/index.d.ts +23 -23
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.d.ts +1 -0
- package/src/layout-manager/src/LMEmitter.js +1 -0
- package/src/layout-manager/src/index.js +2 -2
- package/src/migration/VersionUpgrade20.js +6 -5
- package/src/twMerge.d.ts +1 -0
- package/src/twMerge.js +11 -0
- package/themes/dark.css +35 -9
- package/themes/light.css +0 -2
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/base.css +0 -5602
- package/base.css.map +0 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.d.ts +0 -3
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +0 -6
- package/src/View/Alert/AlertsPanel.d.ts +0 -14
- package/src/View/Alert/AlertsPanel.js +0 -38
- package/src/View/Alert/Wizard/AlertSelectQueryWizard.d.ts +0 -19
- package/src/View/Alert/Wizard/AlertSelectQueryWizard.js +0 -54
- package/src/View/Components/FilterForm/ListBoxMenu.d.ts +0 -14
- package/src/View/Components/FilterForm/ListBoxMenu.js +0 -28
- package/src/View/Components/ListBox/DualListBoxEditor.d.ts +0 -22
- package/src/View/Components/ListBox/DualListBoxEditor.js +0 -515
- package/src/View/Components/ListBox/ListBoxFilterSortComponent.d.ts +0 -13
- package/src/View/Components/ListBox/ListBoxFilterSortComponent.js +0 -26
- package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.d.ts +0 -15
- package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.js +0 -31
- package/src/View/Layout/Wizard/Components/ColumnLabels.d.ts +0 -9
- package/src/View/Layout/Wizard/Components/ColumnLabels.js +0 -52
- package/src/View/Wizard/AdaptableWizard.d.ts +0 -56
- package/src/View/Wizard/AdaptableWizard.js +0 -168
- package/src/components/ContainerProps.d.ts +0 -30
- package/src/components/ContainerProps.js +0 -1
- package/src/components/EllipsisContainer/index.d.ts +0 -13
- package/src/components/EllipsisContainer/index.js +0 -100
- package/src/components/List/GridList/index.d.ts +0 -10
- package/src/components/List/GridList/index.js +0 -23
- package/src/components/List/ListGroup/index.d.ts +0 -6
- package/src/components/List/ListGroup/index.js +0 -9
- package/src/components/List/ListGroupItem/index.d.ts +0 -11
- package/src/components/List/ListGroupItem/index.js +0 -16
- package/src/components/utils/useTheme.d.ts +0 -32
- package/src/components/utils/useTheme.js +0 -2
- package/src/theme.d.ts +0 -32
- package/src/theme.js +0 -49
- package/themes/dark.css.map +0 -1
- 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",
|
|
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",
|
|
118
|
+
icon ? (React.createElement(Flex, { flexDirection: "column", alignItems: "center", className: "twa:m-2" }, icon)) : null)) : null,
|
|
119
119
|
msg,
|
|
120
120
|
form));
|
|
121
121
|
};
|
package/src/components/Flex.d.ts
CHANGED
|
@@ -1 +1,15 @@
|
|
|
1
|
-
|
|
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 {};
|
package/src/components/Flex.js
CHANGED
|
@@ -1 +1,40 @@
|
|
|
1
|
-
|
|
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 '
|
|
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 '
|
|
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",
|
|
13
|
-
React.createElement(Flex, { flexDirection: "column",
|
|
14
|
-
footer ? (React.createElement(Flex, {
|
|
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
|
|
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 '
|
|
3
|
-
import
|
|
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:
|
|
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(),
|
|
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, {
|
|
29
|
-
React.createElement(Box, {
|
|
30
|
-
React.createElement(AdaptableInput, { value: query, onChange: (event) => setQuery(event.target.value ?? ''),
|
|
31
|
-
React.createElement(Flex, {
|
|
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
|
|
47
|
-
(props.clearable ?? true) && (React.createElement(SimpleButton, { disabled: !props.value, className: "ab-IconSelector__clear-button
|
|
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
|
-
}
|
|
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 '
|
|
3
|
-
import
|
|
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:
|
|
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 {
|
|
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:
|
|
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<
|
|
10
|
+
export type PanelProps = HTMLProps<HTMLDivElement> & {
|
|
8
11
|
header?: ReactNode | string;
|
|
9
12
|
children?: ReactNode;
|
|
10
13
|
headerProps?: HeaderProps;
|
|
11
|
-
bodyProps?:
|
|
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
|
-
} &
|
|
17
|
-
declare const
|
|
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
|
|
3
|
-
import
|
|
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
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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,
|
|
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
|
-
|
|
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 '
|
|
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",
|
|
65
|
+
{ alignItems: "center", flexDirection: "column", className: "ab-ProgressIndicator-body twa:p-3" },
|
|
66
66
|
React.createElement(LoaderSpinner, null),
|
|
67
|
-
React.createElement(Box, {
|
|
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
|
|
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:
|
|
23
|
-
orientation:
|
|
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:
|
|
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:
|
|
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,
|
|
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:
|
|
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;
|