@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.
Files changed (192) hide show
  1. package/.ui5-cem-aliases.json +4 -0
  2. package/CHANGELOG.md +216 -0
  3. package/LICENSE.txt +201 -0
  4. package/README.md +4 -2
  5. package/dist/.tsbuildinfo +1 -1
  6. package/dist/Assets-fetch.js +1 -1
  7. package/dist/Assets-fetch.js.map +1 -1
  8. package/dist/Assets-node.js +1 -1
  9. package/dist/Assets-node.js.map +1 -1
  10. package/dist/Button.d.ts +1 -1
  11. package/dist/Button.js +4 -4
  12. package/dist/Button.js.map +1 -1
  13. package/dist/Input.d.ts +143 -0
  14. package/dist/Input.js +288 -0
  15. package/dist/Input.js.map +1 -0
  16. package/dist/InputTemplate.d.ts +10 -0
  17. package/dist/InputTemplate.js +28 -0
  18. package/dist/InputTemplate.js.map +1 -0
  19. package/dist/TextArea.d.ts +123 -0
  20. package/dist/TextArea.js +271 -0
  21. package/dist/TextArea.js.map +1 -0
  22. package/dist/TextAreaTemplate.d.ts +2 -0
  23. package/dist/TextAreaTemplate.js +13 -0
  24. package/dist/TextAreaTemplate.js.map +1 -0
  25. package/dist/ToolbarLabel.d.ts +39 -0
  26. package/dist/ToolbarLabel.js +67 -0
  27. package/dist/ToolbarLabel.js.map +1 -0
  28. package/dist/ToolbarLabelTemplate.d.ts +2 -0
  29. package/dist/ToolbarLabelTemplate.js +5 -0
  30. package/dist/ToolbarLabelTemplate.js.map +1 -0
  31. package/dist/Versioning.d.ts +95 -0
  32. package/dist/Versioning.js +187 -0
  33. package/dist/Versioning.js.map +1 -0
  34. package/dist/VersioningTemplate.d.ts +4 -0
  35. package/dist/VersioningTemplate.js +9 -0
  36. package/dist/VersioningTemplate.js.map +1 -0
  37. package/dist/WritingAssistant.d.ts +101 -0
  38. package/dist/WritingAssistant.js +201 -0
  39. package/dist/WritingAssistant.js.map +1 -0
  40. package/dist/WritingAssistantTemplate.d.ts +2 -0
  41. package/dist/WritingAssistantTemplate.js +12 -0
  42. package/dist/WritingAssistantTemplate.js.map +1 -0
  43. package/dist/bundle.esm.js +2 -0
  44. package/dist/bundle.esm.js.map +1 -1
  45. package/dist/css/themes/Button.css +1 -1
  46. package/dist/css/themes/Input.css +1 -0
  47. package/dist/css/themes/PromptInput.css +1 -1
  48. package/dist/css/themes/TextArea.css +1 -0
  49. package/dist/css/themes/Versioning.css +1 -0
  50. package/dist/css/themes/WritingAssistant.css +1 -0
  51. package/dist/custom-elements-internal.json +643 -0
  52. package/dist/custom-elements.json +562 -0
  53. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  54. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  55. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  56. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  57. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  58. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  59. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  60. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  61. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  62. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  63. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  64. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  65. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  66. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  67. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  68. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  69. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  70. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  71. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  72. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  73. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  74. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  75. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  76. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  77. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  78. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  79. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  80. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  81. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  82. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  83. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  84. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  85. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  86. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  87. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  88. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  89. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  91. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  92. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  96. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  97. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  98. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  99. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  104. package/dist/generated/i18n/i18n-defaults.d.ts +14 -1
  105. package/dist/generated/i18n/i18n-defaults.js +14 -1
  106. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  107. package/dist/generated/themes/Button.css.d.ts +1 -1
  108. package/dist/generated/themes/Button.css.js +1 -1
  109. package/dist/generated/themes/Button.css.js.map +1 -1
  110. package/dist/generated/themes/Input.css.d.ts +2 -0
  111. package/dist/generated/themes/Input.css.js +8 -0
  112. package/dist/generated/themes/Input.css.js.map +1 -0
  113. package/dist/generated/themes/PromptInput.css.d.ts +1 -1
  114. package/dist/generated/themes/PromptInput.css.js +1 -1
  115. package/dist/generated/themes/PromptInput.css.js.map +1 -1
  116. package/dist/generated/themes/TextArea.css.d.ts +2 -0
  117. package/dist/generated/themes/TextArea.css.js +8 -0
  118. package/dist/generated/themes/TextArea.css.js.map +1 -0
  119. package/dist/generated/themes/Versioning.css.d.ts +2 -0
  120. package/dist/generated/themes/Versioning.css.js +8 -0
  121. package/dist/generated/themes/Versioning.css.js.map +1 -0
  122. package/dist/generated/themes/WritingAssistant.css.d.ts +2 -0
  123. package/dist/generated/themes/WritingAssistant.css.js +8 -0
  124. package/dist/generated/themes/WritingAssistant.css.js.map +1 -0
  125. package/dist/vscode.html-custom-data.json +100 -0
  126. package/dist/web-types.json +296 -1
  127. package/package-scripts.cjs +0 -1
  128. package/package.json +20 -18
  129. package/src/InputTemplate.tsx +197 -0
  130. package/src/TextArea.css +25 -0
  131. package/src/TextAreaTemplate.tsx +91 -0
  132. package/src/ToolbarLabelTemplate.tsx +9 -0
  133. package/src/VersioningTemplate.tsx +34 -0
  134. package/src/WritingAssistantTemplate.tsx +51 -0
  135. package/src/i18n/messagebundle.properties +38 -0
  136. package/src/i18n/messagebundle_ar.properties +28 -0
  137. package/src/i18n/messagebundle_bg.properties +28 -0
  138. package/src/i18n/messagebundle_ca.properties +28 -0
  139. package/src/i18n/messagebundle_cnr.properties +28 -0
  140. package/src/i18n/messagebundle_cs.properties +28 -0
  141. package/src/i18n/messagebundle_cy.properties +28 -0
  142. package/src/i18n/messagebundle_da.properties +28 -0
  143. package/src/i18n/messagebundle_de.properties +25 -0
  144. package/src/i18n/messagebundle_el.properties +28 -0
  145. package/src/i18n/messagebundle_en.properties +41 -1
  146. package/src/i18n/messagebundle_en_GB.properties +28 -0
  147. package/src/i18n/messagebundle_en_US_sappsd.properties +25 -0
  148. package/src/i18n/messagebundle_en_US_saprigi.properties +25 -0
  149. package/src/i18n/messagebundle_en_US_saptrc.properties +25 -0
  150. package/src/i18n/messagebundle_es.properties +28 -0
  151. package/src/i18n/messagebundle_es_MX.properties +29 -1
  152. package/src/i18n/messagebundle_et.properties +28 -0
  153. package/src/i18n/messagebundle_fi.properties +28 -0
  154. package/src/i18n/messagebundle_fr.properties +28 -0
  155. package/src/i18n/messagebundle_fr_CA.properties +28 -0
  156. package/src/i18n/messagebundle_hi.properties +28 -0
  157. package/src/i18n/messagebundle_hr.properties +30 -2
  158. package/src/i18n/messagebundle_hu.properties +28 -0
  159. package/src/i18n/messagebundle_id.properties +28 -0
  160. package/src/i18n/messagebundle_it.properties +28 -0
  161. package/src/i18n/messagebundle_iw.properties +28 -0
  162. package/src/i18n/messagebundle_ja.properties +28 -0
  163. package/src/i18n/messagebundle_kk.properties +28 -0
  164. package/src/i18n/messagebundle_ko.properties +28 -0
  165. package/src/i18n/messagebundle_lt.properties +28 -0
  166. package/src/i18n/messagebundle_lv.properties +28 -0
  167. package/src/i18n/messagebundle_mk.properties +28 -0
  168. package/src/i18n/messagebundle_ms.properties +28 -0
  169. package/src/i18n/messagebundle_nl.properties +28 -0
  170. package/src/i18n/messagebundle_no.properties +28 -0
  171. package/src/i18n/messagebundle_pl.properties +28 -0
  172. package/src/i18n/messagebundle_pt.properties +28 -0
  173. package/src/i18n/messagebundle_pt_PT.properties +28 -0
  174. package/src/i18n/messagebundle_ro.properties +28 -0
  175. package/src/i18n/messagebundle_ru.properties +28 -0
  176. package/src/i18n/messagebundle_sh.properties +28 -0
  177. package/src/i18n/messagebundle_sk.properties +28 -0
  178. package/src/i18n/messagebundle_sl.properties +28 -0
  179. package/src/i18n/messagebundle_sr.properties +28 -0
  180. package/src/i18n/messagebundle_sv.properties +28 -0
  181. package/src/i18n/messagebundle_th.properties +30 -2
  182. package/src/i18n/messagebundle_tr.properties +28 -0
  183. package/src/i18n/messagebundle_uk.properties +28 -0
  184. package/src/i18n/messagebundle_vi.properties +28 -0
  185. package/src/i18n/messagebundle_zh_CN.properties +28 -0
  186. package/src/i18n/messagebundle_zh_TW.properties +28 -0
  187. package/src/themes/Input.css +83 -0
  188. package/src/themes/PromptInput.css +5 -1
  189. package/src/themes/TextArea.css +45 -0
  190. package/src/themes/Versioning.css +20 -0
  191. package/src/themes/WritingAssistant.css +23 -0
  192. package/tsconfig.json +6 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WritingAssistant.css.js","sourceRoot":"","sources":["../../../src/generated/themes/WritingAssistant.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AAExG,OAAO,gBAAgB,MAAM,uFAAuF,CAAC;AACrH,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAElE,6BAA6B,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,uBAAuB,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC;AACxH,6BAA6B,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;AACpM,eAAe;CACd,CAAA","sourcesContent":["import { registerThemePropertiesLoader } from \"@ui5/webcomponents-base/dist/asset-registries/Themes.js\";\n\nimport defaultThemeBase from \"@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js\";\nimport defaultTheme from \"./sap_horizon/parameters-bundle.css.js\";\n\nregisterThemePropertiesLoader(\"@\" + \"ui5\" + \"/\" + \"webcomponents-theming\", \"sap_horizon\", async () => defaultThemeBase);\nregisterThemePropertiesLoader(\"@\" + \"u\" + \"i\" + \"5\" + \"/\" + \"w\" + \"e\" + \"b\" + \"c\" + \"o\" + \"m\" + \"p\" + \"o\" + \"n\" + \"e\" + \"n\" + \"t\" + \"s\" + \"-\" + \"a\" + \"i\", \"sap_horizon\", async () => defaultTheme);\nexport default `.ui5-ai-writing-assistant-footer-bar{background:var(--_ui5-v2-18-0_texteditor_toolbar_background, var(--sapPageFooter_Background));width:100%;box-sizing:border-box;box-shadow:none;border-bottom:none;border-top:none;padding:.5rem;display:flex;align-items:center;justify-content:flex-start}.ui5-ai-writing-assistant-footer-bar--with-border{border-top:1px solid var(--sapPageFooter_BorderColor)}.ui5-ai-writing-assistant-action-label{color:var(--sapContent_LabelColor);font-size:var(--sapFontSize);font-family:\"72override\",var(--sapFontFamily);margin-left:.25rem}\n`"]}
@@ -72,6 +72,28 @@
72
72
  ],
73
73
  "references": []
74
74
  },
75
+ {
76
+ "name": "ui5-ai-input",
77
+ "description": "### Overview\n\nThe `ui5-ai-input` component extends the standard `ui5-input` with **AI Writing Assistant** capabilities.\n\n### Structure\n\nThe `ui5-ai-input` consists of the following main parts:\n\n- **Input Field** – Inherits all standard Input behaviors.\n- **AI Action Button** – Appears when focused or loading, providing access to AI-related actions or stopping generation.\n\nThe component automatically determines which elements to render based on its internal state:\n- The AI Button is only shown when there are available `actions`.\n- The version navigation appears only when `totalVersions > 1`.\n\n### Keyboard Support\n\n- **Shift + F4** — Opens the AI menu.\n- **Ctrl + Shift + Z / Y** — Navigates backward/forward between AI-generated versions.\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents-ai/dist/Input.js\";`\n\n\n---\n\n\n\n\n### **Events:**\n - **button-click** - Fired when the user selects the AI button.\n- **item-click** - Fired when an item from the AI actions menu is clicked.\n- **stop-generation** - Fired when the user selects the \"Stop\" button to stop ongoing AI text generation.\n- **version-change** - Fired when the user selects the version navigation buttons.\n\n### **Slots:**\n - **actions** - Defines the items of the menu for the component.",
78
+ "attributes": [
79
+ {
80
+ "name": "current-version",
81
+ "description": "Indicates the index of the currently displayed version.",
82
+ "values": []
83
+ },
84
+ {
85
+ "name": "total-versions",
86
+ "description": "Indicates the total number of result versions available.\n\nWhen not set or set to 0, the versioning will be hidden.",
87
+ "values": []
88
+ },
89
+ {
90
+ "name": "loading",
91
+ "description": "Defines whether the AI Writing Assistant is currently loading.\n\nWhen `true`, indicates that an AI action is in progress.",
92
+ "values": []
93
+ }
94
+ ],
95
+ "references": []
96
+ },
75
97
  {
76
98
  "name": "ui5-ai-prompt-input",
77
99
  "description": "### Overview\n\nThe `ui5-ai-prompt-input` component allows the user to write custom instructions in natural language, so that AI is guided to generate content tailored to user needs.\n\n**Note:** The web component is in an experimental state\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents-ai/dist/PromptInput.js\"`\n\n\n---\n\n\n\n\n### **Events:**\n - **submit** - Fired when the input operation has finished by pressing Enter\nor AI button is clicked.\n- **input** - Fired when the value of the component changes at each keystroke,\nand when a suggestion item has been selected.\n- **change** - Fired when the input operation has finished by pressing Enter\nor on focusout.\n\n### **Slots:**\n - **default** - Defines the suggestion items.\n\n**Note:** The suggestions would be displayed only if the `showSuggestions`\nproperty is set to `true`.\n\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\n- **valueStateMessage** - Defines the value state message that will be displayed as pop up under the component.\nThe value state message slot should contain only one root element.\n\n**Note:** If not specified, a default text (in the respective language) will be displayed.\n\n**Note:** The `valueStateMessage` would be displayed,\nwhen the component is in `Information`, `Critical` or `Negative` value state.",
@@ -134,6 +156,84 @@
134
156
  }
135
157
  ],
136
158
  "references": []
159
+ },
160
+ {
161
+ "name": "ui5-ai-textarea",
162
+ "description": "### Overview\n\nThe `ui5-ai-textarea` component extends the standard TextArea with Writing Assistant capabilities.\nIt provides AI-powered text generation, editing suggestions, and version management functionality.\n\n### Structure\nThe `ui5-ai-textarea` consists of the following elements:\n- TextArea: The main text input area with all standard textarea functionality\n- WritingAssistant: Dedicated toolbar containing:\n - Versioning: A component with left/right navigation buttons and a label for browsing AI-generated versions\n - AI Button: Opens a menu that can be extended with custom AI generation options through slotting\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents-ai/dist/TextArea.js\";`\n\n\n---\n\n\n\n\n### **Events:**\n - **version-change** - Fired when the user clicks on version navigation buttons.\n- **stop-generation** - Fired when the user requests to stop AI text generation.\n\n### **Slots:**\n - **menu** - Defines a slot for `ui5-menu` integration. This slot allows you to pass a `ui5-menu` instance that will be associated with the assistant.",
163
+ "attributes": [
164
+ {
165
+ "name": "loading",
166
+ "description": "Defines whether the `ui5-ai-textarea` is currently in a loading(processing) state.",
167
+ "values": []
168
+ },
169
+ {
170
+ "name": "prompt-description",
171
+ "description": "Defines the prompt description of the current action.",
172
+ "values": []
173
+ },
174
+ {
175
+ "name": "current-version",
176
+ "description": "Indicates the index of the currently displayed version.",
177
+ "values": []
178
+ },
179
+ {
180
+ "name": "total-versions",
181
+ "description": "Indicates the total number of result versions available.\n\nNotes:\nVersioning is hidden if the value is `0`",
182
+ "values": []
183
+ }
184
+ ],
185
+ "references": []
186
+ },
187
+ {
188
+ "name": "ui5-ai-toolbar-label",
189
+ "description": "### Overview\nThe `ui5-ai-toolbar-label` represents a text label,\nused in the `ui5-toolbar`.\n\n### ES6 Module Import\n`import \"@ui5/webcomponents-ai/dist/ToolbarLabel.js\";`\n\n\n---\n\n\n",
190
+ "attributes": [
191
+ {
192
+ "name": "text",
193
+ "description": "Defines the text of the label.",
194
+ "values": []
195
+ }
196
+ ],
197
+ "references": []
198
+ },
199
+ {
200
+ "name": "ui5-ai-versioning",
201
+ "description": "### Overview\n\nThe `ui5-ai-versioning` component provides navigation controls for AI-generated content versions.\nIt displays the current version index and total versions, with previous/next navigation buttons.\nThis component extends ToolbarItem to participate in toolbar overflow behavior as a single unit.\n\n### Structure\nThe `ui5-ai-versioning` consists of the following elements:\n- Previous Button: Navigates to the previous version (disabled when at first version)\n- Version Counter: Shows current version / total versions (e.g., \"2 / 5\")\n- Next Button: Navigates to the nex\nt version (disabled when at last version)\n\n### Focus Management\nThe component automatically manages focus when users reach version boundaries,\nmoving focus to the available navigation button when one becomes disabled.\n\n### Responsive Behavior\nWhen used in a toolbar, the entire versioning component (buttons + label) will overflow\ntogether as a single unit when there is insufficient space.\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents-ai/dist/Versioning.js\";`\n\n\n---\n\n\n\n\n### **Events:**\n - **version-change** - Fired when the user clicks on version navigation buttons.",
202
+ "attributes": [
203
+ {
204
+ "name": "current-step",
205
+ "description": "Indicates the index of the currently displayed result version.\n\nThis property represents the current position in the version history.",
206
+ "values": []
207
+ },
208
+ {
209
+ "name": "total-steps",
210
+ "description": "The total number of available result versions.\n\nNote: Versioning is hidden if the value is `0`.",
211
+ "values": []
212
+ }
213
+ ],
214
+ "references": []
215
+ },
216
+ {
217
+ "name": "ui5-ai-writing-assistant",
218
+ "description": "### Overview\n\nThe `ui5-ai-textarea-toolbar` component provides a specialized toolbar for AI TextArea functionality.\nIt manages different states of the AI assistant and provides version navigation capabilities.\n\n### Structure\nThe `ui5-ai-textarea-toolbar` consists of the following elements:\n- AI Generate Button: Triggers AI text generation or stops ongoing generation\n- Version Navigation: Allows navigation between multiple AI-generated results\n- Action Label: Displays the current AI action being performed\n\n### ES6 Module Import\n\n`import \"@sap-webcomponents/ai/dist/WritingAssistant.js\";`\n\n\n---\n\n\n\n\n### **Events:**\n - **version-change** - Fired when the user clicks on version navigation buttons.\n- **button-click** - Fired when the user clicks on the AI button.\n- **stop-generation** - Fired when the user clicks on the \"Stop\" button to stop ongoing AI text generation.\n\n### **Methods:**\n - **handleButtonClick(): _void_** - Handles the click event for the AI generate button.\nToggles between generate and stop states based on current button state.",
219
+ "attributes": [
220
+ {
221
+ "name": "prompt-description",
222
+ "description": "Defines the prompt description of the Writing Assistant.\n\nThis text is displayed in the toolbar to indicate the current or last\nperformed AI action (e.g., \"Generated text\", \"Simplified text\").",
223
+ "values": []
224
+ },
225
+ {
226
+ "name": "current-version",
227
+ "description": "Indicates the index of the currently displayed result version.\n\nThe index is **0-based** (i.e. `0` represents the first result).\nThis property is synchronized with the parent AI TextArea component.",
228
+ "values": []
229
+ },
230
+ {
231
+ "name": "total-versions",
232
+ "description": "Indicates the total number of result versions available.\n\nThis property determines whether version navigation controls are displayed.\nWhen totalVersions > 0, previous/next buttons become available.",
233
+ "values": []
234
+ }
235
+ ],
236
+ "references": []
137
237
  }
138
238
  ]
139
239
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@ui5/webcomponents-ai",
4
- "version": "2.15.0-rc.0",
4
+ "version": "2.18.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -164,6 +164,89 @@
164
164
  "events": []
165
165
  }
166
166
  },
167
+ {
168
+ "name": "ui5-ai-input",
169
+ "description": "### Overview\n\nThe `ui5-ai-input` component extends the standard `ui5-input` with **AI Writing Assistant** capabilities.\n\n### Structure\n\nThe `ui5-ai-input` consists of the following main parts:\n\n- **Input Field** – Inherits all standard Input behaviors.\n- **AI Action Button** – Appears when focused or loading, providing access to AI-related actions or stopping generation.\n\nThe component automatically determines which elements to render based on its internal state:\n- The AI Button is only shown when there are available `actions`.\n- The version navigation appears only when `totalVersions > 1`.\n\n### Keyboard Support\n\n- **Shift + F4** — Opens the AI menu.\n- **Ctrl + Shift + Z / Y** — Navigates backward/forward between AI-generated versions.\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents-ai/dist/Input.js\";`\n---\n\n\n### **Events:**\n - **button-click** - Fired when the user selects the AI button.\n- **item-click** - Fired when an item from the AI actions menu is clicked.\n- **stop-generation** - Fired when the user selects the \"Stop\" button to stop ongoing AI text generation.\n- **version-change** - Fired when the user selects the version navigation buttons.\n\n### **Slots:**\n - **actions** - Defines the items of the menu for the component.",
170
+ "doc-url": "",
171
+ "attributes": [
172
+ {
173
+ "name": "current-version",
174
+ "description": "Indicates the index of the currently displayed version.",
175
+ "value": { "type": "number", "default": "0" }
176
+ },
177
+ {
178
+ "name": "total-versions",
179
+ "description": "Indicates the total number of result versions available.\n\nWhen not set or set to 0, the versioning will be hidden.",
180
+ "value": { "type": "number", "default": "0" }
181
+ },
182
+ {
183
+ "name": "loading",
184
+ "description": "Defines whether the AI Writing Assistant is currently loading.\n\nWhen `true`, indicates that an AI action is in progress.",
185
+ "value": { "type": "boolean", "default": "false" }
186
+ }
187
+ ],
188
+ "slots": [
189
+ {
190
+ "name": "actions",
191
+ "description": "Defines the items of the menu for the component."
192
+ }
193
+ ],
194
+ "events": [
195
+ {
196
+ "name": "button-click",
197
+ "description": "Fired when the user selects the AI button."
198
+ },
199
+ {
200
+ "name": "item-click",
201
+ "description": "Fired when an item from the AI actions menu is clicked."
202
+ },
203
+ {
204
+ "name": "stop-generation",
205
+ "description": "Fired when the user selects the \"Stop\" button to stop ongoing AI text generation."
206
+ },
207
+ {
208
+ "name": "version-change",
209
+ "description": "Fired when the user selects the version navigation buttons."
210
+ }
211
+ ],
212
+ "js": {
213
+ "properties": [
214
+ {
215
+ "name": "current-version",
216
+ "description": "Indicates the index of the currently displayed version.",
217
+ "value": { "type": "number" }
218
+ },
219
+ {
220
+ "name": "total-versions",
221
+ "description": "Indicates the total number of result versions available.\n\nWhen not set or set to 0, the versioning will be hidden.",
222
+ "value": { "type": "number" }
223
+ },
224
+ {
225
+ "name": "loading",
226
+ "description": "Defines whether the AI Writing Assistant is currently loading.\n\nWhen `true`, indicates that an AI action is in progress.",
227
+ "value": { "type": "boolean" }
228
+ }
229
+ ],
230
+ "events": [
231
+ {
232
+ "name": "button-click",
233
+ "description": "Fired when the user selects the AI button."
234
+ },
235
+ {
236
+ "name": "item-click",
237
+ "description": "Fired when an item from the AI actions menu is clicked."
238
+ },
239
+ {
240
+ "name": "stop-generation",
241
+ "description": "Fired when the user selects the \"Stop\" button to stop ongoing AI text generation."
242
+ },
243
+ {
244
+ "name": "version-change",
245
+ "description": "Fired when the user selects the version navigation buttons."
246
+ }
247
+ ]
248
+ }
249
+ },
167
250
  {
168
251
  "name": "ui5-ai-prompt-input",
169
252
  "description": "### Overview\n\nThe `ui5-ai-prompt-input` component allows the user to write custom instructions in natural language, so that AI is guided to generate content tailored to user needs.\n\n**Note:** The web component is in an experimental state\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents-ai/dist/PromptInput.js\"`\n---\n\n\n### **Events:**\n - **submit** - Fired when the input operation has finished by pressing Enter\nor AI button is clicked.\n- **input** - Fired when the value of the component changes at each keystroke,\nand when a suggestion item has been selected.\n- **change** - Fired when the input operation has finished by pressing Enter\nor on focusout.\n\n### **Slots:**\n - **default** - Defines the suggestion items.\n\n**Note:** The suggestions would be displayed only if the `showSuggestions`\nproperty is set to `true`.\n\n**Note:** The `<ui5-suggestion-item>`, `<ui5-suggestion-item-group>` and `ui5-suggestion-item-custom` are recommended to be used as suggestion items.\n- **valueStateMessage** - Defines the value state message that will be displayed as pop up under the component.\nThe value state message slot should contain only one root element.\n\n**Note:** If not specified, a default text (in the respective language) will be displayed.\n\n**Note:** The `valueStateMessage` would be displayed,\nwhen the component is in `Information`, `Critical` or `Negative` value state.",
@@ -317,6 +400,218 @@
317
400
  }
318
401
  ]
319
402
  }
403
+ },
404
+ {
405
+ "name": "ui5-ai-textarea",
406
+ "description": "### Overview\n\nThe `ui5-ai-textarea` component extends the standard TextArea with Writing Assistant capabilities.\nIt provides AI-powered text generation, editing suggestions, and version management functionality.\n\n### Structure\nThe `ui5-ai-textarea` consists of the following elements:\n- TextArea: The main text input area with all standard textarea functionality\n- WritingAssistant: Dedicated toolbar containing:\n - Versioning: A component with left/right navigation buttons and a label for browsing AI-generated versions\n - AI Button: Opens a menu that can be extended with custom AI generation options through slotting\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents-ai/dist/TextArea.js\";`\n---\n\n\n### **Events:**\n - **version-change** - Fired when the user clicks on version navigation buttons.\n- **stop-generation** - Fired when the user requests to stop AI text generation.\n\n### **Slots:**\n - **menu** - Defines a slot for `ui5-menu` integration. This slot allows you to pass a `ui5-menu` instance that will be associated with the assistant.",
407
+ "doc-url": "",
408
+ "attributes": [
409
+ {
410
+ "name": "loading",
411
+ "description": "Defines whether the `ui5-ai-textarea` is currently in a loading(processing) state.",
412
+ "value": { "type": "boolean", "default": "false" }
413
+ },
414
+ {
415
+ "name": "prompt-description",
416
+ "description": "Defines the prompt description of the current action.",
417
+ "value": { "type": "string", "default": "\"\"" }
418
+ },
419
+ {
420
+ "name": "current-version",
421
+ "description": "Indicates the index of the currently displayed version.",
422
+ "value": { "type": "number", "default": "0" }
423
+ },
424
+ {
425
+ "name": "total-versions",
426
+ "description": "Indicates the total number of result versions available.\n\nNotes:\nVersioning is hidden if the value is `0`",
427
+ "value": { "type": "number", "default": "0" }
428
+ }
429
+ ],
430
+ "slots": [
431
+ {
432
+ "name": "menu",
433
+ "description": "Defines a slot for `ui5-menu` integration. This slot allows you to pass a `ui5-menu` instance that will be associated with the assistant."
434
+ }
435
+ ],
436
+ "events": [
437
+ {
438
+ "name": "version-change",
439
+ "description": "Fired when the user clicks on version navigation buttons."
440
+ },
441
+ {
442
+ "name": "stop-generation",
443
+ "description": "Fired when the user requests to stop AI text generation."
444
+ }
445
+ ],
446
+ "js": {
447
+ "properties": [
448
+ {
449
+ "name": "loading",
450
+ "description": "Defines whether the `ui5-ai-textarea` is currently in a loading(processing) state.",
451
+ "value": { "type": "boolean" }
452
+ },
453
+ {
454
+ "name": "prompt-description",
455
+ "description": "Defines the prompt description of the current action.",
456
+ "value": { "type": "string" }
457
+ },
458
+ {
459
+ "name": "current-version",
460
+ "description": "Indicates the index of the currently displayed version.",
461
+ "value": { "type": "number" }
462
+ },
463
+ {
464
+ "name": "total-versions",
465
+ "description": "Indicates the total number of result versions available.\n\nNotes:\nVersioning is hidden if the value is `0`",
466
+ "value": { "type": "number" }
467
+ }
468
+ ],
469
+ "events": [
470
+ {
471
+ "name": "version-change",
472
+ "description": "Fired when the user clicks on version navigation buttons."
473
+ },
474
+ {
475
+ "name": "stop-generation",
476
+ "description": "Fired when the user requests to stop AI text generation."
477
+ }
478
+ ]
479
+ }
480
+ },
481
+ {
482
+ "name": "ui5-ai-toolbar-label",
483
+ "description": "### Overview\nThe `ui5-ai-toolbar-label` represents a text label,\nused in the `ui5-toolbar`.\n\n### ES6 Module Import\n`import \"@ui5/webcomponents-ai/dist/ToolbarLabel.js\";`\n---\n",
484
+ "doc-url": "",
485
+ "attributes": [
486
+ {
487
+ "name": "text",
488
+ "description": "Defines the text of the label.",
489
+ "value": { "type": "string", "default": "\"\"" }
490
+ }
491
+ ],
492
+ "events": [],
493
+ "js": {
494
+ "properties": [
495
+ {
496
+ "name": "text",
497
+ "description": "Defines the text of the label.",
498
+ "value": { "type": "string" }
499
+ }
500
+ ],
501
+ "events": []
502
+ }
503
+ },
504
+ {
505
+ "name": "ui5-ai-versioning",
506
+ "description": "### Overview\n\nThe `ui5-ai-versioning` component provides navigation controls for AI-generated content versions.\nIt displays the current version index and total versions, with previous/next navigation buttons.\nThis component extends ToolbarItem to participate in toolbar overflow behavior as a single unit.\n\n### Structure\nThe `ui5-ai-versioning` consists of the following elements:\n- Previous Button: Navigates to the previous version (disabled when at first version)\n- Version Counter: Shows current version / total versions (e.g., \"2 / 5\")\n- Next Button: Navigates to the nex\nt version (disabled when at last version)\n\n### Focus Management\nThe component automatically manages focus when users reach version boundaries,\nmoving focus to the available navigation button when one becomes disabled.\n\n### Responsive Behavior\nWhen used in a toolbar, the entire versioning component (buttons + label) will overflow\ntogether as a single unit when there is insufficient space.\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents-ai/dist/Versioning.js\";`\n---\n\n\n### **Events:**\n - **version-change** - Fired when the user clicks on version navigation buttons.",
507
+ "doc-url": "",
508
+ "attributes": [
509
+ {
510
+ "name": "current-step",
511
+ "description": "Indicates the index of the currently displayed result version.\n\nThis property represents the current position in the version history.",
512
+ "value": { "type": "number", "default": "0" }
513
+ },
514
+ {
515
+ "name": "total-steps",
516
+ "description": "The total number of available result versions.\n\nNote: Versioning is hidden if the value is `0`.",
517
+ "value": { "type": "number", "default": "0" }
518
+ }
519
+ ],
520
+ "events": [
521
+ {
522
+ "name": "version-change",
523
+ "description": "Fired when the user clicks on version navigation buttons."
524
+ }
525
+ ],
526
+ "js": {
527
+ "properties": [
528
+ {
529
+ "name": "current-step",
530
+ "description": "Indicates the index of the currently displayed result version.\n\nThis property represents the current position in the version history.",
531
+ "value": { "type": "number" }
532
+ },
533
+ {
534
+ "name": "total-steps",
535
+ "description": "The total number of available result versions.\n\nNote: Versioning is hidden if the value is `0`.",
536
+ "value": { "type": "number" }
537
+ }
538
+ ],
539
+ "events": [
540
+ {
541
+ "name": "version-change",
542
+ "description": "Fired when the user clicks on version navigation buttons."
543
+ }
544
+ ]
545
+ }
546
+ },
547
+ {
548
+ "name": "ui5-ai-writing-assistant",
549
+ "description": "### Overview\n\nThe `ui5-ai-textarea-toolbar` component provides a specialized toolbar for AI TextArea functionality.\nIt manages different states of the AI assistant and provides version navigation capabilities.\n\n### Structure\nThe `ui5-ai-textarea-toolbar` consists of the following elements:\n- AI Generate Button: Triggers AI text generation or stops ongoing generation\n- Version Navigation: Allows navigation between multiple AI-generated results\n- Action Label: Displays the current AI action being performed\n\n### ES6 Module Import\n\n`import \"@sap-webcomponents/ai/dist/WritingAssistant.js\";`\n---\n\n\n### **Events:**\n - **version-change** - Fired when the user clicks on version navigation buttons.\n- **button-click** - Fired when the user clicks on the AI button.\n- **stop-generation** - Fired when the user clicks on the \"Stop\" button to stop ongoing AI text generation.\n\n### **Methods:**\n - **handleButtonClick(): _void_** - Handles the click event for the AI generate button.\nToggles between generate and stop states based on current button state.",
550
+ "doc-url": "",
551
+ "attributes": [
552
+ {
553
+ "name": "prompt-description",
554
+ "description": "Defines the prompt description of the Writing Assistant.\n\nThis text is displayed in the toolbar to indicate the current or last\nperformed AI action (e.g., \"Generated text\", \"Simplified text\").",
555
+ "value": { "type": "string", "default": "\"\"" }
556
+ },
557
+ {
558
+ "name": "current-version",
559
+ "description": "Indicates the index of the currently displayed result version.\n\nThe index is **0-based** (i.e. `0` represents the first result).\nThis property is synchronized with the parent AI TextArea component.",
560
+ "value": { "type": "number", "default": "0" }
561
+ },
562
+ {
563
+ "name": "total-versions",
564
+ "description": "Indicates the total number of result versions available.\n\nThis property determines whether version navigation controls are displayed.\nWhen totalVersions > 0, previous/next buttons become available.",
565
+ "value": { "type": "number", "default": "0" }
566
+ }
567
+ ],
568
+ "events": [
569
+ {
570
+ "name": "version-change",
571
+ "description": "Fired when the user clicks on version navigation buttons."
572
+ },
573
+ {
574
+ "name": "button-click",
575
+ "description": "Fired when the user clicks on the AI button."
576
+ },
577
+ {
578
+ "name": "stop-generation",
579
+ "description": "Fired when the user clicks on the \"Stop\" button to stop ongoing AI text generation."
580
+ }
581
+ ],
582
+ "js": {
583
+ "properties": [
584
+ {
585
+ "name": "prompt-description",
586
+ "description": "Defines the prompt description of the Writing Assistant.\n\nThis text is displayed in the toolbar to indicate the current or last\nperformed AI action (e.g., \"Generated text\", \"Simplified text\").",
587
+ "value": { "type": "string" }
588
+ },
589
+ {
590
+ "name": "current-version",
591
+ "description": "Indicates the index of the currently displayed result version.\n\nThe index is **0-based** (i.e. `0` represents the first result).\nThis property is synchronized with the parent AI TextArea component.",
592
+ "value": { "type": "number" }
593
+ },
594
+ {
595
+ "name": "total-versions",
596
+ "description": "Indicates the total number of result versions available.\n\nThis property determines whether version navigation controls are displayed.\nWhen totalVersions > 0, previous/next buttons become available.",
597
+ "value": { "type": "number" }
598
+ }
599
+ ],
600
+ "events": [
601
+ {
602
+ "name": "version-change",
603
+ "description": "Fired when the user clicks on version navigation buttons."
604
+ },
605
+ {
606
+ "name": "button-click",
607
+ "description": "Fired when the user clicks on the AI button."
608
+ },
609
+ {
610
+ "name": "stop-generation",
611
+ "description": "Fired when the user clicks on the \"Stop\" button to stop ongoing AI text generation."
612
+ }
613
+ ]
614
+ }
320
615
  }
321
616
  ]
322
617
  },
@@ -8,7 +8,6 @@ const options = {
8
8
  dev: true,
9
9
  internal: {
10
10
  cypress_code_coverage: false,
11
- cypress_acc_tests: false,
12
11
  },
13
12
  };
14
13
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui5/webcomponents-ai",
3
- "version": "0.0.0-dd5d66a9a",
3
+ "version": "0.0.0-e03cd01f3",
4
4
  "description": "UI5 Web Components: webcomponents.ai",
5
5
  "ui5": {
6
6
  "webComponentsPackage": true
@@ -8,8 +8,7 @@
8
8
  "type": "module",
9
9
  "author": "SAP SE (https://www.sap.com)",
10
10
  "license": "Apache-2.0",
11
- "private": false,
12
- "customElements": "./dist/custom-elements.json",
11
+ "customElements": "dist/custom-elements.json",
13
12
  "keywords": [
14
13
  "openui5",
15
14
  "sapui5",
@@ -18,23 +17,22 @@
18
17
  "scripts": {
19
18
  "clean": "wc-dev clean",
20
19
  "lint": "wc-dev lint",
21
- "lint:scope": "nps scope.lint",
20
+ "lint:scope": "wc-dev scope.lint",
22
21
  "start": "wc-dev start",
23
22
  "build": "wc-dev build",
24
23
  "watch": "wc-dev watch",
25
- "generate": "nps generate",
26
- "generateAPI": "nps generateAPI",
27
- "bundle": "nps build.bundle",
24
+ "generate": "wc-dev generate",
25
+ "generateAPI": "wc-dev generateAPI",
26
+ "bundle": "wc-dev build.bundle",
28
27
  "test": "yarn test:cypress",
29
- "test:cypress": "nps test-cy-ci",
28
+ "test:cypress": "wc-dev test-cy-ci",
30
29
  "test:cypress:single": "npx cypress run --component --browser chrome --spec",
31
- "test:cypress:open": "nps test-cy-open",
30
+ "test:cypress:open": "wc-dev test-cy-open",
32
31
  "test:ssr": "node -e \"import('./test/ssr/component-imports.js')\"",
33
32
  "create-ui5-element": "wc-create-ui5-element",
34
33
  "prepublishOnly": "tsc -b"
35
34
  },
36
35
  "exports": {
37
- "./.port": "./.port",
38
36
  "./src/*": "./src/*",
39
37
  "./dist/*": "./dist/*",
40
38
  "./package.json": "./package.json",
@@ -48,13 +46,17 @@
48
46
  "directory": "packages/ai"
49
47
  },
50
48
  "dependencies": {
51
- "@ui5/webcomponents": "0.0.0-dd5d66a9a",
52
- "@ui5/webcomponents-base": "0.0.0-dd5d66a9a",
53
- "@ui5/webcomponents-icons": "0.0.0-dd5d66a9a",
54
- "@ui5/webcomponents-theming": "0.0.0-dd5d66a9a"
49
+ "@ui5/webcomponents": "0.0.0-e03cd01f3",
50
+ "@ui5/webcomponents-base": "0.0.0-e03cd01f3",
51
+ "@ui5/webcomponents-icons": "0.0.0-e03cd01f3",
52
+ "@ui5/webcomponents-theming": "0.0.0-e03cd01f3"
55
53
  },
56
54
  "devDependencies": {
57
- "@ui5/cypress-internal": "0.0.0",
58
- "@ui5/webcomponents-tools": "0.0.0-dd5d66a9a"
59
- }
60
- }
55
+ "@custom-elements-manifest/analyzer": "^0.10.10",
56
+ "@ui5/cypress-internal": "0.1.0",
57
+ "@ui5/webcomponents-tools": "0.0.0-e03cd01f3",
58
+ "cypress": "^15.3.0",
59
+ "vite": "5.4.21"
60
+ },
61
+ "gitHead": "f28ab61f9c4395563d4664b411455d7c28f47597"
62
+ }