Version 22.0 Release Note

Summary

  • AdapTable 22 was released in March 2026 and supports AG Grid version 35.0
  • It contains many enhancements notably to the Adaptable User Interface

AdapTable 22.0 is a major version release.

The release contains a number of user-requested enhancements and improvements, primarily to:

Breaking Change

  • There are a few significant Breaking Changes in AdapTable Version 22
    • AdapTable types are now imported from a single location
    • The name of the root css file has changed from base.css to index.css
    • A few CSS variables have been added (and many more have been removed)
    • AdapTable objects in Initial State now require a Name property (which AdapTable autogenerates if missing)
    • The CellAlignment property has been moved into the Style object (and out of FormatColumn)

Importing AdapTable Types

  • All AdapTable types are now imported from a single location (this was previously 2 separate locations)

    Caution

    • The file location itself varies, based on which AdapTable framework version is being used
    • Each framework version requires different objects to be imported, so please read the relevant integration notes
Adaptable VariantFile locationDocs
Vanilla (TypeScript)@adaptabletools/adaptableAdapTable Vanilla Integration
React@adaptabletools/adaptable-react-aggridAdapTable React Installation
Angular@adaptabletools/adaptable-angular-aggridAdapTable Angular Integration
Vue@adaptabletools/adaptable-vue-aggridAdapTable Vue Integration

Angular Version

  • The minimum Angular Version now supported is 18

Object Name Property

  • All AdapTable objects stored in Initial Adaptable State now contain a mandatory Name property

  • This allows developers easily to uniquely identify each object created (e.g. Format Column, or Alert etc.)

    Hint

    • AdapTable's Upgrade Helper will automatically autogenerate a value for the Name property if one is missing
    • If required, these can then be adjusted by run-time users in the relevant UI wizard

    Note

    • Objects like Layouts which already have a Name property have been left unchanged
    • Other objects, e.g. Calculated Columns, which have a FriendlyName property have also not been changed

Layout Changes


Other Changes


React Hooks


UI Changes

  • AdapTable 22.0 contains signficant User Interface related changes, including new css layers, using tailwind internally, and removing many redundant CSS Variables

  • These are designed to improve the look and feel, themability and extensibility of the Adaptable UI

New index.css file

  • The key css class which you must import is index.css (in place of base.css as was required previously)
  • The location of the index.css file varies, depending on which AdapTable framework version is being used:
Adaptable VariantOld fileNew file
Vanilla@adaptabletools/adaptable/base.css@adaptabletools/adaptable/index.css
React@adaptabletools/adaptable-react-aggrid/base.css@adaptabletools/adaptable-react-aggrid/index.css
Angular@adaptabletools/adaptable-angular-aggrid/base.css@adaptabletools/adaptable-angular-aggrid/index.css
Vue@adaptabletools/adaptable-vue-aggrid/base.css@adaptabletools/adaptable-vue-aggrid/index.css
  • You no longer need to import themes/light.css as this is now included in index.css
  • However, to use the dark theme, you still need to import themes/dark.css

    Caution

    The index.css file is always required if even if you only intend to use the dark theme

CSS layers

  • The AdapTable CSS is now nested into a CSS layer called adaptable

    Find Out More

    For more insight on CSS layers read this MDN page

  • If you don't use CSS layers, nothing is required, as layers have a lower precedence to global-scoped CSS

  • This will help you more easily to override Adaptable styles (avoiding more nested/complex selectors)

    Important

    • If you do use CSS layers, please ensure to put adaptable before your app layer
    • This will allow your application more easily to override Adaptable styles
    @layer adaptable, app, theme;

    Note

    Its now much easier to override default Adaptable styles, since the adaptable layer gives our css lower priority.

    Previous to AdapTable 22, this rule didn't have the expected result:

    .ab-Dialog__close-button {
      padding: 6px;
    }

    You had to make it stronger, either making the selector more complex:

    .ab-Dialog__close-button.ab-Dialog__close-button {
      padding: 6px;
    }

    or by adding !important:

    .ab-Dialog__close-button {
      padding: 6px !important;
    }

    Now the rule will work fine without anything else required.

Tailwind

  • Version 22 introduces a prefixed Tailwind build for our internal styling & classes

  • For non Tailwind users, nothing has changed or is different (as its purely for internal use)

  • For existing Tailwind users this won't clash with your current styles or changes made in your tailwind setup

    Note

    This is because we use the twa: prefix, to avoid our class names colliding with other classes in your application

New CSS Variables

VariableDefault
--ab-cmp-file-droppable__transition
--ab-cmp-floatingfilter-selected-options-text__font-weight
--ab-cmp-simple-button__box-shadowMaterial-style elevation shadow
--ab-cmp-simple-button__hover-box-shadowElevated hover shadow
--ab-cmp-simple-button__transitionbox-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1)
--ab-color-accent-foreground#e2e2e2
--ab-color-primary-foregroundvar(--ab-color-text-on-primary)
--ab-color-shadowrgb(0 0 0 / 0.2)
--ab-focus-light__box-shadowaccentlight-based focus glow
--ab-input-height36px
--ab-popover-triangle-size
--ab-shadow-mdMedium depth shadow
--ab-shadow-smSmall depth shadow

CSS Changes to Spacing

  • All CSS spacing is now derived from --ab-base-space: 4px using calc().
  • As a result 8 CSS spacing variables have been removed and are replaced with a calculation:
Old CSS VariableReplacementResulting Value
--ab-space-00px
--ab-space-1var(--ab-base-space)4px
--ab-space-2calc(var(--ab-base-space) * 2)8px
--ab-space-3calc(var(--ab-base-space) * 4)16px
--ab-space-4calc(var(--ab-base-space) * 8)32px
--ab-space-5calc(var(--ab-base-space) * 16)64px
--ab-space-6calc(var(--ab-base-space) * 32)128px
--ab-space-7calc(var(--ab-base-space) * 64)256px

Hint

It is simple to provide the new spacing using calc. For example, what was previously:

.mybox {
  padding: var(--ab-space-2);
  margin: var(--ab-space-3);
}

will now be replaced with:

.mybox {
  padding: calc(var(--ab-base-space) * 2);
  margin: calc(var(--ab-base-space) * 4);
}

Removed CSS Variables

  • Many CSS Variables (nearly 100) have been removed as they are no longer required
  • All the CSS Variables for these components have been removed:
    • Dialog
    • HelpBox
    • ErrorBox
    • WarningBox
    • CodeBlock
    • ListGroup / ListGroupItem
    • QuickFilter
    • OnePageWizard
    • ExpressionEditor
    • ModuleSelector
    • Misc
Deep Dive

Full list of CSS Variables which have been Removed


Change Log

KeyTypeDescription
AT-3271BugColumn Filter Resize handles are gone
AT-3263BugPercent Column cannot handle negative values
AT-3261EnhancementProvide 'only' as aggregation function for Layouts
AT-3253TaskAdd new UserInterface section to Adaptable State
AT-3242TaskConsolidate how adaptable types are imported
AT-3241EnhancementAllow containers to be provided dynamically
AT-3238TaskAdd API support to toggle visibility of all AdapTable UI controls
AT-3232EnhancementExtend highlighting to Columns
AT-3230BugCannot edit Chart legend and title
AT-3229EnhancementImprove keyboard navigation for Filters
AT-3225BugIssue when providing comma as decimal separator in Display Format
AT-3223EnhancementAdd Alignment to Adaptable Style object
AT-3217EnhancementAdd Name property to many Adaptable Objects
AT-3214EnhancementAdd GridApi method to manage multiple row changes in one transaction
AT-3210EnhancementStore order of Pivot Result Columns in Layout
AT-3209EnhancementRefactor Layout Editor
AT-3204EnhancementAdd functions to clone, share and set Extended Layouts
AT-3198StudyImprove Filtering performance
AT-3196EnhancementAdd `useAdaptableApi` hook to AdapTable React
AT-3195EnhancementAdd `useCurrentLayout` hook to AdapTable React
AT-3176Bugag-Grid-SelectionColumn [MISSING] appears when Row Grouping with row selection
AT-3174TaskUpgrade to Angular v18.x
AT-3173TaskUpgrade to AG Grid 35.0
AT-3169EnhancementDont display 'Add Note' Context Menu Item if more than one cell selected
AT-3167EnhancementVisually Export also Pinned Columns, Cell Classes & Custom Header Styles
AT-3148BugExport of grouped columns with colId different than field fails
AT-3143TaskAdapTable UI: enhance, simplify and make more extendable
AT-3124TaskAdd custom tracks in DevTools Chrome Profiler
AT-2841TaskAdd "Command Buttons" in Action Columns
AT-2745EnhancementAdd `useAdaptableState` hook to AdapTable React