1/*
2 * Copyright (c) 2023-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16const KeyCode = requireNapi('multimodalInput.keyCode').KeyCode;
17export var EditableLeftIconType;
18! function(e) {
19  e[e.Back = 0] = "Back";
20  e[e.Cancel = 1] = "Cancel"
21}(EditableLeftIconType || (EditableLeftIconType = {}));
22const PUBLIC_CANCEL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAABKpJREFUeNrt3bFrlHccx/Ff4o2dgkOQ4JzR4SYJgksnbYcGOrTQsUPtpE4d/RNcFBeFlg7NUlTSTrXQQgsKGV0KHTs4ODiJSL8PdxaUGJK7pPc893m94TvleZLnnt/7fcc9z5FrDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnDQrPTuej2u2a87VvKp5XLNT87OlGiSf1lx6Zz2/q3kkgLdZr7k5lX8/7tZ8XfOCU4OgW887U/n341bN9T6s56menLAfaj464OfdM8iF6XYv+dV7+X+pOX/ANuOatZqHAmjti5prh9jurAgGI//mIbbtIvi15u9FHvBqD07a50fYdqtmt+YDrg1a/jd8tuiD7kMA4yNuL4LlkH+WtV/KAEYz7COC4cs/69ovXQB7M+4ngmHLP8/aL1UAD+bYVwTDlX/etT8W+nAV6M82uQS6PuP+rg4NV/5vBNDa6za5HLY9xzO5CIYl/9OaT5obYf/xrE1uioggQ/6LNf/04QGd6tHJFQH5owMQAfnjAxAB+eMDEAH54wMQAfnjAxAB+eMDEAH54wMQAfnjAxAB+eMDEAH54wMQAfnjAxAB+eMDEAH54wMQAfnjAxAB+eMDEAH54wMQAfnjAxAB+eMDEAH54wMQAfnjAxAB+eMDSI6A/AKIjYD8AoiNgPwCiI2A/AKIjYD8AoiNgPwCiI2A/AKIjYD8AoiNgPwCiI2A/AKIjYD8AoiNgPwCiI2A/AKIjYD8AoiNgPwCiI2A/AKIjYD8AoiNgPwCiI2A/AKIjYD8AoiNgPwCiI1gjfyLY8UpmJnNqbjrc/yO32pOk98rQPIrwWnyCyA5AvILQATkF4AIyC8AEZBfACIgvwBEQH4BiID8J8qqU3BiPJ8O+XuMO8Eng8/2CID85BcA+ckvAPKT35tg8h+n/KP2/3/2SADojfzf1+yKYH7cBxim/N39hWX8RnsBkP9Q8r9BBAKIlV8EAoiXXwQCiJdfBAKIl18EAoiXXwQz4D5A/+Tv2KjZmuPvdfu6T+AVYJDyd3Qfo17Gb7QXAPkPzTMRCCBVfhEIIF5+EQggXn4RCCBefhEIIF5+EQggXn4RCCBefhEIIF5+EQggXn4RCCBefhEIIF5+EQggXn4RCCBefhEIIF5+EQggXn4RCCBefhEIwD+qFUFuAOQXQWwA5BdBbADkF0FsAOQXQWwA5BdBbADkF0FsAOQXQWwA5BdBbADkF0FsAOQXQWwA5BdBbADkF0FsAOQXQWwA5BdBbADkF0FsAOQXQWwA5BdBbADkF0FsAOQXQWwA5BdBdAD3a8bkj4rgTM2PAmjty5or5I+L4FzNHzV/LfKB9OGb4rfJP0iO49xvL/pB9CGAMfljIxgLoLUR+WMjGAmgtT3yx0awJ4DWdsgfG8HOog+6D1eBntR8WLNB/sFzlKtDnfw3BNDa65rfp2+I3hfBo5rL5B9UBFttcoNzP35qk8vfLxZ9sCs9OnHdG6Kvps8e3TXiVzWPp88Ut3k1OLr1vFpz6Z31/LbmntMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAO/wLvsR65mx80NAAAAABJRU5ErkJggg==";
23const PUBLIC_OK = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA+lJREFUeNrt3bFrFgccx+GLlSDi4JDBITiJZHBwEBGRIoqKoIu6iVMd3OosCg6W0sm/wEFUDDgpCDoIDoqOKqIoHUrp4CDFoUMRB39HLotoeXMpMXff54EfFE0ivv1+kpQGrmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBJTHkJGIhddT/V7ajbUPey7l7dlbpPAmCs1tb9Wne2++cvPa07Vfd7nw/+g9eXVT7+m3Wn69Z8421m6w7WXa37KADGNv4TE7ztTN36uvtL/UPWeJ0Z+PgXnejzBwmAMYx/8VuhTQIgcfy9CYCxjP9D3TsBkPqZf95XAFLH3372vyAAEsf/T93Ruvd93tn/CWbo4z9c96jvBxAAseMXANHjFwDR4xcA0eMXANHjFwDR4xcA0eMXANHjFwDR4xcA0eMXANHjFwDR4xcA0eMXANHjFwDR4xcA0eMXANHjFwDR4xcA0eMXANHjFwDR4xcA0eMXANHjFwDR4xcA0eMXANHjFwDR4xcA0eP/HgG0z3f9uVl45uu2ZuGBBu3zXn9rej7mEuMfSgDtA46v1c195ff+rbtU94stGv9KWqnHpLaPsXxSt/k//iXsq9vY9HjUJca/2gNoH2e/c4K32yUC4x9bAOvqrjeTP41GBMY/qgC2151Z4vuIwPhXxEo8I2xdz/c7W3fZXo1/6F8B/q471/N9fSUw/sEH8LEb8hYRGH9iAK3HdafrpkVg/IkBtA8yflt3bBn/3SEC4x9sAK3Xda9EYPypAYjA+OMDEIHxxwcgAuOPD0AExh8fgAiMPz4AERh/fAAiMP74AERg/PEBiMD44wMQgfHHByAC448PQATGHx+ACIw/PgARGH98AMkRGL8AYiMwfgHERmD8AoiNwPgFEBuB8QsgNgLjF0BsBMYvgNgIjF8AsREYvwBiIzB+AcRGYPwCiI3A+AUQG4HxCyA2AuMXQGwExi+A2AiMXwCxERi/AGIjMH4BjDaCTXUP6j59423aJ2PeMH4BjDWCHd24n9f9+cXvHa+7U7fb+Fe/qeC/ezvU+e5bleX40A11pm6u+xapMX5fARK+Eix+u7O1brbp/1Bw4xfAoCP4Pxi/AGIjMH4BxEZg/AKIjcD4BRAbgfELIDYC4xdAbATGL4DYCIxfAIOL4EXdkbrpZX6sd3WH6p56WQUwJG/qbtX92Cz8EFwfD+sO1L31cq4uU16CibU/M3Sy7nzdlgnf51ndxbrbXj4BjCmEPXX76/Y2Cz8DNNP9+l91f3Sf8e92AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzKZwK1uX4kZ6mnAAAAAElFTkSuQmCC";
24const PUBLIC_BACK = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA8VJREFUeNrt3LFLlHEYwPFXz0GiIZpEoikkwsFRIiK3gqCigxIC/4Kmhv6OoChouaGoqKCgCKducGh0cDAIamhwiCaHCIeelztpUszee/vl8/nAM3Vd8nufr+fddVYVAAAAAAAAAAAAAAAAAAAAAABQijFH0KhrMd2Y2ZitmNWYRzHLjkYAB9lUzMOYizv8eS/mZsymoypLxxE0svzvY07vcpu5mOmY145LAAdx+U/u4bZzwx+JPjq2cow7glaWf1vXsQkg6/JvPwoggJTLjwDSL/8nRyiAzN/5nzpGAWRd/n7MM0cpgIzLvx6z6CjL453gdpZ/IWbDcQrA8iMAy48ALD8CsPwIwPIjAMuPACw/ArD8CMDyIwDLjwAsPwKw/AjA8iMAy48ALD8CsPwIwPIjAMuPACw/ArD85A3A8pM2AMtP2gAsP2kDsPykDcDykzYAy0/aACw/aQOw/KQNwPKTNgDLT9oALD9pA7D8pA3A8pM2AMtP2gAsP2kDsPykDcDykzYAy0/aACw/aQOw/KQNwPKTNgDLT9oALD9pA7D8pA3A8pM2AMtP2gAsP2kDsPykDcDykzYAy0/aACw/aQOw/KQNwPLz3xlv6H4mYp5YfrI+AizF9BwnI/AlZi3mbsxy03feaeh+HsQcc60YgSMxMzE3YmZj3sX8LOlHoPoLnHedaEE35n5pzwF856dN9SPBpZICmHRNaNnlkgL46nrQsvmSAqhftlx1TWjR4ZICqPVcE1q0XloA96rBa7XQhl5pAWzFXKm8i8vo9WMeN3VnnQa/sO8xL2POxEy7Toxo+RdjNpu6w1F9HuBqNXi99lw1eKMM9utHzIeYV8MftbccCQAAAAAAsBdt/XLc+sPy9W+MmPqL+1iJuVA1+C4gdFr6d77FvK0GH2nb739lPR5zNuZ51eBnQhFAJQIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIEIAIE8M8jmBlGgABSRnAqZiXms+MUQNYIDnkUKMu4I/gj6zELMRv7/PsnHKEAMkcw6fgEkDmCNUcngMwRvHFsngRnfWJcL/9tRyaAgxrB+ZijO9ymH7MUs+m4yjLmCBozEXMr5nr1+9We1ZgXMXccDwAAAAAAAAAAAAAAAAAAAAAAwO5+AfVgtqHKRnawAAAAAElFTkSuQmCC";
25export class EditableTitleBar extends ViewPU {
26  constructor(e, t, A, i = -1) {
27    super(e, A, i);
28    this.leftIconStyle = void 0;
29    this.title = void 0;
30    this.menuItems = void 0;
31    this.onSave = void 0;
32    this.onCancel = void 0;
33    this.__titleMaxWidth = new ObservedPropertySimplePU(0, this, "titleMaxWidth");
34    this.setInitiallyProvidedValue(t)
35  }
36  setInitiallyProvidedValue(e) {
37    void 0 !== e.leftIconStyle && (this.leftIconStyle = e.leftIconStyle);
38    void 0 !== e.title && (this.title = e.title);
39    void 0 !== e.menuItems && (this.menuItems = e.menuItems);
40    void 0 !== e.onSave && (this.onSave = e.onSave);
41    void 0 !== e.onCancel && (this.onCancel = e.onCancel);
42    void 0 !== e.titleMaxWidth && (this.titleMaxWidth = e.titleMaxWidth)
43  }
44  updateStateVars(e) {}
45  purgeVariableDependenciesOnElmtId(e) {
46    this.__titleMaxWidth.purgeDependencyOnElmtId(e)
47  }
48  aboutToBeDeleted() {
49    this.__titleMaxWidth.aboutToBeDeleted();
50    SubscriberManager.Get().delete(this.id__());
51    this.aboutToBeDeletedInternal()
52  }
53  get titleMaxWidth() {
54    return this.__titleMaxWidth.get()
55  }
56  set titleMaxWidth(e) {
57    this.__titleMaxWidth.set(e)
58  }
59  initialRender() {
60    this.observeComponentCreation(((e, t) => {
61      ViewStackProcessor.StartGetAccessRecordingFor(e);
62      Flex.create({
63        justifyContent: FlexAlign.SpaceBetween,
64        alignItems: ItemAlign.Stretch
65      });
66      Flex.width("100%");
67      Flex.height(EditableTitleBar.totalHeight);
68      Flex.backgroundColor({
69        id: -1,
70        type: 10001,
71        params: ["sys.color.ohos_id_color_background"],
72        bundleName: "",
73        moduleName: ""
74      });
75      Flex.onAreaChange(((e, t) => {
76        let A = Number(t.width);
77        A = A - EditableTitleBar.leftPadding - EditableTitleBar.rightPadding - EditableTitleBar.titlePadding;
78        A = A - ImageMenuItem.imageHotZoneWidth - ImageMenuItem.imageHotZoneWidth;
79        void 0 !== this.menuItems ? this.menuItems.length > EditableTitleBar.maxCountOfExtraItems ? this.titleMaxWidth = A - ImageMenuItem.imageHotZoneWidth * EditableTitleBar.maxCountOfExtraItems : this.titleMaxWidth = A - ImageMenuItem.imageHotZoneWidth * this.menuItems.length : this.titleMaxWidth = A
80      }));
81      t || Flex.pop();
82      ViewStackProcessor.StopGetAccessRecording()
83    }));
84    this.observeComponentCreation(((e, t) => {
85      ViewStackProcessor.StartGetAccessRecordingFor(e);
86      Row.create();
87      Row.margin({
88        left: {
89          id: -1,
90          type: 10002,
91          params: ["sys.float.ohos_id_default_padding_start"],
92          bundleName: "",
93          moduleName: ""
94        }
95      });
96      t || Row.pop();
97      ViewStackProcessor.StopGetAccessRecording()
98    }));
99    this.observeComponentCreation(((e, t) => {
100      ViewStackProcessor.StartGetAccessRecordingFor(e);
101      If.create();
102      this.leftIconStyle == EditableLeftIconType.Back ? this.ifElseBranchUpdateFunction(0, (() => {
103        this.observeComponentCreation(((e, t) => {
104          ViewStackProcessor.StartGetAccessRecordingFor(e);
105          Navigator.create();
106          t || Navigator.pop();
107          ViewStackProcessor.StopGetAccessRecording()
108        }));
109        this.observeComponentCreation(((e, t) => {
110          ViewStackProcessor.StartGetAccessRecordingFor(e);
111          t ? ViewPU.create(new ImageMenuItem(this, {
112            item: {
113              value: PUBLIC_BACK,
114              isEnabled: !0
115            }
116          }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
117          ViewStackProcessor.StopGetAccessRecording()
118        }));
119        Navigator.pop()
120      })) : this.ifElseBranchUpdateFunction(1, (() => {
121        this.observeComponentCreation(((e, t) => {
122          ViewStackProcessor.StartGetAccessRecordingFor(e);
123          t ? ViewPU.create(new ImageMenuItem(this, {
124            item: {
125              value: PUBLIC_CANCEL,
126              isEnabled: !0,
127              action: () => this.onCancel && this.onCancel()
128            }
129          }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
130          ViewStackProcessor.StopGetAccessRecording()
131        }))
132      }));
133      t || If.pop();
134      ViewStackProcessor.StopGetAccessRecording()
135    }));
136    If.pop();
137    this.observeComponentCreation(((e, t) => {
138      ViewStackProcessor.StartGetAccessRecordingFor(e);
139      Column.create();
140      Column.justifyContent(FlexAlign.Start);
141      Column.alignItems(HorizontalAlign.Start);
142      Column.constraintSize({
143        maxWidth: this.titleMaxWidth
144      });
145      t || Column.pop();
146      ViewStackProcessor.StopGetAccessRecording()
147    }));
148    this.observeComponentCreation(((e, t) => {
149      ViewStackProcessor.StartGetAccessRecordingFor(e);
150      Text.create(this.title);
151      Text.fontWeight(FontWeight.Medium);
152      Text.fontSize({
153        id: -1,
154        type: 10002,
155        params: ["sys.float.ohos_id_text_size_headline8"],
156        bundleName: "",
157        moduleName: ""
158      });
159      Text.fontColor({
160        id: -1,
161        type: 10001,
162        params: ["sys.color.ohos_id_color_titlebar_text"],
163        bundleName: "",
164        moduleName: ""
165      });
166      Text.maxLines(1);
167      Text.textOverflow({
168        overflow: TextOverflow.Ellipsis
169      });
170      Text.constraintSize({
171        maxWidth: this.titleMaxWidth
172      });
173      t || Text.pop();
174      ViewStackProcessor.StopGetAccessRecording()
175    }));
176    Text.pop();
177    Column.pop();
178    Row.pop();
179    this.observeComponentCreation(((e, t) => {
180      ViewStackProcessor.StartGetAccessRecordingFor(e);
181      t ? ViewPU.create(new EditableTitleBarMenuSection(this, {
182        menuItems: this.menuItems,
183        onSave: this.onSave
184      }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
185      ViewStackProcessor.StopGetAccessRecording()
186    }));
187    Flex.pop()
188  }
189  rerender() {
190    this.updateDirtyElements()
191  }
192}
193EditableTitleBar.maxCountOfExtraItems = 2;
194EditableTitleBar.totalHeight = 56;
195EditableTitleBar.leftPadding = 12;
196EditableTitleBar.rightPadding = 12;
197EditableTitleBar.titlePadding = 16;
198class EditableTitleBarMenuSection extends ViewPU {
199  constructor(e, t, A, i = -1) {
200    super(e, A, i);
201    this.menuItems = void 0;
202    this.onSave = void 0;
203    this.setInitiallyProvidedValue(t)
204  }
205  setInitiallyProvidedValue(e) {
206    void 0 !== e.menuItems && (this.menuItems = e.menuItems);
207    void 0 !== e.onSave && (this.onSave = e.onSave)
208  }
209  updateStateVars(e) {}
210  purgeVariableDependenciesOnElmtId(e) {}
211  aboutToBeDeleted() {
212    SubscriberManager.Get().delete(this.id__());
213    this.aboutToBeDeletedInternal()
214  }
215  initialRender() {
216    this.observeComponentCreation(((e, t) => {
217      ViewStackProcessor.StartGetAccessRecordingFor(e);
218      Column.create();
219      Column.margin({
220        left: {
221          id: -1,
222          type: 10002,
223          params: ["sys.float.ohos_id_elements_margin_vertical_l"],
224          bundleName: "",
225          moduleName: ""
226        },
227        right: {
228          id: -1,
229          type: 10002,
230          params: ["sys.float.ohos_id_default_padding_end"],
231          bundleName: "",
232          moduleName: ""
233        }
234      });
235      Column.justifyContent(FlexAlign.Center);
236      t || Column.pop();
237      ViewStackProcessor.StopGetAccessRecording()
238    }));
239    this.observeComponentCreation(((e, t) => {
240      ViewStackProcessor.StartGetAccessRecordingFor(e);
241      Row.create();
242      t || Row.pop();
243      ViewStackProcessor.StopGetAccessRecording()
244    }));
245    this.observeComponentCreation(((e, t) => {
246      ViewStackProcessor.StartGetAccessRecordingFor(e);
247      If.create();
248      void 0 !== this.menuItems && this.menuItems.length > 0 ? this.ifElseBranchUpdateFunction(0, (() => {
249        this.observeComponentCreation(((e, t) => {
250          ViewStackProcessor.StartGetAccessRecordingFor(e);
251          ForEach.create();
252          this.forEachUpdateFunction(e, this.menuItems.slice(0, EditableTitleBar.maxCountOfExtraItems), (e => {
253            const t = e;
254            this.observeComponentCreation(((e, A) => {
255              ViewStackProcessor.StartGetAccessRecordingFor(e);
256              A ? ViewPU.create(new ImageMenuItem(this, {
257                item: t
258              }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
259              ViewStackProcessor.StopGetAccessRecording()
260            }))
261          }));
262          t || ForEach.pop();
263          ViewStackProcessor.StopGetAccessRecording()
264        }));
265        ForEach.pop()
266      })) : If.branchId(1);
267      t || If.pop();
268      ViewStackProcessor.StopGetAccessRecording()
269    }));
270    If.pop();
271    this.observeComponentCreation(((e, t) => {
272      ViewStackProcessor.StartGetAccessRecordingFor(e);
273      t ? ViewPU.create(new ImageMenuItem(this, {
274        item: {
275          value: PUBLIC_OK,
276          isEnabled: !0,
277          action: () => this.onSave && this.onSave()
278        }
279      }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
280      ViewStackProcessor.StopGetAccessRecording()
281    }));
282    Row.pop();
283    Column.pop()
284  }
285  rerender() {
286    this.updateDirtyElements()
287  }
288}
289class ImageMenuItem extends ViewPU {
290  constructor(e, t, A, i = -1) {
291    super(e, A, i);
292    this.item = void 0;
293    this.__isOnFocus = new ObservedPropertySimplePU(!1, this, "isOnFocus");
294    this.__isOnHover = new ObservedPropertySimplePU(!1, this, "isOnHover");
295    this.__isOnClick = new ObservedPropertySimplePU(!1, this, "isOnClick");
296    this.setInitiallyProvidedValue(t)
297  }
298  setInitiallyProvidedValue(e) {
299    void 0 !== e.item && (this.item = e.item);
300    void 0 !== e.isOnFocus && (this.isOnFocus = e.isOnFocus);
301    void 0 !== e.isOnHover && (this.isOnHover = e.isOnHover);
302    void 0 !== e.isOnClick && (this.isOnClick = e.isOnClick)
303  }
304  updateStateVars(e) {}
305  purgeVariableDependenciesOnElmtId(e) {
306    this.__isOnFocus.purgeDependencyOnElmtId(e);
307    this.__isOnHover.purgeDependencyOnElmtId(e);
308    this.__isOnClick.purgeDependencyOnElmtId(e)
309  }
310  aboutToBeDeleted() {
311    this.__isOnFocus.aboutToBeDeleted();
312    this.__isOnHover.aboutToBeDeleted();
313    this.__isOnClick.aboutToBeDeleted();
314    SubscriberManager.Get().delete(this.id__());
315    this.aboutToBeDeletedInternal()
316  }
317  get isOnFocus() {
318    return this.__isOnFocus.get()
319  }
320  set isOnFocus(e) {
321    this.__isOnFocus.set(e)
322  }
323  get isOnHover() {
324    return this.__isOnHover.get()
325  }
326  set isOnHover(e) {
327    this.__isOnHover.set(e)
328  }
329  get isOnClick() {
330    return this.__isOnClick.get()
331  }
332  set isOnClick(e) {
333    this.__isOnClick.set(e)
334  }
335  getFgColor() {
336    return this.isOnClick ? {
337      id: -1,
338      type: 10001,
339      params: ["sys.color.ohos_id_color_titlebar_icon_pressed"],
340      bundleName: "",
341      moduleName: ""
342    } : {
343      id: -1,
344      type: 10001,
345      params: ["sys.color.ohos_id_color_titlebar_icon"],
346      bundleName: "",
347      moduleName: ""
348    }
349  }
350  getBgColor() {
351    return this.isOnClick ? {
352      id: -1,
353      type: 10001,
354      params: ["sys.color.ohos_id_color_click_effect"],
355      bundleName: "",
356      moduleName: ""
357    } : this.isOnHover ? {
358      id: -1,
359      type: 10001,
360      params: ["sys.color.ohos_id_color_hover"],
361      bundleName: "",
362      moduleName: ""
363    } : Color.Transparent
364  }
365  initialRender() {
366    this.observeComponentCreation(((e, t) => {
367      ViewStackProcessor.StartGetAccessRecordingFor(e);
368      Row.create();
369      Row.width(ImageMenuItem.imageHotZoneWidth);
370      Row.height(ImageMenuItem.imageHotZoneWidth);
371      Row.borderRadius(ImageMenuItem.buttonBorderRadius);
372      Row.foregroundColor(this.getFgColor());
373      Row.backgroundColor(this.getBgColor());
374      Row.justifyContent(FlexAlign.Center);
375      Row.opacity(this.item.isEnabled ? 1 : ImageMenuItem.disabledImageOpacity);
376      Row.border(this.isOnFocus ? {
377        width: ImageMenuItem.focusBorderWidth,
378        color: {
379          id: -1,
380          type: 10001,
381          params: ["sys.color.ohos_id_color_emphasize"],
382          bundleName: "",
383          moduleName: ""
384        },
385        style: BorderStyle.Solid
386      } : {
387        width: 0
388      });
389      Row.onFocus((() => {
390        this.item.isEnabled && (this.isOnFocus = !0)
391      }));
392      Row.onBlur((() => this.isOnFocus = !1));
393      Row.onHover((e => {
394        this.item.isEnabled && (this.isOnHover = e)
395      }));
396      Row.onKeyEvent((e => {
397        if (this.item.isEnabled && (e.keyCode === KeyCode.KEYCODE_ENTER || e.keyCode === KeyCode.KEYCODE_SPACE)) {
398          e.type === KeyType.Down && (this.isOnClick = !0);
399          e.type === KeyType.Up && (this.isOnClick = !1)
400        }
401      }));
402      Row.onTouch((e => {
403        if (this.item.isEnabled) {
404          e.type === TouchType.Down && (this.isOnClick = !0);
405          e.type === TouchType.Up && (this.isOnClick = !1)
406        }
407      }));
408      Row.onClick((() => this.item.isEnabled && this.item.action && this.item.action()));
409      t || Row.pop();
410      ViewStackProcessor.StopGetAccessRecording()
411    }));
412    this.observeComponentCreation(((e, t) => {
413      ViewStackProcessor.StartGetAccessRecordingFor(e);
414      Image.create(this.item.value);
415      Image.width(ImageMenuItem.imageSize);
416      Image.height(ImageMenuItem.imageSize);
417      Image.focusable(this.item.isEnabled);
418      t || Image.pop();
419      ViewStackProcessor.StopGetAccessRecording()
420    }));
421    Row.pop()
422  }
423  rerender() {
424    this.updateDirtyElements()
425  }
426}
427ImageMenuItem.imageSize = 24;
428ImageMenuItem.imageHotZoneWidth = 48;
429ImageMenuItem.buttonBorderRadius = 8;
430ImageMenuItem.focusBorderWidth = 2;
431ImageMenuItem.disabledImageOpacity = .4;
432export default {
433  EditableLeftIconType: EditableLeftIconType,
434  EditableTitleBar: EditableTitleBar
435};