@genexus/genexus-ide-ui 3.2.0 → 3.2.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.
Files changed (27) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +45 -5
  3. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +16 -0
  6. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +102 -5
  7. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  8. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +5 -1
  9. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +5 -1
  10. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +5 -1
  11. package/dist/components/gx-ide-create-kb-from-server.js +49 -5
  12. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  13. package/dist/esm/genexus-ide-ui.js +1 -1
  14. package/dist/esm/gx-ide-create-kb-from-server.entry.js +45 -5
  15. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  16. package/dist/esm/loader.js +1 -1
  17. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  18. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  19. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +5 -1
  20. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +5 -1
  21. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +5 -1
  22. package/dist/genexus-ide-ui/{p-83a7e6fb.entry.js → p-cf61384e.entry.js} +162 -94
  23. package/dist/genexus-ide-ui/p-cf61384e.entry.js.map +1 -0
  24. package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +17 -0
  25. package/dist/types/components.d.ts +30 -6
  26. package/package.json +1 -1
  27. package/dist/genexus-ide-ui/p-83a7e6fb.entry.js.map +0 -1
@@ -23,7 +23,7 @@ import { ContextMenuInfo, EntityData as EntityData1, FormSubmitResult, GxOption,
23
23
  import { NewServerConnectionData } from "./components/team-dev/server-selector/server-selector";
24
24
  import { AlignItems, FooterJustify, HeadingJustify, JustifyContent, SectionsPadding } from "./components/_helpers/container/container";
25
25
  import { GXServerConnectionData as GXServerConnectionData1 } from "./components/team-dev/connect-gx-server/connect-gx-server";
26
- import { KBData, KnowledgeBaseInfo } from "./components/team-dev/create-kb-from-server/create-kb-from-server";
26
+ import { KBData, KnowledgeBaseInfo, SelectLocationCallback } from "./components/team-dev/create-kb-from-server/create-kb-from-server";
27
27
  import { CommitCallback, ContextMenuCallback as ContextMenuCallback1, KBVersion, LoadLocalChangesCallback, LoadRemoteChangesCallback, PendingItemsCheckedCallback, SelectCallback, ServerDetails, UpdateCallback } from "./components/team-dev/version-control/common/types";
28
28
  import { CurlImportData, EntityData, SelectModuleCallback } from "./components/curl-inspector/curl-inspector";
29
29
  import { MenuAlign, Mode, UserInfo } from "./components/current-user-info/current-user-info";
@@ -47,7 +47,7 @@ import { ComboBoxModel } from "@genexus/chameleon-controls-library";
47
47
  import { ContextMenuCallback, ContextMenuInfo as ContextMenuInfo1, FormSubmitResult as FormSubmitResult1 } from "./components";
48
48
  import { CancelCallback as CancelCallback10, CloseCallback, ConfirmCallback as ConfirmCallback6, HeaderData, ItemSelectedCallback, NavigationData } from "./components/navigation-report/navigation-report";
49
49
  import { CancelCallback as CancelCallback11, CreateCallback, GetDataSourcesCallback, GetEnvironmentNameCallback, GetFrontEndsCallback, GetLanguagesCallback } from "./components/new-environment/new-environment";
50
- import { CancelCallback as CancelCallback12, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, GetPrototypingEnvironmentsCallback, SelectLocationCallback } from "./components/new-kb/new-kb";
50
+ import { CancelCallback as CancelCallback12, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, GetPrototypingEnvironmentsCallback, SelectLocationCallback as SelectLocationCallback1 } from "./components/new-kb/new-kb";
51
51
  import { CancelCallback as CancelCallback13, CreateCallback as CreateCallback2, NewObjectData, SelectModuleCallback as SelectModuleCallback3, SuggestCallback, TypeCategoryData, ValidateNameCallback } from "./components/new-object/new-object";
52
52
  import { NewVersionData } from "./components/new-version/new-version";
53
53
  import { CancelCallback as CancelCallback14, LoadCallback as LoadCallback2, NewObjectCallback, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback4 } from "./components/object-selector/object-selector";
@@ -99,7 +99,7 @@ export { ContextMenuInfo, EntityData as EntityData1, FormSubmitResult, GxOption,
99
99
  export { NewServerConnectionData } from "./components/team-dev/server-selector/server-selector";
100
100
  export { AlignItems, FooterJustify, HeadingJustify, JustifyContent, SectionsPadding } from "./components/_helpers/container/container";
101
101
  export { GXServerConnectionData as GXServerConnectionData1 } from "./components/team-dev/connect-gx-server/connect-gx-server";
102
- export { KBData, KnowledgeBaseInfo } from "./components/team-dev/create-kb-from-server/create-kb-from-server";
102
+ export { KBData, KnowledgeBaseInfo, SelectLocationCallback } from "./components/team-dev/create-kb-from-server/create-kb-from-server";
103
103
  export { CommitCallback, ContextMenuCallback as ContextMenuCallback1, KBVersion, LoadLocalChangesCallback, LoadRemoteChangesCallback, PendingItemsCheckedCallback, SelectCallback, ServerDetails, UpdateCallback } from "./components/team-dev/version-control/common/types";
104
104
  export { CurlImportData, EntityData, SelectModuleCallback } from "./components/curl-inspector/curl-inspector";
105
105
  export { MenuAlign, Mode, UserInfo } from "./components/current-user-info/current-user-info";
@@ -123,7 +123,7 @@ export { ComboBoxModel } from "@genexus/chameleon-controls-library";
123
123
  export { ContextMenuCallback, ContextMenuInfo as ContextMenuInfo1, FormSubmitResult as FormSubmitResult1 } from "./components";
124
124
  export { CancelCallback as CancelCallback10, CloseCallback, ConfirmCallback as ConfirmCallback6, HeaderData, ItemSelectedCallback, NavigationData } from "./components/navigation-report/navigation-report";
125
125
  export { CancelCallback as CancelCallback11, CreateCallback, GetDataSourcesCallback, GetEnvironmentNameCallback, GetFrontEndsCallback, GetLanguagesCallback } from "./components/new-environment/new-environment";
126
- export { CancelCallback as CancelCallback12, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, GetPrototypingEnvironmentsCallback, SelectLocationCallback } from "./components/new-kb/new-kb";
126
+ export { CancelCallback as CancelCallback12, CreateCallback as CreateCallback1, GetDataSourcesCallback as GetDataSourcesCallback1, GetFrontEndsCallback as GetFrontEndsCallback1, GetPrototypingEnvironmentsCallback, SelectLocationCallback as SelectLocationCallback1 } from "./components/new-kb/new-kb";
127
127
  export { CancelCallback as CancelCallback13, CreateCallback as CreateCallback2, NewObjectData, SelectModuleCallback as SelectModuleCallback3, SuggestCallback, TypeCategoryData, ValidateNameCallback } from "./components/new-object/new-object";
128
128
  export { NewVersionData } from "./components/new-version/new-version";
129
129
  export { CancelCallback as CancelCallback14, LoadCallback as LoadCallback2, NewObjectCallback, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback4 } from "./components/object-selector/object-selector";
@@ -652,6 +652,10 @@ export namespace Components {
652
652
  "titleHeightAsInput": boolean;
653
653
  }
654
654
  interface GxIdeCreateKbFromServer {
655
+ /**
656
+ * Specifies whether the location field (and its folder-picker button) is shown in the header, allowing the user to override the default `kbLocation` path. Independent from `isAdvanced`.
657
+ */
658
+ "canSetLocation": boolean;
655
659
  /**
656
660
  * Callback that is invoked when the dialog is closed
657
661
  */
@@ -678,12 +682,20 @@ export namespace Components {
678
682
  "getGXserverKBsCallback": (
679
683
  data: GXServerConnectionData1
680
684
  ) => Promise<KBData[]>;
685
+ /**
686
+ * Default suggested path to a directory where the KB will be stored/generated.
687
+ */
688
+ "kbLocation": string;
681
689
  /**
682
690
  * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.
683
691
  */
684
692
  "selectKBVersionsCallback": (
685
693
  selectedKB: string
686
694
  ) => Promise<KBVersion[]>;
695
+ /**
696
+ * Callback that returns a folder path selected by the user.
697
+ */
698
+ "selectLocationCallback": SelectLocationCallback;
687
699
  /**
688
700
  * Suspends or reactivates the shortcuts
689
701
  */
@@ -1680,7 +1692,7 @@ export namespace Components {
1680
1692
  /**
1681
1693
  * This is a function provided by the developer that returns a string, with the location path
1682
1694
  */
1683
- "selectLocationCallback": SelectLocationCallback;
1695
+ "selectLocationCallback": SelectLocationCallback1;
1684
1696
  /**
1685
1697
  * Name of the DB server where we want to persist the information of our KB
1686
1698
  */
@@ -4507,6 +4519,10 @@ declare namespace LocalJSX {
4507
4519
  "titleHeightAsInput"?: boolean;
4508
4520
  }
4509
4521
  interface GxIdeCreateKbFromServer {
4522
+ /**
4523
+ * Specifies whether the location field (and its folder-picker button) is shown in the header, allowing the user to override the default `kbLocation` path. Independent from `isAdvanced`.
4524
+ */
4525
+ "canSetLocation"?: boolean;
4510
4526
  /**
4511
4527
  * Callback that is invoked when the dialog is closed
4512
4528
  */
@@ -4533,12 +4549,20 @@ declare namespace LocalJSX {
4533
4549
  "getGXserverKBsCallback": (
4534
4550
  data: GXServerConnectionData1
4535
4551
  ) => Promise<KBData[]>;
4552
+ /**
4553
+ * Default suggested path to a directory where the KB will be stored/generated.
4554
+ */
4555
+ "kbLocation"?: string;
4536
4556
  /**
4537
4557
  * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.
4538
4558
  */
4539
4559
  "selectKBVersionsCallback"?: (
4540
4560
  selectedKB: string
4541
4561
  ) => Promise<KBVersion[]>;
4562
+ /**
4563
+ * Callback that returns a folder path selected by the user.
4564
+ */
4565
+ "selectLocationCallback"?: SelectLocationCallback;
4542
4566
  }
4543
4567
  interface GxIdeCurlInspector {
4544
4568
  /**
@@ -5581,7 +5605,7 @@ declare namespace LocalJSX {
5581
5605
  /**
5582
5606
  * This is a function provided by the developer that returns a string, with the location path
5583
5607
  */
5584
- "selectLocationCallback": SelectLocationCallback;
5608
+ "selectLocationCallback": SelectLocationCallback1;
5585
5609
  /**
5586
5610
  * Name of the DB server where we want to persist the information of our KB
5587
5611
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genexus/genexus-ide-ui",
3
3
  "license": "Apache-2.0",
4
- "version": "3.2.0",
4
+ "version": "3.2.1",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"names":["mapKbsModelToActionListModel","kbsData","listBoxItems","forEach","kb","push","id","type","caption","name","createKbFromServerCss","CSS_BUNDLES","INFO_ICON","getIconPath","category","colorType","GxIdeCreateKbFromServer","_GxIdeCreateKbFromServer_chSearchIcon","set","this","_GxIdeCreateKbFromServer_showMoreIcon","_GxIdeCreateKbFromServer_versionsSelect","value","_GxIdeCreateKbFromServer__componentLocale","_GxIdeCreateKbFromServer_kbsActionListModel","_GxIdeCreateKbFromServer_kbVersions","_GxIdeCreateKbFromServer_chShortcutsEl","_GxIdeCreateKbFromServer_shortcutsSrc","getAssetPath","_GxIdeCreateKbFromServer_selectedKbId","_GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser","_GxIdeCreateKbFromServer_versionSelectedTypeEl","_GxIdeCreateKbFromServer_localKBNameEl","_GxIdeCreateKbFromServer_cancelHandler","cancelCallback","_GxIdeCreateKbFromServer_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeCreateKbFromServer_createHandler","versionSelectedType","__classPrivateFieldSet","createKBCallback","selectedKB","__classPrivateFieldGet","versionSelected","localKBName","localKbNameInputValue","versionList","then","formSubmitResult","validatableControls","validateControls","_GxIdeCreateKbFromServer_evaluateTooltipRender","controlReference","_b","_a","get","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeCreateKbFromServer_filterValueChangedHandler","event","filterValue","detail","toLowerCase","kbsFilteredActionListModel","filter","item","includes","_GxIdeCreateKbFromServer_init","getGXserverKBsCallback","result","_GxIdeCreateKbFromServer_initializeValidatableControls","validatableControl","reference","undefined","_GxIdeCreateKbFromServer_inputLocalKbNameHandler","_GxIdeCreateKbFromServer_selectedVersionHandler","selectKBVersionsCallback","length","map","kbVersion","versionsValueInput","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeCreateKbFromServer_selectKbChangeHandler","enableSelectVersionsButton","_GxIdeCreateKbFromServer_versionsChangedHandler","_GxIdeCreateKbFromServer_sortItems","model","sort","a","b","toLocaleLowerCase","localeCompare","_GxIdeCreateKbFromServer_renderFooter","onClick","part","footer","cancel","disabled","createKb","Map","componentDidLoad","call","loading","componentWillLoad","Locale","getComponentStrings","el","suspendShortcuts","suspend","render","Host","src","ref","header","user","change","loaderTitle","loader","title","description","show","Fragment","startImgSrc","onInput","placeholder","searchKbsPlaceholder","stateIconSrc","stateTitle","emptyKBsText","isAnimated","selection","onSelectedItemsChange","sortItemsCallback","onChange","htmlFor","versionsLabel","readonly","versionsPlaceholderDisabled","localKbNameLabel","localKbNamePlaceholder"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n","@import \"../../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n position: relative;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--spacing-gap-m);\n }\n}\n","// Stencil\nimport {\n Component,\n Element,\n Fragment,\n getAssetPath,\n h,\n Host,\n Method,\n Prop,\n State\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { KBVersion } from \"../version-control/common/types\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"interactive\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"system\",\n name: \"more-horizontal\",\n colorType: \"interactive\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #chShortcutsEl: HTMLChShortcutsElement;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the loading state of the component\n */\n @State() loading = true;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n async componentDidLoad() {\n await this.#init();\n this.loading = false;\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #sortItems = (model: ActionListItemActionable[]): void => {\n model.sort((a, b) =>\n a.caption\n ?.toLocaleLowerCase()\n .localeCompare(b.caption?.toLocaleLowerCase())\n );\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer dialog-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header dialog-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n id=\"change-connection-button\"\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n <section class=\"main field-group spacing-body\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <Fragment>\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n type=\"search\"\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ></ch-edit>\n {this.#kbsActionListModel.length === 0 ||\n this.kbsFilteredActionListModel.length === 0 ? (\n <div class=\"list-box\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyKBsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </div>\n ) : (\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n sortItemsCallback={this.#sortItems}\n ></ch-action-list-render>\n )}\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={(el: HTMLChRadioGroupRenderElement) => {\n this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement;\n if (this.#versionSelectedTypeEl) {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n }\n }}\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n id=\"select-version-button\"\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-m\"\n disabled={!this.enableSelectVersionsButton}\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={\n this.#_componentLocale.kb.localKbNamePlaceholder\n }\n ref={(el: HTMLChEditElement) => {\n this.#localKBNameEl = el as HTMLChEditElement;\n if (this.#localKBNameEl) {\n this.#initializeValidatableControls();\n }\n }}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </Fragment>\n )}\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAGO,MAAMA,+BACXC;EAEA,MAAMC,IAAsC;EAC5CD,EAAQE,SAAQC;IACdF,EAAaG,KAAK;MAChBC,IAAIF,EAAGE;MACPC,MAAM;MACNC,SAASJ,EAAGK;;AACZ;EAEJ,OAAOP;AAAY;;ACdrB,MAAMQ,IAAwB;;;;;;;;;;;;;;;;;ACoC9B,MAAMC,IAA8B,EAClC,qBACA,oBACA,gBACA,oBACA,iBACA,uBACA,sBACA;;AAGF,MAAMC,IAAYC,EAAY;EAC5BC,UAAU;EACVL,MAAM;EACNM,WAAW;;;MASAC,IAAuB;;;IAClCC,EAAAC,IAAAC,MAAgBN,EAAY;MAC1BC,UAAU;MACVL,MAAM;MACNM,WAAW;;IAGbK,EAAAF,IAAAC,MAAgBN,EAAY;MAC1BC,UAAU;MACVL,MAAM;MACNM,WAAW;;IAGbM,EAAAH,IAAAC,MAAyC,EACvC;MAAEG,OAAO;MAASd,SAAS;OAC3B;MAAEc,OAAO;MAAOd,SAAS;OACzB;MAAEc,OAAO;MAAUd,SAAS;;IAK9Be,EAAAL,IAAAC,WAAA;IACAK,EAAAN,IAAAC,MAA6C;IAC7CM,EAAAP,IAAAC,MAA2B;IAC3BO,EAAAR,IAAAC,WAAA;IACAQ,EAAAT,IAAAC,MAAgBS,EACd;IAEFC,EAAAX,IAAAC,WAAA;IACAW,EAAAZ,IAAAC,MAAsC;IAEtCY,EAAAb,IAAAC,WAAA;IAIAa,EAAAd,IAAAC,WAAA;IAkGAc,EAAAf,IAAAC,OAAiB;MACfA,KAAKe;AAAgB;IAGvBC,EAAAjB,IAAAC,OAA2BiB;MACzBjB,KAAKkB,yBAAyB;QAC5BC,oBAAoBnB,KAAKoB,eAAeD;QACxCE,WAAWrB,KAAKoB,eAAeC;QAC/BC,UAAUtB,KAAKoB,eAAeE;QAC9BC,cAAcvB,KAAKoB,eAAeG;;AAClC;IAGJC,EAAAzB,IAAAC,OAAiBiB;MACf,IAAIjB,KAAKyB,wBAAwB,UAAU;QACzCC,EAAA1B,MAAIM,GAAe,IAAE;;MAEvBN,KAAK2B,iBAAiB;QACpBC,YAAYC,EAAA7B,MAAIU,GAAA;QAChBoB,iBAAiB9B,KAAKyB;QACtBM,aAAa/B,KAAKgC;QAClBC,aAAaJ,EAAA7B,MAAIM,GAAA;SAChB4B,MAAMC;QACPnC,KAAKoC,sBAAsBC,EACzBF,GACAnC,KAAKoC;AACN;AACD;;;QAKJE,EAAAvC,IAAAC,OACEuC;;MAEA,SAAAC,KAAAC,IAAAzC,KAAKoC,yBAAmB,QAAAK,WAAA,aAAAA,EAAEC,IAAIH,MAAgB,QAAhBA,WAAgB,aAAhBA,EAAkBpD,SAAG,QAAAqD,WAAA,aAAAA,EAAEG,eACrDC,IAAA5C,KAAKoC,oBAAoBM,IAAIH,EAAiBpD,SAAG,QAAAyD,WAAA,aAAAA,EAAEC,YACjDC,EAAA;QACEC,OAAM;QACNC,eAAeT;QACfU,YAAYC,EAAOC,gBAAgBF;QACnCG,aAAaF,EAAOC,gBAAgBC;QACpCC,OAAOH,EAAOC,gBAAgBE;SAE7BrD,KAAKoC,oBAAoBM,IAAIH,EAAiBpD,IAAI0D;AAEtD;IAEHS,EAAAvD,IAAAC,OACEuD;MAEAvD,KAAKwD,cAAeD,EAAME,OAAkBC;MAC5C1D,KAAK2D,6BAA6B9B,EAAA7B,MAAIK,GAAA,KAAqBuD,QACxDC,KACCA,EAAKxE,QAAQqE,cAAcI,SAAS9D,KAAKwD;AAC5C;IAGHO,EAAAhE,IAAAC,OAAQiB;YACAjB,KAAKgE,uBAAuB;QAChC7C,oBAAoBnB,KAAKoB,eAAeD;QACxCE,WAAWrB,KAAKoB,eAAeC;QAC/BC,UAAUtB,KAAKoB,eAAeE;QAC9BC,cAAcvB,KAAKoB,eAAeG;SACjCW,MAAK+B;QACNvC,EAAA1B,MAAIK,GAAuBxB,6BAA6BoF,IAAO;QAC/DjE,KAAK2D,6BAA6B9B,EAAA7B,MAAIK,GAAA;QACtCL,KAAKwD,cAAc;AAAE;AACrB;IAGJU,EAAAnE,IAAAC,OAAiC;;MAE/B,MAAMoC,IAAqC,EAACP,EAAA7B,MAAIa,GAAA;MAChDuB,EAAoBpD,SAAQmF;QAC1B,IAAIA,EAAmBhF,IAAI;UACzBa,KAAKoC,oBAAoBrC,IAAIoE,EAAmBhF,IAAI;YAClDiF,WAAWD;YACXxB,UAAU;YACVE,SAASwB;;;;AAGb;IAGJC,EAAAvE,IAAAC,OACEuD;MAEAvD,KAAKgC,wBAAwBuB,EAAME;MACnC/B,EAAA1B,MAAIW,GAA8B,MAAI;AAAA;IAGxC4D,EAAAxE,IAAAC,OAA0BiB;MACxB,IAAIjB,KAAKwE,0BAA0B;cAC3BxE,KAAKwE,yBAAyB3C,EAAA7B,MAAIU,GAAA,MAAgBwB,MAAK+B;UAC3D,IAAIA,MAAM,QAANA,WAAM,aAANA,EAAQQ,QAAQ;YAClB/C,EAAA1B,MAAIM,GAAe2D,EAAOS,KAAIC,MAAS;cACrCxF,IAAIwF,EAAUxF;cACdG,MAAMqF,EAAUrF;kBACf;YAEH,IAAI2E,EAAOQ,WAAW,KAAK5C,EAAA7B,MAAIM,GAAA,KAAa,GAAGnB,OAAO,GAAG;cACvDa,KAAKgC,wBAAwBH,EAAA7B,MAAIU,GAAA;cACjCV,KAAK4E,qBACH/C,EAAA7B,MAAII,GAAA,KAAmBnB,GAAG4F;mBACvB,IAAIZ,EAAOQ,SAAS,GAAG;cAC5BzE,KAAKgC,wBAAwBH,EAAA7B,MAAIU,GAAA;cACjCV,KAAK4E,qBAAqB,GAAGX,EAAOQ,OAAOK,cACzCjD,EAAA7B,MAAII,GAAA,KAAmBnB,GAAG8F;mBAEvB;cACL/E,KAAKgC,wBAAwB,GAAGH,EAAA7B,MAAIU,GAAA,QAClCmB,EAAA7B,MAAIM,GAAA,KAAa,GAAGhB;cAEtBU,KAAK4E,qBAAqB,GAAGX,EAAO,GAAG3E,QACrCuC,EAAA7B,MAAII,GAAA,KAAmBnB,GAAG+F;;;;;;IAQtCC,EAAAlF,IAAAC,OACEuD;;MAEA,MAAMM,KAAOpB,IAAAc,EAAME,OAAO,QAAE,QAAAhB,WAAA,aAAAA,EAAEoB;MAC9B,IAAIA,MAASQ,WAAW;QACtBrE,KAAKkF,6BAA6B;QAClCxD,EAAA1B,MAAIU,GAAiB2D,WAAS;QAC9B;;MAEFrE,KAAKkF,6BAA6B;MAClCxD,EAAA1B,MAAIU,GAAiBmD,EAAK1E,IAAE;MAC5B,IAAI0C,EAAA7B,MAAIW,GAAA,MAA6B;QACnC;;MAEFX,KAAKgC,wBAAwB6B,EAAKxE;MAClC,IAAIW,KAAKyB,wBAAwB,UAAU;QACzCzB,KAAK4E,qBAAqB;QAC1BlD,EAAA1B,MAAIM,GAAe,IAAE;;;IAIzB6E,EAAApF,IAAAC,OAA2BuD;MACzBvD,KAAKyB,sBAAsB8B,EAAME;AAAuB;IAG1D2B,EAAArF,IAAAC,OAAcqF;MACZA,EAAMC,MAAK,CAACC,GAAGC;;QACb,QAAA/C,IAAA8C,EAAElG,aAAO,QAAAoD,WAAA,aAAAA,EACLgD,oBACDC,eAAclD,IAAAgD,EAAEnG,aAAO,QAAAmD,WAAA,aAAAA,EAAEiD;AAAoB;AACjD;IAGHE,EAAA5F,IAAAC,OAAgB,MAEZ8C,EAAA;MAAQC,OAAM;OACZD,EAAA;MAAKC,OAAM;OACTD,EAAA;;MAEEC,OAAM;MACN6C,SAAS/D,EAAA7B,MAAIc,GAAA;MACb+E,MAAK;OAEJhE,EAAA7B,MAAII,GAAA,KAAmB0F,OAAOC,SAGjCjD,EAAA;;MAEEC,OAAM;MACN6C,SAAS5F,KAAKkF,8BAA8BrD,EAAA7B,MAAIwB,GAAA;MAChDwE,WAAWhG,KAAKkF;MAChBW,MAAK;OAEJhE,EAAA7B,MAAII,GAAA,KAAmB0F,OAAOG;sCA7QM;iCAKN;mBAKtB;uBAKY;sCAK8B;+BAE9B,IAAIC;;8BAUG;;;;;;;;EAwCtC,sBAAMC;UACEtE,EAAA7B,MAAI+D,GAAA,KAAMqC,KAAVpG;IACNA,KAAKqG,UAAU;;EAGjB,uBAAMC;IACJ5E,EAAA1B,MAAII,SAA2BmG,EAAOC,oBAAoBxG,KAAKyG,KAAG;;;;SAOpE,sBAAMC,CAAiBA;IACrB,IAAIA,GAAkB;MACpB7E,EAAA7B,MAAIO,GAAA,KAAgBoG,UAAU;WACzB;MACL9E,EAAA7B,MAAIO,GAAA,KAAgBoG,UAAU;;;EA2LlC,MAAAC;IACE,OACE9D,EAAC+D,GAAI;MAAC9D,OAAM;OACVD,EAAA;MAAUuC,OAAO7F;QACjBsD,EAAA;MACEgE,KAAKjF,EAAA7B,MAAIQ,GAAA;MACTuG,KAAMN,KACH/E,EAAA1B,MAAIO,GAAkBkG,GAA4B;QAIvD3D,EAAA;MAASC,OAAM;OACbD,EAAA;MAAQC,OAAM;OACZD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;OACVlB,EAAA7B,MAAII,GAAA,KAAmB4G,OAAO3F,YAEjCyB,EAAA,WAAI9C,KAAKoB,eAAeC,aAG1ByB,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;OAASlB,EAAA7B,MAAII,GAAA,KAAmB4G,OAAOC,OACpDnE,EAAA,WAAI9C,KAAKoB,eAAeE,YAG1BwB,EAAA;MACE3D,IAAG;MACH4D,OAAM;MACN6C,SAAS/D,EAAA7B,MAAIgB,GAAA;OAEZa,EAAA7B,MAAII,GAAA,KAAmB4G,OAAOE,UAGnCpE,EAAA;MAASC,OAAM;OACZ/C,KAAKqG,UACJvD,EAAA;MACEqE,aAAatF,EAAA7B,MAAII,GAAA,KAAmBgH,OAAOC;MAC3CC,aAAazF,EAAA7B,MAAII,GAAA,KAAmBgH,OAAOE;MAC3CC,MAAI;SAGNzE,EAAC0E,GAAQ,MACP1E,EAAA;MACEC,OAAM;MACN5D,IAAG;MACHsI,aAAa5F,EAAA7B,MAAIF,GAAA;MACjBV,MAAK;MACLsI,SAAS7F,EAAA7B,MAAIsD,GAAA;MACbqE,aAAa9F,EAAA7B,MAAII,GAAA,KAAmBnB,GAAG2I;QAExC/F,EAAA7B,MAAIK,GAAA,KAAqBoE,WAAW,KACrCzE,KAAK2D,2BAA2Bc,WAAW,IACzC3B,EAAA;MAAKC,OAAM;OACTD,EAAA;MACE+E,cAAcpI;MACdqI,YAAYjG,EAAA7B,MAAII,GAAA,KAAmB2H;MACnCC,YAAY;UAIhBlF,EAAA;MACEmF,WAAU;MACVlF,OAAM;MACNmF,uBAAuBrG,EAAA7B,MAAIiF,GAAA;MAC3BI,OAAOrF,KAAK2D;MACZwE,mBAAmBtG,EAAA7B,MAAIoF,GAAA;QAG3BtC,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEC,OAAM;MACNsC,OAAOxD,EAAA7B,MAAIE,GAAA;MACXkI,UAAUvG,EAAA7B,MAAImF,GAAA;MACdhF,OAAO0B,EAAA7B,MAAIE,GAAA,KAAiB,GAAGC;MAC/B4G,KAAMN;QACJ/E,EAAA1B,MAAIY,GACF6F,GAAmC;QACrC,IAAI5E,EAAA7B,MAAIY,GAAA,MAAyB;UAC/BZ,KAAKyB,sBAAsBI,EAAA7B,MAAIY,GAAA,KAC5BT;;;QAKRH,KAAKyB,wBAAwB,YAC5BqB,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQsF,SAAQ;OAC1BxG,EAAA7B,MAAII,GAAA,KAAmBnB,GAAGqJ,gBAE7BxF,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEC,OAAM;MACNwF,UAAQ;MACRZ,aACE3H,KAAKkF,6BACDrD,EAAA7B,MAAII,GAAA,KAAmBnB,GAAG4F,sBAC1BhD,EAAA7B,MAAII,GAAA,KAAmBnB,GACpBuJ;MAETrI,OAAOH,KAAK4E;QAEd9B,EAAA;MACE3D,IAAG;MACH4D,OAAM;MACN6C,SAAS/D,EAAA7B,MAAIuE,GAAA;MACbyB,WAAWhG,KAAKkF;OAEhBpC,EAAA;MACEgE,KAAKjF,EAAA7B,MAAIC,GAAA;MACT8C,OAAM;MACNiD,WAAWhG,KAAKkF;aAS9BpC,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAOC,OAAM;MAAQsF,SAAQ;OAC1BxG,EAAA7B,MAAII,GAAA,KAAmBnB,GAAGwJ,mBAE7B3F,EAAA;;MAEEC,OAAM;MACN5D,IAAG;MACHgB,OAAOH,KAAKgC;MACZ0F,SAAS7F,EAAA7B,MAAIsE,GAAA;MACbqD,aACE9F,EAAA7B,MAAII,GAAA,KAAmBnB,GAAGyJ;MAE5B3B,KAAMN;QACJ/E,EAAA1B,MAAIa,GAAkB4F,GAAuB;QAC7C,IAAI5E,EAAA7B,MAAIa,GAAA,MAAiB;UACvBgB,EAAA7B,MAAIkE,GAAA,KAA+BkC,KAAnCpG;;;QAIL6B,EAAA7B,MAAIsC,GAAA,KAAuB8D,KAA3BpG,MAA4B6B,EAAA7B,MAAIa,GAAA,UAMxCgB,EAAA7B,MAAI2F,GAAA,KAAcS,KAAlBpG"}