@adaptabletools/adaptable-cjs 23.0.0-canary.6 → 23.0.0-canary.8

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 (396) hide show
  1. package/icons/sort-asc.svg +1 -1
  2. package/index.css +828 -263
  3. package/package.json +1 -1
  4. package/src/AdaptableOptions/DataSetOptions.d.ts +26 -2
  5. package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -1
  6. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +42 -10
  7. package/src/AdaptableState/Common/AdaptableFormat.d.ts +7 -0
  8. package/src/AdaptableState/Common/AdaptableMessageType.d.ts +1 -1
  9. package/src/AdaptableState/Common/Enums.d.ts +1 -1
  10. package/src/AdaptableState/Common/Enums.js +1 -1
  11. package/src/AdaptableState/StyledColumnState.d.ts +8 -850
  12. package/src/AdaptableState/StyledColumnState.js +0 -10
  13. package/src/AdaptableState/StyledColumns/BadgeStyle.d.ts +143 -0
  14. package/src/AdaptableState/StyledColumns/BadgeStyle.js +12 -0
  15. package/src/AdaptableState/StyledColumns/BulletChartStyle.d.ts +147 -0
  16. package/src/AdaptableState/StyledColumns/Common/BarChartCellText.d.ts +60 -0
  17. package/src/AdaptableState/StyledColumns/Common/BarChartCellText.js +7 -0
  18. package/src/AdaptableState/StyledColumns/Common/BarChartMarker.d.ts +24 -0
  19. package/src/AdaptableState/StyledColumns/Common/BarChartMarker.js +6 -0
  20. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.d.ts +13 -0
  21. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +7 -0
  22. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.d.ts +79 -0
  23. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +10 -0
  24. package/src/AdaptableState/StyledColumns/GradientStyle.d.ts +48 -0
  25. package/src/AdaptableState/StyledColumns/GradientStyle.js +2 -0
  26. package/src/AdaptableState/StyledColumns/IconStyle.d.ts +158 -0
  27. package/src/AdaptableState/StyledColumns/IconStyle.js +2 -0
  28. package/src/AdaptableState/StyledColumns/PercentBarStyle.d.ts +32 -0
  29. package/src/AdaptableState/StyledColumns/PercentBarStyle.js +2 -0
  30. package/src/AdaptableState/StyledColumns/RangeBarStyle.d.ts +155 -0
  31. package/src/AdaptableState/StyledColumns/RangeBarStyle.js +2 -0
  32. package/src/AdaptableState/StyledColumns/RatingStyle.d.ts +111 -0
  33. package/src/AdaptableState/StyledColumns/RatingStyle.js +2 -0
  34. package/src/AdaptableState/StyledColumns/SparklineStyle.d.ts +21 -0
  35. package/src/AdaptableState/StyledColumns/SparklineStyle.js +2 -0
  36. package/src/Api/ColumnScopeApi.d.ts +1 -1
  37. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +1 -1
  38. package/src/Api/Internal/AlertInternalApi.js +1 -1
  39. package/src/Api/Internal/DataSetInternalApi.d.ts +3 -0
  40. package/src/Api/Internal/DataSetInternalApi.js +73 -13
  41. package/src/Api/Internal/StyledColumnInternalApi.d.ts +3 -1
  42. package/src/Redux/Store/AdaptableStore.js +6 -4
  43. package/src/Strategy/CalculatedColumnModule.js +1 -0
  44. package/src/Strategy/ColumnFilterModule.js +1 -0
  45. package/src/Strategy/FlashingCellModule.js +6 -2
  46. package/src/Strategy/FormatColumnModule.js +1 -1
  47. package/src/Strategy/FreeTextColumnModule.js +38 -28
  48. package/src/Strategy/Interface/IModule.d.ts +3 -1
  49. package/src/Strategy/LayoutModule.js +15 -66
  50. package/src/Strategy/StyledColumnModule.js +11 -28
  51. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.d.ts +1 -0
  52. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -0
  53. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.d.ts +2 -0
  54. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.js +17 -1
  55. package/src/Strategy/Utilities/Export/getExportRowsViewItems.d.ts +1 -0
  56. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +5 -1
  57. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.d.ts +11 -0
  58. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.js +111 -0
  59. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.d.ts +48 -0
  60. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +177 -0
  61. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.d.ts +1 -0
  62. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -0
  63. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.d.ts +26 -0
  64. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.js +97 -0
  65. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +3 -5
  66. package/src/Utilities/Defaults/DefaultSettingsPanel.js +48 -42
  67. package/src/Utilities/Helpers/FormatHelper.js +3 -0
  68. package/src/Utilities/Helpers/IconStylePresets.d.ts +1 -1
  69. package/src/Utilities/Helpers/ScheduleHelper.js +2 -0
  70. package/src/Utilities/Helpers/StyleHelper.d.ts +18 -0
  71. package/src/Utilities/Helpers/StyleHelper.js +30 -1
  72. package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +3 -1
  73. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +6 -4
  74. package/src/Utilities/Helpers/barChartCellText.d.ts +63 -0
  75. package/src/Utilities/Helpers/barChartCellText.js +333 -0
  76. package/src/Utilities/Helpers/percentBarPreviewHelper.d.ts +2 -1
  77. package/src/Utilities/Helpers/percentBarPreviewHelper.js +3 -8
  78. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +3 -0
  79. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +19 -0
  80. package/src/Utilities/getScopeViewItems.js +2 -0
  81. package/src/Utilities/wizardSelection.d.ts +10 -0
  82. package/src/Utilities/wizardSelection.js +22 -0
  83. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +2 -2
  84. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +2 -2
  85. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +3 -3
  86. package/src/View/Alert/AlertViewPanel.js +2 -2
  87. package/src/View/Alert/Utilities/getAlertButtonStyle.js +7 -4
  88. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.d.ts +0 -1
  89. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +1 -6
  90. package/src/View/Alert/Wizard/AlertButtonsEditor.js +159 -125
  91. package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
  92. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +1 -2
  93. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +1 -1
  94. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +4 -5
  95. package/src/View/Alert/Wizard/AlertScheduledWizardSection.d.ts +1 -1
  96. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +1 -2
  97. package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +1 -1
  98. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +30 -7
  99. package/src/View/Alert/Wizard/AlertWizard.js +12 -4
  100. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +2 -1
  101. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -14
  102. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  103. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -6
  104. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  105. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +1 -2
  106. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  107. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +29 -3
  108. package/src/View/CellSummary/CellSummaryViewPanel.js +4 -4
  109. package/src/View/Charting/ShowChartButton.js +8 -8
  110. package/src/View/ColumnInfo/ColumnInfo.js +21 -1
  111. package/src/View/Components/AdaptableObjectCollection/index.js +2 -3
  112. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +3 -2
  113. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +7 -6
  114. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.d.ts +2 -0
  115. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.js +6 -0
  116. package/src/View/Components/AdaptableObjectRow/index.js +2 -2
  117. package/src/View/Components/Buttons/ButtonBase/index.js +2 -3
  118. package/src/View/Components/Buttons/ButtonNew.d.ts +2 -0
  119. package/src/View/Components/Buttons/ButtonNew.js +1 -1
  120. package/src/View/Components/Buttons/EntityListActionButtons.js +3 -3
  121. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
  122. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +9 -9
  123. package/src/View/Components/ColumnFilter/ColumnFilter.js +15 -3
  124. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +2 -2
  125. package/src/View/Components/ColumnSelector/index.d.ts +12 -0
  126. package/src/View/Components/ColumnSelector/index.js +30 -6
  127. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +2 -2
  128. package/src/View/Components/ModuleValueSelector/index.js +2 -1
  129. package/src/View/Components/NewScopeComponent.js +3 -8
  130. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +5 -4
  131. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +4 -4
  132. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +3 -3
  133. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +3 -2
  134. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +38 -28
  135. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +3 -4
  136. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -3
  137. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.d.ts +11 -0
  138. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.js +5 -0
  139. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +3 -1
  140. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +27 -28
  141. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -1
  142. package/src/View/Components/RangesComponent.d.ts +4 -5
  143. package/src/View/Components/RangesComponent.js +95 -66
  144. package/src/View/Components/ReorderDraggable/index.js +2 -3
  145. package/src/View/Components/Selectors/BulkUpdateValueSelector.d.ts +0 -2
  146. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +3 -3
  147. package/src/View/Components/StyleComponent.js +30 -63
  148. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +9 -6
  149. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +3 -13
  150. package/src/View/Components/ToolPanel/ToolPanelPopup.js +5 -80
  151. package/src/View/Components/ToolPanel/ToolPanelPopupSections.d.ts +17 -0
  152. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +81 -0
  153. package/src/View/Components/ValueSelector/index.d.ts +29 -0
  154. package/src/View/Components/ValueSelector/index.js +112 -29
  155. package/src/View/Components/wizardColumnListStyles.d.ts +10 -0
  156. package/src/View/Components/wizardColumnListStyles.js +13 -0
  157. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
  158. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +4 -6
  159. package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -2
  160. package/src/View/Dashboard/DashboardPopup.d.ts +1 -11
  161. package/src/View/Dashboard/DashboardPopup.js +3 -67
  162. package/src/View/Dashboard/DashboardPopupSections.d.ts +20 -0
  163. package/src/View/Dashboard/DashboardPopupSections.js +73 -0
  164. package/src/View/Dashboard/PinnedToolbarsSelector.js +2 -2
  165. package/src/View/DataChangeHistory/DataChangeHistoryPopup.d.ts +1 -6
  166. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +8 -20
  167. package/src/View/DataChangeHistory/DataChangeHistoryTable.d.ts +8 -0
  168. package/src/View/DataChangeHistory/DataChangeHistoryTable.js +99 -0
  169. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +5 -3
  170. package/src/View/DataChangeHistory/buildActionColumnButton.js +33 -41
  171. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.d.ts +15 -0
  172. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.js +46 -0
  173. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  174. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +32 -19
  175. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
  176. package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
  177. package/src/View/Export/ExportDestinationPicker.js +4 -5
  178. package/src/View/Export/ExportSchedulesTab.js +3 -4
  179. package/src/View/Export/ExportViewPanel.js +2 -2
  180. package/src/View/Export/Wizard/ReportColumnsWizardSection.d.ts +2 -1
  181. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +2 -7
  182. package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +2 -1
  183. package/src/View/Export/Wizard/ReportRowsWizardSection.js +2 -5
  184. package/src/View/Filter/FilterViewPanel.js +1 -1
  185. package/src/View/FlashingCell/FlashingCellStyle.d.ts +4 -2
  186. package/src/View/FlashingCell/FlashingCellStyle.js +5 -3
  187. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts +2 -1
  188. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +5 -9
  189. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.d.ts +9 -0
  190. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.js +10 -0
  191. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
  192. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +5 -1
  193. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +0 -5
  194. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +3 -8
  195. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +1 -2
  196. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  197. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +101 -44
  198. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +0 -1
  199. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -6
  200. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +55 -15
  201. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
  202. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +2 -3
  203. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +5 -9
  204. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +4 -9
  205. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +3 -2
  206. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -2
  207. package/src/View/GridFilter/GridFilterPopupUI/index.js +3 -2
  208. package/src/View/GridFilter/GridFilterViewPanel.js +5 -5
  209. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +2 -3
  210. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
  211. package/src/View/Layout/LayoutViewPanel.js +2 -2
  212. package/src/View/Layout/Wizard/LayoutWizard.js +24 -28
  213. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +13 -1
  214. package/src/View/Layout/Wizard/sections/AggregationsSection.js +77 -33
  215. package/src/View/Layout/Wizard/sections/ColumnsSection.d.ts +4 -1
  216. package/src/View/Layout/Wizard/sections/ColumnsSection.js +154 -275
  217. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +4 -1
  218. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +146 -143
  219. package/src/View/Layout/Wizard/sections/PivotColumnsSection.d.ts +5 -2
  220. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +22 -10
  221. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.d.ts +4 -1
  222. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +21 -10
  223. package/src/View/Layout/Wizard/sections/RowGroupingSection.d.ts +5 -2
  224. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +23 -12
  225. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +7 -3
  226. package/src/View/Layout/Wizard/sections/RowSummarySection.js +130 -104
  227. package/src/View/Layout/Wizard/sections/SortSection.d.ts +12 -2
  228. package/src/View/Layout/Wizard/sections/SortSection.js +43 -18
  229. package/src/View/Layout/Wizard/sections/columnLayoutCards.d.ts +20 -0
  230. package/src/View/Layout/Wizard/sections/columnLayoutCards.js +167 -0
  231. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.d.ts +30 -0
  232. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +216 -0
  233. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.d.ts +8 -0
  234. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.js +72 -0
  235. package/src/View/Layout/Wizard/sections/layoutWizardColumns.d.ts +11 -0
  236. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +57 -0
  237. package/src/View/License/LicenseWatermark.js +1 -1
  238. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.d.ts +1 -1
  239. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -2
  240. package/src/View/Note/NoteEditor.js +2 -2
  241. package/src/View/QuickSearch/QuickSearchPopup.js +2 -3
  242. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
  243. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +1 -1
  244. package/src/View/SmartEdit/SmartEditPopup.js +2 -2
  245. package/src/View/SmartEdit/SmartEditViewPanel.js +2 -2
  246. package/src/View/StateManagement/StateManagementPopup.js +1 -1
  247. package/src/View/StateManagement/components/ExportDropdown.d.ts +2 -2
  248. package/src/View/StateManagement/components/ExportDropdown.js +12 -13
  249. package/src/View/StatusBar/StatusBarPanel.js +2 -2
  250. package/src/View/StatusBar/StatusBarPopup.js +33 -5
  251. package/src/View/StatusBar/statusBarPanelHelpers.d.ts +2 -0
  252. package/src/View/StatusBar/statusBarPanelHelpers.js +11 -0
  253. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +3 -1
  254. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +13 -10
  255. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +2 -2
  256. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +143 -119
  257. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +1 -3
  258. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +7 -13
  259. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +2 -1
  260. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.d.ts +5 -0
  261. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.js +54 -0
  262. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +2 -0
  263. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +28 -6
  264. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +76 -70
  265. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +2 -1
  266. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +83 -38
  267. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +172 -75
  268. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +2 -1
  269. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.d.ts +1 -1
  270. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +31 -45
  271. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextLayoutEditor.d.ts +9 -0
  272. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextLayoutEditor.js +40 -0
  273. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextPreview.d.ts +23 -0
  274. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextPreview.js +62 -0
  275. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +1 -1
  276. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.d.ts +2 -1
  277. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +1 -1
  278. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +3 -2
  279. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +2 -1
  280. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +13 -17
  281. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.d.ts +2 -1
  282. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +5 -5
  283. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +2 -2
  284. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +13 -6
  285. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +11 -17
  286. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +2 -1
  287. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +26 -57
  288. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +93 -6
  289. package/src/View/UIHelper.d.ts +0 -2
  290. package/src/View/UIHelper.js +8 -24
  291. package/src/View/Wizard/CollapsibleWizardCard.d.ts +68 -0
  292. package/src/View/Wizard/CollapsibleWizardCard.js +90 -0
  293. package/src/View/Wizard/OnePageWizards.js +6 -6
  294. package/src/View/Wizard/SummaryColorTag.d.ts +24 -0
  295. package/src/View/Wizard/SummaryColorTag.js +79 -0
  296. package/src/View/Wizard/WizardTypeSelection.d.ts +34 -0
  297. package/src/View/Wizard/WizardTypeSelection.js +40 -0
  298. package/src/View/Wizard/rowGroupSummaryTags.d.ts +18 -0
  299. package/src/View/Wizard/rowGroupSummaryTags.js +21 -0
  300. package/src/View/Wizard/scopeSummaryTags.d.ts +6 -0
  301. package/src/View/Wizard/scopeSummaryTags.js +38 -0
  302. package/src/agGrid/AgGridAdapter.js +0 -5
  303. package/src/agGrid/AgGridColumnAdapter.js +3 -2
  304. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +4 -7
  305. package/src/agGrid/cellRenderers/BadgeRenderer.js +7 -5
  306. package/src/agGrid/cellRenderers/BulletChartRenderer.js +43 -42
  307. package/src/agGrid/cellRenderers/IconRenderer.d.ts +2 -1
  308. package/src/agGrid/cellRenderers/IconRenderer.js +13 -11
  309. package/src/agGrid/cellRenderers/PercentBarRenderer.js +24 -96
  310. package/src/agGrid/cellRenderers/RangeBarRenderer.js +49 -46
  311. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -1
  312. package/src/components/Card/index.js +5 -7
  313. package/src/components/CheckBox/index.js +2 -3
  314. package/src/components/CodeBlock/index.js +2 -3
  315. package/src/components/ColorPicker/ColorPicker.d.ts +1 -0
  316. package/src/components/ColorPicker/ColorPicker.js +8 -6
  317. package/src/components/ColorPicker/OptionalColorPicker.d.ts +12 -0
  318. package/src/components/ColorPicker/OptionalColorPicker.js +31 -0
  319. package/src/components/ColorPicker/index.d.ts +1 -0
  320. package/src/components/ColorPicker/index.js +1 -0
  321. package/src/components/Combobox/comboboxUtils.d.ts +1 -0
  322. package/src/components/Combobox/index.js +19 -18
  323. package/src/components/Dashboard/DashboardManager.js +2 -4
  324. package/src/components/Dialog/index.js +4 -4
  325. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +5 -0
  326. package/src/components/DragAndDropContext/DragAndDropContext.js +4 -1
  327. package/src/components/DragAndDropContext/ModuleManager.d.ts +15 -3
  328. package/src/components/DragAndDropContext/ModuleManager.js +43 -4
  329. package/src/components/DragAndDropContext/TabList.d.ts +11 -4
  330. package/src/components/DragAndDropContext/TabList.js +52 -38
  331. package/src/components/DragAndDropContext/UnusedPanel.d.ts +4 -3
  332. package/src/components/DragAndDropContext/UnusedPanel.js +13 -9
  333. package/src/components/DragAndDropContext/dragScope.d.ts +6 -0
  334. package/src/components/DragAndDropContext/dragScope.js +34 -0
  335. package/src/components/DragAndDropContext/types.d.ts +7 -0
  336. package/src/components/DropdownButton/index.d.ts +33 -25
  337. package/src/components/DropdownButton/index.js +24 -158
  338. package/src/components/EmptyContent/index.js +2 -3
  339. package/src/components/ErrorBox/index.js +2 -3
  340. package/src/components/ExpressionEditor/BaseEditorInput.js +3 -3
  341. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +3 -3
  342. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -9
  343. package/src/components/FieldWrap/index.js +2 -3
  344. package/src/components/Flex.js +2 -2
  345. package/src/components/FormLayout/index.d.ts +1 -1
  346. package/src/components/HelpBlock/index.js +3 -4
  347. package/src/components/IconSelector/IconSelector.d.ts +8 -0
  348. package/src/components/IconSelector/IconSelector.js +13 -8
  349. package/src/components/IconSelector/index.d.ts +1 -0
  350. package/src/components/IconSelector/index.js +3 -0
  351. package/src/components/Modal/index.js +2 -2
  352. package/src/components/NewSelect/index.js +11 -1
  353. package/src/components/Panel/index.js +7 -7
  354. package/src/components/Radio/index.d.ts +1 -1
  355. package/src/components/Radio/index.js +8 -6
  356. package/src/components/SimpleButton/index.js +7 -7
  357. package/src/components/StylePreview.js +2 -3
  358. package/src/components/Tabs/index.js +4 -4
  359. package/src/components/Tag/Tag.d.ts +16 -0
  360. package/src/components/Tag/Tag.js +16 -5
  361. package/src/components/Tag/columnScopeTagHelpers.d.ts +8 -0
  362. package/src/components/Tag/columnScopeTagHelpers.js +12 -0
  363. package/src/components/Tag/index.d.ts +1 -1
  364. package/src/components/Tag/index.js +3 -1
  365. package/src/components/Textarea/index.js +2 -3
  366. package/src/components/Toggle/Toggle.d.ts +2 -0
  367. package/src/components/Toggle/Toggle.js +14 -7
  368. package/src/components/Toggle/ToggleGroup.js +2 -2
  369. package/src/components/ToggleButton/index.js +4 -5
  370. package/src/components/Tree/TreeDropdown/index.js +3 -5
  371. package/src/components/WarningBox/index.js +2 -3
  372. package/src/components/icons/sort-asc.js +1 -1
  373. package/src/components/ui/button.d.ts +2 -2
  374. package/src/components/ui/combobox.d.ts +3 -1
  375. package/src/components/ui/combobox.js +2 -2
  376. package/src/components/ui/input-group.d.ts +1 -1
  377. package/src/components/ui/select.js +3 -2
  378. package/src/components/ui/textarea.js +1 -1
  379. package/src/env.js +2 -2
  380. package/src/layout-manager/src/index.js +7 -3
  381. package/src/metamodel/adaptable.metamodel.d.ts +80 -14
  382. package/src/metamodel/adaptable.metamodel.js +1 -1
  383. package/src/migration/VersionUpgrade23.d.ts +27 -31
  384. package/src/migration/VersionUpgrade23.js +110 -29
  385. package/src/types.d.ts +13 -2
  386. package/tsconfig.cjs.tsbuildinfo +1 -1
  387. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +0 -17
  388. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +0 -295
  389. package/src/components/DropdownButton/DropdownButtonItem.d.ts +0 -12
  390. package/src/components/DropdownButton/renderItem.d.ts +0 -14
  391. package/src/components/DropdownButton/renderItem.js +0 -14
  392. package/src/components/DropdownButton/useExpanded.d.ts +0 -24
  393. package/src/components/DropdownButton/useExpanded.js +0 -59
  394. package/src/components/NewDropdownButton/index.d.ts +0 -27
  395. package/src/components/NewDropdownButton/index.js +0 -28
  396. /package/src/{components/DropdownButton/DropdownButtonItem.js → AdaptableState/StyledColumns/BulletChartStyle.js} +0 -0
@@ -9,10 +9,16 @@ const DragAndDropContext_1 = require("./DragAndDropContext");
9
9
  const TabList_1 = require("./TabList");
10
10
  const UnusedPanel_1 = require("./UnusedPanel");
11
11
  const Flex_1 = require("../Flex");
12
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
13
12
  const Card_1 = require("../Card");
13
+ const utils_1 = require("../../lib/utils");
14
14
  const ModuleManager = (props) => {
15
- const { availableItems, tabs, onTabsChange, tabsTitle, disabled, unusedPanelTitle, dragItemText, permittedActions, className, } = props;
15
+ const { availableItems, tabs, onTabsChange, tabsTitle, disabled, unusedPanelTitle, dragItemText, unusedItemGroups, unusedItemGroupsLayout = 'row', permittedActions, className, layout = 'tabs', dragScope = 'default', } = props;
16
+ const unusedListIds = React.useMemo(() => {
17
+ if (unusedItemGroups?.length) {
18
+ return unusedItemGroups.map((group, index) => group.listId ?? `UNUSED-${index}`);
19
+ }
20
+ return [DragAndDropContext_1.DEFAULT_UNUSED_LIST_ID];
21
+ }, [unusedItemGroups]);
16
22
  const contextValue = React.useMemo(() => {
17
23
  const preparedPermittedAction = {
18
24
  createTab: true,
@@ -24,8 +30,10 @@ const ModuleManager = (props) => {
24
30
  return {
25
31
  permittedActions: preparedPermittedAction,
26
32
  availableItems: props.availableItems,
33
+ dragScope,
34
+ unusedListIds,
27
35
  };
28
- }, [props.availableItems, props.permittedActions]);
36
+ }, [props.availableItems, props.permittedActions, dragScope, unusedListIds, permittedActions]);
29
37
  const allowedItems = React.useMemo(() => {
30
38
  let result = availableItems.map((t) => t.Id);
31
39
  if (props.filterOutSelectedItems) {
@@ -61,6 +69,37 @@ const ModuleManager = (props) => {
61
69
  };
62
70
  }));
63
71
  };
64
- return ((0, jsx_runtime_1.jsx)(dnd_1.DragDropProvider, { children: (0, jsx_runtime_1.jsx)(DragAndDropContext_1.DragAndDropContext.Provider, { value: contextValue, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: (0, clsx_1.default)('ab-ModuleSelector twa:flex-1', className), children: [(0, jsx_runtime_1.jsx)(UnusedPanel_1.UnusedPanel, { title: unusedPanelTitle, disabled: disabled, items: allowedItems, dragItemText: dragItemText }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { className: "twa:flex-1 twa:m-2 ab-ModuleSelector-UsedPanel", children: [(0, jsx_runtime_1.jsx)(Card_1.Card.Title, { border: false, children: tabsTitle }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:px-2", children: (0, jsx_runtime_1.jsx)(TabList_1.TabList, { disabled: disabled, tabs: tabs, onTabsChange: onTabsChange, onRemoveTab: handleRemoveTab, onRemoveToolbar: handleRemoveToolbar, onChangeTabName: handleChangeTabName, onNewTab: contextValue.permittedActions.createTab ? handleTabAdd : undefined }) })] })] }) }) }));
72
+ const renderUnusedItemGroups = () => {
73
+ const groupsLayout = unusedItemGroups.length > 1 ? unusedItemGroupsLayout : 'column';
74
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [dragItemText ? ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:pb-2 twa:text-sm twa:opacity-80", children: dragItemText })) : null, (0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: groupsLayout === 'row' ? 'row' : 'column', className: (0, utils_1.cn)('twa:gap-2 ab-ModuleSelector__UnusedGroups', {
75
+ 'ab-ModuleSelector__UnusedGroups--row': groupsLayout === 'row',
76
+ }), children: unusedItemGroups.map((group, index) => {
77
+ const listId = group.listId ?? `UNUSED-${index}`;
78
+ return ((0, jsx_runtime_1.jsxs)(Card_1.Card, { className: (0, utils_1.cn)('twa:m-0 ab-ModuleSelector__UnusedGroup', {
79
+ 'twa:flex-1 twa:min-w-0': groupsLayout === 'row',
80
+ }), children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { border: false, className: "twa:py-2", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-sm twa:font-medium", children: group.title }), group.help ? ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal", children: group.help })) : null] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:px-0 twa:pt-0", children: (0, jsx_runtime_1.jsx)(UnusedPanel_1.UnusedPanel, { listId: listId, disabled: disabled, items: group.items }) })] }, listId));
81
+ }) })] }));
82
+ };
83
+ const renderAvailableItemPanels = (options) => {
84
+ const includeOuterPadding = options?.includeOuterPadding ?? true;
85
+ if (unusedItemGroups?.length) {
86
+ const content = renderUnusedItemGroups();
87
+ if (!includeOuterPadding) {
88
+ return content;
89
+ }
90
+ return (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:px-2 twa:mb-2", children: content });
91
+ }
92
+ return ((0, jsx_runtime_1.jsx)(UnusedPanel_1.UnusedPanel, { title: unusedPanelTitle, disabled: disabled, items: allowedItems, dragItemText: dragItemText }));
93
+ };
94
+ const renderUsedPanelCard = () => ((0, jsx_runtime_1.jsxs)(Card_1.Card, { className: "twa:m-0 ab-ModuleSelector-UsedPanel", children: [tabsTitle ? (0, jsx_runtime_1.jsx)(Card_1.Card.Title, { border: false, children: tabsTitle }) : null, (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:px-2", children: (0, jsx_runtime_1.jsx)(TabList_1.TabList, { variant: layout === 'rows' ? 'rows' : 'columns', disabled: disabled, tabs: tabs, onTabsChange: onTabsChange, onRemoveTab: handleRemoveTab, onRemoveToolbar: handleRemoveToolbar, onChangeTabName: handleChangeTabName, onNewTab: contextValue.permittedActions.createTab ? handleTabAdd : undefined }) })] }));
95
+ if (layout === 'strip') {
96
+ const stripTab = tabs[0] ?? { Name: '', Items: [] };
97
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragDropProvider, { children: (0, jsx_runtime_1.jsx)(DragAndDropContext_1.DragAndDropContext.Provider, { value: contextValue, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: (0, utils_1.cn)('ab-ModuleSelector ab-ModuleSelector--strip', className), children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:pb-1", children: renderAvailableItemPanels() }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:px-2 twa:pb-1", children: (0, jsx_runtime_1.jsx)(TabList_1.ToolbarList, { compact: true, orientation: "horizontal", disabled: disabled, toolbars: stripTab.Items ?? [], tabIndex: 0, tabs: tabs, onTabsChange: onTabsChange, onRemove: (toolbarIndex) => handleRemoveToolbar(0, toolbarIndex) }) })] }) }) }));
98
+ }
99
+ if (layout === 'rows') {
100
+ const alignUsedPanelWithGroups = Boolean(unusedItemGroups?.length);
101
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragDropProvider, { children: (0, jsx_runtime_1.jsx)(DragAndDropContext_1.DragAndDropContext.Provider, { value: contextValue, children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "column", className: (0, utils_1.cn)('ab-ModuleSelector ab-ModuleSelector--rows', className), children: alignUsedPanelWithGroups ? ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:px-2 twa:flex twa:flex-col twa:gap-2", children: [renderAvailableItemPanels({ includeOuterPadding: false }), renderUsedPanelCard()] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:pb-1", children: renderAvailableItemPanels() }), renderUsedPanelCard()] })) }) }) }));
102
+ }
103
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragDropProvider, { children: (0, jsx_runtime_1.jsx)(DragAndDropContext_1.DragAndDropContext.Provider, { value: contextValue, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: (0, utils_1.cn)('ab-ModuleSelector twa:flex-1', className), children: [renderAvailableItemPanels(), (0, jsx_runtime_1.jsxs)(Card_1.Card, { className: "twa:flex-1 twa:m-0 ab-ModuleSelector-UsedPanel", children: [tabsTitle ? (0, jsx_runtime_1.jsx)(Card_1.Card.Title, { border: false, children: tabsTitle }) : null, (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:px-2", children: (0, jsx_runtime_1.jsx)(TabList_1.TabList, { disabled: disabled, tabs: tabs, onTabsChange: onTabsChange, onRemoveTab: handleRemoveTab, onRemoveToolbar: handleRemoveToolbar, onChangeTabName: handleChangeTabName, onNewTab: contextValue.permittedActions.createTab ? handleTabAdd : undefined }) })] })] }) }) }));
65
104
  };
66
105
  exports.ModuleManager = ModuleManager;
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { BaseModuleTab } from './types';
3
- export declare function TabList({ tabs, onTabsChange, onRemoveTab, onRemoveToolbar, onChangeTabName, disabled, onNewTab, }: {
3
+ export type TabListVariant = 'columns' | 'rows';
4
+ export declare function TabList({ tabs, onTabsChange, onRemoveTab, onRemoveToolbar, onChangeTabName, disabled, onNewTab, variant, }: {
4
5
  disabled: boolean;
5
6
  tabs: BaseModuleTab[];
6
7
  onTabsChange: (tabs: BaseModuleTab[]) => void;
@@ -8,8 +9,9 @@ export declare function TabList({ tabs, onTabsChange, onRemoveTab, onRemoveToolb
8
9
  onRemoveToolbar: (tabIndex: number, toolbarIndex: number) => void;
9
10
  onChangeTabName: (tabIndex: number, tabName: string) => void;
10
11
  onNewTab?: () => void;
12
+ variant?: TabListVariant;
11
13
  }): React.JSX.Element;
12
- export declare function TabItem({ tab, tabId, tabIndex, tabs, onTabsChange, onRemove, onRemoveToolbar, onChangeTabName, disabled, }: {
14
+ export declare function TabItem({ tab, tabId, tabIndex, tabs, onTabsChange, onRemove, onRemoveToolbar, onChangeTabName, disabled, variant, }: {
13
15
  tab: BaseModuleTab;
14
16
  tabId: string;
15
17
  tabIndex: number;
@@ -19,17 +21,22 @@ export declare function TabItem({ tab, tabId, tabIndex, tabs, onTabsChange, onRe
19
21
  onRemove: () => void;
20
22
  onRemoveToolbar: (toolbarIndex: number) => void;
21
23
  onChangeTabName: (tabName: string) => void;
24
+ variant?: TabListVariant;
22
25
  }): React.JSX.Element;
23
- export declare function ToolbarList({ toolbars, tabIndex, tabs, onTabsChange, onRemove, disabled, }: {
26
+ export declare function ToolbarList({ toolbars, tabIndex, tabs, onTabsChange, onRemove, disabled, orientation, compact, embedded, }: {
24
27
  toolbars: string[];
25
28
  tabIndex: number;
26
29
  tabs: BaseModuleTab[];
27
30
  onTabsChange: (tabs: BaseModuleTab[]) => void;
28
31
  disabled: boolean;
29
32
  onRemove: (toolbarIndex: number) => void;
33
+ orientation?: 'vertical' | 'horizontal';
34
+ compact?: boolean;
35
+ embedded?: boolean;
30
36
  }): React.JSX.Element;
31
- export declare function ToolbarItem({ toolbar, onRemove, disabled, }: {
37
+ export declare function ToolbarItem({ toolbar, onRemove, disabled, compact, }: {
32
38
  disabled: boolean;
33
39
  toolbar: string;
34
40
  onRemove: () => void;
41
+ compact?: boolean;
35
42
  }): React.JSX.Element;
@@ -11,9 +11,13 @@ const dnd_1 = require("../dnd");
11
11
  const icons_1 = require("../icons");
12
12
  const SimpleButton_1 = tslib_1.__importDefault(require("../SimpleButton"));
13
13
  const DragAndDropContext_1 = require("./DragAndDropContext");
14
+ const dragScope_1 = require("./dragScope");
14
15
  const Flex_1 = require("../Flex");
15
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
16
- function TabList({ tabs, onTabsChange, onRemoveTab, onRemoveToolbar, onChangeTabName, disabled, onNewTab, }) {
16
+ const utils_1 = require("../../lib/utils");
17
+ function TabList({ tabs, onTabsChange, onRemoveTab, onRemoveToolbar, onChangeTabName, disabled, onNewTab, variant = 'columns', }) {
18
+ const isRows = variant === 'rows';
19
+ const { dragScope } = React.useContext(DragAndDropContext_1.DragAndDropContext);
20
+ const tabsListId = (0, dragScope_1.scopeListId)(dragScope, 'TABS');
17
21
  const tabIdsRef = React.useRef(new WeakMap());
18
22
  const nextTabIdRef = React.useRef(0);
19
23
  const getTabStableId = React.useCallback((tab) => {
@@ -25,18 +29,22 @@ function TabList({ tabs, onTabsChange, onRemoveTab, onRemoveToolbar, onChangeTab
25
29
  tabIdsRef.current.set(tab, newId);
26
30
  return newId;
27
31
  }, []);
28
- return ((0, jsx_runtime_1.jsx)(dnd_1.DragList, { dragListId: "TABS", orientation: "horizontal", dragStrategy: "proxy", preserveDragSpace: true, onDragProxyMove: dnd_1.defaultDragProxyMove, onDrop: (sortedIndexes) => {
32
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragList, { dragListId: tabsListId, orientation: isRows ? 'vertical' : 'horizontal', dragStrategy: "proxy", preserveDragSpace: true, onDragProxyMove: dnd_1.defaultDragProxyMove, onDrop: (sortedIndexes) => {
29
33
  const newTabs = sortedIndexes.map((i) => tabs[i]);
30
34
  onTabsChange(newTabs);
31
- }, children: (listDomProps) => ((0, jsx_runtime_1.jsxs)("div", { ...listDomProps, className: (0, clsx_1.default)('ab-ModuleSelector__TabList twa:flex twa:flex-1 twa:overflow-auto', listDomProps.className), "data-name": "dashboard-tabs", children: [tabs.map((tab, tabIndex) => {
35
+ }, children: (listDomProps) => ((0, jsx_runtime_1.jsxs)("div", { ...listDomProps, className: (0, utils_1.cn)('ab-ModuleSelector__TabList twa:flex', isRows
36
+ ? 'ab-ModuleSelector__TabList--rows twa:flex-col twa:gap-2'
37
+ : 'twa:flex-1 twa:overflow-auto', listDomProps.className), "data-name": "dashboard-tabs", children: [tabs.map((tab, tabIndex) => {
32
38
  const tabId = getTabStableId(tab);
33
- return ((0, jsx_runtime_1.jsx)(TabItem, { disabled: disabled, tabId: tabId, tabIndex: tabIndex, tabs: tabs, onTabsChange: onTabsChange, tab: tab, onRemove: () => onRemoveTab(tabIndex), onRemoveToolbar: (toolbarIndex) => onRemoveToolbar(tabIndex, toolbarIndex), onChangeTabName: (tabName) => onChangeTabName(tabIndex, tabName) }, tabIndex));
34
- }), !disabled && onNewTab ? ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", justifyContent: "center", className: "ab-ModuleSelector__TabItem twa:min-w-32 twa:border-dashed twa:cursor-pointer twa:bg-primarylight twa:text-primary-foreground twa:hover:bg-primary", onClick: onNewTab, children: (0, jsx_runtime_1.jsxs)("div", { className: "twa:text-8 twa:flex twa:flex-col twa:gap-4 twa:items-center twa:italic", children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { name: "plus", size: 32 }), "Click to add tab"] }) })) : null] })) }));
39
+ return ((0, jsx_runtime_1.jsx)(TabItem, { disabled: disabled, variant: variant, tabId: tabId, tabIndex: tabIndex, tabs: tabs, onTabsChange: onTabsChange, tab: tab, onRemove: () => onRemoveTab(tabIndex), onRemoveToolbar: (toolbarIndex) => onRemoveToolbar(tabIndex, toolbarIndex), onChangeTabName: (tabName) => onChangeTabName(tabIndex, tabName) }, tabIndex));
40
+ }), !disabled && onNewTab ? (isRows ? ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2 twa:rounded-standard twa:border twa:border-dashed twa:cursor-pointer twa:px-3 twa:py-2 twa:text-sm twa:italic twa:hover:bg-primarylight", onClick: onNewTab, children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { name: "plus", size: 16 }), "Add tab"] })) : ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", justifyContent: "center", className: "ab-ModuleSelector__TabItem twa:min-w-32 twa:border-dashed twa:cursor-pointer twa:bg-primarylight twa:text-primary-foreground twa:hover:bg-primary", onClick: onNewTab, children: (0, jsx_runtime_1.jsxs)("div", { className: "twa:text-8 twa:flex twa:flex-col twa:gap-4 twa:items-center twa:italic", children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { name: "plus", size: 32 }), "Click to add tab"] }) }))) : null] })) }));
35
41
  }
36
- function TabItem({ tab, tabId, tabIndex, tabs, onTabsChange, onRemove, onRemoveToolbar, onChangeTabName, disabled, }) {
42
+ function TabItem({ tab, tabId, tabIndex, tabs, onTabsChange, onRemove, onRemoveToolbar, onChangeTabName, disabled, variant = 'columns', }) {
37
43
  const context = React.useContext(DragAndDropContext_1.DragAndDropContext);
38
44
  const isDragDisabled = disabled || !context.permittedActions.dragAndDropTab;
39
- return ((0, jsx_runtime_1.jsx)(dnd_1.DragList.DraggableItem, { dragListId: "TABS", id: tabId, children: (itemDomProps) => {
45
+ const isRows = variant === 'rows';
46
+ const tabsListId = (0, dragScope_1.scopeListId)(context.dragScope, 'TABS');
47
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragList.DraggableItem, { dragListId: tabsListId, id: (0, dragScope_1.scopeDragId)(context.dragScope, tabId), children: (itemDomProps) => {
40
48
  const { onPointerDown, ...restDomProps } = itemDomProps;
41
49
  let showHeader = true;
42
50
  if (tab.Name === '' &&
@@ -44,57 +52,63 @@ function TabItem({ tab, tabId, tabIndex, tabs, onTabsChange, onRemove, onRemoveT
44
52
  !context.permittedActions.deleteTab) {
45
53
  showHeader = false;
46
54
  }
47
- return ((0, jsx_runtime_1.jsxs)("div", { ...restDomProps, className: (0, clsx_1.default)('twa:bg-background', 'twa:select-none', 'ab-ModuleSelector__TabItem twa:min-w-32', restDomProps.className), "data-name": "dashboard-tab", children: [showHeader ? ((0, jsx_runtime_1.jsxs)("div", { className: "ab-ModuleSelector__TabItem__header", children: [(0, jsx_runtime_1.jsx)("div", { ...(!isDragDisabled ? { onPointerDown } : {}), style: context.permittedActions.dragAndDropTab ? {} : { display: 'none' }, children: (0, jsx_runtime_1.jsx)(icons_1.Icon, { name: "drag" }) }), context.permittedActions.editTabName ? ((0, jsx_runtime_1.jsx)("input", { className: "ab-ModuleSelector__TabItem__header-input", type: "text", disabled: disabled, value: tab.Name, onChange: (event) => {
55
+ return ((0, jsx_runtime_1.jsxs)("div", { ...restDomProps, className: (0, utils_1.cn)('twa:bg-background', 'twa:select-none', 'ab-ModuleSelector__TabItem', isRows ? 'ab-ModuleSelector__TabItem--row' : 'twa:min-w-32', restDomProps.className), "data-name": "dashboard-tab", children: [showHeader ? ((0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)('ab-ModuleSelector__TabItem__header', isRows && 'ab-ModuleSelector__TabItem__header--row'), children: [(0, jsx_runtime_1.jsx)("div", { ...(!isDragDisabled ? { onPointerDown } : {}), style: context.permittedActions.dragAndDropTab ? {} : { display: 'none' }, children: (0, jsx_runtime_1.jsx)(icons_1.Icon, { name: "drag" }) }), context.permittedActions.editTabName ? ((0, jsx_runtime_1.jsx)("input", { className: "ab-ModuleSelector__TabItem__header-input", type: "text", disabled: disabled, value: tab.Name, placeholder: isRows ? 'Tab name' : undefined, onChange: (event) => {
48
56
  onChangeTabName(event.target.value);
49
- } })) : (tab.Name), context.permittedActions.deleteTab && ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { disabled: disabled, icon: "delete", variant: "text", onClick: onRemove }))] })) : null, (0, jsx_runtime_1.jsx)(ToolbarList, { disabled: disabled, toolbars: tab.Items, tabIndex: tabIndex, tabs: tabs, onTabsChange: onTabsChange, onRemove: onRemoveToolbar })] }));
57
+ } })) : (tab.Name), context.permittedActions.deleteTab && ((0, jsx_runtime_1.jsx)(SimpleButton_1.default, { disabled: disabled, icon: "delete", variant: "text", onClick: onRemove }))] })) : null, (0, jsx_runtime_1.jsx)(ToolbarList, { disabled: disabled, toolbars: tab.Items, tabIndex: tabIndex, tabs: tabs, onTabsChange: onTabsChange, onRemove: onRemoveToolbar, compact: isRows, embedded: isRows, orientation: isRows ? 'horizontal' : 'vertical' })] }));
50
58
  } }));
51
59
  }
52
- function ToolbarList({ toolbars, tabIndex, tabs, onTabsChange, onRemove, disabled, }) {
60
+ function ToolbarList({ toolbars, tabIndex, tabs, onTabsChange, onRemove, disabled, orientation = 'vertical', compact = false, embedded = false, }) {
61
+ const { dragScope, unusedListIds } = React.useContext(DragAndDropContext_1.DragAndDropContext);
62
+ const listId = String(tabIndex);
63
+ const scopedListId = (0, dragScope_1.scopeListId)(dragScope, listId);
53
64
  const acceptDropsFrom = React.useMemo(() => {
54
- const sources = ['UNUSED'];
65
+ const sources = unusedListIds.map((unusedListId) => (0, dragScope_1.scopeListId)(dragScope, unusedListId));
55
66
  tabs.forEach((_, i) => {
56
67
  if (i !== tabIndex)
57
- sources.push(String(i));
68
+ sources.push((0, dragScope_1.scopeListId)(dragScope, String(i)));
58
69
  });
59
70
  return sources;
60
- }, [tabIndex, tabs]);
61
- return ((0, jsx_runtime_1.jsx)(dnd_1.DragList, { dragListId: String(tabIndex), orientation: "vertical", acceptDropsFrom: [...acceptDropsFrom, String(tabIndex)], onDragProxyMove: dnd_1.defaultDragProxyMove,
71
+ }, [dragScope, unusedListIds, tabIndex, tabs]);
72
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragList, { dragListId: scopedListId, orientation: orientation, acceptDropsFrom: [...acceptDropsFrom, scopedListId], onDragProxyMove: dnd_1.defaultDragProxyMove,
62
73
  // this is called when reordering inside the same list
63
74
  onDrop: (sortedIndexes) => {
64
75
  const newItems = sortedIndexes.map((i) => toolbars[i]);
65
76
  onTabsChange(tabs.map((t, i) => (i === tabIndex ? { ...t, Items: newItems } : t)));
66
77
  }, shouldAcceptDrop: ({ dragItem, dragSourceListId }) => {
67
- const dragItemId = dragItem.id;
68
- // if the tab contains an item with the same id, don't accept the drop
69
- if (dragSourceListId != String(tabIndex) && tabs[tabIndex].Items.includes(dragItemId)) {
70
- return false;
78
+ const toolbarId = (0, dragScope_1.unscopeDragId)(dragItem.id);
79
+ const sourceTabIndex = (0, dragScope_1.tabIndexFromScopedListId)(dragSourceListId);
80
+ if (sourceTabIndex === tabIndex) {
81
+ return true;
71
82
  }
72
- return true;
83
+ return !toolbars.includes(toolbarId);
73
84
  },
74
85
  // this is called when dropping an item from a different list
75
- onAcceptDrop: ({ dragItemId, dragSourceListId, dropIndex }) => {
76
- const newTabs = tabs.map((tab, i) => {
77
- let items = [...tab.Items];
78
- if (dragSourceListId !== 'UNUSED' && i === Number(dragSourceListId)) {
79
- items = items.filter((item) => item !== dragItemId);
80
- }
81
- if (i === tabIndex) {
82
- items.splice(dropIndex, 0, dragItemId);
86
+ onAcceptDrop: ({ dragItemId, dropIndex }) => {
87
+ const toolbarId = (0, dragScope_1.unscopeDragId)(dragItemId);
88
+ onTabsChange(tabs.map((tab, i) => {
89
+ if (i !== tabIndex || tab.Items.includes(toolbarId)) {
90
+ return tab;
83
91
  }
92
+ const items = [...tab.Items];
93
+ items.splice(Math.min(dropIndex, items.length), 0, toolbarId);
84
94
  return { ...tab, Items: items };
85
- });
86
- onTabsChange(newTabs);
87
- }, children: (listDomProps, context) => ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { ...listDomProps, className: (0, clsx_1.default)('ab-ModuleSelector__ToolbarList', listDomProps.className, {
88
- 'twa:bg-(--ab-dashboard-tab-drop-target__background) ab-ModuleSelector__ToolbarList--accent-drop': context.dropTargetListId === String(tabIndex) && context.status === 'accepted',
89
- 'twa:bg-error/30 ab-ModuleSelector__ToolbarList--reject-drop': context.dropTargetListId === String(tabIndex) && context.status === 'rejected',
90
- }), "data-name": "dashboard-toolbar-drop-target", children: [toolbars?.map((toolbar, toolbarIndex) => ((0, jsx_runtime_1.jsx)(ToolbarItem, { disabled: disabled, toolbar: toolbar, onRemove: () => onRemove(toolbarIndex) }, toolbar))), toolbars.length === 0 ? ((0, jsx_runtime_1.jsx)("div", { className: "ab-ModuleSelector__ToolbarList__placeholder twa:flex twa:items-center twa:justify-center twa:h-full twa:italic twa:text-center", children: "Drag and drop toolbar here" })) : null] })) }));
95
+ }));
96
+ }, children: (listDomProps, context) => ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { ...listDomProps, className: (0, utils_1.cn)('ab-ModuleSelector__ToolbarList', listDomProps.className, {
97
+ 'ab-ModuleSelector__ToolbarList--compact': compact,
98
+ 'ab-ModuleSelector__ToolbarList--embedded': embedded,
99
+ 'ab-ModuleSelector__ToolbarList--horizontal': orientation === 'horizontal',
100
+ 'twa:bg-(--ab-dashboard-tab-drop-target__background) ab-ModuleSelector__ToolbarList--accent-drop': context.dropTargetListId === scopedListId && context.status === 'accepted',
101
+ 'twa:bg-error/30 ab-ModuleSelector__ToolbarList--reject-drop': context.dropTargetListId === scopedListId && context.status === 'rejected',
102
+ }), "data-name": "dashboard-toolbar-drop-target", children: [toolbars?.map((toolbar, toolbarIndex) => ((0, jsx_runtime_1.jsx)(ToolbarItem, { disabled: disabled, compact: compact, toolbar: toolbar, onRemove: () => onRemove(toolbarIndex) }, toolbar))), toolbars.length === 0 ? ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('ab-ModuleSelector__ToolbarList__placeholder twa:italic twa:text-center', compact
103
+ ? 'twa:flex twa:items-center twa:min-h-[2.5rem] twa:px-2 twa:text-sm'
104
+ : 'twa:flex twa:items-center twa:justify-center twa:h-full'), children: "Drag and drop toolbar here" })) : null] })) }));
91
105
  }
92
- function ToolbarItem({ toolbar, onRemove, disabled, }) {
93
- const { availableItems } = React.useContext(DragAndDropContext_1.DragAndDropContext);
106
+ function ToolbarItem({ toolbar, onRemove, disabled, compact = false, }) {
107
+ const { availableItems, dragScope } = React.useContext(DragAndDropContext_1.DragAndDropContext);
94
108
  const currentItem = availableItems.find((t) => t.Id === toolbar);
95
109
  const title = currentItem ? currentItem.Title : toolbar;
96
- return ((0, jsx_runtime_1.jsx)(dnd_1.DragList.DraggableItem, { id: toolbar, children: (itemDomProps) => {
110
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragList.DraggableItem, { id: (0, dragScope_1.scopeDragId)(dragScope, toolbar), children: (itemDomProps) => {
97
111
  const { onPointerDown, ...restDomProps } = itemDomProps;
98
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { ...restDomProps, ...(disabled ? {} : { onPointerDown }), className: (0, clsx_1.default)('ab-ModuleSelector__ToolbarItem twa:mb-1 twa:pl-1 twa:text-3', 'twa:bg-primarylight', restDomProps.className), alignItems: "center", children: [(0, jsx_runtime_1.jsx)("div", { className: "twa:flex-1", children: title }), (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { disabled: disabled, icon: "close", variant: "text", className: "twa:p-1", onClick: onRemove })] }));
112
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { ...restDomProps, ...(disabled ? {} : { onPointerDown }), className: (0, utils_1.cn)('ab-ModuleSelector__ToolbarItem ab-ModuleSelector__DraggableChip twa:text-3 twa:rounded-standard twa:gap-1', compact ? 'twa:px-2 twa:py-1 twa:shrink-0' : 'twa:mb-1 twa:pl-1 twa:pr-0', restDomProps.className), alignItems: "center", children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { name: "drag", className: "twa:shrink-0 twa:opacity-60", size: 14 }), (0, jsx_runtime_1.jsx)("div", { className: "twa:flex-1 twa:min-w-0", children: title }), (0, jsx_runtime_1.jsx)(SimpleButton_1.default, { disabled: disabled, icon: "close", variant: "text", className: "twa:p-1", onClick: onRemove })] }));
99
113
  } }));
100
114
  }
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
- export declare function UnusedPanel({ items, disabled, title, dragItemText, }: {
3
- title: string;
2
+ export declare function UnusedPanel({ items, disabled, title, dragItemText, listId, }: {
3
+ title?: string;
4
4
  items: string[];
5
5
  disabled: boolean;
6
- dragItemText: string;
6
+ dragItemText?: string;
7
+ listId?: string;
7
8
  }): React.JSX.Element;
@@ -6,23 +6,27 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const dnd_1 = require("../dnd");
8
8
  const DragAndDropContext_1 = require("./DragAndDropContext");
9
+ const dragScope_1 = require("./dragScope");
9
10
  const Flex_1 = require("../Flex");
10
- const clsx_1 = tslib_1.__importDefault(require("clsx"));
11
- function UnusedPanel({ items, disabled, title, dragItemText, }) {
12
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "ab-ModuleSelector__UnusedPanel twa:mb-2 twa:pb-1", "data-name": "unusedpanel-items", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:p-2", children: [(0, jsx_runtime_1.jsx)("b", { children: title }), " (", dragItemText, ")"] }), (0, jsx_runtime_1.jsx)(UnusedItemList, { disabled: disabled, items: items })] }));
11
+ const icons_1 = require("../icons");
12
+ const utils_1 = require("../../lib/utils");
13
+ function UnusedPanel({ items, disabled, title, dragItemText, listId = 'UNUSED', }) {
14
+ const showHeader = Boolean(title);
15
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "ab-ModuleSelector__UnusedPanel twa:mb-2 twa:pb-1", "data-name": "unusedpanel-items", children: [showHeader ? ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:p-2", children: [(0, jsx_runtime_1.jsx)("b", { children: title }), dragItemText ? (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [" (", dragItemText, ")"] }) : null] })) : null, (0, jsx_runtime_1.jsx)(UnusedItemList, { disabled: disabled, items: items, listId: listId })] }));
13
16
  }
14
17
  const EMPTY_ARRAY = [];
15
- function UnusedItemList({ items, disabled }) {
16
- return ((0, jsx_runtime_1.jsx)(dnd_1.DragList, { dragStrategy: "proxy", preserveDragSpace: true, dragListId: "UNUSED", orientation: "horizontal", onDragProxyMove: dnd_1.defaultDragProxyMove, acceptDropsFrom: EMPTY_ARRAY, onDragProxySetup: ({ proxyElement }) => {
18
+ function UnusedItemList({ items, disabled, listId = 'UNUSED', }) {
19
+ const { dragScope } = React.useContext(DragAndDropContext_1.DragAndDropContext);
20
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragList, { dragStrategy: "proxy", preserveDragSpace: true, dragListId: (0, dragScope_1.scopeListId)(dragScope, listId), orientation: "horizontal", onDragProxyMove: dnd_1.defaultDragProxyMove, acceptDropsFrom: EMPTY_ARRAY, onDragProxySetup: ({ proxyElement }) => {
17
21
  proxyElement.classList.add('twa:shadow-md');
18
- }, onDrop: () => { }, children: (listDomProps) => ((0, jsx_runtime_1.jsx)("div", { ...listDomProps, "data-name": "unusedpanel-items-list", className: (0, clsx_1.default)('twa:px-2 twa:flex-wrap twa:flex twa:flex-row twa:gap-1', listDomProps.className), children: items.map((unusedItem) => ((0, jsx_runtime_1.jsx)(UnusedItem, { disabled: disabled, unusedItem: unusedItem }, unusedItem))) })) }));
22
+ }, onDrop: () => { }, children: (listDomProps) => ((0, jsx_runtime_1.jsx)("div", { ...listDomProps, "data-name": "unusedpanel-items-list", className: (0, utils_1.cn)('twa:px-2 twa:flex-wrap twa:flex twa:flex-row twa:gap-1', listDomProps.className), children: items.map((unusedItem) => ((0, jsx_runtime_1.jsx)(UnusedItem, { disabled: disabled, unusedItem: unusedItem }, unusedItem))) })) }));
19
23
  }
20
24
  function UnusedItem({ unusedItem, disabled }) {
21
- const { availableItems } = React.useContext(DragAndDropContext_1.DragAndDropContext);
25
+ const { availableItems, dragScope } = React.useContext(DragAndDropContext_1.DragAndDropContext);
22
26
  const currentItem = availableItems.find((t) => t.Id === unusedItem);
23
27
  const title = currentItem ? currentItem.Title : unusedItem;
24
- return ((0, jsx_runtime_1.jsx)(dnd_1.DragList.DraggableItem, { id: unusedItem, children: (itemDomProps) => {
28
+ return ((0, jsx_runtime_1.jsx)(dnd_1.DragList.DraggableItem, { id: (0, dragScope_1.scopeDragId)(dragScope, unusedItem), children: (itemDomProps) => {
25
29
  const { onPointerDown, ...restDomProps } = itemDomProps;
26
- return ((0, jsx_runtime_1.jsx)("div", { "data-name": "unused-item", ...restDomProps, ...(disabled ? {} : { onPointerDown }), className: (0, clsx_1.default)('twa:rounded-md twa:text-sm twa:text-primary-foreground twa:p-2 twa:select-none', 'twa:bg-primary', restDomProps.className), children: title }));
30
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { "data-name": "unused-item", alignItems: "center", ...restDomProps, ...(disabled ? {} : { onPointerDown }), className: (0, utils_1.cn)('ab-ModuleSelector__DraggableChip twa:rounded-standard twa:text-sm twa:px-2 twa:py-1 twa:select-none twa:gap-1', restDomProps.className), children: [(0, jsx_runtime_1.jsx)(icons_1.Icon, { name: "drag", className: "twa:shrink-0 twa:opacity-60", size: 14 }), (0, jsx_runtime_1.jsx)("span", { children: title })] }));
27
31
  } }));
28
32
  }
@@ -0,0 +1,6 @@
1
+ export declare function scopeDragId(dragScope: string, id: string): string;
2
+ export declare function unscopeDragId(scopedId: string): string;
3
+ export declare function scopeListId(dragScope: string, listId: string): string;
4
+ export declare function unscopeListId(scopedListId: string): string;
5
+ export declare function tabIndexFromScopedListId(scopedListId: string): number | null;
6
+ export declare function isScopedUnusedList(scopedListId: string): boolean;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scopeDragId = scopeDragId;
4
+ exports.unscopeDragId = unscopeDragId;
5
+ exports.scopeListId = scopeListId;
6
+ exports.unscopeListId = unscopeListId;
7
+ exports.tabIndexFromScopedListId = tabIndexFromScopedListId;
8
+ exports.isScopedUnusedList = isScopedUnusedList;
9
+ const SCOPE_SEP = '::';
10
+ function scopeDragId(dragScope, id) {
11
+ return `${dragScope}${SCOPE_SEP}${id}`;
12
+ }
13
+ function unscopeDragId(scopedId) {
14
+ const sep = scopedId.indexOf(SCOPE_SEP);
15
+ return sep === -1 ? scopedId : scopedId.slice(sep + SCOPE_SEP.length);
16
+ }
17
+ function scopeListId(dragScope, listId) {
18
+ return scopeDragId(dragScope, listId);
19
+ }
20
+ function unscopeListId(scopedListId) {
21
+ return unscopeDragId(scopedListId);
22
+ }
23
+ function tabIndexFromScopedListId(scopedListId) {
24
+ const listId = unscopeListId(scopedListId);
25
+ if (listId === 'UNUSED' || listId.startsWith('UNUSED-') || listId === 'TABS') {
26
+ return null;
27
+ }
28
+ const index = Number(listId);
29
+ return Number.isNaN(index) ? null : index;
30
+ }
31
+ function isScopedUnusedList(scopedListId) {
32
+ const listId = unscopeListId(scopedListId);
33
+ return listId === 'UNUSED' || listId.startsWith('UNUSED-');
34
+ }
@@ -6,3 +6,10 @@ export interface ModuleDraggableItem {
6
6
  Id: string;
7
7
  Title: string;
8
8
  }
9
+ export interface UnusedItemGroup {
10
+ /** Drag-list id suffix (scoped under `dragScope`). Defaults to `UNUSED-{index}`. */
11
+ listId?: string;
12
+ title: string;
13
+ help?: string;
14
+ items: string[];
15
+ }
@@ -1,28 +1,36 @@
1
1
  import * as React from 'react';
2
+ import { AccessLevel } from '../../AdaptableState/Common/Entitlement';
2
3
  import { SimpleButtonProps } from '../SimpleButton';
3
- import { ExpandedProps } from './useExpanded';
4
- import DropdownButtonItem from './DropdownButtonItem';
5
- import { OverlayTriggerProps } from '../OverlayTrigger';
6
- import { BoxProps } from '../Flex';
7
- export declare const DROPDOWN_ICON: React.JSX.Element;
8
- export type DropdownButtonProps = React.PropsWithChildren<Omit<BoxProps, 'ref'>> & Omit<React.HTMLProps<HTMLElement>, 'ref'> & SimpleButtonProps & ExpandedProps & {
9
- collapseOnItemClick?: boolean;
10
- columns?: string[];
11
- overlayProps?: OverlayTriggerProps;
12
- listOffset?: number;
13
- items?: DropdownButtonItem[];
14
- stopPropagationOnOverlay?: boolean;
15
- idProperty?: string;
16
- showClearButton?: boolean;
17
- focusOnClear?: boolean;
18
- onClear?: () => void;
19
- clearButtonProps?: SimpleButtonProps;
20
- listItemClassName?: string;
21
- listStyle?: React.CSSProperties;
22
- listMinWidth?: number;
23
- listItemStyle?: React.CSSProperties | ((item: DropdownButtonItem, index: number) => React.CSSProperties);
24
- isItemDisabled?: (item: DropdownButtonItem) => boolean | undefined;
25
- showToggleIcon?: boolean;
4
+ export type NewDropdownButtonItem = {
5
+ label?: React.ReactNode;
6
+ tooltip?: string;
7
+ onClick?: (e?: React.SyntheticEvent) => void;
8
+ disabled?: boolean;
9
+ dataName?: string;
10
+ separator?: boolean;
11
+ icon?: React.ReactNode;
12
+ /** When `false`, the menu stays open after this item is clicked (default `true`). */
13
+ closeOnClick?: boolean;
26
14
  };
27
- declare const DropdownButton: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<DropdownButtonProps>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
28
- export default DropdownButton;
15
+ export type NewDropdownButtonProps = {
16
+ items: NewDropdownButtonItem[];
17
+ children?: React.ReactNode;
18
+ className?: string;
19
+ disabled?: boolean;
20
+ tooltip?: string;
21
+ variant?: SimpleButtonProps['variant'];
22
+ size?: SimpleButtonProps['size'];
23
+ accessLevel?: AccessLevel;
24
+ side?: 'top' | 'bottom' | 'left' | 'right';
25
+ align?: 'start' | 'center' | 'end';
26
+ 'data-name'?: string;
27
+ tone?: SimpleButtonProps['tone'];
28
+ showDivider?: boolean;
29
+ id?: string;
30
+ 'data-id'?: string;
31
+ 'data-value'?: string | number;
32
+ 'aria-label'?: string;
33
+ onMouseDown?: React.MouseEventHandler;
34
+ extraWidthChars?: number;
35
+ };
36
+ export declare const NewDropdownButton: React.ForwardRefExoticComponent<NewDropdownButtonProps & React.RefAttributes<HTMLButtonElement>>;