161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci  * Copyright (c) 2023 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci  * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci  * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci  * You may obtain a copy of the License at
661847f8eSopenharmony_ci  *
761847f8eSopenharmony_ci  *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci  *
961847f8eSopenharmony_ci  * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci  * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci  * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci  * limitations under the License.
1461847f8eSopenharmony_ci  */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit ArkUI
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ci/**
2261847f8eSopenharmony_ci * Construct parameter types for EditorMenuOptions.
2361847f8eSopenharmony_ci *
2461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
2561847f8eSopenharmony_ci * @crossplatform
2661847f8eSopenharmony_ci * @since 11
2761847f8eSopenharmony_ci */
2861847f8eSopenharmony_ci /**
2961847f8eSopenharmony_ci * Construct parameter types for EditorMenuOptions.
3061847f8eSopenharmony_ci *
3161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
3261847f8eSopenharmony_ci * @crossplatform
3361847f8eSopenharmony_ci * @atomicservice
3461847f8eSopenharmony_ci * @since 12
3561847f8eSopenharmony_ci */
3661847f8eSopenharmony_ci
3761847f8eSopenharmony_ci
3861847f8eSopenharmony_ciexport interface EditorMenuOptions {
3961847f8eSopenharmony_ci  /**
4061847f8eSopenharmony_ci   * The icon of icon and text item.
4161847f8eSopenharmony_ci   *
4261847f8eSopenharmony_ci   * @type { ResourceStr }
4361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
4461847f8eSopenharmony_ci   * @crossplatform
4561847f8eSopenharmony_ci   * @since 11
4661847f8eSopenharmony_ci   */
4761847f8eSopenharmony_ci   /**
4861847f8eSopenharmony_ci   * The icon of icon and text item.
4961847f8eSopenharmony_ci   *
5061847f8eSopenharmony_ci   * @type { ResourceStr }
5161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
5261847f8eSopenharmony_ci   * @crossplatform
5361847f8eSopenharmony_ci   * @atomicservice
5461847f8eSopenharmony_ci   * @since 12
5561847f8eSopenharmony_ci   */
5661847f8eSopenharmony_ci  icon: ResourceStr;
5761847f8eSopenharmony_ci
5861847f8eSopenharmony_ci  /**
5961847f8eSopenharmony_ci   * Callback function when click the icon.
6061847f8eSopenharmony_ci   * 
6161847f8eSopenharmony_ci   * @type { ?function }
6261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
6361847f8eSopenharmony_ci   * @crossplatform
6461847f8eSopenharmony_ci   * @since 11
6561847f8eSopenharmony_ci   */
6661847f8eSopenharmony_ci   /**
6761847f8eSopenharmony_ci   * Callback function when click the icon.
6861847f8eSopenharmony_ci   * 
6961847f8eSopenharmony_ci   * @type { ?function }
7061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
7161847f8eSopenharmony_ci   * @crossplatform
7261847f8eSopenharmony_ci   * @atomicservice
7361847f8eSopenharmony_ci   * @since 12
7461847f8eSopenharmony_ci   */
7561847f8eSopenharmony_ci  action?: () => void;
7661847f8eSopenharmony_ci
7761847f8eSopenharmony_ci  /**
7861847f8eSopenharmony_ci   * Callback builder when click the icon.
7961847f8eSopenharmony_ci   * 
8061847f8eSopenharmony_ci   * @type { ?function }
8161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
8261847f8eSopenharmony_ci   * @crossplatform
8361847f8eSopenharmony_ci   * @since 11
8461847f8eSopenharmony_ci   */
8561847f8eSopenharmony_ci   /**
8661847f8eSopenharmony_ci   * Callback builder when click the icon.
8761847f8eSopenharmony_ci   * 
8861847f8eSopenharmony_ci   * @type { ?function }
8961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
9061847f8eSopenharmony_ci   * @crossplatform
9161847f8eSopenharmony_ci   * @atomicservice
9261847f8eSopenharmony_ci   * @since 12
9361847f8eSopenharmony_ci   */
9461847f8eSopenharmony_ci  builder?: () => void;
9561847f8eSopenharmony_ci}
9661847f8eSopenharmony_ci
9761847f8eSopenharmony_ci/**
9861847f8eSopenharmony_ci * Construct parameter types for ExpandedMenuOptions.
9961847f8eSopenharmony_ci *
10061847f8eSopenharmony_ci * @extends MenuItemOptions
10161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
10261847f8eSopenharmony_ci * @crossplatform
10361847f8eSopenharmony_ci * @since 11
10461847f8eSopenharmony_ci */
10561847f8eSopenharmony_ci /**
10661847f8eSopenharmony_ci * Construct parameter types for ExpandedMenuOptions.
10761847f8eSopenharmony_ci *
10861847f8eSopenharmony_ci * @extends MenuItemOptions
10961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
11061847f8eSopenharmony_ci * @crossplatform
11161847f8eSopenharmony_ci * @atomicservice
11261847f8eSopenharmony_ci * @since 12
11361847f8eSopenharmony_ci */
11461847f8eSopenharmony_ciexport interface ExpandedMenuOptions extends MenuItemOptions {
11561847f8eSopenharmony_ci  /**
11661847f8eSopenharmony_ci   * Callback function when click the option.
11761847f8eSopenharmony_ci   * 
11861847f8eSopenharmony_ci   * @type { ?function }
11961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
12061847f8eSopenharmony_ci   * @crossplatform
12161847f8eSopenharmony_ci   * @since 11
12261847f8eSopenharmony_ci   */
12361847f8eSopenharmony_ci   /**
12461847f8eSopenharmony_ci   * Callback function when click the option.
12561847f8eSopenharmony_ci   * 
12661847f8eSopenharmony_ci   * @type { ?function }
12761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
12861847f8eSopenharmony_ci   * @crossplatform
12961847f8eSopenharmony_ci   * @atomicservice
13061847f8eSopenharmony_ci   * @since 12
13161847f8eSopenharmony_ci   */
13261847f8eSopenharmony_ci  action?: () => void;
13361847f8eSopenharmony_ci}
13461847f8eSopenharmony_ci
13561847f8eSopenharmony_ci/**
13661847f8eSopenharmony_ci * Defines the editor event info.
13761847f8eSopenharmony_ci *
13861847f8eSopenharmony_ci * @interface EditorEventInfo
13961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
14061847f8eSopenharmony_ci * @crossplatform
14161847f8eSopenharmony_ci * @since 11
14261847f8eSopenharmony_ci */
14361847f8eSopenharmony_ci /**
14461847f8eSopenharmony_ci * Defines the editor event info.
14561847f8eSopenharmony_ci *
14661847f8eSopenharmony_ci * @interface EditorEventInfo
14761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
14861847f8eSopenharmony_ci * @crossplatform
14961847f8eSopenharmony_ci * @atomicservice
15061847f8eSopenharmony_ci * @since 12
15161847f8eSopenharmony_ci */
15261847f8eSopenharmony_ciexport interface EditorEventInfo {
15361847f8eSopenharmony_ci  /**
15461847f8eSopenharmony_ci   * Edit information.
15561847f8eSopenharmony_ci   *
15661847f8eSopenharmony_ci   * @type { ?RichEditorSelection }
15761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
15861847f8eSopenharmony_ci   * @crossplatform
15961847f8eSopenharmony_ci   * @since 11
16061847f8eSopenharmony_ci   */
16161847f8eSopenharmony_ci   /**
16261847f8eSopenharmony_ci   * Edit information.
16361847f8eSopenharmony_ci   *
16461847f8eSopenharmony_ci   * @type { ?RichEditorSelection }
16561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
16661847f8eSopenharmony_ci   * @crossplatform
16761847f8eSopenharmony_ci   * @atomicservice
16861847f8eSopenharmony_ci   * @since 12
16961847f8eSopenharmony_ci   */
17061847f8eSopenharmony_ci  content?: RichEditorSelection;
17161847f8eSopenharmony_ci}
17261847f8eSopenharmony_ci
17361847f8eSopenharmony_ci/**
17461847f8eSopenharmony_ci * Construct parameter types for SelectionMenuOptions.
17561847f8eSopenharmony_ci *
17661847f8eSopenharmony_ci * @extends MenuItemOptions
17761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
17861847f8eSopenharmony_ci * @crossplatform
17961847f8eSopenharmony_ci * @since 11
18061847f8eSopenharmony_ci */
18161847f8eSopenharmony_ci /**
18261847f8eSopenharmony_ci * Construct parameter types for SelectionMenuOptions.
18361847f8eSopenharmony_ci *
18461847f8eSopenharmony_ci * @extends MenuItemOptions
18561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
18661847f8eSopenharmony_ci * @crossplatform
18761847f8eSopenharmony_ci * @atomicservice
18861847f8eSopenharmony_ci * @since 12
18961847f8eSopenharmony_ci */
19061847f8eSopenharmony_ciexport interface SelectionMenuOptions {
19161847f8eSopenharmony_ci  /**
19261847f8eSopenharmony_ci   * The options of EditorMenu.
19361847f8eSopenharmony_ci   *
19461847f8eSopenharmony_ci   * @type { ?Array<EditorMenuOptions> }
19561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
19661847f8eSopenharmony_ci   * @crossplatform
19761847f8eSopenharmony_ci   * @since 11
19861847f8eSopenharmony_ci   */
19961847f8eSopenharmony_ci   /**
20061847f8eSopenharmony_ci   * The options of EditorMenu.
20161847f8eSopenharmony_ci   *
20261847f8eSopenharmony_ci   * @type { ?Array<EditorMenuOptions> }
20361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
20461847f8eSopenharmony_ci   * @crossplatform
20561847f8eSopenharmony_ci   * @atomicservice
20661847f8eSopenharmony_ci   * @since 12
20761847f8eSopenharmony_ci   */
20861847f8eSopenharmony_ci  editorMenuOptions?: Array<EditorMenuOptions>;
20961847f8eSopenharmony_ci
21061847f8eSopenharmony_ci  /**
21161847f8eSopenharmony_ci   * Expansion of SelectionMenu.
21261847f8eSopenharmony_ci   *
21361847f8eSopenharmony_ci   * @type { ?Array<ExpendMenuOptions> }
21461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
21561847f8eSopenharmony_ci   * @crossplatform
21661847f8eSopenharmony_ci   * @since 11
21761847f8eSopenharmony_ci   */
21861847f8eSopenharmony_ci   /**
21961847f8eSopenharmony_ci   * Expansion of SelectionMenu.
22061847f8eSopenharmony_ci   *
22161847f8eSopenharmony_ci   * @type { ?Array<ExpendMenuOptions> }
22261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
22361847f8eSopenharmony_ci   * @crossplatform
22461847f8eSopenharmony_ci   * @atomicservice
22561847f8eSopenharmony_ci   * @since 12
22661847f8eSopenharmony_ci   */
22761847f8eSopenharmony_ci  expandedMenuOptions?: Array<ExpandedMenuOptions>;
22861847f8eSopenharmony_ci
22961847f8eSopenharmony_ci  /**
23061847f8eSopenharmony_ci   * Expansion of SelectionMenu.
23161847f8eSopenharmony_ci   *
23261847f8eSopenharmony_ci   * @type { ?RichEditorController }
23361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
23461847f8eSopenharmony_ci   * @crossplatform
23561847f8eSopenharmony_ci   * @since 11
23661847f8eSopenharmony_ci   */
23761847f8eSopenharmony_ci   /**
23861847f8eSopenharmony_ci   * Expansion of SelectionMenu.
23961847f8eSopenharmony_ci   *
24061847f8eSopenharmony_ci   * @type { ?RichEditorController }
24161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
24261847f8eSopenharmony_ci   * @crossplatform
24361847f8eSopenharmony_ci   * @atomicservice
24461847f8eSopenharmony_ci   * @since 12
24561847f8eSopenharmony_ci   */
24661847f8eSopenharmony_ci  controller?: RichEditorController;
24761847f8eSopenharmony_ci  /**
24861847f8eSopenharmony_ci   * Replace the built-in paste function.
24961847f8eSopenharmony_ci   *
25061847f8eSopenharmony_ci   * @type { ?function }
25161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
25261847f8eSopenharmony_ci   * @crossplatform
25361847f8eSopenharmony_ci   * @since 11
25461847f8eSopenharmony_ci   */
25561847f8eSopenharmony_ci   /**
25661847f8eSopenharmony_ci   * Replace the built-in paste function.
25761847f8eSopenharmony_ci   *
25861847f8eSopenharmony_ci   * @type { ?function }
25961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
26061847f8eSopenharmony_ci   * @crossplatform
26161847f8eSopenharmony_ci   * @atomicservice
26261847f8eSopenharmony_ci   * @since 12
26361847f8eSopenharmony_ci   */
26461847f8eSopenharmony_ci  onPaste?: (event?: EditorEventInfo) => void;
26561847f8eSopenharmony_ci
26661847f8eSopenharmony_ci  /**
26761847f8eSopenharmony_ci   * Replace the built-in replication feature.
26861847f8eSopenharmony_ci   *
26961847f8eSopenharmony_ci   * @type { ?function }
27061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
27161847f8eSopenharmony_ci   * @crossplatform
27261847f8eSopenharmony_ci   * @since 11
27361847f8eSopenharmony_ci   */
27461847f8eSopenharmony_ci   /**
27561847f8eSopenharmony_ci   * Replace the built-in replication feature.
27661847f8eSopenharmony_ci   *
27761847f8eSopenharmony_ci   * @type { ?function }
27861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
27961847f8eSopenharmony_ci   * @crossplatform
28061847f8eSopenharmony_ci   * @atomicservice
28161847f8eSopenharmony_ci   * @since 12
28261847f8eSopenharmony_ci   */
28361847f8eSopenharmony_ci  onCopy?: (event?: EditorEventInfo) => void;
28461847f8eSopenharmony_ci
28561847f8eSopenharmony_ci  /**
28661847f8eSopenharmony_ci   * Replace the built-in cut function.
28761847f8eSopenharmony_ci   *
28861847f8eSopenharmony_ci   * @type { ?function }
28961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
29061847f8eSopenharmony_ci   * @crossplatform
29161847f8eSopenharmony_ci   * @since 11
29261847f8eSopenharmony_ci   */
29361847f8eSopenharmony_ci   /**
29461847f8eSopenharmony_ci   * Replace the built-in cut function.
29561847f8eSopenharmony_ci   *
29661847f8eSopenharmony_ci   * @type { ?function }
29761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
29861847f8eSopenharmony_ci   * @crossplatform
29961847f8eSopenharmony_ci   * @atomicservice
30061847f8eSopenharmony_ci   * @since 12
30161847f8eSopenharmony_ci   */
30261847f8eSopenharmony_ci  onCut?: (event?: EditorEventInfo) => void;
30361847f8eSopenharmony_ci
30461847f8eSopenharmony_ci  /**
30561847f8eSopenharmony_ci   * Replace the built-in select all function.
30661847f8eSopenharmony_ci   *
30761847f8eSopenharmony_ci   * @type { ?function }
30861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
30961847f8eSopenharmony_ci   * @crossplatform
31061847f8eSopenharmony_ci   * @since 11
31161847f8eSopenharmony_ci   */
31261847f8eSopenharmony_ci   /**
31361847f8eSopenharmony_ci   * Replace the built-in select all function.
31461847f8eSopenharmony_ci   *
31561847f8eSopenharmony_ci   * @type { ?function }
31661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
31761847f8eSopenharmony_ci   * @crossplatform
31861847f8eSopenharmony_ci   * @atomicservice
31961847f8eSopenharmony_ci   * @since 12
32061847f8eSopenharmony_ci   */
32161847f8eSopenharmony_ci  onSelectAll?: (event?: EditorEventInfo) => void;
32261847f8eSopenharmony_ci}
32361847f8eSopenharmony_ci
32461847f8eSopenharmony_ci/**
32561847f8eSopenharmony_ci * Declare Builder SelectionMenu.
32661847f8eSopenharmony_ci *
32761847f8eSopenharmony_ci * @param { SelectionMenuOptions } options - Selection menu options.
32861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
32961847f8eSopenharmony_ci * @crossplatform
33061847f8eSopenharmony_ci * @since 11
33161847f8eSopenharmony_ci */
33261847f8eSopenharmony_ci /**
33361847f8eSopenharmony_ci * Declare Builder SelectionMenu.
33461847f8eSopenharmony_ci *
33561847f8eSopenharmony_ci * @param { SelectionMenuOptions } options - Selection menu options.
33661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
33761847f8eSopenharmony_ci * @crossplatform
33861847f8eSopenharmony_ci * @atomicservice
33961847f8eSopenharmony_ci * @since 12
34061847f8eSopenharmony_ci */
34161847f8eSopenharmony_ci@Builder
34261847f8eSopenharmony_ciexport declare function SelectionMenu(options: SelectionMenuOptions): void;
343