@ui5/webcomponents-ai 0.0.0-dd5d66a9a → 0.0.0-e03cd01f3
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.
- package/.ui5-cem-aliases.json +4 -0
- package/CHANGELOG.md +216 -0
- package/LICENSE.txt +201 -0
- package/README.md +4 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/Assets-fetch.js +1 -1
- package/dist/Assets-fetch.js.map +1 -1
- package/dist/Assets-node.js +1 -1
- package/dist/Assets-node.js.map +1 -1
- package/dist/Button.d.ts +1 -1
- package/dist/Button.js +4 -4
- package/dist/Button.js.map +1 -1
- package/dist/Input.d.ts +143 -0
- package/dist/Input.js +288 -0
- package/dist/Input.js.map +1 -0
- package/dist/InputTemplate.d.ts +10 -0
- package/dist/InputTemplate.js +28 -0
- package/dist/InputTemplate.js.map +1 -0
- package/dist/TextArea.d.ts +123 -0
- package/dist/TextArea.js +271 -0
- package/dist/TextArea.js.map +1 -0
- package/dist/TextAreaTemplate.d.ts +2 -0
- package/dist/TextAreaTemplate.js +13 -0
- package/dist/TextAreaTemplate.js.map +1 -0
- package/dist/ToolbarLabel.d.ts +39 -0
- package/dist/ToolbarLabel.js +67 -0
- package/dist/ToolbarLabel.js.map +1 -0
- package/dist/ToolbarLabelTemplate.d.ts +2 -0
- package/dist/ToolbarLabelTemplate.js +5 -0
- package/dist/ToolbarLabelTemplate.js.map +1 -0
- package/dist/Versioning.d.ts +95 -0
- package/dist/Versioning.js +187 -0
- package/dist/Versioning.js.map +1 -0
- package/dist/VersioningTemplate.d.ts +4 -0
- package/dist/VersioningTemplate.js +9 -0
- package/dist/VersioningTemplate.js.map +1 -0
- package/dist/WritingAssistant.d.ts +101 -0
- package/dist/WritingAssistant.js +201 -0
- package/dist/WritingAssistant.js.map +1 -0
- package/dist/WritingAssistantTemplate.d.ts +2 -0
- package/dist/WritingAssistantTemplate.js +12 -0
- package/dist/WritingAssistantTemplate.js.map +1 -0
- package/dist/bundle.esm.js +2 -0
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/Button.css +1 -1
- package/dist/css/themes/Input.css +1 -0
- package/dist/css/themes/PromptInput.css +1 -1
- package/dist/css/themes/TextArea.css +1 -0
- package/dist/css/themes/Versioning.css +1 -0
- package/dist/css/themes/WritingAssistant.css +1 -0
- package/dist/custom-elements-internal.json +643 -0
- package/dist/custom-elements.json +562 -0
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +14 -1
- package/dist/generated/i18n/i18n-defaults.js +14 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/Button.css.d.ts +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.css.js.map +1 -1
- package/dist/generated/themes/Input.css.d.ts +2 -0
- package/dist/generated/themes/Input.css.js +8 -0
- package/dist/generated/themes/Input.css.js.map +1 -0
- package/dist/generated/themes/PromptInput.css.d.ts +1 -1
- package/dist/generated/themes/PromptInput.css.js +1 -1
- package/dist/generated/themes/PromptInput.css.js.map +1 -1
- package/dist/generated/themes/TextArea.css.d.ts +2 -0
- package/dist/generated/themes/TextArea.css.js +8 -0
- package/dist/generated/themes/TextArea.css.js.map +1 -0
- package/dist/generated/themes/Versioning.css.d.ts +2 -0
- package/dist/generated/themes/Versioning.css.js +8 -0
- package/dist/generated/themes/Versioning.css.js.map +1 -0
- package/dist/generated/themes/WritingAssistant.css.d.ts +2 -0
- package/dist/generated/themes/WritingAssistant.css.js +8 -0
- package/dist/generated/themes/WritingAssistant.css.js.map +1 -0
- package/dist/vscode.html-custom-data.json +100 -0
- package/dist/web-types.json +296 -1
- package/package-scripts.cjs +0 -1
- package/package.json +20 -18
- package/src/InputTemplate.tsx +197 -0
- package/src/TextArea.css +25 -0
- package/src/TextAreaTemplate.tsx +91 -0
- package/src/ToolbarLabelTemplate.tsx +9 -0
- package/src/VersioningTemplate.tsx +34 -0
- package/src/WritingAssistantTemplate.tsx +51 -0
- package/src/i18n/messagebundle.properties +38 -0
- package/src/i18n/messagebundle_ar.properties +28 -0
- package/src/i18n/messagebundle_bg.properties +28 -0
- package/src/i18n/messagebundle_ca.properties +28 -0
- package/src/i18n/messagebundle_cnr.properties +28 -0
- package/src/i18n/messagebundle_cs.properties +28 -0
- package/src/i18n/messagebundle_cy.properties +28 -0
- package/src/i18n/messagebundle_da.properties +28 -0
- package/src/i18n/messagebundle_de.properties +25 -0
- package/src/i18n/messagebundle_el.properties +28 -0
- package/src/i18n/messagebundle_en.properties +41 -1
- package/src/i18n/messagebundle_en_GB.properties +28 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +25 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +25 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +25 -0
- package/src/i18n/messagebundle_es.properties +28 -0
- package/src/i18n/messagebundle_es_MX.properties +29 -1
- package/src/i18n/messagebundle_et.properties +28 -0
- package/src/i18n/messagebundle_fi.properties +28 -0
- package/src/i18n/messagebundle_fr.properties +28 -0
- package/src/i18n/messagebundle_fr_CA.properties +28 -0
- package/src/i18n/messagebundle_hi.properties +28 -0
- package/src/i18n/messagebundle_hr.properties +30 -2
- package/src/i18n/messagebundle_hu.properties +28 -0
- package/src/i18n/messagebundle_id.properties +28 -0
- package/src/i18n/messagebundle_it.properties +28 -0
- package/src/i18n/messagebundle_iw.properties +28 -0
- package/src/i18n/messagebundle_ja.properties +28 -0
- package/src/i18n/messagebundle_kk.properties +28 -0
- package/src/i18n/messagebundle_ko.properties +28 -0
- package/src/i18n/messagebundle_lt.properties +28 -0
- package/src/i18n/messagebundle_lv.properties +28 -0
- package/src/i18n/messagebundle_mk.properties +28 -0
- package/src/i18n/messagebundle_ms.properties +28 -0
- package/src/i18n/messagebundle_nl.properties +28 -0
- package/src/i18n/messagebundle_no.properties +28 -0
- package/src/i18n/messagebundle_pl.properties +28 -0
- package/src/i18n/messagebundle_pt.properties +28 -0
- package/src/i18n/messagebundle_pt_PT.properties +28 -0
- package/src/i18n/messagebundle_ro.properties +28 -0
- package/src/i18n/messagebundle_ru.properties +28 -0
- package/src/i18n/messagebundle_sh.properties +28 -0
- package/src/i18n/messagebundle_sk.properties +28 -0
- package/src/i18n/messagebundle_sl.properties +28 -0
- package/src/i18n/messagebundle_sr.properties +28 -0
- package/src/i18n/messagebundle_sv.properties +28 -0
- package/src/i18n/messagebundle_th.properties +30 -2
- package/src/i18n/messagebundle_tr.properties +28 -0
- package/src/i18n/messagebundle_uk.properties +28 -0
- package/src/i18n/messagebundle_vi.properties +28 -0
- package/src/i18n/messagebundle_zh_CN.properties +28 -0
- package/src/i18n/messagebundle_zh_TW.properties +28 -0
- package/src/themes/Input.css +83 -0
- package/src/themes/PromptInput.css +5 -1
- package/src/themes/TextArea.css +45 -0
- package/src/themes/Versioning.css +20 -0
- package/src/themes/WritingAssistant.css +23 -0
- package/tsconfig.json +6 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import type Input from "./Input.js";
|
|
2
|
+
import Icon from "@ui5/webcomponents/dist/Icon.js";
|
|
3
|
+
import BusyIndicator from "@ui5/webcomponents/dist/BusyIndicator.js";
|
|
4
|
+
import MenuItem from "@ui5/webcomponents/dist/MenuItem.js";
|
|
5
|
+
import MenuSeparator from "@ui5/webcomponents/dist/MenuSeparator.js";
|
|
6
|
+
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
7
|
+
import Menu from "@ui5/webcomponents/dist/Menu.js";
|
|
8
|
+
import "@ui5/webcomponents-icons/dist/navigation-left-arrow.js";
|
|
9
|
+
import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
|
|
10
|
+
import type { JsxTemplateResult } from "@ui5/webcomponents-base";
|
|
11
|
+
|
|
12
|
+
type TemplateHook = () => JsxTemplateResult;
|
|
13
|
+
|
|
14
|
+
export default function InputTemplate(this: Input, hooks?: { preContent: TemplateHook, postContent: TemplateHook }) {
|
|
15
|
+
const preContent = hooks?.preContent || defaultPreContent;
|
|
16
|
+
const postContent = hooks?.postContent || defaultPostContent;
|
|
17
|
+
return (
|
|
18
|
+
<>
|
|
19
|
+
<div
|
|
20
|
+
class={`ui5-ai-input-root ui5-input-focusable-element ${this.loading && "ui5-ai-input-busy"}`}
|
|
21
|
+
onFocusIn={this._onfocusin}
|
|
22
|
+
onFocusOut={this._onfocusout}
|
|
23
|
+
>
|
|
24
|
+
<div class="ui5-input-content">
|
|
25
|
+
<BusyIndicator
|
|
26
|
+
id={`${this._id}-busyIndicator`}
|
|
27
|
+
active={this.loading}
|
|
28
|
+
class="ui5-input-busy-indicator"
|
|
29
|
+
>
|
|
30
|
+
|
|
31
|
+
<div
|
|
32
|
+
class="ui5-input-root"
|
|
33
|
+
part="root"
|
|
34
|
+
>
|
|
35
|
+
<div class="ui5-input-content">
|
|
36
|
+
{preContent.call(this)}
|
|
37
|
+
|
|
38
|
+
<input
|
|
39
|
+
id="inner"
|
|
40
|
+
part="input"
|
|
41
|
+
class="ui5-input-inner"
|
|
42
|
+
style={this.styles.innerInput}
|
|
43
|
+
type={this.inputNativeType}
|
|
44
|
+
inner-input
|
|
45
|
+
inner-input-with-icon={!!this.icon.length}
|
|
46
|
+
disabled={this.disabled}
|
|
47
|
+
readonly={this._readonly || this.loading}
|
|
48
|
+
value={this._innerValue}
|
|
49
|
+
placeholder={this._placeholder}
|
|
50
|
+
maxlength={this.maxlength}
|
|
51
|
+
role={this.accInfo.role}
|
|
52
|
+
enterkeyhint={this.hint}
|
|
53
|
+
aria-controls={this.accInfo.ariaControls}
|
|
54
|
+
aria-invalid={this.accInfo.ariaInvalid}
|
|
55
|
+
aria-haspopup={this.accInfo.ariaHasPopup}
|
|
56
|
+
aria-describedby={this.accInfo.ariaDescribedBy}
|
|
57
|
+
aria-roledescription={this.accInfo.ariaRoledescription}
|
|
58
|
+
aria-autocomplete={this.accInfo.ariaAutoComplete}
|
|
59
|
+
aria-expanded={this.accInfo.ariaExpanded}
|
|
60
|
+
aria-label={this.ariaLabel}
|
|
61
|
+
aria-required={this.required}
|
|
62
|
+
autocomplete="off"
|
|
63
|
+
data-sap-focus-ref
|
|
64
|
+
step={this.nativeInputAttributes.step}
|
|
65
|
+
min={this.nativeInputAttributes.min}
|
|
66
|
+
max={this.nativeInputAttributes.max}
|
|
67
|
+
onInput={this._handleNativeInput}
|
|
68
|
+
onChange={this._handleChange}
|
|
69
|
+
onSelect={this._handleSelect}
|
|
70
|
+
onKeyDown={this._onkeydown}
|
|
71
|
+
onKeyUp={this._onkeyup}
|
|
72
|
+
onClick={this._click}
|
|
73
|
+
onFocusIn={this.innerFocusIn}
|
|
74
|
+
/>
|
|
75
|
+
|
|
76
|
+
{this._effectiveShowClearIcon &&
|
|
77
|
+
<div
|
|
78
|
+
tabindex={-1}
|
|
79
|
+
part="clear-icon-wrapper"
|
|
80
|
+
class="ui5-input-clear-icon-wrapper inputIcon"
|
|
81
|
+
onClick={this._clear}
|
|
82
|
+
onMouseDown={this._iconMouseDown}
|
|
83
|
+
>
|
|
84
|
+
<Icon
|
|
85
|
+
part="clear-icon"
|
|
86
|
+
class="ui5-input-clear-icon"
|
|
87
|
+
name={"decline"}
|
|
88
|
+
tabindex={-1}
|
|
89
|
+
accessibleName={this.clearIconAccessibleName}>
|
|
90
|
+
</Icon>
|
|
91
|
+
</div>
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
{this.icon.length > 0 &&
|
|
95
|
+
<div class="ui5-input-icon-root"
|
|
96
|
+
tabindex={-1}
|
|
97
|
+
>
|
|
98
|
+
<slot name="icon"></slot>
|
|
99
|
+
</div>
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
<div class="ui5-input-value-state-icon">
|
|
103
|
+
{this._valueStateInputIcon}
|
|
104
|
+
</div>
|
|
105
|
+
{ postContent.call(this) }
|
|
106
|
+
|
|
107
|
+
{this.accInfo.ariaDescription &&
|
|
108
|
+
<span id="descr" class="ui5-hidden-text">{this.accInfo.ariaDescription}</span>
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
{this.accInfo.accessibleDescription &&
|
|
112
|
+
<span id="accessibleDescription" class="ui5-hidden-text">{this.accInfo.accessibleDescription}</span>
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
{this.linksInAriaValueStateHiddenText.length > 0 &&
|
|
116
|
+
<span id="hiddenText-value-state-link-shortcut" class="ui5-hidden-text">{this.valueStateLinksShortcutsTextAcc}</span>
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
{this.hasValueState &&
|
|
120
|
+
<span id="valueStateDesc" class="ui5-hidden-text">{this.ariaValueStateHiddenText}</span>
|
|
121
|
+
}
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
</BusyIndicator>
|
|
126
|
+
<Button
|
|
127
|
+
id="ai-menu-btn"
|
|
128
|
+
hidden={(!this.isFocused && !this.loading) || !this.hasActions || this.readonly}
|
|
129
|
+
tabIndex={-1}
|
|
130
|
+
class={`ui5-input-ai-button ui5-ai-input-button-wrapper ${this._isMenuOpen && "ui5-input-button-menu-open"} ${this.loading && "ui5-ai-input-loading"}`}
|
|
131
|
+
design="Transparent"
|
|
132
|
+
icon={this.loading ? "stop" : "ai"}
|
|
133
|
+
onClick={this._handleAIButtonClick}
|
|
134
|
+
onKeyDown={this._handleAIButtonKeydown}
|
|
135
|
+
aria-keyshortcuts={ this.loading ? "Esc" : "Shift + F4" }
|
|
136
|
+
tooltip={this.loading ? this.stopGeneratingTooltip : this.ariaLabel}
|
|
137
|
+
accessibilityAttributes={{ hasPopup: this.loading ? "false" : "menu" }}
|
|
138
|
+
/>
|
|
139
|
+
<Menu
|
|
140
|
+
onItemClick={this._onMenuIconClick}
|
|
141
|
+
onBeforeOpen={() => { this._isMenuOpen = true; }}
|
|
142
|
+
onBeforeClose={() => { this._isMenuOpen = false; }}
|
|
143
|
+
onClose={() => { if (!this.loading) { this.focus(); } }}
|
|
144
|
+
>
|
|
145
|
+
<slot name="actions"></slot>
|
|
146
|
+
{this.totalVersions > 1 && Versioning.call(this)}
|
|
147
|
+
</Menu>
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
</>
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
function Versioning(this: Input) {
|
|
155
|
+
return (
|
|
156
|
+
<>
|
|
157
|
+
<MenuSeparator />
|
|
158
|
+
<MenuItem
|
|
159
|
+
type="Inactive"
|
|
160
|
+
class="ui5-ai-versioning-menu-footer"
|
|
161
|
+
text={`${this.currentVersion} / ${this.totalVersions}`}
|
|
162
|
+
>
|
|
163
|
+
<Button
|
|
164
|
+
id="arrow-left"
|
|
165
|
+
class="versioning-button"
|
|
166
|
+
slot="endContent"
|
|
167
|
+
design="Transparent"
|
|
168
|
+
icon="navigation-left-arrow"
|
|
169
|
+
tooltip={this.previousButtonAccessibleName}
|
|
170
|
+
accessibleName={this.previousButtonAccessibleName}
|
|
171
|
+
aria-keyshortcut="Shift+Ctrl+Z"
|
|
172
|
+
disabled={this.currentVersion <= 1}
|
|
173
|
+
onClick={this._handlePreviousButtonClick}
|
|
174
|
+
data-ui5-versioning-button="previous"
|
|
175
|
+
>
|
|
176
|
+
</Button>
|
|
177
|
+
<Button
|
|
178
|
+
id="arrow-right"
|
|
179
|
+
class="versioning-button"
|
|
180
|
+
slot="endContent"
|
|
181
|
+
design="Transparent"
|
|
182
|
+
icon="navigation-right-arrow"
|
|
183
|
+
tooltip={this.nextButtonAccessibleName}
|
|
184
|
+
accessibleName={this.nextButtonAccessibleName}
|
|
185
|
+
aria-keyshortcut="Shift+Ctrl+Y"
|
|
186
|
+
disabled={this.currentVersion >= this.totalVersions}
|
|
187
|
+
onClick={this._handleNextButtonClick}
|
|
188
|
+
data-ui5-versioning-button="next"
|
|
189
|
+
/>
|
|
190
|
+
</MenuItem>
|
|
191
|
+
</>
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function defaultPreContent() { }
|
|
196
|
+
|
|
197
|
+
function defaultPostContent() {}
|
package/src/TextArea.css
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
.ui5-ai-textarea-root {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100%;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.ui5-ai-textarea-root .ui5-textarea-wrapper {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
flex: 1;
|
|
13
|
+
position: relative;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ui5-ai-textarea-root [part="footer"] {
|
|
17
|
+
position: relative;
|
|
18
|
+
width: 100%;
|
|
19
|
+
margin-top: auto;
|
|
20
|
+
flex-shrink: 0;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ui5-ai-writing-assistant-footer-bar--with-border {
|
|
24
|
+
border-top: 1px solid var(--sapPageFooter_BorderColor);
|
|
25
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type TextArea from "./TextArea.js";
|
|
2
|
+
import WritingAssistant from "./WritingAssistant.js";
|
|
3
|
+
import BusyIndicator from "@ui5/webcomponents/dist/BusyIndicator.js";
|
|
4
|
+
import TextAreaPopoverTemplate from "@ui5/webcomponents/dist/TextAreaPopoverTemplate.js";
|
|
5
|
+
|
|
6
|
+
export default function TextAreaTemplate(this: TextArea) {
|
|
7
|
+
return (
|
|
8
|
+
<div class="ui5-ai-textarea-root">
|
|
9
|
+
<div
|
|
10
|
+
class={this.classes.root}
|
|
11
|
+
onFocusIn={this._onfocusin}
|
|
12
|
+
onFocusOut={this._onfocusout}
|
|
13
|
+
>
|
|
14
|
+
<div class="ui5-textarea-wrapper">
|
|
15
|
+
{this.growing &&
|
|
16
|
+
<div id={`${this._id}-mirror`} class="ui5-textarea-mirror" aria-hidden="true">
|
|
17
|
+
{this._mirrorText.map(mirrorText => {
|
|
18
|
+
return (
|
|
19
|
+
<>
|
|
20
|
+
{mirrorText.text}
|
|
21
|
+
<br />
|
|
22
|
+
</>
|
|
23
|
+
);
|
|
24
|
+
})}
|
|
25
|
+
</div>
|
|
26
|
+
}
|
|
27
|
+
<BusyIndicator
|
|
28
|
+
id={`${this._id}-busyIndicator`}
|
|
29
|
+
active={this.loading}
|
|
30
|
+
class="ui5-textarea-busy-indicator"
|
|
31
|
+
>
|
|
32
|
+
<textarea
|
|
33
|
+
id={`${this._id}-inner`}
|
|
34
|
+
class="ui5-textarea-inner"
|
|
35
|
+
part="textarea"
|
|
36
|
+
placeholder={this.placeholder}
|
|
37
|
+
disabled={this.disabled}
|
|
38
|
+
readonly={this.readonly}
|
|
39
|
+
aria-label={this._ariaLabel}
|
|
40
|
+
aria-describedby={this.ariaDescribedBy}
|
|
41
|
+
aria-invalid={this._ariaInvalid}
|
|
42
|
+
aria-required={this.required}
|
|
43
|
+
maxlength={this._exceededTextProps.calcedMaxLength}
|
|
44
|
+
value={this.value}
|
|
45
|
+
data-sap-focus-ref
|
|
46
|
+
onInput={this._oninput}
|
|
47
|
+
onChange={this._onchange}
|
|
48
|
+
onKeyUp={this._onkeyup}
|
|
49
|
+
onKeyDown={this._onkeydown}
|
|
50
|
+
onSelect={this._onselect}
|
|
51
|
+
onScroll={this._onscroll}>
|
|
52
|
+
</textarea>
|
|
53
|
+
</BusyIndicator>
|
|
54
|
+
<div part="footer">
|
|
55
|
+
<slot name="footer">
|
|
56
|
+
<WritingAssistant
|
|
57
|
+
loading={this.loading}
|
|
58
|
+
currentVersion={this.currentVersion}
|
|
59
|
+
totalVersions={this.totalVersions}
|
|
60
|
+
promptDescription={this.promptDescription}
|
|
61
|
+
focused={this.focused}
|
|
62
|
+
onButtonClick={this._handleAIButtonClick}
|
|
63
|
+
onStopGeneration={this.handleStopGeneration}
|
|
64
|
+
onVersionChange={this._handleVersionChange}
|
|
65
|
+
/>
|
|
66
|
+
</slot>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
{this.showExceededText &&
|
|
71
|
+
<span class="ui5-textarea-exceeded-text">{this._exceededTextProps.exceededText}</span>
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
{this.hasValueState &&
|
|
75
|
+
<span id={`${this._id}-valueStateDesc`} class="ui5-hidden-text">{this.ariaValueStateHiddenText}</span>
|
|
76
|
+
}
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
{TextAreaPopoverTemplate.call(this)}
|
|
80
|
+
|
|
81
|
+
{/* ARIA live region for screen readers */}
|
|
82
|
+
<div aria-live="polite" aria-atomic="true" class="ui5-hidden-text">
|
|
83
|
+
{this.loading ? this.promptDescription : ""}
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
<div id="ai-menu-wrapper">
|
|
87
|
+
<slot name="menu"></slot>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
);
|
|
91
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type Versioning from "./Versioning.js";
|
|
2
|
+
import ToolbarLabel from "./ToolbarLabel.js";
|
|
3
|
+
import ToolbarButton from "@ui5/webcomponents/dist/ToolbarButton.js";
|
|
4
|
+
import "@ui5/webcomponents-icons/dist/navigation-left-arrow.js";
|
|
5
|
+
import "@ui5/webcomponents-icons/dist/navigation-right-arrow.js";
|
|
6
|
+
|
|
7
|
+
export default function VersioningTemplate(this: Versioning) {
|
|
8
|
+
return (
|
|
9
|
+
<>
|
|
10
|
+
<ToolbarButton
|
|
11
|
+
design="Transparent"
|
|
12
|
+
icon="navigation-left-arrow"
|
|
13
|
+
tooltip={this._previousButtonTooltip}
|
|
14
|
+
accessibleName={this._previousButtonAccessibleName}
|
|
15
|
+
disabled={this.currentStep <= 1}
|
|
16
|
+
onClick={this.handlePreviousVersionClick}
|
|
17
|
+
data-ui5-versioning-button="previous"
|
|
18
|
+
/>
|
|
19
|
+
<ToolbarLabel
|
|
20
|
+
text={`${this.currentStep} / ${this.totalSteps}`}
|
|
21
|
+
class="version-step-counter"
|
|
22
|
+
/>
|
|
23
|
+
<ToolbarButton
|
|
24
|
+
design="Transparent"
|
|
25
|
+
icon="navigation-right-arrow"
|
|
26
|
+
tooltip={this._nextButtonTooltip}
|
|
27
|
+
accessibleName={this._nextButtonAccessibleName}
|
|
28
|
+
disabled={this.totalSteps <= 0 || this.currentStep >= this.totalSteps}
|
|
29
|
+
onClick={this.handleNextVersionClick}
|
|
30
|
+
data-ui5-versioning-button="next"
|
|
31
|
+
/>
|
|
32
|
+
</>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type WritingAssistant from "./WritingAssistant.js";
|
|
2
|
+
import Versioning from "./Versioning.js";
|
|
3
|
+
import ToolbarLabel from "./ToolbarLabel.js";
|
|
4
|
+
|
|
5
|
+
import Toolbar from "@ui5/webcomponents/dist/Toolbar.js";
|
|
6
|
+
import ToolbarSpacer from "@ui5/webcomponents/dist/ToolbarSpacer.js";
|
|
7
|
+
import ToolbarButton from "@ui5/webcomponents/dist/ToolbarButton.js";
|
|
8
|
+
|
|
9
|
+
export default function WritingAssistantTemplate(this: WritingAssistant) {
|
|
10
|
+
const isMultiResults = this.totalVersions > 1;
|
|
11
|
+
const hasResults = (this.totalVersions > 0 && this.promptDescription) || this.loading;
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<Toolbar
|
|
15
|
+
accessibleName={this._toolbarAccessibleName}
|
|
16
|
+
aria-roledescription="toolbar"
|
|
17
|
+
class={`ui5-ai-writing-assistant-footer-bar${hasResults ? "--with-border" : ""}`}
|
|
18
|
+
>
|
|
19
|
+
{isMultiResults && !this.loading && (
|
|
20
|
+
<Versioning
|
|
21
|
+
currentStep={this.currentVersion}
|
|
22
|
+
totalSteps={this.totalVersions}
|
|
23
|
+
onVersion-change={this.handleVersionChange}
|
|
24
|
+
/>
|
|
25
|
+
)}
|
|
26
|
+
|
|
27
|
+
{hasResults && this.promptDescription && (
|
|
28
|
+
<ToolbarLabel
|
|
29
|
+
text={this.promptDescription}
|
|
30
|
+
class="ui5-ai-writing-assistant-action-label"
|
|
31
|
+
/>
|
|
32
|
+
)}
|
|
33
|
+
|
|
34
|
+
<ToolbarSpacer />
|
|
35
|
+
|
|
36
|
+
{this.focused && (
|
|
37
|
+
<ToolbarButton
|
|
38
|
+
id="ai-menu-btn"
|
|
39
|
+
design="Transparent"
|
|
40
|
+
icon={this.loading ? "stop" : "ai"}
|
|
41
|
+
data-state={this.loading ? "generating" : "generate"}
|
|
42
|
+
onClick={this.handleButtonClick}
|
|
43
|
+
tooltip={this.loading ? this._stopTooltip : this._buttonTooltip}
|
|
44
|
+
accessibilityAttributes={{ hasPopup: this.loading ? "false" : "menu" }}
|
|
45
|
+
accessibleName={this._buttonAccessibleName}
|
|
46
|
+
overflowPriority="NeverOverflow"
|
|
47
|
+
/>
|
|
48
|
+
)}
|
|
49
|
+
</Toolbar>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
@@ -10,3 +10,41 @@ PROMPT_INPUT_CHARACTERS_EXCEEDED={0} characters over limit
|
|
|
10
10
|
#XTXT: Text for
|
|
11
11
|
BUTTON_TOOLTIP_TEXT={0} with Artificial Intelligence
|
|
12
12
|
|
|
13
|
+
#XFLD: Text for the aria-label attribute of the Writing Assistant toolbar
|
|
14
|
+
WRITING_ASSISTANT_LABEL=Writing Assistant Toolbar Shift + F4
|
|
15
|
+
|
|
16
|
+
#XFLD: Next version button accessible name in Input
|
|
17
|
+
INPUT_VERSIONING_NEXT_BUTTON_TOOLTIP=Next Version (Ctrl + Shift + Y)
|
|
18
|
+
|
|
19
|
+
#XFLD: Next version button accessible name in Input
|
|
20
|
+
INPUT_VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Previous Version (Ctrl + Shift + Z)
|
|
21
|
+
|
|
22
|
+
#XFLD: Tooltip for the Writing Assistant button in Input
|
|
23
|
+
INPUT_WRITING_ASSISTANT_BUTTON_TOOLTIP=AI Writing Assistant (Shift + F4)
|
|
24
|
+
|
|
25
|
+
#XFLD: Previous version button accessible name
|
|
26
|
+
VERSIONING_PREVIOUS_BUTTON_TEXT=Previous Version
|
|
27
|
+
|
|
28
|
+
#XFLD: Next version button accessible name
|
|
29
|
+
VERSIONING_NEXT_BUTTON_TEXT=Next Version
|
|
30
|
+
|
|
31
|
+
#XMSG: Announcement message when Writing Assistant starts generating
|
|
32
|
+
WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=Stop generating (ESC)
|
|
33
|
+
|
|
34
|
+
#XFLD: Accessible name for the Writing Assistant toolbar
|
|
35
|
+
WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=Writing Assistant Toolbar
|
|
36
|
+
|
|
37
|
+
#XFLD: Accessible name for the Writing Assistant button
|
|
38
|
+
WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=Writing Assistant
|
|
39
|
+
|
|
40
|
+
#XTOL: Tooltip for the Writing Assistant button
|
|
41
|
+
WRITING_ASSISTANT_BUTTON_TOOLTIP=Writing Assistant (Shift + F4)
|
|
42
|
+
|
|
43
|
+
#XTOL: Writing Assistant stop generating button tooltip
|
|
44
|
+
WRITING_ASSISTANT_STOP_TOOLTIP=Stop Generating (Esc)
|
|
45
|
+
|
|
46
|
+
#XTOL: Tooltip for the Previous Version button
|
|
47
|
+
VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Previous Version (Ctrl + Shift + Z)
|
|
48
|
+
|
|
49
|
+
#XTOL: Tooltip for the Next Version button
|
|
50
|
+
VERSIONING_NEXT_BUTTON_TOOLTIP=Next Version (Ctrl + Shift + Y)
|
|
@@ -2,3 +2,31 @@
|
|
|
2
2
|
PROMPT_INPUT_CHARACTERS_LEFT=متبق {0} من الحروف
|
|
3
3
|
|
|
4
4
|
PROMPT_INPUT_CHARACTERS_EXCEEDED=تم تجاوز الحد بمقدار {0} من الحروف
|
|
5
|
+
|
|
6
|
+
BUTTON_TOOLTIP_TEXT={0} مع الذكاء الاصطناعي
|
|
7
|
+
|
|
8
|
+
WRITING_ASSISTANT_LABEL=شريط أدوات مساعد الكتابة Shift + F4
|
|
9
|
+
|
|
10
|
+
INPUT_VERSIONING_NEXT_BUTTON_TOOLTIP=الإصدار التالي (Ctrl + Shift + Y)
|
|
11
|
+
|
|
12
|
+
INPUT_VERSIONING_PREVIOUS_BUTTON_TOOLTIP=الإصدار السابق (Ctrl + Shift + Z)
|
|
13
|
+
|
|
14
|
+
INPUT_WRITING_ASSISTANT_BUTTON_TOOLTIP=مساعد الكتابة بالذكاء الاصطناعي (Shift + F4)
|
|
15
|
+
|
|
16
|
+
VERSIONING_PREVIOUS_BUTTON_TEXT=الإصدار السابق
|
|
17
|
+
|
|
18
|
+
VERSIONING_NEXT_BUTTON_TEXT=الإصدار التالي
|
|
19
|
+
|
|
20
|
+
WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=إيقاف الإنشاء (ESC)
|
|
21
|
+
|
|
22
|
+
WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=شريط أدوات مساعد الكتابة
|
|
23
|
+
|
|
24
|
+
WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=مساعد الكتابة
|
|
25
|
+
|
|
26
|
+
WRITING_ASSISTANT_BUTTON_TOOLTIP=مساعد الكتابة (Shift + F4)
|
|
27
|
+
|
|
28
|
+
WRITING_ASSISTANT_STOP_TOOLTIP=إيقاف الإنشاء (ESC)
|
|
29
|
+
|
|
30
|
+
VERSIONING_PREVIOUS_BUTTON_TOOLTIP=الإصدار السابق
|
|
31
|
+
|
|
32
|
+
VERSIONING_NEXT_BUTTON_TOOLTIP=الإصدار التالي
|
|
@@ -2,3 +2,31 @@
|
|
|
2
2
|
PROMPT_INPUT_CHARACTERS_LEFT=Остават {0} символа
|
|
3
3
|
|
|
4
4
|
PROMPT_INPUT_CHARACTERS_EXCEEDED={0} символа над ограничението
|
|
5
|
+
|
|
6
|
+
BUTTON_TOOLTIP_TEXT={0} с изкуствен интелект
|
|
7
|
+
|
|
8
|
+
WRITING_ASSISTANT_LABEL=Лента с инструменти на асистента за писане Shift + F4
|
|
9
|
+
|
|
10
|
+
INPUT_VERSIONING_NEXT_BUTTON_TOOLTIP=Следваща версия (Ctrl + Shift + Y)
|
|
11
|
+
|
|
12
|
+
INPUT_VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Предходна версия (Ctrl + Shift + Z)
|
|
13
|
+
|
|
14
|
+
INPUT_WRITING_ASSISTANT_BUTTON_TOOLTIP=AI асистент за писане (Shift + F4)
|
|
15
|
+
|
|
16
|
+
VERSIONING_PREVIOUS_BUTTON_TEXT=Предишна версия
|
|
17
|
+
|
|
18
|
+
VERSIONING_NEXT_BUTTON_TEXT=Следваща версия
|
|
19
|
+
|
|
20
|
+
WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=Спиране на генерирането (ESC)
|
|
21
|
+
|
|
22
|
+
WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=Лента с инструменти на асистента за писане
|
|
23
|
+
|
|
24
|
+
WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=Асистент писане
|
|
25
|
+
|
|
26
|
+
WRITING_ASSISTANT_BUTTON_TOOLTIP=Асистент за писане (Shift + F4)
|
|
27
|
+
|
|
28
|
+
WRITING_ASSISTANT_STOP_TOOLTIP=Спиране на генерирането (Esc)
|
|
29
|
+
|
|
30
|
+
VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Предишна версия
|
|
31
|
+
|
|
32
|
+
VERSIONING_NEXT_BUTTON_TOOLTIP=Следваща версия
|
|
@@ -2,3 +2,31 @@
|
|
|
2
2
|
PROMPT_INPUT_CHARACTERS_LEFT={0} caràcters restants
|
|
3
3
|
|
|
4
4
|
PROMPT_INPUT_CHARACTERS_EXCEEDED=S''han excedit {0} caràcters
|
|
5
|
+
|
|
6
|
+
BUTTON_TOOLTIP_TEXT={0} amb intel·ligència artificial
|
|
7
|
+
|
|
8
|
+
WRITING_ASSISTANT_LABEL=Barra d''eines de l''assistent de redacció (Majús + F4)
|
|
9
|
+
|
|
10
|
+
INPUT_VERSIONING_NEXT_BUTTON_TOOLTIP=Següent versió (Ctrl + Majús + Y)
|
|
11
|
+
|
|
12
|
+
INPUT_VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Versió anterior (Ctrl + Majús + Z)
|
|
13
|
+
|
|
14
|
+
INPUT_WRITING_ASSISTANT_BUTTON_TOOLTIP=Assistent de redacció amb IA (Majús + F4)
|
|
15
|
+
|
|
16
|
+
VERSIONING_PREVIOUS_BUTTON_TEXT=Versió anterior
|
|
17
|
+
|
|
18
|
+
VERSIONING_NEXT_BUTTON_TEXT=Versió següent
|
|
19
|
+
|
|
20
|
+
WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=Aturar la generació (ESC)
|
|
21
|
+
|
|
22
|
+
WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=Barra d''eines de l''assistent de redacció
|
|
23
|
+
|
|
24
|
+
WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=Assistent de redacció
|
|
25
|
+
|
|
26
|
+
WRITING_ASSISTANT_BUTTON_TOOLTIP=Assistent de redacció (Majús + F4)
|
|
27
|
+
|
|
28
|
+
WRITING_ASSISTANT_STOP_TOOLTIP=Aturar la generació (Esc)
|
|
29
|
+
|
|
30
|
+
VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Versió anterior
|
|
31
|
+
|
|
32
|
+
VERSIONING_NEXT_BUTTON_TOOLTIP=Versió següent
|
|
@@ -2,3 +2,31 @@
|
|
|
2
2
|
PROMPT_INPUT_CHARACTERS_LEFT={0} znakova preostaje
|
|
3
3
|
|
|
4
4
|
PROMPT_INPUT_CHARACTERS_EXCEEDED={0} znakova prekoračeno
|
|
5
|
+
|
|
6
|
+
BUTTON_TOOLTIP_TEXT={0} sa vještačkom inteligencijom
|
|
7
|
+
|
|
8
|
+
WRITING_ASSISTANT_LABEL=Traka sa alatkama pomoćnika pri pisanju Shift + F4
|
|
9
|
+
|
|
10
|
+
INPUT_VERSIONING_NEXT_BUTTON_TOOLTIP=Sljedeća verzija (Ctrl + Shift + Y)
|
|
11
|
+
|
|
12
|
+
INPUT_VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Prethodna verzija (Ctrl + Shift + Z)
|
|
13
|
+
|
|
14
|
+
INPUT_WRITING_ASSISTANT_BUTTON_TOOLTIP=Pomoćnik pri pisanju uz upotrebu vještačke inteligencije (Shift + F4)
|
|
15
|
+
|
|
16
|
+
VERSIONING_PREVIOUS_BUTTON_TEXT=Prethodna verzija
|
|
17
|
+
|
|
18
|
+
VERSIONING_NEXT_BUTTON_TEXT=Sljedeća verzija
|
|
19
|
+
|
|
20
|
+
WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=Zaustavi generisanje (ESC)
|
|
21
|
+
|
|
22
|
+
WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=Traka sa alatkama pomoćnika pri pisanju
|
|
23
|
+
|
|
24
|
+
WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=Pomoćnik pri pisanju
|
|
25
|
+
|
|
26
|
+
WRITING_ASSISTANT_BUTTON_TOOLTIP=Pomoćnik pri pisanju (Shift + F4)
|
|
27
|
+
|
|
28
|
+
WRITING_ASSISTANT_STOP_TOOLTIP=Zaustavi generisanje (Esc)
|
|
29
|
+
|
|
30
|
+
VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Prethodna verzija
|
|
31
|
+
|
|
32
|
+
VERSIONING_NEXT_BUTTON_TOOLTIP=Sljedeća verzija
|
|
@@ -2,3 +2,31 @@
|
|
|
2
2
|
PROMPT_INPUT_CHARACTERS_LEFT={0} znaky zbývají
|
|
3
3
|
|
|
4
4
|
PROMPT_INPUT_CHARACTERS_EXCEEDED={0} znaky přes limit
|
|
5
|
+
|
|
6
|
+
BUTTON_TOOLTIP_TEXT={0} s umělou inteligencí
|
|
7
|
+
|
|
8
|
+
WRITING_ASSISTANT_LABEL=Nástrojová lišta asistenta psaní Shift + F4
|
|
9
|
+
|
|
10
|
+
INPUT_VERSIONING_NEXT_BUTTON_TOOLTIP=Příští verze (Ctrl + Shift + Y)
|
|
11
|
+
|
|
12
|
+
INPUT_VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Předchozí verze (Ctrl + Shift + Z)
|
|
13
|
+
|
|
14
|
+
INPUT_WRITING_ASSISTANT_BUTTON_TOOLTIP=Asistent psaní s umělou inteligencí (Shift + F4)
|
|
15
|
+
|
|
16
|
+
VERSIONING_PREVIOUS_BUTTON_TEXT=Předchozí verze
|
|
17
|
+
|
|
18
|
+
VERSIONING_NEXT_BUTTON_TEXT=Další verze
|
|
19
|
+
|
|
20
|
+
WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=Zastavit generování (ESC)
|
|
21
|
+
|
|
22
|
+
WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=Nástrojová lišta asistenta psaní
|
|
23
|
+
|
|
24
|
+
WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=Asistent psaní
|
|
25
|
+
|
|
26
|
+
WRITING_ASSISTANT_BUTTON_TOOLTIP=Asistent psaní (Shift + F4
|
|
27
|
+
|
|
28
|
+
WRITING_ASSISTANT_STOP_TOOLTIP=Zastavit generování (Esc)
|
|
29
|
+
|
|
30
|
+
VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Předchozí verze
|
|
31
|
+
|
|
32
|
+
VERSIONING_NEXT_BUTTON_TOOLTIP=Další verze
|
|
@@ -2,3 +2,31 @@
|
|
|
2
2
|
PROMPT_INPUT_CHARACTERS_LEFT={0} nod ar ôl
|
|
3
3
|
|
|
4
4
|
PROMPT_INPUT_CHARACTERS_EXCEEDED={0} nod dros yr uchafswm
|
|
5
|
+
|
|
6
|
+
BUTTON_TOOLTIP_TEXT={0} gyda Deallusrwydd Artiffisial
|
|
7
|
+
|
|
8
|
+
WRITING_ASSISTANT_LABEL=Bar Offer Cynorthwyydd Ysgrifennu Shift + F4
|
|
9
|
+
|
|
10
|
+
INPUT_VERSIONING_NEXT_BUTTON_TOOLTIP=Fersiwn Nesaf (Ctrl + Shift + Y)
|
|
11
|
+
|
|
12
|
+
INPUT_VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Fersiwn Flaenorol (Ctrl + Shift + Z)
|
|
13
|
+
|
|
14
|
+
INPUT_WRITING_ASSISTANT_BUTTON_TOOLTIP=Cynorthwyydd Ysgrifennu AI (Shift + F4)
|
|
15
|
+
|
|
16
|
+
VERSIONING_PREVIOUS_BUTTON_TEXT=Fersiwn Flaenorol
|
|
17
|
+
|
|
18
|
+
VERSIONING_NEXT_BUTTON_TEXT=Fersiwn Nesaf
|
|
19
|
+
|
|
20
|
+
WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=Stopio cynhyrchu (ESC)
|
|
21
|
+
|
|
22
|
+
WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=Bar Offer Cynorthwyydd Ysgrifennu
|
|
23
|
+
|
|
24
|
+
WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=Cynorthwyydd Ysgrifennu
|
|
25
|
+
|
|
26
|
+
WRITING_ASSISTANT_BUTTON_TOOLTIP=Cynorthwyydd Ysgrifennu (Shift + F4)
|
|
27
|
+
|
|
28
|
+
WRITING_ASSISTANT_STOP_TOOLTIP=Stopio Cynhyrchu (Esc)
|
|
29
|
+
|
|
30
|
+
VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Fersiwn Flaenorol
|
|
31
|
+
|
|
32
|
+
VERSIONING_NEXT_BUTTON_TOOLTIP=Fersiwn Nesaf
|
|
@@ -2,3 +2,31 @@
|
|
|
2
2
|
PROMPT_INPUT_CHARACTERS_LEFT={0} resterende tegn
|
|
3
3
|
|
|
4
4
|
PROMPT_INPUT_CHARACTERS_EXCEEDED={0} tegn over grænsen
|
|
5
|
+
|
|
6
|
+
BUTTON_TOOLTIP_TEXT={0} med kunstig intelligens
|
|
7
|
+
|
|
8
|
+
WRITING_ASSISTANT_LABEL=Værktøjslinje for skriveassistent - Skift + F4
|
|
9
|
+
|
|
10
|
+
INPUT_VERSIONING_NEXT_BUTTON_TOOLTIP=Næste version (Ctrl + Skift + Y)
|
|
11
|
+
|
|
12
|
+
INPUT_VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Forrige version (Ctrl + Skift + Z)
|
|
13
|
+
|
|
14
|
+
INPUT_WRITING_ASSISTANT_BUTTON_TOOLTIP=AI-skriveassistent (Skift + F4)
|
|
15
|
+
|
|
16
|
+
VERSIONING_PREVIOUS_BUTTON_TEXT=Forrige version
|
|
17
|
+
|
|
18
|
+
VERSIONING_NEXT_BUTTON_TEXT=Næste version
|
|
19
|
+
|
|
20
|
+
WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=Stop generering (ESC)
|
|
21
|
+
|
|
22
|
+
WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=Værktøjslinje for skriveassistent
|
|
23
|
+
|
|
24
|
+
WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=Skriveassistent
|
|
25
|
+
|
|
26
|
+
WRITING_ASSISTANT_BUTTON_TOOLTIP=Skriveassistent (Skift + F4)
|
|
27
|
+
|
|
28
|
+
WRITING_ASSISTANT_STOP_TOOLTIP=Stop generering (Esc)
|
|
29
|
+
|
|
30
|
+
VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Forrige version
|
|
31
|
+
|
|
32
|
+
VERSIONING_NEXT_BUTTON_TOOLTIP=Næste version
|