@atlaskit/editor-plugin-table
Version:
Table plugin for the @atlaskit/editor
53 lines • 1.81 kB
JavaScript
/**
* @jsxRuntime classic
* @jsx jsx
*/
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
import { jsx } from '@emotion/react';
import { ButtonGroup } from '@atlaskit/button';
import { FloatingToolbarButton as Button, FloatingToolbarSeparator } from '@atlaskit/editor-common/ui';
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
import { Box, xcss } from '@atlaskit/primitives';
const containerStyles = xcss({
marginLeft: 'space.100'
});
export const FloatingAlignmentButtons = ({
alignmentButtons,
dispatchCommand,
areAnyNewToolbarFlagsEnabled
}) => {
return jsx(Box, {
xcss: containerStyles
}, jsx(ButtonGroup, null, alignmentButtons.map((item, idx) => {
switch (item.type) {
case 'separator':
return jsx(FloatingToolbarSeparator
// Ignored via go/ees005
// eslint-disable-next-line react/no-array-index-key
, {
key: idx,
areAnyNewToolbarFlagsEnabled: areAnyNewToolbarFlagsEnabled
});
case 'button':
// Ignored via go/ees005
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const ButtonIcon = item.icon;
return jsx(Button
// Ignored via go/ees005
// eslint-disable-next-line react/no-array-index-key
, {
key: idx,
icon: item.icon ? jsx(ButtonIcon, {
label: item.title
}) : undefined,
title: item.title,
selected: item.selected,
disabled: item.disabled,
onClick: () => {
dispatchCommand(item.onClick);
},
areAnyNewToolbarFlagsEnabled: areAnyNewToolbarFlagsEnabled
});
}
})));
};