@atlaskit/editor-core 187.40.2 → 187.41.1
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 +17 -0
- package/dist/cjs/editor-next/hooks/useEditorMeasuresConstructor.js +2 -2
- package/dist/cjs/editor-next/utils/editorMeasureTTICallback.js +3 -2
- package/dist/cjs/element-browser.js +2 -3
- package/dist/cjs/plugins/media/index.js +59 -54
- package/dist/cjs/plugins/media/nodeviews/mediaInline.js +44 -29
- package/dist/cjs/plugins/media/ui/ToolbarMedia/index.js +20 -33
- package/dist/cjs/plugins/quick-insert/index.js +4 -2
- package/dist/cjs/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.js +8 -7
- package/dist/cjs/plugins/quick-insert/ui/ModalElementBrowser/index.js +10 -17
- package/dist/cjs/ui/ElementBrowser/InsertMenu.js +5 -6
- package/dist/cjs/ui/ElementBrowser/types.js +1 -8
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/editor-next/hooks/useEditorMeasuresConstructor.js +2 -2
- package/dist/es2019/editor-next/utils/editorMeasureTTICallback.js +3 -2
- package/dist/es2019/element-browser.js +1 -1
- package/dist/es2019/plugins/media/index.js +28 -20
- package/dist/es2019/plugins/media/nodeviews/mediaInline.js +45 -27
- package/dist/es2019/plugins/media/ui/ToolbarMedia/index.js +24 -32
- package/dist/es2019/plugins/quick-insert/index.js +4 -2
- package/dist/es2019/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.js +5 -5
- package/dist/es2019/plugins/quick-insert/ui/ModalElementBrowser/index.js +8 -13
- package/dist/es2019/ui/ElementBrowser/InsertMenu.js +2 -3
- package/dist/es2019/ui/ElementBrowser/types.js +1 -5
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/editor-next/hooks/useEditorMeasuresConstructor.js +2 -2
- package/dist/esm/editor-next/utils/editorMeasureTTICallback.js +3 -2
- package/dist/esm/element-browser.js +1 -1
- package/dist/esm/plugins/media/index.js +57 -52
- package/dist/esm/plugins/media/nodeviews/mediaInline.js +44 -29
- package/dist/esm/plugins/media/ui/ToolbarMedia/index.js +20 -30
- package/dist/esm/plugins/quick-insert/index.js +4 -2
- package/dist/esm/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.js +5 -5
- package/dist/esm/plugins/quick-insert/ui/ModalElementBrowser/index.js +10 -17
- package/dist/esm/ui/ElementBrowser/InsertMenu.js +2 -3
- package/dist/esm/ui/ElementBrowser/types.js +1 -5
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/editor-next/hooks/useEditorMeasuresConstructor.d.ts +4 -4
- package/dist/types/editor-next/utils/editorMeasureTTICallback.d.ts +5 -5
- package/dist/types/element-browser.d.ts +1 -1
- package/dist/types/labs/next/presets/default.d.ts +2 -2
- package/dist/types/plugins/media/index.d.ts +1 -1
- package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +5 -4
- package/dist/types/plugins/media/types.d.ts +10 -1
- package/dist/types/plugins/media/ui/ToolbarMedia/index.d.ts +6 -10
- package/dist/types/plugins/quick-insert/index.d.ts +3 -3
- package/dist/types/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.d.ts +4 -3
- package/dist/types/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.d.ts +1 -1
- package/dist/types/plugins/quick-insert/ui/ModalElementBrowser/index.d.ts +4 -1
- package/dist/types/ui/ElementBrowser/types.d.ts +6 -18
- package/dist/types-ts4.5/editor-next/hooks/useEditorMeasuresConstructor.d.ts +4 -4
- package/dist/types-ts4.5/editor-next/utils/editorMeasureTTICallback.d.ts +5 -5
- package/dist/types-ts4.5/element-browser.d.ts +1 -1
- package/dist/types-ts4.5/labs/next/presets/default.d.ts +2 -2
- package/dist/types-ts4.5/plugins/media/index.d.ts +1 -1
- package/dist/types-ts4.5/plugins/media/nodeviews/mediaInline.d.ts +5 -4
- package/dist/types-ts4.5/plugins/media/types.d.ts +10 -1
- package/dist/types-ts4.5/plugins/media/ui/ToolbarMedia/index.d.ts +6 -10
- package/dist/types-ts4.5/plugins/quick-insert/index.d.ts +3 -3
- package/dist/types-ts4.5/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/ModalElementBrowser.d.ts +4 -3
- package/dist/types-ts4.5/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.d.ts +1 -1
- package/dist/types-ts4.5/plugins/quick-insert/ui/ModalElementBrowser/index.d.ts +4 -1
- package/dist/types-ts4.5/ui/ElementBrowser/types.d.ts +6 -18
- package/package.json +2 -2
- package/report.api.md +7 -1
- package/tmp/api-report-tmp.d.ts +7 -1
- package/dist/cjs/ui/ElementBrowser/ElementBrowser.js +0 -152
- package/dist/cjs/ui/ElementBrowser/ViewMore.js +0 -39
- package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +0 -115
- package/dist/cjs/ui/ElementBrowser/components/ElementBrowserLoader.js +0 -36
- package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +0 -250
- package/dist/cjs/ui/ElementBrowser/components/ElementList/EmptyState.js +0 -47
- package/dist/cjs/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +0 -69
- package/dist/cjs/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.js +0 -42
- package/dist/cjs/ui/ElementBrowser/components/ElementList/utils.js +0 -54
- package/dist/cjs/ui/ElementBrowser/components/ElementSearch.js +0 -88
- package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +0 -269
- package/dist/cjs/ui/ElementBrowser/constants.js +0 -43
- package/dist/cjs/ui/ElementBrowser/hooks/use-container-width.js +0 -70
- package/dist/cjs/ui/ElementBrowser/hooks/use-focus.js +0 -51
- package/dist/cjs/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.js +0 -286
- package/dist/cjs/ui/ElementBrowser/index.js +0 -10
- package/dist/es2019/ui/ElementBrowser/ElementBrowser.js +0 -117
- package/dist/es2019/ui/ElementBrowser/ViewMore.js +0 -40
- package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +0 -104
- package/dist/es2019/ui/ElementBrowser/components/ElementBrowserLoader.js +0 -21
- package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +0 -301
- package/dist/es2019/ui/ElementBrowser/components/ElementList/EmptyState.js +0 -58
- package/dist/es2019/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +0 -64
- package/dist/es2019/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.js +0 -39
- package/dist/es2019/ui/ElementBrowser/components/ElementList/utils.js +0 -50
- package/dist/es2019/ui/ElementBrowser/components/ElementSearch.js +0 -117
- package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +0 -339
- package/dist/es2019/ui/ElementBrowser/constants.js +0 -24
- package/dist/es2019/ui/ElementBrowser/hooks/use-container-width.js +0 -59
- package/dist/es2019/ui/ElementBrowser/hooks/use-focus.js +0 -48
- package/dist/es2019/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.js +0 -284
- package/dist/es2019/ui/ElementBrowser/index.js +0 -2
- package/dist/esm/ui/ElementBrowser/ElementBrowser.js +0 -142
- package/dist/esm/ui/ElementBrowser/ViewMore.js +0 -31
- package/dist/esm/ui/ElementBrowser/components/CategoryList.js +0 -104
- package/dist/esm/ui/ElementBrowser/components/ElementBrowserLoader.js +0 -23
- package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +0 -238
- package/dist/esm/ui/ElementBrowser/components/ElementList/EmptyState.js +0 -40
- package/dist/esm/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +0 -62
- package/dist/esm/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.js +0 -37
- package/dist/esm/ui/ElementBrowser/components/ElementList/utils.js +0 -46
- package/dist/esm/ui/ElementBrowser/components/ElementSearch.js +0 -77
- package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +0 -258
- package/dist/esm/ui/ElementBrowser/constants.js +0 -24
- package/dist/esm/ui/ElementBrowser/hooks/use-container-width.js +0 -61
- package/dist/esm/ui/ElementBrowser/hooks/use-focus.js +0 -46
- package/dist/esm/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.js +0 -278
- package/dist/esm/ui/ElementBrowser/index.js +0 -2
- package/dist/types/ui/ElementBrowser/ElementBrowser.d.ts +0 -37
- package/dist/types/ui/ElementBrowser/ViewMore.d.ts +0 -6
- package/dist/types/ui/ElementBrowser/components/CategoryList.d.ts +0 -10
- package/dist/types/ui/ElementBrowser/components/ElementBrowserLoader.d.ts +0 -5
- package/dist/types/ui/ElementBrowser/components/ElementList/ElementList.d.ts +0 -29
- package/dist/types/ui/ElementBrowser/components/ElementList/EmptyState.d.ts +0 -6
- package/dist/types/ui/ElementBrowser/components/ElementList/NotFoundIllustration.d.ts +0 -2
- package/dist/types/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.d.ts +0 -7
- package/dist/types/ui/ElementBrowser/components/ElementList/utils.d.ts +0 -12
- package/dist/types/ui/ElementBrowser/components/ElementSearch.d.ts +0 -18
- package/dist/types/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +0 -23
- package/dist/types/ui/ElementBrowser/constants.d.ts +0 -20
- package/dist/types/ui/ElementBrowser/hooks/use-container-width.d.ts +0 -33
- package/dist/types/ui/ElementBrowser/hooks/use-focus.d.ts +0 -35
- package/dist/types/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.d.ts +0 -72
- package/dist/types/ui/ElementBrowser/index.d.ts +0 -2
- package/dist/types-ts4.5/ui/ElementBrowser/ElementBrowser.d.ts +0 -37
- package/dist/types-ts4.5/ui/ElementBrowser/ViewMore.d.ts +0 -6
- package/dist/types-ts4.5/ui/ElementBrowser/components/CategoryList.d.ts +0 -10
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementBrowserLoader.d.ts +0 -5
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/ElementList.d.ts +0 -29
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/EmptyState.d.ts +0 -6
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/NotFoundIllustration.d.ts +0 -2
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/cellSizeAndPositionGetter.d.ts +0 -7
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/utils.d.ts +0 -12
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementSearch.d.ts +0 -18
- package/dist/types-ts4.5/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +0 -23
- package/dist/types-ts4.5/ui/ElementBrowser/constants.d.ts +0 -20
- package/dist/types-ts4.5/ui/ElementBrowser/hooks/use-container-width.d.ts +0 -33
- package/dist/types-ts4.5/ui/ElementBrowser/hooks/use-focus.d.ts +0 -35
- package/dist/types-ts4.5/ui/ElementBrowser/hooks/use-select-and-focus-on-arrow-navigation.d.ts +0 -72
- package/dist/types-ts4.5/ui/ElementBrowser/index.d.ts +0 -2
- /package/dist/cjs/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.js +0 -0
- /package/dist/cjs/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.js +0 -0
- /package/dist/es2019/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.js +0 -0
- /package/dist/es2019/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.js +0 -0
- /package/dist/esm/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/categories.js +0 -0
- /package/dist/esm/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.js +0 -0
- /package/dist/types/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.d.ts +0 -0
- /package/dist/types-ts4.5/{ui/ElementBrowser → plugins/quick-insert/ui/ModalElementBrowser}/messages.d.ts +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
|
|
2
2
|
import type { EditorView, NodeView } from '@atlaskit/editor-prosemirror/view';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import type { EventDispatcher } from '
|
|
5
|
-
import type { getPosHandler
|
|
4
|
+
import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
|
|
5
|
+
import type { getPosHandler as ProsemirrorGetPosHandler, getPosHandler } from '../types';
|
|
6
6
|
import { SelectionBasedNodeView } from '@atlaskit/editor-common/selection-based-node-view';
|
|
7
7
|
import type { FileIdentifier } from '@atlaskit/media-client';
|
|
8
8
|
import type { MediaProvider, ProviderFactory, ContextIdentifierProvider } from '@atlaskit/editor-common/provider-factory';
|
|
@@ -11,7 +11,7 @@ import type { MediaPluginState } from '../pm-plugins/types';
|
|
|
11
11
|
import { MediaNodeUpdater } from './mediaNodeUpdater';
|
|
12
12
|
import type { DispatchAnalyticsEvent } from '@atlaskit/editor-common/analytics';
|
|
13
13
|
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
14
|
-
import type
|
|
14
|
+
import type { MediaNextEditorPluginType } from '../next-plugin-type';
|
|
15
15
|
export interface MediaInlineProps {
|
|
16
16
|
mediaProvider: Promise<MediaProvider>;
|
|
17
17
|
identifier: FileIdentifier;
|
|
@@ -35,6 +35,7 @@ export declare const handleNewNode: (props: MediaInlineProps) => void;
|
|
|
35
35
|
export declare const MediaInline: React.FC<MediaInlineProps>;
|
|
36
36
|
export interface MediaInlineNodeViewProps {
|
|
37
37
|
providerFactory: ProviderFactory;
|
|
38
|
+
api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
|
|
38
39
|
dispatchAnalyticsEvent?: DispatchAnalyticsEvent;
|
|
39
40
|
}
|
|
40
41
|
export declare class MediaInlineNodeView extends SelectionBasedNodeView<MediaInlineNodeViewProps> {
|
|
@@ -46,4 +47,4 @@ export declare class MediaInlineNodeView extends SelectionBasedNodeView<MediaInl
|
|
|
46
47
|
viewShouldUpdate(nextNode: PMNode): boolean;
|
|
47
48
|
render(props: MediaInlineNodeViewProps): JSX.Element;
|
|
48
49
|
}
|
|
49
|
-
export declare const ReactMediaInlineNode: (portalProviderAPI: PortalProviderAPI, eventDispatcher: EventDispatcher, providerFactory: ProviderFactory,
|
|
50
|
+
export declare const ReactMediaInlineNode: (portalProviderAPI: PortalProviderAPI, eventDispatcher: EventDispatcher, providerFactory: ProviderFactory, api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined, dispatchAnalyticsEvent?: DispatchAnalyticsEvent) => (node: PMNode, view: EditorView, getPos: getPosHandler) => NodeView;
|
|
@@ -8,7 +8,9 @@ import type { MediaFeatureFlags } from '@atlaskit/media-common';
|
|
|
8
8
|
import type { UploadParams, MediaFile } from '@atlaskit/media-picker/types';
|
|
9
9
|
import type { EditorSelectionAPI } from '@atlaskit/editor-common/selection';
|
|
10
10
|
import type { GetEditorFeatureFlags } from '@atlaskit/editor-common/types';
|
|
11
|
-
|
|
11
|
+
interface PlaceholderTextOptions {
|
|
12
|
+
allowInserting?: boolean;
|
|
13
|
+
}
|
|
12
14
|
export type MediaStateStatus = 'unknown' | 'ready' | 'cancelled' | 'preview' | 'error' | 'mobile-upload-end';
|
|
13
15
|
export type MediaSingleWithType = 'pixel' | 'percentage';
|
|
14
16
|
export interface MediaOptions {
|
|
@@ -106,3 +108,10 @@ export type MediaDecorationSpec = {
|
|
|
106
108
|
type: 'media';
|
|
107
109
|
selected: boolean;
|
|
108
110
|
};
|
|
111
|
+
export type getPosHandler = getPosHandlerNode;
|
|
112
|
+
export type getPosHandlerNode = () => number | undefined;
|
|
113
|
+
export interface ReactNodeProps {
|
|
114
|
+
selected: boolean;
|
|
115
|
+
}
|
|
116
|
+
export type ForwardRef = (node: HTMLElement | null) => void;
|
|
117
|
+
export {};
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { EventDispatcher } from '../../../../event-dispatcher';
|
|
5
|
-
import type { MediaPluginState } from '../../pm-plugins/types';
|
|
2
|
+
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
3
|
+
import type { MediaNextEditorPluginType } from '../../next-plugin-type';
|
|
6
4
|
import type { WrappedComponentProps } from 'react-intl-next';
|
|
7
|
-
export interface Props
|
|
8
|
-
editorView: EditorView;
|
|
9
|
-
pluginKey: PluginKey<T>;
|
|
10
|
-
eventDispatcher: EventDispatcher;
|
|
5
|
+
export interface Props {
|
|
11
6
|
isDisabled?: boolean;
|
|
12
7
|
isReducedSpacing?: boolean;
|
|
8
|
+
api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
|
|
13
9
|
}
|
|
14
|
-
declare const _default: React.FC<import("react-intl-next").WithIntlProps<Props
|
|
15
|
-
WrappedComponent: React.ComponentType<Props
|
|
10
|
+
declare const _default: React.FC<import("react-intl-next").WithIntlProps<Props & WrappedComponentProps<"intl">>> & {
|
|
11
|
+
WrappedComponent: React.ComponentType<Props & WrappedComponentProps<"intl">>;
|
|
16
12
|
};
|
|
17
13
|
export default _default;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { QuickInsertItem } from '@atlaskit/editor-common/provider-factory';
|
|
2
|
-
import type { NextEditorPlugin, Command } from '
|
|
3
|
-
import type { QuickInsertPluginOptions, QuickInsertSharedState, EditorCommand, QuickInsertSearchOptions } from '@atlaskit/editor-common/types';
|
|
2
|
+
import type { NextEditorPlugin, Command, QuickInsertPluginOptions, QuickInsertSharedState, EditorCommand, QuickInsertSearchOptions } from '@atlaskit/editor-common/types';
|
|
4
3
|
export type { QuickInsertPluginOptions };
|
|
5
|
-
|
|
4
|
+
export type QuickInsertPlugin = NextEditorPlugin<'quickInsert', {
|
|
6
5
|
pluginConfiguration: QuickInsertPluginOptions | undefined;
|
|
7
6
|
sharedState: QuickInsertSharedState | null;
|
|
8
7
|
actions: {
|
|
@@ -13,4 +12,5 @@ declare const quickInsertPlugin: NextEditorPlugin<'quickInsert', {
|
|
|
13
12
|
openElementBrowserModal: EditorCommand;
|
|
14
13
|
};
|
|
15
14
|
}>;
|
|
15
|
+
declare const quickInsertPlugin: QuickInsertPlugin;
|
|
16
16
|
export default quickInsertPlugin;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { WrappedComponentProps } from 'react-intl-next';
|
|
4
|
-
import { QuickInsertItem } from '@atlaskit/editor-common/provider-factory';
|
|
5
|
-
import { EmptyStateHandler } from '
|
|
3
|
+
import type { WrappedComponentProps } from 'react-intl-next';
|
|
4
|
+
import type { QuickInsertItem } from '@atlaskit/editor-common/provider-factory';
|
|
5
|
+
import type { EmptyStateHandler } from '@atlaskit/editor-common/types';
|
|
6
|
+
export declare const MODAL_WRAPPER_PADDING = 16;
|
|
6
7
|
export interface Props {
|
|
7
8
|
getItems: (query?: string, category?: string) => QuickInsertItem[];
|
|
8
9
|
onInsertItem: (item: QuickInsertItem) => void;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
3
|
+
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
4
|
+
import type { QuickInsertPlugin } from '../../';
|
|
3
5
|
type Props = {
|
|
4
6
|
editorView: EditorView;
|
|
5
7
|
helpUrl: string | undefined;
|
|
8
|
+
pluginInjectionAPI: ExtractInjectionAPI<QuickInsertPlugin> | undefined;
|
|
6
9
|
};
|
|
7
|
-
declare const _default: ({ editorView, helpUrl }: Props) => JSX.Element;
|
|
10
|
+
declare const _default: ({ editorView, helpUrl, pluginInjectionAPI }: Props) => JSX.Element;
|
|
8
11
|
export default _default;
|
|
@@ -1,22 +1,10 @@
|
|
|
1
|
-
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
2
1
|
import type { Transaction } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
-
import type {
|
|
4
|
-
import type { MenuItem } from '@atlaskit/editor-common/ui-menu';
|
|
2
|
+
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
5
3
|
import type { PluginInjectionAPIWithDependencies } from '@atlaskit/editor-common/types';
|
|
4
|
+
import type { MenuItem } from '@atlaskit/editor-common/ui-menu';
|
|
6
5
|
import type { InsertBlockPluginDependencies } from '../../plugins/insert-block/types';
|
|
6
|
+
import type { BlockMenuItem } from '../../plugins/insert-block/ui/ToolbarInsertBlock/create-items';
|
|
7
7
|
type SimpleEventHandler<T> = (event?: T) => void;
|
|
8
|
-
export type Category = {
|
|
9
|
-
title: string;
|
|
10
|
-
name: string;
|
|
11
|
-
};
|
|
12
|
-
export declare enum Modes {
|
|
13
|
-
full = "full",
|
|
14
|
-
inline = "inline"
|
|
15
|
-
}
|
|
16
|
-
export type SelectedItemProps = {
|
|
17
|
-
selectedItemIndex?: number;
|
|
18
|
-
focusedItemIndex?: number;
|
|
19
|
-
};
|
|
20
8
|
export interface InsertMenuProps {
|
|
21
9
|
dropdownItems: BlockMenuItem[];
|
|
22
10
|
editorView: EditorView;
|
|
@@ -25,10 +13,10 @@ export interface InsertMenuProps {
|
|
|
25
13
|
onInsert: OnInsert;
|
|
26
14
|
pluginInjectionApi: PluginInjectionAPIWithDependencies<InsertBlockPluginDependencies> | undefined;
|
|
27
15
|
}
|
|
28
|
-
export type OnInsert = ({ item }: {
|
|
29
|
-
item: MenuItem;
|
|
30
|
-
}) => Transaction;
|
|
31
16
|
export type SvgGetterParams = {
|
|
32
17
|
name: string;
|
|
33
18
|
};
|
|
19
|
+
export type OnInsert = ({ item }: {
|
|
20
|
+
item: MenuItem;
|
|
21
|
+
}) => Transaction;
|
|
34
22
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-core",
|
|
3
|
-
"version": "187.
|
|
3
|
+
"version": "187.41.1",
|
|
4
4
|
"description": "A package contains Atlassian editor core functionality",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@atlaskit/code": "^14.6.0",
|
|
56
56
|
"@atlaskit/date": "^0.10.0",
|
|
57
57
|
"@atlaskit/datetime-picker": "^12.9.0",
|
|
58
|
-
"@atlaskit/editor-common": "^74.
|
|
58
|
+
"@atlaskit/editor-common": "^74.58.0",
|
|
59
59
|
"@atlaskit/editor-json-transformer": "^8.10.0",
|
|
60
60
|
"@atlaskit/editor-markdown-transformer": "^5.2.5",
|
|
61
61
|
"@atlaskit/editor-palette": "1.5.1",
|
package/report.api.md
CHANGED
|
@@ -1287,7 +1287,7 @@ export interface MediaOptions {
|
|
|
1287
1287
|
// (undocumented)
|
|
1288
1288
|
allowResizingInTables?: boolean;
|
|
1289
1289
|
// (undocumented)
|
|
1290
|
-
allowTemplatePlaceholders?:
|
|
1290
|
+
allowTemplatePlaceholders?: PlaceholderTextOptions_2 | boolean;
|
|
1291
1291
|
// (undocumented)
|
|
1292
1292
|
altTextValidator?: (value: string) => string[];
|
|
1293
1293
|
// (undocumented)
|
|
@@ -1671,6 +1671,12 @@ interface PlaceholderTextOptions {
|
|
|
1671
1671
|
allowInserting?: boolean;
|
|
1672
1672
|
}
|
|
1673
1673
|
|
|
1674
|
+
// @public (undocumented)
|
|
1675
|
+
interface PlaceholderTextOptions_2 {
|
|
1676
|
+
// (undocumented)
|
|
1677
|
+
allowInserting?: boolean;
|
|
1678
|
+
}
|
|
1679
|
+
|
|
1674
1680
|
export { PortalProvider };
|
|
1675
1681
|
|
|
1676
1682
|
export { PortalProviderAPI };
|
package/tmp/api-report-tmp.d.ts
CHANGED
|
@@ -1162,7 +1162,7 @@ export interface MediaOptions {
|
|
|
1162
1162
|
// (undocumented)
|
|
1163
1163
|
allowResizingInTables?: boolean;
|
|
1164
1164
|
// (undocumented)
|
|
1165
|
-
allowTemplatePlaceholders?:
|
|
1165
|
+
allowTemplatePlaceholders?: PlaceholderTextOptions_2 | boolean;
|
|
1166
1166
|
// (undocumented)
|
|
1167
1167
|
altTextValidator?: (value: string) => string[];
|
|
1168
1168
|
// (undocumented)
|
|
@@ -1500,6 +1500,12 @@ interface PlaceholderTextOptions {
|
|
|
1500
1500
|
allowInserting?: boolean;
|
|
1501
1501
|
}
|
|
1502
1502
|
|
|
1503
|
+
// @public (undocumented)
|
|
1504
|
+
interface PlaceholderTextOptions_2 {
|
|
1505
|
+
// (undocumented)
|
|
1506
|
+
allowInserting?: boolean;
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1503
1509
|
export { PortalProvider }
|
|
1504
1510
|
|
|
1505
1511
|
export { PortalProviderAPI }
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
12
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
var _StatelessElementBrowser = _interopRequireDefault(require("./components/StatelessElementBrowser"));
|
|
18
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
21
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
22
|
-
var ElementBrowser = /*#__PURE__*/function (_PureComponent) {
|
|
23
|
-
(0, _inherits2.default)(ElementBrowser, _PureComponent);
|
|
24
|
-
var _super = _createSuper(ElementBrowser);
|
|
25
|
-
function ElementBrowser() {
|
|
26
|
-
var _this;
|
|
27
|
-
(0, _classCallCheck2.default)(this, ElementBrowser);
|
|
28
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
29
|
-
args[_key] = arguments[_key];
|
|
30
|
-
}
|
|
31
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
32
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
33
|
-
categories: [],
|
|
34
|
-
items: [],
|
|
35
|
-
searchTerm: '',
|
|
36
|
-
selectedCategory: _this.props.defaultCategory
|
|
37
|
-
});
|
|
38
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getCategories", function () {
|
|
39
|
-
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.fetchItems();
|
|
40
|
-
return (
|
|
41
|
-
// NOTE: we fetch all items to determine available categories.
|
|
42
|
-
_this.filterCategories(items, _this.props.categories)
|
|
43
|
-
);
|
|
44
|
-
});
|
|
45
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "filterCategories", function (items) {
|
|
46
|
-
var categories = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
47
|
-
var showCategories = _this.props.showCategories;
|
|
48
|
-
if (!showCategories) {
|
|
49
|
-
return [];
|
|
50
|
-
}
|
|
51
|
-
return categories.filter(function (category) {
|
|
52
|
-
return category.name === 'all' || items.some(function (item) {
|
|
53
|
-
return (item.categories || []).includes(category.name);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fetchItems", function (query, category) {
|
|
58
|
-
return _this.props.getItems(query, category);
|
|
59
|
-
});
|
|
60
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSearch", function (searchTerm) {
|
|
61
|
-
var defaultCategory = _this.props.defaultCategory;
|
|
62
|
-
_this.setState({
|
|
63
|
-
searchTerm: searchTerm,
|
|
64
|
-
selectedCategory: defaultCategory
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleCategorySelection", function (clickedCategory) {
|
|
68
|
-
var stateCategoryValue = _this.state.selectedCategory;
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Reset selection if clicked on the same category twice.
|
|
72
|
-
*/
|
|
73
|
-
if (stateCategoryValue === clickedCategory.name) {
|
|
74
|
-
return _this.setState({
|
|
75
|
-
selectedCategory: _this.props.defaultCategory
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
_this.setState({
|
|
79
|
-
selectedCategory: clickedCategory.name,
|
|
80
|
-
searchTerm: ''
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
return _this;
|
|
84
|
-
}
|
|
85
|
-
(0, _createClass2.default)(ElementBrowser, [{
|
|
86
|
-
key: "componentDidMount",
|
|
87
|
-
value: function componentDidMount() {
|
|
88
|
-
var items = this.fetchItems();
|
|
89
|
-
this.setState({
|
|
90
|
-
items: items,
|
|
91
|
-
categories: this.getCategories(items)
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}, {
|
|
95
|
-
key: "componentDidUpdate",
|
|
96
|
-
value: function componentDidUpdate(prevProps, prevState) {
|
|
97
|
-
var _this$state = this.state,
|
|
98
|
-
searchTerm = _this$state.searchTerm,
|
|
99
|
-
selectedCategory = _this$state.selectedCategory;
|
|
100
|
-
|
|
101
|
-
// Update both items and categories when there's a new getItems
|
|
102
|
-
if (this.props.getItems !== prevProps.getItems) {
|
|
103
|
-
this.setState({
|
|
104
|
-
categories: this.getCategories(),
|
|
105
|
-
items: this.fetchItems(searchTerm, selectedCategory)
|
|
106
|
-
});
|
|
107
|
-
} else if (searchTerm !== prevState.searchTerm || selectedCategory !== prevState.selectedCategory) {
|
|
108
|
-
this.setState({
|
|
109
|
-
items: this.fetchItems(searchTerm, selectedCategory)
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}, {
|
|
114
|
-
key: "render",
|
|
115
|
-
value: function render() {
|
|
116
|
-
var _this$props = this.props,
|
|
117
|
-
onInsertItem = _this$props.onInsertItem,
|
|
118
|
-
onSelectItem = _this$props.onSelectItem,
|
|
119
|
-
showSearch = _this$props.showSearch,
|
|
120
|
-
showCategories = _this$props.showCategories,
|
|
121
|
-
mode = _this$props.mode,
|
|
122
|
-
emptyStateHandler = _this$props.emptyStateHandler,
|
|
123
|
-
viewMoreItem = _this$props.viewMoreItem;
|
|
124
|
-
var _this$state2 = this.state,
|
|
125
|
-
categories = _this$state2.categories,
|
|
126
|
-
searchTerm = _this$state2.searchTerm,
|
|
127
|
-
selectedCategory = _this$state2.selectedCategory,
|
|
128
|
-
items = _this$state2.items;
|
|
129
|
-
return /*#__PURE__*/_react.default.createElement(_StatelessElementBrowser.default, {
|
|
130
|
-
items: items,
|
|
131
|
-
categories: categories,
|
|
132
|
-
onSearch: this.handleSearch,
|
|
133
|
-
onSelectCategory: this.handleCategorySelection,
|
|
134
|
-
onSelectItem: onSelectItem,
|
|
135
|
-
onInsertItem: onInsertItem,
|
|
136
|
-
selectedCategory: selectedCategory,
|
|
137
|
-
showSearch: showSearch,
|
|
138
|
-
showCategories: showCategories,
|
|
139
|
-
mode: mode,
|
|
140
|
-
searchTerm: searchTerm,
|
|
141
|
-
emptyStateHandler: emptyStateHandler,
|
|
142
|
-
viewMoreItem: viewMoreItem
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}]);
|
|
146
|
-
return ElementBrowser;
|
|
147
|
-
}(_react.PureComponent);
|
|
148
|
-
exports.default = ElementBrowser;
|
|
149
|
-
(0, _defineProperty2.default)(ElementBrowser, "defaultProps", {
|
|
150
|
-
defaultCategory: 'all',
|
|
151
|
-
onInsertItem: function onInsertItem() {}
|
|
152
|
-
});
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.ViewMore = void 0;
|
|
8
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
-
var _react = require("react");
|
|
10
|
-
var _react2 = require("@emotion/react");
|
|
11
|
-
var _menu = require("@atlaskit/menu");
|
|
12
|
-
var _templateObject, _templateObject2;
|
|
13
|
-
/** @jsx jsx */
|
|
14
|
-
var itemBefore = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 40px;\n height: 40px;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: ", ";\n"])), "var(--ds-space-050, 4px)");
|
|
15
|
-
var ViewMore = function ViewMore(_ref) {
|
|
16
|
-
var item = _ref.item,
|
|
17
|
-
focus = _ref.focus;
|
|
18
|
-
var ref = (0, _react.useRef)(null);
|
|
19
|
-
(0, _react.useEffect)(function () {
|
|
20
|
-
if (ref.current && focus) {
|
|
21
|
-
ref.current.focus();
|
|
22
|
-
}
|
|
23
|
-
}, [focus]);
|
|
24
|
-
return (0, _react2.jsx)(_menu.Section, {
|
|
25
|
-
hasSeparator: true
|
|
26
|
-
}, (0, _react2.jsx)(_menu.ButtonItem, {
|
|
27
|
-
onClick: item.action,
|
|
28
|
-
iconBefore: (0, _react2.jsx)("div", {
|
|
29
|
-
css: itemBefore
|
|
30
|
-
}, item.icon()),
|
|
31
|
-
"aria-describedby": item.title,
|
|
32
|
-
"data-testid": "view-more-elements-item"
|
|
33
|
-
// @ts-ignore Overriding Menu styles is not supported
|
|
34
|
-
,
|
|
35
|
-
css: (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding: 0px 12px;\n "]))),
|
|
36
|
-
ref: ref
|
|
37
|
-
}, item.title));
|
|
38
|
-
};
|
|
39
|
-
exports.ViewMore = ViewMore;
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
14
|
-
var _react = require("@emotion/react");
|
|
15
|
-
var _react2 = _interopRequireWildcard(require("react"));
|
|
16
|
-
var _colors = require("@atlaskit/theme/colors");
|
|
17
|
-
var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
|
|
18
|
-
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
19
|
-
var _constants = require("../constants");
|
|
20
|
-
var _useFocus = _interopRequireDefault(require("../hooks/use-focus"));
|
|
21
|
-
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
22
|
-
var _templateObject;
|
|
23
|
-
var _excluded = ["categories"],
|
|
24
|
-
_excluded2 = ["buttonStyles"];
|
|
25
|
-
/** @jsx jsx */
|
|
26
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
28
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
29
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
30
|
-
function CategoryList(_ref) {
|
|
31
|
-
var _ref$categories = _ref.categories,
|
|
32
|
-
categories = _ref$categories === void 0 ? [] : _ref$categories,
|
|
33
|
-
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
34
|
-
var _React$useState = _react2.default.useState(null),
|
|
35
|
-
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
36
|
-
focusedCategoryIndex = _React$useState2[0],
|
|
37
|
-
setFocusedCategoryIndex = _React$useState2[1];
|
|
38
|
-
return (0, _react.jsx)(_react2.Fragment, null, categories.map(function (category, index) {
|
|
39
|
-
return (0, _react.jsx)(CategoryListItem, (0, _extends2.default)({
|
|
40
|
-
key: category.title,
|
|
41
|
-
index: index,
|
|
42
|
-
category: category,
|
|
43
|
-
focus: focusedCategoryIndex === index,
|
|
44
|
-
setFocusedCategoryIndex: setFocusedCategoryIndex
|
|
45
|
-
}, props));
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
function CategoryListItem(_ref2) {
|
|
49
|
-
var category = _ref2.category,
|
|
50
|
-
onSelectCategory = _ref2.onSelectCategory,
|
|
51
|
-
selectedCategory = _ref2.selectedCategory,
|
|
52
|
-
index = _ref2.index,
|
|
53
|
-
focus = _ref2.focus,
|
|
54
|
-
setFocusedCategoryIndex = _ref2.setFocusedCategoryIndex,
|
|
55
|
-
createAnalyticsEvent = _ref2.createAnalyticsEvent;
|
|
56
|
-
var ref = (0, _useFocus.default)(focus);
|
|
57
|
-
var onClick = (0, _react2.useCallback)(function () {
|
|
58
|
-
onSelectCategory(category);
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* When user double clicks on same category, focus on first item.
|
|
62
|
-
*/
|
|
63
|
-
if (selectedCategory === category.name) {
|
|
64
|
-
setFocusedCategoryIndex(0);
|
|
65
|
-
} else {
|
|
66
|
-
setFocusedCategoryIndex(index);
|
|
67
|
-
}
|
|
68
|
-
(0, _analytics.fireAnalyticsEvent)(createAnalyticsEvent)({
|
|
69
|
-
payload: {
|
|
70
|
-
action: _analytics.ACTION.CLICKED,
|
|
71
|
-
actionSubject: _analytics.ACTION_SUBJECT.BUTTON,
|
|
72
|
-
actionSubjectId: _analytics.ACTION_SUBJECT_ID.BUTTON_CATEGORY,
|
|
73
|
-
eventType: _analytics.EVENT_TYPE.TRACK
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}, [onSelectCategory, category, index, selectedCategory, setFocusedCategoryIndex, createAnalyticsEvent]);
|
|
77
|
-
var onFocus = (0, _react2.useCallback)(function () {
|
|
78
|
-
if (!focus) {
|
|
79
|
-
setFocusedCategoryIndex(index);
|
|
80
|
-
}
|
|
81
|
-
}, [focus, index, setFocusedCategoryIndex]);
|
|
82
|
-
var getTheme = (0, _react2.useCallback)(function (currentTheme, themeProps) {
|
|
83
|
-
var _currentTheme = currentTheme(themeProps),
|
|
84
|
-
buttonStyles = _currentTheme.buttonStyles,
|
|
85
|
-
rest = (0, _objectWithoutProperties2.default)(_currentTheme, _excluded2);
|
|
86
|
-
return _objectSpread({
|
|
87
|
-
buttonStyles: _objectSpread(_objectSpread({}, buttonStyles), {}, {
|
|
88
|
-
textAlign: 'start',
|
|
89
|
-
marginLeft: '2px',
|
|
90
|
-
height: '100%',
|
|
91
|
-
width: '100%',
|
|
92
|
-
color: category.name !== selectedCategory ? "var(--ds-text, ".concat(_colors.N800, ")") : "var(--ds-text-selected, ".concat(_colors.B400, ")")
|
|
93
|
-
}, category.name === selectedCategory && {
|
|
94
|
-
background: "var(--ds-background-selected, ".concat(_colors.B50, ")")
|
|
95
|
-
})
|
|
96
|
-
}, rest);
|
|
97
|
-
}, [category.name, selectedCategory]);
|
|
98
|
-
return (0, _react.jsx)("div", {
|
|
99
|
-
css: buttonWrapper
|
|
100
|
-
}, (0, _react.jsx)(_customThemeButton.default, {
|
|
101
|
-
appearance: "subtle",
|
|
102
|
-
isSelected: selectedCategory === category.name,
|
|
103
|
-
onClick: onClick,
|
|
104
|
-
onFocus: onFocus,
|
|
105
|
-
theme: getTheme,
|
|
106
|
-
ref: ref,
|
|
107
|
-
testId: "element-browser-category-item"
|
|
108
|
-
}, category.title));
|
|
109
|
-
}
|
|
110
|
-
var buttonWrapper = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n height: ", "px;\n margin: 4px 4px 4px 0;\n\n @media (min-width: ", "px) {\n :not(:last-child) {\n margin-bottom: 0;\n }\n }\n"])), _constants.GRID_SIZE * 4, _constants.DEVICE_BREAKPOINT_NUMBERS.medium);
|
|
111
|
-
var MemoizedCategoryListWithAnalytics = /*#__PURE__*/(0, _react2.memo)((0, _analyticsNext.withAnalyticsContext)({
|
|
112
|
-
component: 'CategoryList'
|
|
113
|
-
})(CategoryList));
|
|
114
|
-
var _default = MemoizedCategoryListWithAnalytics;
|
|
115
|
-
exports.default = _default;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
-
var _react = require("@emotion/react");
|
|
11
|
-
var _react2 = _interopRequireDefault(require("react"));
|
|
12
|
-
var _reactLoadable = _interopRequireDefault(require("react-loadable"));
|
|
13
|
-
var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
|
|
14
|
-
var _templateObject;
|
|
15
|
-
/** @jsx jsx */
|
|
16
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
-
var spinnerContainer = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n width: 100%;\n"])));
|
|
19
|
-
var ElementBrowserLoader = (0, _reactLoadable.default)({
|
|
20
|
-
loader: function loader() {
|
|
21
|
-
return Promise.resolve().then(function () {
|
|
22
|
-
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_editor-element-browser" */'../ElementBrowser'));
|
|
23
|
-
}).then(function (module) {
|
|
24
|
-
return module.default;
|
|
25
|
-
});
|
|
26
|
-
},
|
|
27
|
-
loading: function loading() {
|
|
28
|
-
return (0, _react.jsx)("div", {
|
|
29
|
-
css: spinnerContainer
|
|
30
|
-
}, (0, _react.jsx)(_spinner.default, {
|
|
31
|
-
size: "medium"
|
|
32
|
-
}));
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
var _default = ElementBrowserLoader;
|
|
36
|
-
exports.default = _default;
|