@atlaskit/editor-toolbar 0.9.3 → 0.10.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/CHANGELOG.md +21 -0
- package/dist/cjs/hooks/ui-context.js +6 -3
- package/dist/cjs/index.js +7 -0
- package/dist/cjs/ui/ColorPalette/Color.compiled.css +6 -4
- package/dist/cjs/ui/ColorPalette/Color.js +5 -7
- package/dist/cjs/ui/ColorPalette/index.js +1 -1
- package/dist/cjs/ui/ResponsiveContainer.compiled.css +8 -2
- package/dist/cjs/ui/ResponsiveContainer.js +1 -1
- package/dist/cjs/ui/Toolbar.compiled.css +3 -2
- package/dist/cjs/ui/Toolbar.js +30 -5
- package/dist/cjs/ui/ToolbarButton.js +1 -1
- package/dist/cjs/ui/ToolbarButtonGroup.js +1 -1
- package/dist/cjs/ui/ToolbarColorSwatch.js +1 -1
- package/dist/cjs/ui/ToolbarDropdownItem.js +4 -2
- package/dist/cjs/ui/ToolbarDropdownMenu.js +1 -1
- package/dist/cjs/ui/ToolbarKeyboardNavigationProvider.js +65 -0
- package/dist/cjs/ui/ToolbarNestedDropdownMenu.js +3 -1
- package/dist/cjs/ui/ToolbarSection.js +1 -1
- package/dist/cjs/ui/icons/AIChatIcon.js +2 -2
- package/dist/cjs/ui/icons/TextColorIcon.js +1 -1
- package/dist/es2019/hooks/ui-context.js +6 -3
- package/dist/es2019/index.js +1 -0
- package/dist/es2019/ui/ColorPalette/Color.compiled.css +4 -2
- package/dist/es2019/ui/ColorPalette/Color.js +1 -1
- package/dist/es2019/ui/ColorPalette/index.js +1 -1
- package/dist/es2019/ui/ResponsiveContainer.compiled.css +8 -2
- package/dist/es2019/ui/ResponsiveContainer.js +1 -1
- package/dist/es2019/ui/Toolbar.compiled.css +3 -2
- package/dist/es2019/ui/Toolbar.js +33 -5
- package/dist/es2019/ui/ToolbarButton.js +1 -1
- package/dist/es2019/ui/ToolbarButtonGroup.js +1 -1
- package/dist/es2019/ui/ToolbarColorSwatch.js +1 -1
- package/dist/es2019/ui/ToolbarDropdownItem.js +4 -2
- package/dist/es2019/ui/ToolbarDropdownMenu.js +1 -1
- package/dist/es2019/ui/ToolbarKeyboardNavigationProvider.js +60 -0
- package/dist/es2019/ui/ToolbarNestedDropdownMenu.js +3 -1
- package/dist/es2019/ui/ToolbarSection.js +1 -1
- package/dist/es2019/ui/icons/AIChatIcon.js +7 -7
- package/dist/es2019/ui/icons/TextColorIcon.js +1 -1
- package/dist/esm/hooks/ui-context.js +6 -3
- package/dist/esm/index.js +1 -0
- package/dist/esm/ui/ColorPalette/Color.compiled.css +6 -4
- package/dist/esm/ui/ColorPalette/Color.js +5 -7
- package/dist/esm/ui/ColorPalette/index.js +1 -1
- package/dist/esm/ui/ResponsiveContainer.compiled.css +8 -2
- package/dist/esm/ui/ResponsiveContainer.js +1 -1
- package/dist/esm/ui/Toolbar.compiled.css +3 -2
- package/dist/esm/ui/Toolbar.js +30 -5
- package/dist/esm/ui/ToolbarButton.js +1 -1
- package/dist/esm/ui/ToolbarButtonGroup.js +1 -1
- package/dist/esm/ui/ToolbarColorSwatch.js +1 -1
- package/dist/esm/ui/ToolbarDropdownItem.js +4 -2
- package/dist/esm/ui/ToolbarDropdownMenu.js +1 -1
- package/dist/esm/ui/ToolbarKeyboardNavigationProvider.js +57 -0
- package/dist/esm/ui/ToolbarNestedDropdownMenu.js +3 -1
- package/dist/esm/ui/ToolbarSection.js +1 -1
- package/dist/esm/ui/icons/AIChatIcon.js +2 -2
- package/dist/esm/ui/icons/TextColorIcon.js +1 -1
- package/dist/types/hooks/ui-context.d.ts +6 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/types.d.ts +9 -0
- package/dist/types/ui/Toolbar.d.ts +2 -1
- package/dist/types/ui/ToolbarKeyboardNavigationProvider.d.ts +7 -0
- package/dist/types/ui/ToolbarNestedDropdownMenu.d.ts +2 -1
- package/dist/types-ts4.5/hooks/ui-context.d.ts +6 -1
- package/dist/types-ts4.5/index.d.ts +2 -1
- package/dist/types-ts4.5/types.d.ts +9 -0
- package/dist/types-ts4.5/ui/Toolbar.d.ts +2 -1
- package/dist/types-ts4.5/ui/ToolbarKeyboardNavigationProvider.d.ts +7 -0
- package/dist/types-ts4.5/ui/ToolbarNestedDropdownMenu.d.ts +2 -1
- package/package.json +4 -4
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ToolbarKeyboardNavigationProviderConfig } from '../types';
|
|
3
|
+
type ToolbarKeyboardNavigationProviderProps = ToolbarKeyboardNavigationProviderConfig & {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
};
|
|
6
|
+
export declare const ToolbarKeyboardNavigationProvider: ({ children, childComponentSelector, dom, isShortcutToFocusToolbar, handleFocus, handleEscape, ariaLabel, ariaControls, }: ToolbarKeyboardNavigationProviderProps) => React.JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { type ReactNode } from 'react';
|
|
6
6
|
type ToolbarNestedDropdownMenuProps = {
|
|
7
7
|
children?: ReactNode;
|
|
8
|
+
dropdownTestId?: string;
|
|
8
9
|
elemAfter: ReactNode;
|
|
9
10
|
elemBefore: ReactNode;
|
|
10
11
|
/**
|
|
@@ -16,5 +17,5 @@ type ToolbarNestedDropdownMenuProps = {
|
|
|
16
17
|
testId?: string;
|
|
17
18
|
text?: string;
|
|
18
19
|
};
|
|
19
|
-
export declare const ToolbarNestedDropdownMenu: ({ elemBefore, text, elemAfter, children, isDisabled, testId, enableMaxHeight, onClick, }: ToolbarNestedDropdownMenuProps) => JSX.Element;
|
|
20
|
+
export declare const ToolbarNestedDropdownMenu: ({ elemBefore, text, elemAfter, children, isDisabled, testId, dropdownTestId, enableMaxHeight, onClick, }: ToolbarNestedDropdownMenuProps) => JSX.Element;
|
|
20
21
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { OnOpenChangeArgs } from '@atlaskit/dropdown-menu';
|
|
3
|
+
import type { ToolbarKeyboardNavigationProviderConfig } from '../types';
|
|
3
4
|
type AnalyticsEventPayload = {
|
|
4
5
|
action: string;
|
|
5
6
|
actionSubject?: string;
|
|
@@ -13,6 +14,10 @@ export type ToolbarUIContextType = {
|
|
|
13
14
|
* Indicates whether the toolbar is disabled when the editor is offline.
|
|
14
15
|
*/
|
|
15
16
|
isDisabled?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Configuration for Keyboard Shortcuts/ Navigation
|
|
19
|
+
*/
|
|
20
|
+
keyboardNavigation?: ToolbarKeyboardNavigationProviderConfig;
|
|
16
21
|
/**
|
|
17
22
|
* Callback for when the dropdown is open/closed. Receives an object with `isOpen` state.
|
|
18
23
|
*
|
|
@@ -34,5 +39,5 @@ export declare const useToolbarUI: () => ToolbarUIContextType;
|
|
|
34
39
|
type ToolbarUIProviderProps = {
|
|
35
40
|
children: React.ReactNode;
|
|
36
41
|
} & ToolbarUIContextType;
|
|
37
|
-
export declare const ToolbarUIProvider: ({ children, onDropdownOpenChanged, preventDefaultOnMouseDown, isDisabled, popupsMountPoint, popupsBoundariesElement, popupsScrollableElement, fireAnalyticsEvent, }: ToolbarUIProviderProps) => React.JSX.Element;
|
|
42
|
+
export declare const ToolbarUIProvider: ({ children, onDropdownOpenChanged, preventDefaultOnMouseDown, isDisabled, popupsMountPoint, popupsBoundariesElement, popupsScrollableElement, fireAnalyticsEvent, keyboardNavigation, }: ToolbarUIProviderProps) => React.JSX.Element;
|
|
38
43
|
export {};
|
|
@@ -5,6 +5,7 @@ export { ToolbarDropdownMenu } from './ui/ToolbarDropdownMenu';
|
|
|
5
5
|
export { ToolbarDropdownItem } from './ui/ToolbarDropdownItem';
|
|
6
6
|
export { ToolbarDropdownItemSection } from './ui/ToolbarDropdownItemSection';
|
|
7
7
|
export { ToolbarNestedDropdownMenu } from './ui/ToolbarNestedDropdownMenu';
|
|
8
|
+
export { ToolbarKeyboardNavigationProvider } from './ui/ToolbarKeyboardNavigationProvider';
|
|
8
9
|
export { ToolbarKeyboardShortcutHint } from './ui/ToolbarKeyboardShortcutHint';
|
|
9
10
|
export { ToolbarSection } from './ui/ToolbarSection';
|
|
10
11
|
export { ToolbarTooltip } from './ui/ToolbarTooltip';
|
|
@@ -71,5 +72,5 @@ export { LoomIcon } from './ui/icons/LoomIcon';
|
|
|
71
72
|
export { PlusIcon } from './ui/icons/PlusIcon';
|
|
72
73
|
export { default as ColorPalette } from './ui/ColorPalette';
|
|
73
74
|
export { getContrastingBackgroundColor } from './ui/ColorPalette/utils';
|
|
74
|
-
export type { IconComponent } from './types';
|
|
75
|
+
export type { IconComponent, ToolbarKeyboardNavigationProviderConfig } from './types';
|
|
75
76
|
export { useToolbarUI, ToolbarUIProvider, type ToolbarUIContextType } from './hooks/ui-context';
|
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
import { type NewCoreIconProps } from '@atlaskit/icon';
|
|
2
2
|
export type IconComponent = (props: NewCoreIconProps) => JSX.Element;
|
|
3
|
+
export type ToolbarKeyboardNavigationProviderConfig = {
|
|
4
|
+
ariaControls?: string;
|
|
5
|
+
ariaLabel?: string;
|
|
6
|
+
childComponentSelector: string;
|
|
7
|
+
dom?: HTMLElement;
|
|
8
|
+
handleEscape: (event: KeyboardEvent) => void;
|
|
9
|
+
handleFocus: (event: KeyboardEvent) => void;
|
|
10
|
+
isShortcutToFocusToolbar: (event: KeyboardEvent) => boolean;
|
|
11
|
+
};
|
|
@@ -9,13 +9,14 @@ type ToolbarProps = {
|
|
|
9
9
|
* use case: query select the toolbar to position floating toolbar
|
|
10
10
|
*/
|
|
11
11
|
label: string;
|
|
12
|
+
testId?: string;
|
|
12
13
|
} & ViewEventEmitterProps;
|
|
13
14
|
/**
|
|
14
15
|
* A simple component representing a toolbar with box shadows - used to represent a secondary/floating toolbar
|
|
15
16
|
*
|
|
16
17
|
* @note: Responsiveness support replies on container query with container editor-area and media query
|
|
17
18
|
*/
|
|
18
|
-
export declare const Toolbar: ({ children, label, actionSubjectId }: ToolbarProps) => React.JSX.Element;
|
|
19
|
+
export declare const Toolbar: ({ children, label, actionSubjectId, testId }: ToolbarProps) => React.JSX.Element;
|
|
19
20
|
type PrimaryToolbarProps = ToolbarProps & ResponsiveContainerProps;
|
|
20
21
|
/**
|
|
21
22
|
* A simple component representing a toolbar without box shadows - used to represent a primary toolbar
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ToolbarKeyboardNavigationProviderConfig } from '../types';
|
|
3
|
+
type ToolbarKeyboardNavigationProviderProps = ToolbarKeyboardNavigationProviderConfig & {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
};
|
|
6
|
+
export declare const ToolbarKeyboardNavigationProvider: ({ children, childComponentSelector, dom, isShortcutToFocusToolbar, handleFocus, handleEscape, ariaLabel, ariaControls, }: ToolbarKeyboardNavigationProviderProps) => React.JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { type ReactNode } from 'react';
|
|
6
6
|
type ToolbarNestedDropdownMenuProps = {
|
|
7
7
|
children?: ReactNode;
|
|
8
|
+
dropdownTestId?: string;
|
|
8
9
|
elemAfter: ReactNode;
|
|
9
10
|
elemBefore: ReactNode;
|
|
10
11
|
/**
|
|
@@ -16,5 +17,5 @@ type ToolbarNestedDropdownMenuProps = {
|
|
|
16
17
|
testId?: string;
|
|
17
18
|
text?: string;
|
|
18
19
|
};
|
|
19
|
-
export declare const ToolbarNestedDropdownMenu: ({ elemBefore, text, elemAfter, children, isDisabled, testId, enableMaxHeight, onClick, }: ToolbarNestedDropdownMenuProps) => JSX.Element;
|
|
20
|
+
export declare const ToolbarNestedDropdownMenu: ({ elemBefore, text, elemAfter, children, isDisabled, testId, dropdownTestId, enableMaxHeight, onClick, }: ToolbarNestedDropdownMenuProps) => JSX.Element;
|
|
20
21
|
export {};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"registry": "https://registry.npmjs.org/"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.10.0",
|
|
7
7
|
"description": "Common UI for Toolbars across the platform",
|
|
8
8
|
"atlassian": {
|
|
9
9
|
"team": "Editor: Jenga",
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"@atlaskit/button": "^23.4.0",
|
|
26
26
|
"@atlaskit/css": "^0.14.0",
|
|
27
27
|
"@atlaskit/dropdown-menu": "^16.3.0",
|
|
28
|
-
"@atlaskit/icon": "^28.
|
|
28
|
+
"@atlaskit/icon": "^28.3.0",
|
|
29
29
|
"@atlaskit/icon-lab": "^5.7.0",
|
|
30
30
|
"@atlaskit/logo": "^19.7.0",
|
|
31
31
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
32
32
|
"@atlaskit/platform-feature-flags-react": "^0.3.0",
|
|
33
33
|
"@atlaskit/popup": "^4.4.0",
|
|
34
|
-
"@atlaskit/primitives": "^14.
|
|
35
|
-
"@atlaskit/tmp-editor-statsig": "^12.
|
|
34
|
+
"@atlaskit/primitives": "^14.15.0",
|
|
35
|
+
"@atlaskit/tmp-editor-statsig": "^12.32.0",
|
|
36
36
|
"@atlaskit/tokens": "^6.3.0",
|
|
37
37
|
"@atlaskit/tooltip": "^20.4.0",
|
|
38
38
|
"@babel/runtime": "^7.0.0",
|