@ui5/webcomponents-ai 0.0.0-6827fdc09 → 0.0.0-6daff23a5

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 (218) hide show
  1. package/.ui5-cem-aliases.json +4 -0
  2. package/CHANGELOG.md +403 -0
  3. package/LICENSE.txt +201 -0
  4. package/README.md +10 -8
  5. package/dist/.tsbuildinfo +1 -1
  6. package/dist/Assets-fetch.d.ts +3 -0
  7. package/dist/Assets-fetch.js +6 -0
  8. package/dist/Assets-fetch.js.map +1 -0
  9. package/dist/Assets-node.d.ts +14 -0
  10. package/dist/Assets-node.js +17 -0
  11. package/dist/Assets-node.js.map +1 -0
  12. package/dist/Button.d.ts +37 -0
  13. package/dist/Button.js +56 -2
  14. package/dist/Button.js.map +1 -1
  15. package/dist/ButtonTemplate.js +1 -1
  16. package/dist/ButtonTemplate.js.map +1 -1
  17. package/dist/Input.d.ts +143 -0
  18. package/dist/Input.js +288 -0
  19. package/dist/Input.js.map +1 -0
  20. package/dist/InputTemplate.d.ts +10 -0
  21. package/dist/InputTemplate.js +28 -0
  22. package/dist/InputTemplate.js.map +1 -0
  23. package/dist/TextArea.d.ts +118 -0
  24. package/dist/TextArea.js +230 -0
  25. package/dist/TextArea.js.map +1 -0
  26. package/dist/TextAreaTemplate.d.ts +2 -0
  27. package/dist/TextAreaTemplate.js +13 -0
  28. package/dist/TextAreaTemplate.js.map +1 -0
  29. package/dist/ToolbarLabel.d.ts +39 -0
  30. package/dist/ToolbarLabel.js +67 -0
  31. package/dist/ToolbarLabel.js.map +1 -0
  32. package/dist/ToolbarLabelTemplate.d.ts +2 -0
  33. package/dist/ToolbarLabelTemplate.js +5 -0
  34. package/dist/ToolbarLabelTemplate.js.map +1 -0
  35. package/dist/Versioning.d.ts +95 -0
  36. package/dist/Versioning.js +187 -0
  37. package/dist/Versioning.js.map +1 -0
  38. package/dist/VersioningTemplate.d.ts +4 -0
  39. package/dist/VersioningTemplate.js +9 -0
  40. package/dist/VersioningTemplate.js.map +1 -0
  41. package/dist/WritingAssistant.d.ts +100 -0
  42. package/dist/WritingAssistant.js +197 -0
  43. package/dist/WritingAssistant.js.map +1 -0
  44. package/dist/WritingAssistantTemplate.d.ts +2 -0
  45. package/dist/WritingAssistantTemplate.js +12 -0
  46. package/dist/WritingAssistantTemplate.js.map +1 -0
  47. package/dist/bundle.esm.js +2 -0
  48. package/dist/bundle.esm.js.map +1 -1
  49. package/dist/css/themes/Button.css +1 -1
  50. package/dist/css/themes/Input.css +1 -0
  51. package/dist/css/themes/PromptInput.css +1 -1
  52. package/dist/css/themes/TextArea.css +1 -0
  53. package/dist/css/themes/Versioning.css +1 -0
  54. package/dist/css/themes/WritingAssistant.css +1 -0
  55. package/dist/custom-elements-internal.json +427 -0
  56. package/dist/custom-elements.json +368 -0
  57. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  58. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  59. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  60. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  61. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  62. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  63. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  64. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  65. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  66. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  67. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  68. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  69. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  70. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  71. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  72. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  73. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  74. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  75. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  76. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  77. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  78. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  79. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  80. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  81. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  82. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  83. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  84. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  85. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  86. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  87. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  88. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  89. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  91. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  92. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  96. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  97. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  98. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  99. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  100. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  105. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  108. package/dist/generated/i18n/i18n-defaults.d.ts +15 -1
  109. package/dist/generated/i18n/i18n-defaults.js +15 -1
  110. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  111. package/dist/generated/json-imports/Themes-fetch.js +1 -1
  112. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  113. package/dist/generated/json-imports/Themes-node.d.ts +1 -0
  114. package/dist/generated/json-imports/Themes-node.js +21 -0
  115. package/dist/generated/json-imports/Themes-node.js.map +1 -0
  116. package/dist/generated/json-imports/Themes.js +1 -1
  117. package/dist/generated/json-imports/Themes.js.map +1 -1
  118. package/dist/generated/json-imports/i18n-fetch.js +1 -1
  119. package/dist/generated/json-imports/i18n-fetch.js.map +1 -1
  120. package/dist/generated/json-imports/i18n-node.d.ts +1 -0
  121. package/dist/generated/json-imports/i18n-node.js +120 -0
  122. package/dist/generated/json-imports/i18n-node.js.map +1 -0
  123. package/dist/generated/json-imports/i18n.js +1 -1
  124. package/dist/generated/json-imports/i18n.js.map +1 -1
  125. package/dist/generated/themes/Button.css.d.ts +1 -1
  126. package/dist/generated/themes/Button.css.js +3 -3
  127. package/dist/generated/themes/Button.css.js.map +1 -1
  128. package/dist/generated/themes/Input.css.d.ts +2 -0
  129. package/dist/generated/themes/Input.css.js +8 -0
  130. package/dist/generated/themes/Input.css.js.map +1 -0
  131. package/dist/generated/themes/PromptInput.css.d.ts +1 -1
  132. package/dist/generated/themes/PromptInput.css.js +3 -3
  133. package/dist/generated/themes/PromptInput.css.js.map +1 -1
  134. package/dist/generated/themes/TextArea.css.d.ts +2 -0
  135. package/dist/generated/themes/TextArea.css.js +8 -0
  136. package/dist/generated/themes/TextArea.css.js.map +1 -0
  137. package/dist/generated/themes/Versioning.css.d.ts +2 -0
  138. package/dist/generated/themes/Versioning.css.js +8 -0
  139. package/dist/generated/themes/Versioning.css.js.map +1 -0
  140. package/dist/generated/themes/WritingAssistant.css.d.ts +2 -0
  141. package/dist/generated/themes/WritingAssistant.css.js +8 -0
  142. package/dist/generated/themes/WritingAssistant.css.js.map +1 -0
  143. package/dist/vscode.html-custom-data.json +54 -0
  144. package/dist/web-types.json +174 -1
  145. package/package-scripts.cjs +0 -1
  146. package/package.json +24 -21
  147. package/src/ButtonTemplate.tsx +1 -0
  148. package/src/InputTemplate.tsx +197 -0
  149. package/src/TextArea.css +45 -0
  150. package/src/TextAreaTemplate.tsx +90 -0
  151. package/src/ToolbarLabelTemplate.tsx +9 -0
  152. package/src/VersioningTemplate.tsx +34 -0
  153. package/src/WritingAssistantTemplate.tsx +49 -0
  154. package/src/i18n/messagebundle.properties +43 -1
  155. package/src/i18n/messagebundle_ar.properties +20 -0
  156. package/src/i18n/messagebundle_bg.properties +20 -0
  157. package/src/i18n/messagebundle_ca.properties +20 -0
  158. package/src/i18n/messagebundle_cnr.properties +20 -0
  159. package/src/i18n/messagebundle_cs.properties +20 -0
  160. package/src/i18n/messagebundle_cy.properties +20 -0
  161. package/src/i18n/messagebundle_da.properties +20 -0
  162. package/src/i18n/messagebundle_de.properties +20 -0
  163. package/src/i18n/messagebundle_el.properties +20 -0
  164. package/src/i18n/messagebundle_en.properties +20 -0
  165. package/src/i18n/messagebundle_en_GB.properties +20 -0
  166. package/src/i18n/messagebundle_en_US_sappsd.properties +28 -0
  167. package/src/i18n/messagebundle_en_US_saprigi.properties +28 -0
  168. package/src/i18n/messagebundle_en_US_saptrc.properties +28 -0
  169. package/src/i18n/messagebundle_es.properties +20 -0
  170. package/src/i18n/messagebundle_es_MX.properties +21 -1
  171. package/src/i18n/messagebundle_et.properties +20 -0
  172. package/src/i18n/messagebundle_fi.properties +20 -0
  173. package/src/i18n/messagebundle_fr.properties +20 -0
  174. package/src/i18n/messagebundle_fr_CA.properties +20 -0
  175. package/src/i18n/messagebundle_hi.properties +20 -0
  176. package/src/i18n/messagebundle_hr.properties +22 -2
  177. package/src/i18n/messagebundle_hu.properties +20 -0
  178. package/src/i18n/messagebundle_id.properties +20 -0
  179. package/src/i18n/messagebundle_it.properties +20 -0
  180. package/src/i18n/messagebundle_iw.properties +20 -0
  181. package/src/i18n/messagebundle_ja.properties +20 -0
  182. package/src/i18n/messagebundle_kk.properties +20 -0
  183. package/src/i18n/messagebundle_ko.properties +20 -0
  184. package/src/i18n/messagebundle_lt.properties +20 -0
  185. package/src/i18n/messagebundle_lv.properties +20 -0
  186. package/src/i18n/messagebundle_mk.properties +20 -0
  187. package/src/i18n/messagebundle_ms.properties +20 -0
  188. package/src/i18n/messagebundle_nl.properties +20 -0
  189. package/src/i18n/messagebundle_no.properties +20 -0
  190. package/src/i18n/messagebundle_pl.properties +20 -0
  191. package/src/i18n/messagebundle_pt.properties +20 -0
  192. package/src/i18n/messagebundle_pt_PT.properties +20 -0
  193. package/src/i18n/messagebundle_ro.properties +20 -0
  194. package/src/i18n/messagebundle_ru.properties +20 -0
  195. package/src/i18n/messagebundle_sh.properties +20 -0
  196. package/src/i18n/messagebundle_sk.properties +20 -0
  197. package/src/i18n/messagebundle_sl.properties +20 -0
  198. package/src/i18n/messagebundle_sr.properties +20 -0
  199. package/src/i18n/messagebundle_sv.properties +20 -0
  200. package/src/i18n/messagebundle_th.properties +22 -2
  201. package/src/i18n/messagebundle_tr.properties +20 -0
  202. package/src/i18n/messagebundle_uk.properties +20 -0
  203. package/src/i18n/messagebundle_vi.properties +20 -0
  204. package/src/i18n/messagebundle_zh_CN.properties +20 -0
  205. package/src/i18n/messagebundle_zh_TW.properties +20 -0
  206. package/src/themes/Input.css +83 -0
  207. package/src/themes/PromptInput.css +5 -1
  208. package/src/themes/TextArea.css +45 -0
  209. package/src/themes/Versioning.css +20 -0
  210. package/src/themes/WritingAssistant.css +45 -0
  211. package/tsconfig.json +6 -0
  212. package/coverage/lcov-report/src/generated/themes/Button.css.ts.html +0 -109
  213. package/coverage/lcov-report/src/generated/themes/index.html +0 -116
  214. package/cypress/specs/Button.cy.tsx +0 -14
  215. package/cypress/support/commands.ts +0 -40
  216. package/cypress/support/component-index.html +0 -12
  217. package/cypress/support/component.ts +0 -17
  218. package/cypress/tsconfig.json +0 -47
@@ -2,3 +2,23 @@
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
+ VERSIONING_PREVIOUS_BUTTON_TEXT=Попередня версія
11
+
12
+ VERSIONING_NEXT_BUTTON_TEXT=Наступна версія
13
+
14
+ WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=Зупинити генерування (ESC)
15
+
16
+ WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=Панель інструментів майстра заповнення
17
+
18
+ WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=Майстер заповнення
19
+
20
+ WRITING_ASSISTANT_BUTTON_TOOLTIP=Майстер заповнення (Shift + F4)
21
+
22
+ VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Попередня версія
23
+
24
+ VERSIONING_NEXT_BUTTON_TOOLTIP=Наступна версія
@@ -2,3 +2,23 @@
2
2
  PROMPT_INPUT_CHARACTERS_LEFT=còn lại {0} ký tự
3
3
 
4
4
  PROMPT_INPUT_CHARACTERS_EXCEEDED={0} ký tự quá giới hạn
5
+
6
+ BUTTON_TOOLTIP_TEXT={0} có Trí tuệ nhân tạo
7
+
8
+ WRITING_ASSISTANT_LABEL=Thanh công cụ trợ lý soạn thảo Shift + F4
9
+
10
+ VERSIONING_PREVIOUS_BUTTON_TEXT=Phiên bản trước
11
+
12
+ VERSIONING_NEXT_BUTTON_TEXT=Phiên bản tiếp theo
13
+
14
+ WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=Dừng tạo (ESC)
15
+
16
+ WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=Thanh công cụ trợ lý soạn thảo
17
+
18
+ WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=Trợ lý soạn thảo
19
+
20
+ WRITING_ASSISTANT_BUTTON_TOOLTIP=Trợ lý soạn thảo (Shift + F4)
21
+
22
+ VERSIONING_PREVIOUS_BUTTON_TOOLTIP=Phiên bản trước
23
+
24
+ VERSIONING_NEXT_BUTTON_TOOLTIP=Phiên bản tiếp theo
@@ -2,3 +2,23 @@
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
+ VERSIONING_PREVIOUS_BUTTON_TEXT=上一版本
11
+
12
+ VERSIONING_NEXT_BUTTON_TEXT=下一版本
13
+
14
+ WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=停止生成 (ESC)
15
+
16
+ WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=写作助手工具栏
17
+
18
+ WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=写作助手
19
+
20
+ WRITING_ASSISTANT_BUTTON_TOOLTIP=写作助手 (Shift + F4)
21
+
22
+ VERSIONING_PREVIOUS_BUTTON_TOOLTIP=上一版本
23
+
24
+ VERSIONING_NEXT_BUTTON_TOOLTIP=下一版本
@@ -2,3 +2,23 @@
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
+ VERSIONING_PREVIOUS_BUTTON_TEXT=上一個版本
11
+
12
+ VERSIONING_NEXT_BUTTON_TEXT=下一個版本
13
+
14
+ WRITING_ASSISTANT_GENERATING_ANNOUNCEMENT=停止產生 (ESC)
15
+
16
+ WRITING_ASSISTANT_TOOLBAR_ACCESSIBLE_NAME=書寫助手工具列
17
+
18
+ WRITING_ASSISTANT_BUTTON_ACCESSIBLE_NAME=書寫助手
19
+
20
+ WRITING_ASSISTANT_BUTTON_TOOLTIP=書寫助手 (Shift + F4)
21
+
22
+ VERSIONING_PREVIOUS_BUTTON_TOOLTIP=上一個版本
23
+
24
+ VERSIONING_NEXT_BUTTON_TOOLTIP=下一個版本
@@ -0,0 +1,83 @@
1
+ /* root*/
2
+ .ui5-ai-input-root {
3
+ width: 100%;
4
+ height: 100%;
5
+ border-right: none;
6
+ }
7
+
8
+ :host([focused]:not([opened])[_is-menu-open]) .ui5-ai-input-root:hover {
9
+ border-radius: var(--_ui5_input_border_radius);
10
+ box-shadow: var(--sapField_Hover_Shadow);
11
+ }
12
+
13
+ :host([focused]:not([opened])[_is-menu-open]) .ui5-input-focusable-element::after {
14
+ border: var(--_ui5-input-border);
15
+ }
16
+
17
+ .ui5-input-busy-indicator {
18
+ flex: 1;
19
+ width: 100%;
20
+ height: 100%;
21
+ position: relative;
22
+ box-sizing: border-box;
23
+ display: block;
24
+ }
25
+
26
+ .ui5-ai-input-busy .ui5-ai-input-button-wrapper {
27
+ background-color: inherit;
28
+ border: none;
29
+ }
30
+
31
+ .ui5-ai-input-button-wrapper {
32
+ display: flex;
33
+ justify-content: center;
34
+ align-items: center;
35
+ width: var(--_ui5_input_icon_width);
36
+ min-width: var(--_ui5_input_icon_width);
37
+ height: var(--_ui5_input_icon_wrapper_height);
38
+ padding: 0;
39
+ box-sizing: border-box;
40
+ border-radius: var(--_ui5_input_border_radius);
41
+ cursor: pointer;
42
+ border: none;
43
+ }
44
+
45
+ /* Hidden state */
46
+ .ui5-input-ai-button[hidden] {
47
+ display: none;
48
+ }
49
+
50
+ /* Active / Open / Loading states */
51
+ .ui5-ai-input-button-wrapper.ui5-input-button-menu-open,
52
+ .ui5-ai-input-button-wrapper:active {
53
+ background-color: var(--sapButton_Selected_Background);
54
+ box-shadow: var(--sapField_Hover_Shadow);
55
+ color: var(--sapButton_Selected_TextColor);
56
+ }
57
+
58
+ /* Hover state */
59
+ .ui5-ai-input-button-wrapper:not(.ui5-input-button-menu-open):not(.ui5-ai-input-loading):not(:active):hover,
60
+ .ui5-ai-input-button-wrapper.ui5-ai-input-loading:hover {
61
+ background-color: var(--sapButton_Hover_Background);
62
+ border: 1px solid var(--sapButton_Hover_BorderColor);
63
+ box-shadow: inset 0 0 0 0.0625rem var(--sapContent_Neutral_Shadow);
64
+ }
65
+
66
+ /* menu & versioning */
67
+
68
+ .ui5-input-button-menu-open {
69
+ background-color: var(--sapButton_Selected_Background);
70
+ box-shadow: var(--sapField_Hover_Shadow);
71
+ }
72
+
73
+ [ui5-menu-item].ui5-ai-versioning-menu-footer:hover {
74
+ background-color: inherit;
75
+ }
76
+
77
+ .ui5-ai-versioning-menu-footer::part(native-li) {
78
+ padding-right: 0.25rem;
79
+ }
80
+
81
+ #ai-menu-btn {
82
+ --_ui5_button_focused_border: none;
83
+ }
@@ -1,3 +1,7 @@
1
+ :host(:not([hidden])) {
2
+ display: inline-block;
3
+ }
4
+
1
5
  .ai-prompt-input-button {
2
6
  margin-left: .5rem;
3
7
  margin-top: 3px;
@@ -6,7 +10,7 @@
6
10
  .ai-prompt-input-wrapper {
7
11
  display: flex;
8
12
  flex-direction: column;
9
- width: 270px;
13
+ min-width: 270px;
10
14
  }
11
15
 
12
16
  .ai-prompt-input-form-wrapper {
@@ -0,0 +1,45 @@
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 {
24
+ background: var(--_ui5_texteditor_toolbar_background, var(--sapPageFooter_Background));
25
+ width: 100%;
26
+ box-sizing: border-box;
27
+ box-shadow: none;
28
+ border-bottom: none;
29
+ border-top: none;
30
+ }
31
+
32
+ .ui5-ai-writing-assistant-footer-bar--with-border {
33
+ border-top: 1px solid var(--sapPageFooter_BorderColor);
34
+ }
35
+
36
+ .ui5-ai-writing-assistant-action-label {
37
+ margin-left: 0.5rem;
38
+ color: var(--sapContent_LabelColor);
39
+ font-size: var(--sapFontSmallSize);
40
+ }
41
+
42
+ #ai-menu-wrapper {
43
+ position: relative;
44
+ z-index: 1000;
45
+ }
@@ -0,0 +1,20 @@
1
+ :host {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ }
5
+
6
+ #versioning-history {
7
+ display: flex;
8
+ align-items: center;
9
+ gap: 0;
10
+ }
11
+
12
+ .version-step-counter {
13
+ margin: 0 0.25rem;
14
+ display: flex;
15
+ align-items: center;
16
+ color: var(--sapContent_LabelColor);
17
+ font-size: var(--sapFontSmallSize);
18
+ line-height: 1;
19
+ }
20
+
@@ -0,0 +1,45 @@
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
+ width: 100%;
18
+ margin-top: auto;
19
+ flex-shrink: 0;
20
+ }
21
+
22
+ .ui5-ai-writing-assistant-footer-bar {
23
+ background: var(--_ui5_texteditor_toolbar_background, var(--sapPageFooter_Background));
24
+ width: 100%;
25
+ box-sizing: border-box;
26
+ box-shadow: none;
27
+ border-bottom: none;
28
+ border-top: none;
29
+ padding: 0.5rem;
30
+ min-height: 2.75rem;
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: flex-start;
34
+ }
35
+
36
+ .ui5-ai-writing-assistant-footer-bar--with-border {
37
+ border-top: 1px solid var(--sapPageFooter_BorderColor);
38
+ }
39
+
40
+ .ui5-ai-writing-assistant-action-label {
41
+ color: var(--sapContent_LabelColor);
42
+ font-size: var(--sapFontSize);
43
+ font-family: "72override", var(--sapFontFamily);
44
+ margin-left: 0.25rem;
45
+ }
package/tsconfig.json CHANGED
@@ -17,6 +17,9 @@
17
17
  "@ui5/webcomponents-base/dist/*": [
18
18
  "../base/src/*"
19
19
  ],
20
+ "@ui5/webcomponents/dist/*": [
21
+ "../main/src/*"
22
+ ],
20
23
  "@ui5/webcomponents-localization/dist/*": [
21
24
  "../localization/src/*"
22
25
  ],
@@ -38,6 +41,9 @@
38
41
  {
39
42
  "path": "../base"
40
43
  },
44
+ {
45
+ "path": "../main"
46
+ },
41
47
  {
42
48
  "path": "../localization"
43
49
  },
@@ -1,109 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/generated/themes/Button.css.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/generated/themes</a> Button.css.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>4/4</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>2/2</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
75
- <span class="cline-any cline-neutral">&nbsp;</span>
76
- <span class="cline-any cline-neutral">&nbsp;</span>
77
- <span class="cline-any cline-neutral">&nbsp;</span>
78
- <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">2x</span>
80
- <span class="cline-any cline-yes">2x</span>
81
- <span class="cline-any cline-neutral">&nbsp;</span>
82
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { registerThemePropertiesLoader } from "@ui5/webcomponents-base/dist/asset-registries/Themes.js";
83
- &nbsp;
84
- import defaultThemeBase from "@ui5/webcomponents-theming/dist/generated/themes/sap_horizon/parameters-bundle.css.js";
85
- import defaultTheme from "./sap_horizon/parameters-bundle.css.js";
86
- &nbsp;
87
- registerThemePropertiesLoader("@ui5/webcomponents-theming", "sap_horizon", async () =&gt; defaultThemeBase);
88
- registerThemePropertiesLoader("@ui5/webcomponents-ai", "sap_horizon", async () =&gt; defaultTheme);
89
- export default `:host{display:inline-block}:host([disabled]){pointer-events:none}.ui5-ai-button-text{display:inline-block}:host([icon-only]) .ui5-ai-button-text{min-width:0;margin-inline-start:0}.ui5-ai-button-hidden{position:absolute;top:-10000px;left:-10000px;visibility:hidden;display:block;width:fit-content}:host .ui5-ai-button-inner{width:100%}:host{width:auto;position:relative;transition:width .18s cubic-bezier(.67,1,.95,1.3) .12s}:host([icon-only]) .ui5-ai-button-inner[_end-icon=""]::part(textButton),:host(.ui5-ai-button-menu-to-button[icon-only]) .ui5-ai-button-inner::part(textButton){min-width:var(--_ui5-v2-7-0-rc-1_button_base_min_width)!important;max-width:var(--_ui5-v2-7-0-rc-1_button_base_min_width)!important}:host(.ui5-ai-button-menu-to-button) .ui5-ai-button-inner::part(button),:host(.ui5-ai-button-fade-out:not([icon-only])) .ui5-ai-button-inner::part(button){justify-content:flex-start}:host([icon-only]) .ui5-ai-button-inner[_end-icon]:not([_end-icon=""])::part(button),:host([icon-only]) .ui5-ai-button-inner[_hide-arrow-button]::part(button){justify-content:flex-start;padding-inline-start:var(--_ui5-v2-7-0-rc-1_button_base_padding)}:host(.ui5-ai-button-fade-in[icon-only]) .ui5-ai-button-inner[_end-icon=""]::part(button){max-width:var(--_ui5-v2-7-0-rc-1_button_base_min_width)}:host([icon-only]) .ui5-ai-button-inner[_end-icon=""]::part(textButton),:host(.ui5-ai-button-menu-to-button[icon-only]) .ui5-ai-button-inner::part(textButton){min-width:var(--_ui5-v2-7-0-rc-1_button_base_min_width);max-width:var(--_ui5-v2-7-0-rc-1_button_base_min_width)}:host(:not(.ui5-ai-button-fade-out):not(.ui5-ai-button-fade-mid):not(.ui5-ai-button-fade-in)) .ui5-ai-button-text,:host(:not(.ui5-ai-button-fade-out):not(.ui5-ai-button-fade-mid):not(.ui5-ai-button-fade-in)) ::part(endIcon),:host(:not(.ui5-ai-button-fade-out):not(.ui5-ai-button-fade-mid):not(.ui5-ai-button-fade-in)) ::part(arrowButton){opacity:1;transform:translateY(0)}:host(.ui5-ai-button-button-to-menu) .ui5-ai-button-inner::part(endIcon),:host(.ui5-ai-button-button-to-menu) .ui5-ai-button-inner::part(arrowButton){display:none;transform:translateY(0);opacity:0}:host(.ui5-ai-button-fade-out) .ui5-ai-button-text{opacity:0;transform:translateY(-1rem);transition:opacity .06s ease-in-out .12s,transform .08s ease-in-out .12s}:host(.ui5-ai-button-fade-out) ::part(icon){opacity:0;transform:translateY(-1rem);transition:opacity .05s ease-in-out 25ms,transform .1s ease-in-out 0s}:host(.ui5-ai-button-fade-out) ::part(endIcon){opacity:0;transform:translateY(-1rem);transition:opacity .06s ease-in-out .12s,transform .08s ease-in-out .12s}:host(.ui5-ai-button-fade-mid) .ui5-ai-button-text,:host(.ui5-ai-button-fade-mid) ::part(icon),:host(.ui5-ai-button-fade-mid) ::part(endIcon),:host(.ui5-ai-button-fade-mid) ::part(arrowButton){opacity:0;transform:translateY(1rem);transition:none}:host(.ui5-ai-button-fade-in) .ui5-ai-button-text{opacity:1;transform:translateY(0);transition:opacity .06s ease-in-out .12s,transform .08s ease-in-out .12s}:host(.ui5-ai-button-fade-in) ::part(icon){opacity:1;transform:translateY(0);transition:opacity .05s ease-in-out 25ms,transform .1s ease-in-out 0s}:host(.ui5-ai-button-fade-in) ::part(endIcon){opacity:1;transform:translateY(0);transition:opacity .06s ease-in-out .12s,transform .08s ease-in-out .12s}
90
- `</pre></td></tr></table></pre>
91
-
92
- <div class='push'></div><!-- for sticky footer -->
93
- </div><!-- /wrapper -->
94
- <div class='footer quiet pad2 space-top1 center small'>
95
- Code coverage generated by
96
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
97
- at 2025-01-25T14:47:45.733Z
98
- </div>
99
- <script src="../../../prettify.js"></script>
100
- <script>
101
- window.onload = function () {
102
- prettyPrint();
103
- };
104
- </script>
105
- <script src="../../../sorter.js"></script>
106
- <script src="../../../block-navigation.js"></script>
107
- </body>
108
- </html>
109
-
@@ -1,116 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/generated/themes</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> src/generated/themes</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>4/4</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>2/2</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <div class="pad1">
66
- <table class="coverage-summary">
67
- <thead>
68
- <tr>
69
- <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
- <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
- <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
- <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
- <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
- <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
- <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
- <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
- <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
- <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
- </tr>
80
- </thead>
81
- <tbody><tr>
82
- <td class="file high" data-value="Button.css.ts"><a href="Button.css.ts.html">Button.css.ts</a></td>
83
- <td data-value="100" class="pic high">
84
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
- </td>
86
- <td data-value="100" class="pct high">100%</td>
87
- <td data-value="4" class="abs high">4/4</td>
88
- <td data-value="100" class="pct high">100%</td>
89
- <td data-value="0" class="abs high">0/0</td>
90
- <td data-value="100" class="pct high">100%</td>
91
- <td data-value="2" class="abs high">2/2</td>
92
- <td data-value="100" class="pct high">100%</td>
93
- <td data-value="2" class="abs high">2/2</td>
94
- </tr>
95
-
96
- </tbody>
97
- </table>
98
- </div>
99
- <div class='push'></div><!-- for sticky footer -->
100
- </div><!-- /wrapper -->
101
- <div class='footer quiet pad2 space-top1 center small'>
102
- Code coverage generated by
103
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-01-25T14:47:45.733Z
105
- </div>
106
- <script src="../../../prettify.js"></script>
107
- <script>
108
- window.onload = function () {
109
- prettyPrint();
110
- };
111
- </script>
112
- <script src="../../../sorter.js"></script>
113
- <script src="../../../block-navigation.js"></script>
114
- </body>
115
- </html>
116
-
@@ -1,14 +0,0 @@
1
- import Button from "../../src/Button.js";
2
- import ButtonState from "../../src/ButtonState.js";
3
-
4
- describe("Initial rendering", () => {
5
- it("tests no config provided", () => {
6
- cy.mount(
7
- <Button>
8
- <ButtonState name="generate" text="Generate" icon="ai">Click me</ButtonState>
9
- <ButtonState name="generating" text="Stop Generating" icon="stop">Click me</ButtonState>
10
- <ButtonState name="revise" text="Revise" icon="ai">Click me</ButtonState>
11
- </Button>
12
- );
13
- });
14
- });
@@ -1,40 +0,0 @@
1
- /// <reference types="cypress" />
2
- // ***********************************************
3
- // This example commands.ts shows you how to
4
- // create various custom commands and overwrite
5
- // existing commands.
6
- //
7
- // For more comprehensive examples of custom
8
- // commands please read more here:
9
- // https://on.cypress.io/custom-commands
10
- // ***********************************************
11
- //
12
- //
13
- // -- This is a parent command --
14
- // Cypress.Commands.add('login', (email, password) => { ... })
15
- //
16
- //
17
- // -- This is a child command --
18
- // Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
19
- //
20
- //
21
- // -- This is a dual command --
22
- // Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
23
- //
24
- //
25
- // -- This will overwrite an existing command --
26
- // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
27
- //
28
- // declare global {
29
- // namespace Cypress {
30
- // interface Chainable {
31
- // login(email: string, password: string): Chainable<void>
32
- // drag(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
33
- // dismiss(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
34
- // visit(originalFn: CommandOriginalFn, url: string, options: Partial<VisitOptions>): Chainable<Element>
35
- // }
36
- // }
37
- // }
38
-
39
- import "@ui5/cypress-internal/commands.js";
40
- import "../../../main/cypress/support/commands.js";
@@ -1,12 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
- <title>Components App</title>
8
- </head>
9
- <body>
10
- <div data-cy-root></div>
11
- </body>
12
- </html>
@@ -1,17 +0,0 @@
1
- // ***********************************************************
2
- // This example support/component.ts is processed and
3
- // loaded automatically before your test files.
4
- //
5
- // This is a great place to put global configuration and
6
- // behavior that modifies Cypress.
7
- //
8
- // You can change the location of this file or turn off
9
- // automatically serving support files with the
10
- // 'supportFile' configuration option.
11
- //
12
- // You can read more here:
13
- // https://on.cypress.io/configuration
14
- // ***********************************************************
15
-
16
- // Import commands.js using ES2015 syntax:
17
- import './commands'