• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.__backActive = new ObservedPropertySimplePU(!1, this, "backActive");
35    this.setInitiallyProvidedValue(t)
36  }
37  setInitiallyProvidedValue(e) {
38    void 0 !== e.leftIconStyle && (this.leftIconStyle = e.leftIconStyle);
39    void 0 !== e.title && (this.title = e.title);
40    void 0 !== e.menuItems && (this.menuItems = e.menuItems);
41    void 0 !== e.onSave && (this.onSave = e.onSave);
42    void 0 !== e.onCancel && (this.onCancel = e.onCancel);
43    void 0 !== e.titleMaxWidth && (this.titleMaxWidth = e.titleMaxWidth);
44    void 0 !== e.backActive && (this.backActive = e.backActive)
45  }
46  updateStateVars(e) {}
47  purgeVariableDependenciesOnElmtId(e) {
48    this.__titleMaxWidth.purgeDependencyOnElmtId(e);
49    this.__backActive.purgeDependencyOnElmtId(e)
50  }
51  aboutToBeDeleted() {
52    this.__titleMaxWidth.aboutToBeDeleted();
53    this.__backActive.aboutToBeDeleted();
54    SubscriberManager.Get().delete(this.id__());
55    this.aboutToBeDeletedInternal()
56  }
57  get titleMaxWidth() {
58    return this.__titleMaxWidth.get()
59  }
60  set titleMaxWidth(e) {
61    this.__titleMaxWidth.set(e)
62  }
63  get backActive() {
64    return this.__backActive.get()
65  }
66  set backActive(e) {
67    this.__backActive.set(e)
68  }
69  initialRender() {
70    this.observeComponentCreation(((e, t) => {
71      ViewStackProcessor.StartGetAccessRecordingFor(e);
72      Flex.create({
73        justifyContent: FlexAlign.SpaceBetween,
74        alignItems: ItemAlign.Stretch
75      });
76      Flex.width("100%");
77      Flex.height(EditableTitleBar.totalHeight);
78      Flex.backgroundColor({
79        id: -1,
80        type: 10001,
81        params: ["sys.color.ohos_id_color_background"],
82        bundleName: "",
83        moduleName: ""
84      });
85      Flex.onAreaChange(((e, t) => {
86        let A = Number(t.width);
87        A = A - EditableTitleBar.leftPadding - EditableTitleBar.rightPadding - EditableTitleBar.titlePadding;
88        A = A - ImageMenuItem.imageHotZoneWidth - ImageMenuItem.imageHotZoneWidth;
89        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
90      }));
91      t || Flex.pop();
92      ViewStackProcessor.StopGetAccessRecording()
93    }));
94    this.observeComponentCreation(((e, t) => {
95      ViewStackProcessor.StartGetAccessRecordingFor(e);
96      Row.create();
97      Row.margin({
98        left: {
99          id: -1,
100          type: 10002,
101          params: ["sys.float.ohos_id_default_padding_start"],
102          bundleName: "",
103          moduleName: ""
104        }
105      });
106      t || Row.pop();
107      ViewStackProcessor.StopGetAccessRecording()
108    }));
109    this.observeComponentCreation(((e, t) => {
110      ViewStackProcessor.StartGetAccessRecordingFor(e);
111      If.create();
112      this.leftIconStyle == EditableLeftIconType.Back ? this.ifElseBranchUpdateFunction(0, (() => {
113        this.observeComponentCreation(((e, t) => {
114          ViewStackProcessor.StartGetAccessRecordingFor(e);
115          Navigator.create();
116          Navigator.active(this.backActive);
117          t || Navigator.pop();
118          ViewStackProcessor.StopGetAccessRecording()
119        }));
120        Navigator.pop();
121        this.observeComponentCreation(((e, t) => {
122          ViewStackProcessor.StartGetAccessRecordingFor(e);
123          t ? ViewPU.create(new ImageMenuItem(this, {
124            item: {
125              value: PUBLIC_BACK,
126              isEnabled: !0,
127              action: () => this.backActive = !0
128            }
129          }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
130          ViewStackProcessor.StopGetAccessRecording()
131        }))
132      })) : this.ifElseBranchUpdateFunction(1, (() => {
133        this.observeComponentCreation(((e, t) => {
134          ViewStackProcessor.StartGetAccessRecordingFor(e);
135          t ? ViewPU.create(new ImageMenuItem(this, {
136            item: {
137              value: PUBLIC_CANCEL,
138              isEnabled: !0,
139              action: () => this.onCancel && this.onCancel()
140            }
141          }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
142          ViewStackProcessor.StopGetAccessRecording()
143        }))
144      }));
145      t || If.pop();
146      ViewStackProcessor.StopGetAccessRecording()
147    }));
148    If.pop();
149    this.observeComponentCreation(((e, t) => {
150      ViewStackProcessor.StartGetAccessRecordingFor(e);
151      Column.create();
152      Column.justifyContent(FlexAlign.Start);
153      Column.alignItems(HorizontalAlign.Start);
154      Column.constraintSize({
155        maxWidth: this.titleMaxWidth
156      });
157      t || Column.pop();
158      ViewStackProcessor.StopGetAccessRecording()
159    }));
160    this.observeComponentCreation(((e, t) => {
161      ViewStackProcessor.StartGetAccessRecordingFor(e);
162      Text.create(this.title);
163      Text.fontWeight(FontWeight.Medium);
164      Text.fontSize({
165        id: -1,
166        type: 10002,
167        params: ["sys.float.ohos_id_text_size_headline8"],
168        bundleName: "",
169        moduleName: ""
170      });
171      Text.fontColor({
172        id: -1,
173        type: 10001,
174        params: ["sys.color.ohos_id_color_titlebar_text"],
175        bundleName: "",
176        moduleName: ""
177      });
178      Text.maxLines(1);
179      Text.textOverflow({
180        overflow: TextOverflow.Ellipsis
181      });
182      Text.constraintSize({
183        maxWidth: this.titleMaxWidth
184      });
185      t || Text.pop();
186      ViewStackProcessor.StopGetAccessRecording()
187    }));
188    Text.pop();
189    Column.pop();
190    Row.pop();
191    this.observeComponentCreation(((e, t) => {
192      ViewStackProcessor.StartGetAccessRecordingFor(e);
193      t ? ViewPU.create(new EditableTitleBarMenuSection(this, {
194        menuItems: this.menuItems,
195        onSave: this.onSave
196      }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
197      ViewStackProcessor.StopGetAccessRecording()
198    }));
199    Flex.pop()
200  }
201  rerender() {
202    this.updateDirtyElements()
203  }
204}
205EditableTitleBar.maxCountOfExtraItems = 2;
206EditableTitleBar.totalHeight = 56;
207EditableTitleBar.leftPadding = 12;
208EditableTitleBar.rightPadding = 12;
209EditableTitleBar.titlePadding = 16;
210class EditableTitleBarMenuSection extends ViewPU {
211  constructor(e, t, A, i = -1) {
212    super(e, A, i);
213    this.menuItems = void 0;
214    this.onSave = void 0;
215    this.setInitiallyProvidedValue(t)
216  }
217  setInitiallyProvidedValue(e) {
218    void 0 !== e.menuItems && (this.menuItems = e.menuItems);
219    void 0 !== e.onSave && (this.onSave = e.onSave)
220  }
221  updateStateVars(e) {}
222  purgeVariableDependenciesOnElmtId(e) {}
223  aboutToBeDeleted() {
224    SubscriberManager.Get().delete(this.id__());
225    this.aboutToBeDeletedInternal()
226  }
227  initialRender() {
228    this.observeComponentCreation(((e, t) => {
229      ViewStackProcessor.StartGetAccessRecordingFor(e);
230      Column.create();
231      Column.margin({
232        left: {
233          id: -1,
234          type: 10002,
235          params: ["sys.float.ohos_id_elements_margin_vertical_l"],
236          bundleName: "",
237          moduleName: ""
238        },
239        right: {
240          id: -1,
241          type: 10002,
242          params: ["sys.float.ohos_id_default_padding_end"],
243          bundleName: "",
244          moduleName: ""
245        }
246      });
247      Column.justifyContent(FlexAlign.Center);
248      t || Column.pop();
249      ViewStackProcessor.StopGetAccessRecording()
250    }));
251    this.observeComponentCreation(((e, t) => {
252      ViewStackProcessor.StartGetAccessRecordingFor(e);
253      Row.create();
254      t || Row.pop();
255      ViewStackProcessor.StopGetAccessRecording()
256    }));
257    this.observeComponentCreation(((e, t) => {
258      ViewStackProcessor.StartGetAccessRecordingFor(e);
259      If.create();
260      void 0 !== this.menuItems && this.menuItems.length > 0 ? this.ifElseBranchUpdateFunction(0, (() => {
261        this.observeComponentCreation(((e, t) => {
262          ViewStackProcessor.StartGetAccessRecordingFor(e);
263          ForEach.create();
264          this.forEachUpdateFunction(e, this.menuItems.slice(0, EditableTitleBar.maxCountOfExtraItems), (e => {
265            const t = e;
266            this.observeComponentCreation(((e, A) => {
267              ViewStackProcessor.StartGetAccessRecordingFor(e);
268              A ? ViewPU.create(new ImageMenuItem(this, {
269                item: t
270              }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
271              ViewStackProcessor.StopGetAccessRecording()
272            }))
273          }));
274          t || ForEach.pop();
275          ViewStackProcessor.StopGetAccessRecording()
276        }));
277        ForEach.pop()
278      })) : If.branchId(1);
279      t || If.pop();
280      ViewStackProcessor.StopGetAccessRecording()
281    }));
282    If.pop();
283    this.observeComponentCreation(((e, t) => {
284      ViewStackProcessor.StartGetAccessRecordingFor(e);
285      t ? ViewPU.create(new ImageMenuItem(this, {
286        item: {
287          value: PUBLIC_OK,
288          isEnabled: !0,
289          action: () => this.onSave && this.onSave()
290        }
291      }, void 0, e)) : this.updateStateVarsOfChildByElmtId(e, {});
292      ViewStackProcessor.StopGetAccessRecording()
293    }));
294    Row.pop();
295    Column.pop()
296  }
297  rerender() {
298    this.updateDirtyElements()
299  }
300}
301class ImageMenuItem extends ViewPU {
302  constructor(e, t, A, i = -1) {
303    super(e, A, i);
304    this.item = void 0;
305    this.__isOnFocus = new ObservedPropertySimplePU(!1, this, "isOnFocus");
306    this.__isOnHover = new ObservedPropertySimplePU(!1, this, "isOnHover");
307    this.__isOnClick = new ObservedPropertySimplePU(!1, this, "isOnClick");
308    this.setInitiallyProvidedValue(t)
309  }
310  setInitiallyProvidedValue(e) {
311    void 0 !== e.item && (this.item = e.item);
312    void 0 !== e.isOnFocus && (this.isOnFocus = e.isOnFocus);
313    void 0 !== e.isOnHover && (this.isOnHover = e.isOnHover);
314    void 0 !== e.isOnClick && (this.isOnClick = e.isOnClick)
315  }
316  updateStateVars(e) {}
317  purgeVariableDependenciesOnElmtId(e) {
318    this.__isOnFocus.purgeDependencyOnElmtId(e);
319    this.__isOnHover.purgeDependencyOnElmtId(e);
320    this.__isOnClick.purgeDependencyOnElmtId(e)
321  }
322  aboutToBeDeleted() {
323    this.__isOnFocus.aboutToBeDeleted();
324    this.__isOnHover.aboutToBeDeleted();
325    this.__isOnClick.aboutToBeDeleted();
326    SubscriberManager.Get().delete(this.id__());
327    this.aboutToBeDeletedInternal()
328  }
329  get isOnFocus() {
330    return this.__isOnFocus.get()
331  }
332  set isOnFocus(e) {
333    this.__isOnFocus.set(e)
334  }
335  get isOnHover() {
336    return this.__isOnHover.get()
337  }
338  set isOnHover(e) {
339    this.__isOnHover.set(e)
340  }
341  get isOnClick() {
342    return this.__isOnClick.get()
343  }
344  set isOnClick(e) {
345    this.__isOnClick.set(e)
346  }
347  getFgColor() {
348    return this.isOnClick ? {
349      id: -1,
350      type: 10001,
351      params: ["sys.color.ohos_id_color_titlebar_icon_pressed"],
352      bundleName: "",
353      moduleName: ""
354    } : {
355      id: -1,
356      type: 10001,
357      params: ["sys.color.ohos_id_color_titlebar_icon"],
358      bundleName: "",
359      moduleName: ""
360    }
361  }
362  getBgColor() {
363    return this.isOnClick ? {
364      id: -1,
365      type: 10001,
366      params: ["sys.color.ohos_id_color_click_effect"],
367      bundleName: "",
368      moduleName: ""
369    } : this.isOnHover ? {
370      id: -1,
371      type: 10001,
372      params: ["sys.color.ohos_id_color_hover"],
373      bundleName: "",
374      moduleName: ""
375    } : Color.Transparent
376  }
377  initialRender() {
378    this.observeComponentCreation(((e, t) => {
379      ViewStackProcessor.StartGetAccessRecordingFor(e);
380      Row.create();
381      Row.width(ImageMenuItem.imageHotZoneWidth);
382      Row.height(ImageMenuItem.imageHotZoneWidth);
383      Row.borderRadius(ImageMenuItem.buttonBorderRadius);
384      Row.foregroundColor(this.getFgColor());
385      Row.backgroundColor(this.getBgColor());
386      Row.justifyContent(FlexAlign.Center);
387      Row.opacity(this.item.isEnabled ? 1 : ImageMenuItem.disabledImageOpacity);
388      ViewStackProcessor.visualState("focused");
389      Row.border({
390        radius: {
391          id: -1,
392          type: 10002,
393          params: ["sys.float.ohos_id_corner_radius_clicked"],
394          bundleName: "",
395          moduleName: ""
396        },
397        width: ImageMenuItem.focusBorderWidth,
398        color: {
399          id: -1,
400          type: 10001,
401          params: ["sys.color.ohos_id_color_focused_outline"],
402          bundleName: "",
403          moduleName: ""
404        },
405        style: BorderStyle.Solid
406      });
407      ViewStackProcessor.visualState("normal");
408      Row.border({
409        radius: {
410          id: -1,
411          type: 10002,
412          params: ["sys.float.ohos_id_corner_radius_clicked"],
413          bundleName: "",
414          moduleName: ""
415        },
416        width: 0
417      });
418      ViewStackProcessor.visualState();
419      Row.onFocus((() => {
420        this.item.isEnabled && (this.isOnFocus = !0)
421      }));
422      Row.onBlur((() => this.isOnFocus = !1));
423      Row.onHover((e => {
424        this.item.isEnabled && (this.isOnHover = e)
425      }));
426      Row.onKeyEvent((e => {
427        if (this.item.isEnabled && (e.keyCode === KeyCode.KEYCODE_ENTER || e.keyCode === KeyCode.KEYCODE_SPACE)) {
428          e.type === KeyType.Down && (this.isOnClick = !0);
429          e.type === KeyType.Up && (this.isOnClick = !1)
430        }
431      }));
432      Row.onTouch((e => {
433        if (this.item.isEnabled) {
434          e.type === TouchType.Down && (this.isOnClick = !0);
435          e.type === TouchType.Up && (this.isOnClick = !1)
436        }
437      }));
438      Row.onClick((() => this.item.isEnabled && this.item.action && this.item.action()));
439      t || Row.pop();
440      ViewStackProcessor.StopGetAccessRecording()
441    }));
442    this.observeComponentCreation(((e, t) => {
443      ViewStackProcessor.StartGetAccessRecordingFor(e);
444      Image.create(this.item.value);
445      Image.width(ImageMenuItem.imageSize);
446      Image.height(ImageMenuItem.imageSize);
447      Image.focusable(this.item.isEnabled);
448      t || Image.pop();
449      ViewStackProcessor.StopGetAccessRecording()
450    }));
451    Row.pop()
452  }
453  rerender() {
454    this.updateDirtyElements()
455  }
456}
457ImageMenuItem.imageSize = 24;
458ImageMenuItem.imageHotZoneWidth = 48;
459ImageMenuItem.buttonBorderRadius = 8;
460ImageMenuItem.focusBorderWidth = 2;
461ImageMenuItem.disabledImageOpacity = .4;
462export default {
463  EditableLeftIconType: EditableLeftIconType,
464  EditableTitleBar: EditableTitleBar
465};