@xxmachina/components 19.21.7 → 19.24.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 (79) hide show
  1. package/extras/flow/index.d.ts +13 -3
  2. package/extras/flow/index.d.ts.map +1 -1
  3. package/features/query/index.d.ts.map +1 -1
  4. package/fesm2022/xxmachina-components-extras-flow.mjs +110 -11
  5. package/fesm2022/xxmachina-components-extras-flow.mjs.map +1 -1
  6. package/fesm2022/xxmachina-components-groups-query-form.mjs.map +1 -1
  7. package/fesm2022/xxmachina-components-molecules-inline-edit-field.mjs +117 -0
  8. package/fesm2022/xxmachina-components-molecules-inline-edit-field.mjs.map +1 -0
  9. package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +2 -2
  10. package/fesm2022/xxmachina-components-molecules-weekly-header.mjs.map +1 -1
  11. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +2 -2
  12. package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +1 -1
  13. package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs +19 -4
  14. package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs.map +1 -1
  15. package/fesm2022/xxmachina-components-organisms-xterm.mjs +849 -49
  16. package/fesm2022/xxmachina-components-organisms-xterm.mjs.map +1 -1
  17. package/fesm2022/xxmachina-components-pages-command-harness.mjs +28 -0
  18. package/fesm2022/xxmachina-components-pages-command-harness.mjs.map +1 -0
  19. package/fesm2022/xxmachina-components-pages-command.mjs +10 -6
  20. package/fesm2022/xxmachina-components-pages-command.mjs.map +1 -1
  21. package/fesm2022/xxmachina-components-pages-query.mjs +2 -2
  22. package/fesm2022/xxmachina-components-pages-query.mjs.map +1 -1
  23. package/fesm2022/xxmachina-components-pages-thread.mjs +2 -2
  24. package/fesm2022/xxmachina-components-pages-thread.mjs.map +1 -1
  25. package/fesm2022/xxmachina-components-services-message.mjs.map +1 -1
  26. package/fesm2022/xxmachina-components-templates-agent.mjs +151 -123
  27. package/fesm2022/xxmachina-components-templates-agent.mjs.map +1 -1
  28. package/fesm2022/xxmachina-components-templates-background.mjs +376 -242
  29. package/fesm2022/xxmachina-components-templates-background.mjs.map +1 -1
  30. package/fesm2022/xxmachina-components-templates-flow-nodes-group.mjs +164 -0
  31. package/fesm2022/xxmachina-components-templates-flow-nodes-group.mjs.map +1 -0
  32. package/fesm2022/xxmachina-components-templates-flow-nodes-issue.mjs +157 -0
  33. package/fesm2022/xxmachina-components-templates-flow-nodes-issue.mjs.map +1 -0
  34. package/fesm2022/xxmachina-components-templates-flow-nodes-task.mjs +154 -0
  35. package/fesm2022/xxmachina-components-templates-flow-nodes-task.mjs.map +1 -0
  36. package/fesm2022/xxmachina-components-templates-flow.mjs +337 -0
  37. package/fesm2022/xxmachina-components-templates-flow.mjs.map +1 -0
  38. package/fesm2022/xxmachina-components.mjs +2 -2
  39. package/fesm2022/xxmachina-components.mjs.map +1 -1
  40. package/groups/query-form/index.d.ts +3 -4
  41. package/groups/query-form/index.d.ts.map +1 -1
  42. package/index.d.ts.map +1 -1
  43. package/molecules/inline-edit-field/index.d.ts +32 -0
  44. package/molecules/inline-edit-field/index.d.ts.map +1 -0
  45. package/organisms/terminal-input-section/index.d.ts +2 -1
  46. package/organisms/terminal-input-section/index.d.ts.map +1 -1
  47. package/organisms/xterm/index.d.ts +176 -4
  48. package/organisms/xterm/index.d.ts.map +1 -1
  49. package/package.json +29 -13
  50. package/pages/command/harness/index.d.ts +14 -0
  51. package/pages/command/harness/index.d.ts.map +1 -0
  52. package/pages/command/index.d.ts +12 -4
  53. package/pages/command/index.d.ts.map +1 -1
  54. package/pages/query/index.d.ts +2 -2
  55. package/pages/query/index.d.ts.map +1 -1
  56. package/pages/query-v2/index.d.ts.map +1 -1
  57. package/services/command/index.d.ts.map +1 -1
  58. package/services/message/index.d.ts +3 -3
  59. package/services/message/index.d.ts.map +1 -1
  60. package/templates/agent/index.d.ts +11 -2
  61. package/templates/agent/index.d.ts.map +1 -1
  62. package/templates/background/index.d.ts +14 -20
  63. package/templates/background/index.d.ts.map +1 -1
  64. package/templates/flow/index.d.ts +61 -0
  65. package/templates/flow/index.d.ts.map +1 -0
  66. package/templates/flow/nodes/group/index.d.ts +44 -0
  67. package/templates/flow/nodes/group/index.d.ts.map +1 -0
  68. package/templates/flow/nodes/issue/index.d.ts +46 -0
  69. package/templates/flow/nodes/issue/index.d.ts.map +1 -0
  70. package/templates/flow/nodes/task/index.d.ts +37 -0
  71. package/templates/flow/nodes/task/index.d.ts.map +1 -0
  72. package/fesm2022/xxmachina-components-services-calendar.mjs +0 -25
  73. package/fesm2022/xxmachina-components-services-calendar.mjs.map +0 -1
  74. package/fesm2022/xxmachina-components-services-schedule.mjs +0 -51
  75. package/fesm2022/xxmachina-components-services-schedule.mjs.map +0 -1
  76. package/services/calendar/index.d.ts +0 -14
  77. package/services/calendar/index.d.ts.map +0 -1
  78. package/services/schedule/index.d.ts +0 -27
  79. package/services/schedule/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-organisms-terminal-input-section.mjs","sources":["../tmp-esm2022/organisms/terminal-input-section/terminal-input-section.organism.js","../tmp-esm2022/organisms/terminal-input-section/xxmachina-components-organisms-terminal-input-section.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, effect, inject, input, output, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { SpeechService } from '@xxmachina/common/services/speech';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/icon\";\nimport * as i4 from \"@angular/material/tooltip\";\nexport var ActionId;\n(function (ActionId) {\n ActionId[\"SEND\"] = \"send\";\n})(ActionId || (ActionId = {}));\nexport class TerminalInputSectionOrganism {\n static ActionId = ActionId;\n speechService = inject(SpeechService);\n control = input(new FormControl('', { nonNullable: true }));\n placeholder = input('Enter command...');\n prefix = input('>');\n clearOnSend = input(true);\n enableVoiceInput = input(false);\n action = output();\n inputField = viewChild('inputField');\n componentId = this.speechService.generateComponentId();\n // このコンポーネントがアクティブかどうか\n isRecording = computed(() => this.speechService.isListening() &&\n this.speechService.isActiveComponent(this.componentId));\n // IME変換中かどうかのフラグ\n isComposing = false;\n constructor() {\n // アクティブな場合のみ、音声認識結果を入力フィールドに反映\n effect(() => {\n if (this.enableVoiceInput() && this.speechService.isActiveComponent(this.componentId)) {\n const transcript = this.speechService.transcript();\n const text = transcript.finalized + transcript.interim;\n // clear()時は空文字でsetValueしてフォームもクリア\n this.control().setValue(text);\n }\n });\n }\n onCompositionStart() {\n this.isComposing = true;\n }\n onCompositionEnd() {\n this.isComposing = false;\n }\n handleKeydown(event) {\n // IME変換中はEnterを無視\n if (this.isComposing) {\n return;\n }\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n this.send();\n }\n }\n onInput() {\n this.adjustTextareaHeight();\n }\n send() {\n const value = this.control().value.trim();\n if (value) {\n this.action.emit({ id: ActionId.SEND, payload: value });\n if (this.clearOnSend()) {\n this.control().reset();\n this.resetTextareaHeight();\n // 音声入力中の場合は停止\n if (this.isRecording()) {\n this.speechService.stop();\n }\n }\n }\n }\n adjustTextareaHeight() {\n const textarea = this.inputField()?.nativeElement;\n if (textarea) {\n // overflowを一時的にhiddenにしてscrollHeightを正確に取得\n textarea.style.overflow = 'hidden';\n // 一旦高さを最小に設定してscrollHeightを正確に取得\n textarea.style.height = '0px';\n // scrollHeightに合わせて高さを設定(最大200px)\n const newHeight = Math.min(textarea.scrollHeight, 200);\n textarea.style.height = `${newHeight}px`;\n // overflowを元に戻す\n textarea.style.overflow = 'auto';\n }\n }\n resetTextareaHeight() {\n const textarea = this.inputField()?.nativeElement;\n if (textarea) {\n textarea.style.height = 'auto';\n }\n }\n focus() {\n this.inputField()?.nativeElement?.focus();\n }\n toggleVoiceInput() {\n this.speechService.toggle(this.componentId);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TerminalInputSectionOrganism, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: TerminalInputSectionOrganism, isStandalone: true, selector: \"organisms-terminal-input-section\", inputs: { control: { classPropertyName: \"control\", publicName: \"control\", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: \"prefix\", publicName: \"prefix\", isSignal: true, isRequired: false, transformFunction: null }, clearOnSend: { classPropertyName: \"clearOnSend\", publicName: \"clearOnSend\", isSignal: true, isRequired: false, transformFunction: null }, enableVoiceInput: { classPropertyName: \"enableVoiceInput\", publicName: \"enableVoiceInput\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: \"action\" }, host: { classAttribute: \"organism terminal-input section\" }, viewQueries: [{ propertyName: \"inputField\", first: true, predicate: [\"inputField\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<div class=\\\"input-line\\\">\\n <span class=\\\"input-prefix\\\">{{ prefix() }}</span>\\n <div class=\\\"input-container\\\">\\n <textarea\\n #inputField\\n class=\\\"terminal-input\\\"\\n [formControl]=\\\"control()\\\"\\n [placeholder]=\\\"placeholder()\\\"\\n (keydown)=\\\"handleKeydown($event)\\\"\\n (input)=\\\"onInput()\\\"\\n (compositionstart)=\\\"onCompositionStart()\\\"\\n (compositionend)=\\\"onCompositionEnd()\\\"\\n rows=\\\"1\\\"\\n ></textarea>\\n </div>\\n @if (enableVoiceInput() && speechService.isSupported) {\\n <button\\n mat-icon-button\\n (click)=\\\"toggleVoiceInput()\\\"\\n [matTooltip]=\\\"isRecording() ? '\\u97F3\\u58F0\\u5165\\u529B\\u505C\\u6B62' : '\\u97F3\\u58F0\\u5165\\u529B'\\\"\\n [class.recording]=\\\"isRecording()\\\">\\n <mat-icon>{{ isRecording() ? 'mic' : 'mic_none' }}</mat-icon>\\n </button>\\n }\\n <button mat-icon-button (click)=\\\"send()\\\" matTooltip=\\\"\\u9001\\u4FE1\\\">\\n <mat-icon>send</mat-icon>\\n </button>\\n</div>\\n\", styles: [\":host{display:block;display:flex;background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.input-line{display:flex;align-items:center;width:100%;gap:8px;padding:8px 12px}.input-prefix{color:#0dbc79;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;flex-shrink:0}.input-container{flex:1;display:flex}.input-container .terminal-input{width:100%;max-height:200px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e0e0e0;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;line-height:20px;padding:8px 12px;resize:none;outline:none;overflow-y:auto;display:block;box-sizing:border-box}.input-container .terminal-input:focus{border-color:#0dbc7980;box-shadow:0 0 0 2px #0dbc7933}.input-container .terminal-input::placeholder{color:#ffffff4d}button{color:#0dbc79}button:hover{background:#0dbc791a}button.recording{color:#f44336;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatTooltipModule }, { kind: \"directive\", type: i4.MatTooltip, selector: \"[matTooltip]\", inputs: [\"matTooltipPosition\", \"matTooltipPositionAtOrigin\", \"matTooltipDisabled\", \"matTooltipShowDelay\", \"matTooltipHideDelay\", \"matTooltipTouchGestures\", \"matTooltip\", \"matTooltipClass\"], exportAs: [\"matTooltip\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TerminalInputSectionOrganism, decorators: [{\n type: Component,\n args: [{ selector: 'organisms-terminal-input-section', standalone: true, imports: [\n CommonModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'organism terminal-input section' }, template: \"<div class=\\\"input-line\\\">\\n <span class=\\\"input-prefix\\\">{{ prefix() }}</span>\\n <div class=\\\"input-container\\\">\\n <textarea\\n #inputField\\n class=\\\"terminal-input\\\"\\n [formControl]=\\\"control()\\\"\\n [placeholder]=\\\"placeholder()\\\"\\n (keydown)=\\\"handleKeydown($event)\\\"\\n (input)=\\\"onInput()\\\"\\n (compositionstart)=\\\"onCompositionStart()\\\"\\n (compositionend)=\\\"onCompositionEnd()\\\"\\n rows=\\\"1\\\"\\n ></textarea>\\n </div>\\n @if (enableVoiceInput() && speechService.isSupported) {\\n <button\\n mat-icon-button\\n (click)=\\\"toggleVoiceInput()\\\"\\n [matTooltip]=\\\"isRecording() ? '\\u97F3\\u58F0\\u5165\\u529B\\u505C\\u6B62' : '\\u97F3\\u58F0\\u5165\\u529B'\\\"\\n [class.recording]=\\\"isRecording()\\\">\\n <mat-icon>{{ isRecording() ? 'mic' : 'mic_none' }}</mat-icon>\\n </button>\\n }\\n <button mat-icon-button (click)=\\\"send()\\\" matTooltip=\\\"\\u9001\\u4FE1\\\">\\n <mat-icon>send</mat-icon>\\n </button>\\n</div>\\n\", styles: [\":host{display:block;display:flex;background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.input-line{display:flex;align-items:center;width:100%;gap:8px;padding:8px 12px}.input-prefix{color:#0dbc79;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;flex-shrink:0}.input-container{flex:1;display:flex}.input-container .terminal-input{width:100%;max-height:200px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e0e0e0;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;line-height:20px;padding:8px 12px;resize:none;outline:none;overflow-y:auto;display:block;box-sizing:border-box}.input-container .terminal-input:focus{border-color:#0dbc7980;box-shadow:0 0 0 2px #0dbc7933}.input-container .terminal-input::placeholder{color:#ffffff4d}button{color:#0dbc79}button:hover{background:#0dbc791a}button.recording{color:#f44336;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtaW5wdXQtc2VjdGlvbi5vcmdhbmlzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL29yZ2FuaXNtcy90ZXJtaW5hbC1pbnB1dC1zZWN0aW9uL3Rlcm1pbmFsLWlucHV0LXNlY3Rpb24ub3JnYW5pc20udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9vcmdhbmlzbXMvdGVybWluYWwtaW5wdXQtc2VjdGlvbi90ZXJtaW5hbC1pbnB1dC1zZWN0aW9uLm9yZ2FuaXNtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFFbEUsTUFBTSxDQUFOLElBQVksUUFFWDtBQUZELFdBQVksUUFBUTtJQUNsQix5QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUZXLFFBQVEsS0FBUixRQUFRLFFBRW5CO0FBaUJELE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsTUFBTSxDQUFVLFFBQVEsR0FB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QkFBbUIseWtCQUNuQixlQUFlLHFOQUNmLGFBQWEsbUxBQ2IsZ0JBQWdCOzsyRkFPUCw0QkFBNEI7a0JBZnhDLFNBQVM7K0JBQ0Usa0NBQWtDLGNBQ2hDLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsaUNBQWlDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBTcGVlY2hTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vc2VydmljZXMvc3BlZWNoJztcblxuZXhwb3J0IGVudW0gQWN0aW9uSWQge1xuICBTRU5EID0gJ3NlbmQnLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvcmdhbmlzbXMtdGVybWluYWwtaW5wdXQtc2VjdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVybWluYWwtaW5wdXQtc2VjdGlvbi5vcmdhbmlzbS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVybWluYWwtaW5wdXQtc2VjdGlvbi5vcmdhbmlzbS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IGNsYXNzOiAnb3JnYW5pc20gdGVybWluYWwtaW5wdXQgc2VjdGlvbicgfSxcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYWxJbnB1dFNlY3Rpb25PcmdhbmlzbSB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuXG4gIHJlYWRvbmx5IHNwZWVjaFNlcnZpY2UgPSBpbmplY3QoU3BlZWNoU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgY29udHJvbCA9IGlucHV0KG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQoJ0VudGVyIGNvbW1hbmQuLi4nKTtcbiAgcmVhZG9ubHkgcHJlZml4ID0gaW5wdXQoJz4nKTtcbiAgcmVhZG9ubHkgY2xlYXJPblNlbmQgPSBpbnB1dCh0cnVlKTtcbiAgcmVhZG9ubHkgZW5hYmxlVm9pY2VJbnB1dCA9IGlucHV0KGZhbHNlKTtcblxuICByZWFkb25seSBhY3Rpb24gPSBvdXRwdXQ8QWN0aW9uPHN0cmluZz4+KCk7XG5cbiAgcmVhZG9ubHkgaW5wdXRGaWVsZCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+PignaW5wdXRGaWVsZCcpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50SWQgPSB0aGlzLnNwZWVjaFNlcnZpY2UuZ2VuZXJhdGVDb21wb25lbnRJZCgpO1xuXG4gIC8vIOOBk+OBruOCs+ODs+ODneODvOODjeODs+ODiOOBjOOCouOCr+ODhuOCo+ODluOBi+OBqeOBhuOBi1xuICByZWFkb25seSBpc1JlY29yZGluZyA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5zcGVlY2hTZXJ2aWNlLmlzTGlzdGVuaW5nKCkgJiZcbiAgICB0aGlzLnNwZWVjaFNlcnZpY2UuaXNBY3RpdmVDb21wb25lbnQodGhpcy5jb21wb25lbnRJZClcbiAgKTtcblxuICAvLyBJTUXlpInmj5vkuK3jgYvjganjgYbjgYvjga7jg5Xjg6njgrBcbiAgcHJpdmF0ZSBpc0NvbXBvc2luZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIOOCouOCr+ODhuOCo+ODluOBquWgtOWQiOOBruOBv+OAgemfs+WjsOiqjeitmOe1kOaenOOCkuWFpeWKm+ODleOCo+ODvOODq+ODieOBq+WPjeaYoFxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5lbmFibGVWb2ljZUlucHV0KCkgJiYgdGhpcy5zcGVlY2hTZXJ2aWNlLmlzQWN0aXZlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50SWQpKSB7XG4gICAgICAgIGNvbnN0IHRyYW5zY3JpcHQgPSB0aGlzLnNwZWVjaFNlcnZpY2UudHJhbnNjcmlwdCgpO1xuICAgICAgICBjb25zdCB0ZXh0ID0gdHJhbnNjcmlwdC5maW5hbGl6ZWQgKyB0cmFuc2NyaXB0LmludGVyaW07XG4gICAgICAgIC8vIGNsZWFyKCnmmYLjga/nqbrmloflrZfjgadzZXRWYWx1ZeOBl+OBpuODleOCqeODvOODoOOCguOCr+ODquOColxuICAgICAgICB0aGlzLmNvbnRyb2woKS5zZXRWYWx1ZSh0ZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uQ29tcG9zaXRpb25TdGFydCgpIHtcbiAgICB0aGlzLmlzQ29tcG9zaW5nID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQ29tcG9zaXRpb25FbmQoKSB7XG4gICAgdGhpcy5pc0NvbXBvc2luZyA9IGZhbHNlO1xuICB9XG5cbiAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIC8vIElNReWkieaPm+S4reOBr0VudGVy44KS54Sh6KaWXG4gICAgaWYgKHRoaXMuaXNDb21wb3NpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyAmJiAhZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNlbmQoKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0KCkge1xuICAgIHRoaXMuYWRqdXN0VGV4dGFyZWFIZWlnaHQoKTtcbiAgfVxuXG4gIHNlbmQoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnRyb2woKS52YWx1ZS50cmltKCk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmFjdGlvbi5lbWl0KHsgaWQ6IEFjdGlvbklkLlNFTkQsIHBheWxvYWQ6IHZhbHVlIH0pO1xuICAgICAgaWYgKHRoaXMuY2xlYXJPblNlbmQoKSkge1xuICAgICAgICB0aGlzLmNvbnRyb2woKS5yZXNldCgpO1xuICAgICAgICB0aGlzLnJlc2V0VGV4dGFyZWFIZWlnaHQoKTtcbiAgICAgICAgLy8g6Z+z5aOw5YWl5Yqb5Lit44Gu5aC05ZCI44Gv5YGc5q2iXG4gICAgICAgIGlmICh0aGlzLmlzUmVjb3JkaW5nKCkpIHtcbiAgICAgICAgICB0aGlzLnNwZWVjaFNlcnZpY2Uuc3RvcCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGp1c3RUZXh0YXJlYUhlaWdodCgpIHtcbiAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuaW5wdXRGaWVsZCgpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICh0ZXh0YXJlYSkge1xuICAgICAgLy8gb3ZlcmZsb3fjgpLkuIDmmYLnmoTjgatoaWRkZW7jgavjgZfjgaZzY3JvbGxIZWlnaHTjgpLmraPnorrjgavlj5blvpdcbiAgICAgIHRleHRhcmVhLnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgICAvLyDkuIDml6bpq5jjgZXjgpLmnIDlsI/jgavoqK3lrprjgZfjgaZzY3JvbGxIZWlnaHTjgpLmraPnorrjgavlj5blvpdcbiAgICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9ICcwcHgnO1xuICAgICAgLy8gc2Nyb2xsSGVpZ2h044Gr5ZCI44KP44Gb44Gm6auY44GV44KS6Kit5a6a77yI5pyA5aSnMjAwcHjvvIlcbiAgICAgIGNvbnN0IG5ld0hlaWdodCA9IE1hdGgubWluKHRleHRhcmVhLnNjcm9sbEhlaWdodCwgMjAwKTtcbiAgICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9IGAke25ld0hlaWdodH1weGA7XG4gICAgICAvLyBvdmVyZmxvd+OCkuWFg+OBq+aIu+OBmVxuICAgICAgdGV4dGFyZWEuc3R5bGUub3ZlcmZsb3cgPSAnYXV0byc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldFRleHRhcmVhSGVpZ2h0KCkge1xuICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5pbnB1dEZpZWxkKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRleHRhcmVhKSB7XG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgfVxuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5pbnB1dEZpZWxkKCk/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gIH1cblxuICB0b2dnbGVWb2ljZUlucHV0KCkge1xuICAgIHRoaXMuc3BlZWNoU2VydmljZS50b2dnbGUodGhpcy5jb21wb25lbnRJZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1saW5lXCI+XG4gIDxzcGFuIGNsYXNzPVwiaW5wdXQtcHJlZml4XCI+e3sgcHJlZml4KCkgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICA8dGV4dGFyZWFcbiAgICAgICNpbnB1dEZpZWxkXG4gICAgICBjbGFzcz1cInRlcm1pbmFsLWlucHV0XCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAgICAgKGNvbXBvc2l0aW9uc3RhcnQpPVwib25Db21wb3NpdGlvblN0YXJ0KClcIlxuICAgICAgKGNvbXBvc2l0aW9uZW5kKT1cIm9uQ29tcG9zaXRpb25FbmQoKVwiXG4gICAgICByb3dzPVwiMVwiXG4gICAgPjwvdGV4dGFyZWE+XG4gIDwvZGl2PlxuICBAaWYgKGVuYWJsZVZvaWNlSW5wdXQoKSAmJiBzcGVlY2hTZXJ2aWNlLmlzU3VwcG9ydGVkKSB7XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAoY2xpY2spPVwidG9nZ2xlVm9pY2VJbnB1dCgpXCJcbiAgICAgIFttYXRUb29sdGlwXT1cImlzUmVjb3JkaW5nKCkgPyAn6Z+z5aOw5YWl5Yqb5YGc5q2iJyA6ICfpn7Plo7DlhaXlipsnXCJcbiAgICAgIFtjbGFzcy5yZWNvcmRpbmddPVwiaXNSZWNvcmRpbmcoKVwiPlxuICAgICAgPG1hdC1pY29uPnt7IGlzUmVjb3JkaW5nKCkgPyAnbWljJyA6ICdtaWNfbm9uZScgfX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzZW5kKClcIiBtYXRUb29sdGlwPVwi6YCB5L+hXCI+XG4gICAgPG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtb3JnYW5pc21zLXRlcm1pbmFsLWlucHV0LXNlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9vcmdhbmlzbXMvdGVybWluYWwtaW5wdXQtc2VjdGlvbi94eG1hY2hpbmEtY29tcG9uZW50cy1vcmdhbmlzbXMtdGVybWluYWwtaW5wdXQtc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-organisms-terminal-input-section.mjs","sources":["../tmp-esm2022/organisms/terminal-input-section/terminal-input-section.organism.js","../tmp-esm2022/organisms/terminal-input-section/xxmachina-components-organisms-terminal-input-section.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, effect, inject, input, output, untracked, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { SpeechService } from '@xxmachina/common/services/speech';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/icon\";\nimport * as i4 from \"@angular/material/tooltip\";\nexport var ActionId;\n(function (ActionId) {\n ActionId[\"SEND\"] = \"send\";\n})(ActionId || (ActionId = {}));\nexport class TerminalInputSectionOrganism {\n static ActionId = ActionId;\n speechService = inject(SpeechService);\n control = input(new FormControl('', { nonNullable: true }));\n placeholder = input('Enter command...');\n prefix = input('>');\n clearOnSend = input(true);\n enableVoiceInput = input(false);\n sessionId = input(undefined);\n action = output();\n inputField = viewChild('inputField');\n componentId = this.speechService.generateComponentId();\n // このコンポーネントがアクティブかどうか\n isRecording = computed(() => this.speechService.isListening() &&\n this.speechService.isActiveComponent(this.componentId));\n // IME変換中かどうかのフラグ\n isComposing = false;\n constructor() {\n // アクティブな場合のみ、音声認識結果を入力フィールドに反映\n effect(() => {\n if (this.enableVoiceInput() && this.speechService.isActiveComponent(this.componentId)) {\n const transcript = this.speechService.transcript();\n const text = transcript.finalized + transcript.interim;\n // clear()時は空文字でsetValueしてフォームもクリア\n this.control().setValue(text);\n }\n });\n // autoMode + selectedSessionId の変化を検知し、書き込み先を登録\n effect(() => {\n const autoMode = this.speechService.autoModeEnabled();\n const selectedId = this.speechService.selectedSessionId();\n const sid = this.sessionId();\n if (autoMode && sid && selectedId === sid) {\n // Speech APIは動き続けている。書き込み先を自分に登録するだけ\n untracked(() => this.speechService.activateComponent(this.componentId));\n }\n else if (autoMode && sid && selectedId !== sid) {\n // deactivate: 別セッションに切り替わった → 入力欄にテキストがあれば送信\n untracked(() => this.send());\n }\n });\n }\n onCompositionStart() {\n this.isComposing = true;\n }\n onCompositionEnd() {\n this.isComposing = false;\n }\n handleKeydown(event) {\n // IME変換中はEnterを無視\n if (this.isComposing) {\n return;\n }\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n this.send();\n }\n }\n onInput() {\n this.adjustTextareaHeight();\n }\n send() {\n const value = this.control().value.trim();\n if (value) {\n this.action.emit({ id: ActionId.SEND, payload: value });\n if (this.clearOnSend()) {\n this.control().reset();\n this.resetTextareaHeight();\n // 自動モード時: stopしない。clear()でtranscriptだけリセット\n if (this.isRecording()) {\n this.speechService.clear();\n }\n }\n }\n }\n adjustTextareaHeight() {\n const textarea = this.inputField()?.nativeElement;\n if (textarea) {\n // overflowを一時的にhiddenにしてscrollHeightを正確に取得\n textarea.style.overflow = 'hidden';\n // 一旦高さを最小に設定してscrollHeightを正確に取得\n textarea.style.height = '0px';\n // scrollHeightに合わせて高さを設定(最大200px)\n const newHeight = Math.min(textarea.scrollHeight, 200);\n textarea.style.height = `${newHeight}px`;\n // overflowを元に戻す\n textarea.style.overflow = 'auto';\n }\n }\n resetTextareaHeight() {\n const textarea = this.inputField()?.nativeElement;\n if (textarea) {\n textarea.style.height = 'auto';\n }\n }\n focus() {\n this.inputField()?.nativeElement?.focus();\n }\n toggleVoiceInput() {\n this.speechService.toggle(this.componentId);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TerminalInputSectionOrganism, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: TerminalInputSectionOrganism, isStandalone: true, selector: \"organisms-terminal-input-section\", inputs: { control: { classPropertyName: \"control\", publicName: \"control\", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: \"prefix\", publicName: \"prefix\", isSignal: true, isRequired: false, transformFunction: null }, clearOnSend: { classPropertyName: \"clearOnSend\", publicName: \"clearOnSend\", isSignal: true, isRequired: false, transformFunction: null }, enableVoiceInput: { classPropertyName: \"enableVoiceInput\", publicName: \"enableVoiceInput\", isSignal: true, isRequired: false, transformFunction: null }, sessionId: { classPropertyName: \"sessionId\", publicName: \"sessionId\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { action: \"action\" }, host: { classAttribute: \"organism terminal-input section\" }, viewQueries: [{ propertyName: \"inputField\", first: true, predicate: [\"inputField\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<div class=\\\"input-line\\\">\\n <span class=\\\"input-prefix\\\">{{ prefix() }}</span>\\n <div class=\\\"input-container\\\">\\n <textarea\\n #inputField\\n class=\\\"terminal-input\\\"\\n [formControl]=\\\"control()\\\"\\n [placeholder]=\\\"placeholder()\\\"\\n (keydown)=\\\"handleKeydown($event)\\\"\\n (input)=\\\"onInput()\\\"\\n (compositionstart)=\\\"onCompositionStart()\\\"\\n (compositionend)=\\\"onCompositionEnd()\\\"\\n rows=\\\"1\\\"\\n ></textarea>\\n </div>\\n @if (enableVoiceInput() && speechService.isSupported) {\\n <button\\n mat-icon-button\\n (click)=\\\"toggleVoiceInput()\\\"\\n [matTooltip]=\\\"isRecording() ? '\\u97F3\\u58F0\\u5165\\u529B\\u505C\\u6B62' : '\\u97F3\\u58F0\\u5165\\u529B'\\\"\\n [class.recording]=\\\"isRecording()\\\">\\n <mat-icon>{{ isRecording() ? 'mic' : 'mic_none' }}</mat-icon>\\n </button>\\n }\\n <button mat-icon-button (click)=\\\"send()\\\" matTooltip=\\\"\\u9001\\u4FE1\\\">\\n <mat-icon>send</mat-icon>\\n </button>\\n</div>\\n\", styles: [\":host{display:block;display:flex;background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.input-line{display:flex;align-items:center;width:100%;gap:8px;padding:8px 12px}.input-prefix{color:#0dbc79;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;flex-shrink:0}.input-container{flex:1;display:flex}.input-container .terminal-input{width:100%;max-height:200px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e0e0e0;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;line-height:20px;padding:8px 12px;resize:none;outline:none;overflow-y:auto;display:block;box-sizing:border-box}.input-container .terminal-input:focus{border-color:#0dbc7980;box-shadow:0 0 0 2px #0dbc7933}.input-container .terminal-input::placeholder{color:#ffffff4d}button{color:#0dbc79}button:hover{background:#0dbc791a}button.recording{color:#f44336;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: ReactiveFormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i2.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"ngmodule\", type: MatTooltipModule }, { kind: \"directive\", type: i4.MatTooltip, selector: \"[matTooltip]\", inputs: [\"matTooltipPosition\", \"matTooltipPositionAtOrigin\", \"matTooltipDisabled\", \"matTooltipShowDelay\", \"matTooltipHideDelay\", \"matTooltipTouchGestures\", \"matTooltip\", \"matTooltipClass\"], exportAs: [\"matTooltip\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TerminalInputSectionOrganism, decorators: [{\n type: Component,\n args: [{ selector: 'organisms-terminal-input-section', standalone: true, imports: [\n CommonModule,\n ReactiveFormsModule,\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'organism terminal-input section' }, template: \"<div class=\\\"input-line\\\">\\n <span class=\\\"input-prefix\\\">{{ prefix() }}</span>\\n <div class=\\\"input-container\\\">\\n <textarea\\n #inputField\\n class=\\\"terminal-input\\\"\\n [formControl]=\\\"control()\\\"\\n [placeholder]=\\\"placeholder()\\\"\\n (keydown)=\\\"handleKeydown($event)\\\"\\n (input)=\\\"onInput()\\\"\\n (compositionstart)=\\\"onCompositionStart()\\\"\\n (compositionend)=\\\"onCompositionEnd()\\\"\\n rows=\\\"1\\\"\\n ></textarea>\\n </div>\\n @if (enableVoiceInput() && speechService.isSupported) {\\n <button\\n mat-icon-button\\n (click)=\\\"toggleVoiceInput()\\\"\\n [matTooltip]=\\\"isRecording() ? '\\u97F3\\u58F0\\u5165\\u529B\\u505C\\u6B62' : '\\u97F3\\u58F0\\u5165\\u529B'\\\"\\n [class.recording]=\\\"isRecording()\\\">\\n <mat-icon>{{ isRecording() ? 'mic' : 'mic_none' }}</mat-icon>\\n </button>\\n }\\n <button mat-icon-button (click)=\\\"send()\\\" matTooltip=\\\"\\u9001\\u4FE1\\\">\\n <mat-icon>send</mat-icon>\\n </button>\\n</div>\\n\", styles: [\":host{display:block;display:flex;background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.input-line{display:flex;align-items:center;width:100%;gap:8px;padding:8px 12px}.input-prefix{color:#0dbc79;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;flex-shrink:0}.input-container{flex:1;display:flex}.input-container .terminal-input{width:100%;max-height:200px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#e0e0e0;font-family:SF Mono,Cascadia Code,monospace;font-size:14px;line-height:20px;padding:8px 12px;resize:none;outline:none;overflow-y:auto;display:block;box-sizing:border-box}.input-container .terminal-input:focus{border-color:#0dbc7980;box-shadow:0 0 0 2px #0dbc7933}.input-container .terminal-input::placeholder{color:#ffffff4d}button{color:#0dbc79}button:hover{background:#0dbc791a}button.recording{color:#f44336;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtaW5wdXQtc2VjdGlvbi5vcmdhbmlzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL29yZ2FuaXNtcy90ZXJtaW5hbC1pbnB1dC1zZWN0aW9uL3Rlcm1pbmFsLWlucHV0LXNlY3Rpb24ub3JnYW5pc20udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9vcmdhbmlzbXMvdGVybWluYWwtaW5wdXQtc2VjdGlvbi90ZXJtaW5hbC1pbnB1dC1zZWN0aW9uLm9yZ2FuaXNtLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7O0FBRWxFLE1BQU0sQ0FBTixJQUFZLFFBRVg7QUFGRCxXQUFZLFFBQVE7SUFDbEIseUJBQWEsQ0FBQTtBQUNmLENBQUMsRUFGVyxRQUFRLEtBQVIsUUFBUSxRQUVuQjtBQWlCRCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLE1BQU0sQ0FB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LE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RCxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLFNBQVMsSUFBSSxDQUFDO1lBQ3pDLGdCQUFnQjtZQUNoQixRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLGFBQWEsQ0FBQztRQUNsRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDO3VHQXZIVSw0QkFBNEI7MkZBQTVCLDRCQUE0Qix3bUNDNUJ6QyxnOUJBNEJBLG0vQkRYSSxZQUFZLDhCQUNaLG1CQUFtQix5a0JBQ25CLGVBQWUscU5BQ2YsYUFBYSxtTEFDYixnQkFBZ0I7OzJGQU9QLDRCQUE0QjtrQkFmeEMsU0FBUzsrQkFDRSxrQ0FBa0MsY0FDaEMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFFLEtBQUssRUFBRSxpQ0FBaUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgdW50cmFja2VkLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgU3BlZWNoU2VydmljZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL3NlcnZpY2VzL3NwZWVjaCc7XG5cbmV4cG9ydCBlbnVtIEFjdGlvbklkIHtcbiAgU0VORCA9ICdzZW5kJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb3JnYW5pc21zLXRlcm1pbmFsLWlucHV0LXNlY3Rpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rlcm1pbmFsLWlucHV0LXNlY3Rpb24ub3JnYW5pc20uaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rlcm1pbmFsLWlucHV0LXNlY3Rpb24ub3JnYW5pc20uc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ29yZ2FuaXNtIHRlcm1pbmFsLWlucHV0IHNlY3Rpb24nIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsSW5wdXRTZWN0aW9uT3JnYW5pc20ge1xuICBzdGF0aWMgcmVhZG9ubHkgQWN0aW9uSWQgPSBBY3Rpb25JZDtcblxuICByZWFkb25seSBzcGVlY2hTZXJ2aWNlID0gaW5qZWN0KFNwZWVjaFNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBpbnB1dChuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSkpO1xuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0KCdFbnRlciBjb21tYW5kLi4uJyk7XG4gIHJlYWRvbmx5IHByZWZpeCA9IGlucHV0KCc+Jyk7XG4gIHJlYWRvbmx5IGNsZWFyT25TZW5kID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IGVuYWJsZVZvaWNlSW5wdXQgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IHNlc3Npb25JZCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICByZWFkb25seSBhY3Rpb24gPSBvdXRwdXQ8QWN0aW9uPHN0cmluZz4+KCk7XG5cbiAgcmVhZG9ubHkgaW5wdXRGaWVsZCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+PignaW5wdXRGaWVsZCcpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50SWQgPSB0aGlzLnNwZWVjaFNlcnZpY2UuZ2VuZXJhdGVDb21wb25lbnRJZCgpO1xuXG4gIC8vIOOBk+OBruOCs+ODs+ODneODvOODjeODs+ODiOOBjOOCouOCr+ODhuOCo+ODluOBi+OBqeOBhuOBi1xuICByZWFkb25seSBpc1JlY29yZGluZyA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5zcGVlY2hTZXJ2aWNlLmlzTGlzdGVuaW5nKCkgJiZcbiAgICB0aGlzLnNwZWVjaFNlcnZpY2UuaXNBY3RpdmVDb21wb25lbnQodGhpcy5jb21wb25lbnRJZClcbiAgKTtcblxuICAvLyBJTUXlpInmj5vkuK3jgYvjganjgYbjgYvjga7jg5Xjg6njgrBcbiAgcHJpdmF0ZSBpc0NvbXBvc2luZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIOOCouOCr+ODhuOCo+ODluOBquWgtOWQiOOBruOBv+OAgemfs+WjsOiqjeitmOe1kOaenOOCkuWFpeWKm+ODleOCo+ODvOODq+ODieOBq+WPjeaYoFxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5lbmFibGVWb2ljZUlucHV0KCkgJiYgdGhpcy5zcGVlY2hTZXJ2aWNlLmlzQWN0aXZlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50SWQpKSB7XG4gICAgICAgIGNvbnN0IHRyYW5zY3JpcHQgPSB0aGlzLnNwZWVjaFNlcnZpY2UudHJhbnNjcmlwdCgpO1xuICAgICAgICBjb25zdCB0ZXh0ID0gdHJhbnNjcmlwdC5maW5hbGl6ZWQgKyB0cmFuc2NyaXB0LmludGVyaW07XG4gICAgICAgIC8vIGNsZWFyKCnmmYLjga/nqbrmloflrZfjgadzZXRWYWx1ZeOBl+OBpuODleOCqeODvOODoOOCguOCr+ODquOColxuICAgICAgICB0aGlzLmNvbnRyb2woKS5zZXRWYWx1ZSh0ZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGF1dG9Nb2RlICsgc2VsZWN0ZWRTZXNzaW9uSWQg44Gu5aSJ5YyW44KS5qSc55+l44GX44CB5pu444GN6L6844G/5YWI44KS55m76YyyXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGF1dG9Nb2RlID0gdGhpcy5zcGVlY2hTZXJ2aWNlLmF1dG9Nb2RlRW5hYmxlZCgpO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRJZCA9IHRoaXMuc3BlZWNoU2VydmljZS5zZWxlY3RlZFNlc3Npb25JZCgpO1xuICAgICAgY29uc3Qgc2lkID0gdGhpcy5zZXNzaW9uSWQoKTtcbiAgICAgIGlmIChhdXRvTW9kZSAmJiBzaWQgJiYgc2VsZWN0ZWRJZCA9PT0gc2lkKSB7XG4gICAgICAgIC8vIFNwZWVjaCBBUEnjga/li5XjgY3ntprjgZHjgabjgYTjgovjgILmm7jjgY3ovrzjgb/lhYjjgpLoh6rliIbjgavnmbvpjLLjgZnjgovjgaDjgZFcbiAgICAgICAgdW50cmFja2VkKCgpID0+IHRoaXMuc3BlZWNoU2VydmljZS5hY3RpdmF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudElkKSk7XG4gICAgICB9IGVsc2UgaWYgKGF1dG9Nb2RlICYmIHNpZCAmJiBzZWxlY3RlZElkICE9PSBzaWQpIHtcbiAgICAgICAgLy8gZGVhY3RpdmF0ZTog5Yil44K744OD44K344On44Oz44Gr5YiH44KK5pu/44KP44Gj44GfIOKGkiDlhaXlipvmrITjgavjg4bjgq3jgrnjg4jjgYzjgYLjgozjgbDpgIHkv6FcbiAgICAgICAgdW50cmFja2VkKCgpID0+IHRoaXMuc2VuZCgpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uQ29tcG9zaXRpb25TdGFydCgpIHtcbiAgICB0aGlzLmlzQ29tcG9zaW5nID0gdHJ1ZTtcbiAgfVxuXG4gIG9uQ29tcG9zaXRpb25FbmQoKSB7XG4gICAgdGhpcy5pc0NvbXBvc2luZyA9IGZhbHNlO1xuICB9XG5cbiAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIC8vIElNReWkieaPm+S4reOBr0VudGVy44KS54Sh6KaWXG4gICAgaWYgKHRoaXMuaXNDb21wb3NpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyAmJiAhZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnNlbmQoKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0KCkge1xuICAgIHRoaXMuYWRqdXN0VGV4dGFyZWFIZWlnaHQoKTtcbiAgfVxuXG4gIHNlbmQoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnRyb2woKS52YWx1ZS50cmltKCk7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmFjdGlvbi5lbWl0KHsgaWQ6IEFjdGlvbklkLlNFTkQsIHBheWxvYWQ6IHZhbHVlIH0pO1xuICAgICAgaWYgKHRoaXMuY2xlYXJPblNlbmQoKSkge1xuICAgICAgICB0aGlzLmNvbnRyb2woKS5yZXNldCgpO1xuICAgICAgICB0aGlzLnJlc2V0VGV4dGFyZWFIZWlnaHQoKTtcbiAgICAgICAgLy8g6Ieq5YuV44Oi44O844OJ5pmCOiBzdG9w44GX44Gq44GE44CCY2xlYXIoKeOBp3RyYW5zY3JpcHTjgaDjgZHjg6rjgrvjg4Pjg4hcbiAgICAgICAgaWYgKHRoaXMuaXNSZWNvcmRpbmcoKSkge1xuICAgICAgICAgIHRoaXMuc3BlZWNoU2VydmljZS5jbGVhcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGp1c3RUZXh0YXJlYUhlaWdodCgpIHtcbiAgICBjb25zdCB0ZXh0YXJlYSA9IHRoaXMuaW5wdXRGaWVsZCgpPy5uYXRpdmVFbGVtZW50O1xuICAgIGlmICh0ZXh0YXJlYSkge1xuICAgICAgLy8gb3ZlcmZsb3fjgpLkuIDmmYLnmoTjgatoaWRkZW7jgavjgZfjgaZzY3JvbGxIZWlnaHTjgpLmraPnorrjgavlj5blvpdcbiAgICAgIHRleHRhcmVhLnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgICAvLyDkuIDml6bpq5jjgZXjgpLmnIDlsI/jgavoqK3lrprjgZfjgaZzY3JvbGxIZWlnaHTjgpLmraPnorrjgavlj5blvpdcbiAgICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9ICcwcHgnO1xuICAgICAgLy8gc2Nyb2xsSGVpZ2h044Gr5ZCI44KP44Gb44Gm6auY44GV44KS6Kit5a6a77yI5pyA5aSnMjAwcHjvvIlcbiAgICAgIGNvbnN0IG5ld0hlaWdodCA9IE1hdGgubWluKHRleHRhcmVhLnNjcm9sbEhlaWdodCwgMjAwKTtcbiAgICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9IGAke25ld0hlaWdodH1weGA7XG4gICAgICAvLyBvdmVyZmxvd+OCkuWFg+OBq+aIu+OBmVxuICAgICAgdGV4dGFyZWEuc3R5bGUub3ZlcmZsb3cgPSAnYXV0byc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNldFRleHRhcmVhSGVpZ2h0KCkge1xuICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5pbnB1dEZpZWxkKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRleHRhcmVhKSB7XG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgfVxuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy5pbnB1dEZpZWxkKCk/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gIH1cblxuICB0b2dnbGVWb2ljZUlucHV0KCkge1xuICAgIHRoaXMuc3BlZWNoU2VydmljZS50b2dnbGUodGhpcy5jb21wb25lbnRJZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1saW5lXCI+XG4gIDxzcGFuIGNsYXNzPVwiaW5wdXQtcHJlZml4XCI+e3sgcHJlZml4KCkgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICA8dGV4dGFyZWFcbiAgICAgICNpbnB1dEZpZWxkXG4gICAgICBjbGFzcz1cInRlcm1pbmFsLWlucHV0XCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0KClcIlxuICAgICAgKGNvbXBvc2l0aW9uc3RhcnQpPVwib25Db21wb3NpdGlvblN0YXJ0KClcIlxuICAgICAgKGNvbXBvc2l0aW9uZW5kKT1cIm9uQ29tcG9zaXRpb25FbmQoKVwiXG4gICAgICByb3dzPVwiMVwiXG4gICAgPjwvdGV4dGFyZWE+XG4gIDwvZGl2PlxuICBAaWYgKGVuYWJsZVZvaWNlSW5wdXQoKSAmJiBzcGVlY2hTZXJ2aWNlLmlzU3VwcG9ydGVkKSB7XG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAoY2xpY2spPVwidG9nZ2xlVm9pY2VJbnB1dCgpXCJcbiAgICAgIFttYXRUb29sdGlwXT1cImlzUmVjb3JkaW5nKCkgPyAn6Z+z5aOw5YWl5Yqb5YGc5q2iJyA6ICfpn7Plo7DlhaXlipsnXCJcbiAgICAgIFtjbGFzcy5yZWNvcmRpbmddPVwiaXNSZWNvcmRpbmcoKVwiPlxuICAgICAgPG1hdC1pY29uPnt7IGlzUmVjb3JkaW5nKCkgPyAnbWljJyA6ICdtaWNfbm9uZScgfX08L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzZW5kKClcIiBtYXRUb29sdGlwPVwi6YCB5L+hXCI+XG4gICAgPG1hdC1pY29uPnNlbmQ8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtb3JnYW5pc21zLXRlcm1pbmFsLWlucHV0LXNlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9vcmdhbmlzbXMvdGVybWluYWwtaW5wdXQtc2VjdGlvbi94eG1hY2hpbmEtY29tcG9uZW50cy1vcmdhbmlzbXMtdGVybWluYWwtaW5wdXQtc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}