@openui5/sap.ui.integration 1.93.3 → 1.96.2

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 (293) hide show
  1. package/.reuse/dep5 +6 -11
  2. package/THIRDPARTY.txt +10 -16
  3. package/package.json +3 -3
  4. package/src/sap/ui/integration/.library +7 -2
  5. package/src/sap/ui/integration/ActionDefinition.js +1 -1
  6. package/src/sap/ui/integration/Designtime.js +1 -1
  7. package/src/sap/ui/integration/Extension.js +1 -1
  8. package/src/sap/ui/integration/Host.js +71 -8
  9. package/src/sap/ui/integration/cards/AdaptiveContent.js +18 -25
  10. package/src/sap/ui/integration/cards/AnalyticalContent.js +178 -147
  11. package/src/sap/ui/integration/cards/AnalyticsCloudContent.js +3 -2
  12. package/src/sap/ui/integration/cards/BaseContent.js +11 -2
  13. package/src/sap/ui/integration/cards/BaseListContent.js +23 -3
  14. package/src/sap/ui/integration/cards/CalendarContent.js +2 -2
  15. package/src/sap/ui/integration/cards/CalendarContentRenderer.js +8 -3
  16. package/src/sap/ui/integration/cards/ComponentContent.js +1 -1
  17. package/src/sap/ui/integration/cards/Footer.js +1 -1
  18. package/src/sap/ui/integration/cards/Header.js +7 -1
  19. package/src/sap/ui/integration/cards/ListContent.js +37 -13
  20. package/src/sap/ui/integration/cards/ListContentRenderer.js +38 -7
  21. package/src/sap/ui/integration/cards/NumericHeader.js +9 -2
  22. package/src/sap/ui/integration/cards/ObjectContent.js +1 -1
  23. package/src/sap/ui/integration/cards/TableContent.js +9 -2
  24. package/src/sap/ui/integration/cards/TimelineContent.js +1 -1
  25. package/src/sap/ui/integration/cards/WebPageContent.js +1 -1
  26. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputChoiceSet.js +1 -1
  27. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputDate.js +1 -1
  28. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputNumber.js +12 -5
  29. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputText.js +1 -1
  30. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputTime.js +4 -4
  31. package/src/sap/ui/integration/cards/adaptivecards/elements/UI5InputToggle.js +1 -1
  32. package/src/sap/ui/integration/cards/adaptivecards/overwrites/ActionRender.js +2 -2
  33. package/src/sap/ui/integration/cards/{Filter.js → filters/BaseFilter.js} +56 -128
  34. package/src/sap/ui/integration/cards/filters/DateRangeFilter.js +232 -0
  35. package/src/sap/ui/integration/{util → cards/filters}/FilterBarFactory.js +37 -12
  36. package/src/sap/ui/integration/cards/filters/SelectFilter.js +157 -0
  37. package/src/sap/ui/integration/controls/ActionsStrip.js +1 -3
  38. package/src/sap/ui/integration/controls/ActionsToolbar.js +1 -1
  39. package/src/sap/ui/integration/controls/ListContentItem.js +13 -2
  40. package/src/sap/ui/integration/controls/ListContentItemRenderer.js +65 -2
  41. package/src/sap/ui/integration/controls/Microchart.js +1 -1
  42. package/src/sap/ui/integration/controls/MicrochartLegend.js +1 -1
  43. package/src/sap/ui/integration/customElements/CustomElementEditor.js +29 -0
  44. package/src/sap/ui/integration/designtime/baseEditor/BaseEditor.js +26 -1
  45. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditor.js +44 -2
  46. package/src/sap/ui/integration/designtime/baseEditor/PropertyEditors.js +27 -1
  47. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n.properties +34 -25
  48. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ar.properties +19 -13
  49. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_bg.properties +19 -13
  50. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ca.properties +19 -13
  51. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cs.properties +19 -13
  52. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_cy.properties +19 -13
  53. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_da.properties +19 -13
  54. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_de.properties +19 -13
  55. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_el.properties +19 -13
  56. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en.properties +19 -13
  57. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_GB.properties +19 -13
  58. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_sappsd.properties +4 -2
  59. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saprigi.properties +19 -13
  60. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_en_US_saptrc.properties +4 -2
  61. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es.properties +19 -13
  62. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_es_MX.properties +19 -13
  63. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_et.properties +19 -13
  64. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fi.properties +19 -13
  65. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr.properties +19 -13
  66. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_fr_CA.properties +19 -13
  67. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hi.properties +19 -13
  68. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hr.properties +19 -13
  69. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_hu.properties +19 -13
  70. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_id.properties +19 -13
  71. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_it.properties +19 -13
  72. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_iw.properties +19 -13
  73. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ja.properties +19 -13
  74. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_kk.properties +19 -13
  75. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ko.properties +19 -13
  76. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lt.properties +19 -13
  77. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_lv.properties +19 -13
  78. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ms.properties +19 -13
  79. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_nl.properties +19 -13
  80. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_no.properties +19 -13
  81. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pl.properties +19 -13
  82. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt.properties +19 -13
  83. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_pt_PT.properties +19 -13
  84. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ro.properties +19 -13
  85. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_ru.properties +19 -13
  86. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sh.properties +19 -13
  87. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sk.properties +19 -13
  88. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sl.properties +19 -13
  89. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_sv.properties +19 -13
  90. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_th.properties +19 -13
  91. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_tr.properties +19 -13
  92. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_uk.properties +19 -13
  93. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_vi.properties +19 -13
  94. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_CN.properties +19 -13
  95. package/src/sap/ui/integration/designtime/baseEditor/i18n/i18n_zh_TW.properties +19 -13
  96. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/BasePropertyEditor.js +48 -3
  97. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/PropertyEditorFactory.js +2 -2
  98. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/arrayEditor/ArrayEditor.js +4 -1
  99. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/booleanEditor/BooleanEditor.js +4 -1
  100. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.fragment.xml +1 -1
  101. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateEditor/DateEditor.js +65 -17
  102. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.fragment.xml +1 -1
  103. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/dateTimeEditor/DateTimeEditor.js +17 -4
  104. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/enumStringEditor/EnumStringEditor.js +1 -1
  105. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/groupEditor/GroupEditor.js +4 -1
  106. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IconEditor.js +10 -2
  107. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/iconEditor/IsInIconPool.validator.js +1 -1
  108. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/integerEditor/IntegerEditor.js +10 -2
  109. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/jsonEditor/JsonEditor.js +11 -2
  110. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/listEditor/ListEditor.js +1 -1
  111. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.fragment.xml +8 -2
  112. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/mapEditor/MapEditor.js +62 -35
  113. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/numberEditor/NumberEditor.js +10 -2
  114. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/selectEditor/SelectEditor.js +1 -1
  115. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/separatorEditor/SeparatorEditor.js +4 -1
  116. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/stringEditor/StringEditor.js +4 -1
  117. package/src/sap/ui/integration/designtime/baseEditor/propertyEditor/textAreaEditor/TextAreaEditor.js +1 -1
  118. package/src/sap/ui/integration/designtime/baseEditor/util/binding/ObjectBinding.js +1 -1
  119. package/src/sap/ui/integration/designtime/baseEditor/util/unset.js +1 -1
  120. package/src/sap/ui/integration/designtime/baseEditor/validator/IsBoolean.js +1 -1
  121. package/src/sap/ui/integration/designtime/baseEditor/validator/IsDate.js +5 -4
  122. package/src/sap/ui/integration/designtime/baseEditor/validator/IsInteger.js +1 -5
  123. package/src/sap/ui/integration/designtime/baseEditor/validator/IsNumber.js +1 -1
  124. package/src/sap/ui/integration/designtime/baseEditor/validator/IsSelectedKey.js +1 -1
  125. package/src/sap/ui/integration/designtime/baseEditor/validator/IsStringList.js +1 -1
  126. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueKey.js +1 -1
  127. package/src/sap/ui/integration/designtime/baseEditor/validator/IsUniqueList.js +1 -1
  128. package/src/sap/ui/integration/designtime/baseEditor/validator/IsValidBinding.js +1 -1
  129. package/src/sap/ui/integration/designtime/baseEditor/validator/MaxLength.js +1 -1
  130. package/src/sap/ui/integration/designtime/baseEditor/validator/NotABinding.js +1 -1
  131. package/src/sap/ui/integration/designtime/baseEditor/validator/ValidatorRegistry.js +1 -1
  132. package/src/sap/ui/integration/designtime/cardEditor/BASEditor.js +7 -1
  133. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n.properties +6 -0
  134. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ar.properties +4 -0
  135. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_bg.properties +4 -0
  136. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ca.properties +4 -0
  137. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cs.properties +4 -0
  138. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_cy.properties +4 -0
  139. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_da.properties +4 -0
  140. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_de.properties +6 -2
  141. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_el.properties +4 -0
  142. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en.properties +4 -0
  143. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_GB.properties +4 -0
  144. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_sappsd.properties +4 -0
  145. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_saprigi.properties +4 -0
  146. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_en_US_saptrc.properties +4 -0
  147. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es.properties +4 -0
  148. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_es_MX.properties +4 -0
  149. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_et.properties +4 -0
  150. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fi.properties +7 -3
  151. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr.properties +4 -0
  152. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_fr_CA.properties +4 -0
  153. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hi.properties +4 -0
  154. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hr.properties +4 -0
  155. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_hu.properties +4 -0
  156. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_id.properties +4 -0
  157. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_it.properties +4 -0
  158. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_iw.properties +4 -0
  159. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ja.properties +4 -0
  160. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_kk.properties +4 -0
  161. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ko.properties +4 -0
  162. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lt.properties +4 -0
  163. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_lv.properties +4 -0
  164. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ms.properties +4 -0
  165. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_nl.properties +4 -0
  166. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_no.properties +4 -0
  167. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pl.properties +4 -0
  168. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt.properties +4 -0
  169. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_pt_PT.properties +4 -0
  170. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ro.properties +4 -0
  171. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_ru.properties +4 -0
  172. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sh.properties +4 -0
  173. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sk.properties +4 -0
  174. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sl.properties +4 -0
  175. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_sv.properties +4 -0
  176. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_th.properties +4 -0
  177. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_tr.properties +4 -0
  178. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_uk.properties +4 -0
  179. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_vi.properties +4 -0
  180. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_CN.properties +4 -0
  181. package/src/sap/ui/integration/designtime/cardEditor/i18n/i18n_zh_TW.properties +4 -0
  182. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/complexMapEditor/ComplexMapEditor.js +1 -1
  183. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/destinationsEditor/DestinationsEditor.js +1 -1
  184. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/iconEditor/IconEditor.js +11 -1
  185. package/src/sap/ui/integration/designtime/cardEditor/propertyEditor/parametersEditor/ParametersEditor.js +12 -1
  186. package/src/sap/ui/integration/designtime/editor/CardEditor.js +39 -1904
  187. package/src/sap/ui/integration/designtime/editor/CardPreview.js +22 -1
  188. package/src/sap/ui/integration/designtime/editor/css/CardPreview.css +4 -0
  189. package/src/sap/ui/integration/editor/Editor.js +2883 -0
  190. package/src/sap/ui/integration/{designtime/editor/CardResourceBundles.js → editor/EditorResourceBundles.js} +16 -16
  191. package/src/sap/ui/integration/editor/Extension.js +103 -0
  192. package/src/sap/ui/integration/editor/Manifest.js +35 -0
  193. package/src/sap/ui/integration/editor/Merger.js +102 -0
  194. package/src/sap/ui/integration/editor/Settings.js +894 -0
  195. package/src/sap/ui/integration/{designtime/editor/css/CardEditor.css → editor/css/Editor.css} +135 -119
  196. package/src/sap/ui/integration/{designtime/editor → editor}/fields/BaseField.js +91 -149
  197. package/src/sap/ui/integration/{designtime/editor → editor}/fields/BooleanField.js +5 -5
  198. package/src/sap/ui/integration/{designtime/editor → editor}/fields/DateField.js +7 -6
  199. package/src/sap/ui/integration/{designtime/editor → editor}/fields/DateTimeField.js +7 -6
  200. package/src/sap/ui/integration/{designtime/editor → editor}/fields/DestinationField.js +5 -5
  201. package/src/sap/ui/integration/{designtime/editor → editor}/fields/IntegerField.js +5 -10
  202. package/src/sap/ui/integration/{designtime/editor → editor}/fields/ListField.js +43 -45
  203. package/src/sap/ui/integration/{designtime/editor → editor}/fields/NumberField.js +5 -10
  204. package/src/sap/ui/integration/{designtime/editor → editor}/fields/StringField.js +183 -124
  205. package/src/sap/ui/integration/{designtime/editor → editor}/fields/viz/ColorSelect.js +3 -3
  206. package/src/sap/ui/integration/{designtime/editor → editor}/fields/viz/IconSelect.js +28 -25
  207. package/src/sap/ui/integration/{designtime/editor → editor}/fields/viz/ShapeSelect.js +3 -3
  208. package/src/sap/ui/integration/editor/languages.json +51 -0
  209. package/src/sap/ui/integration/{designtime/editor → editor}/themes/base/CardEditor.less +0 -0
  210. package/src/sap/ui/integration/library.js +22 -2
  211. package/src/sap/ui/integration/messagebundle.properties +99 -60
  212. package/src/sap/ui/integration/messagebundle_ar.properties +67 -55
  213. package/src/sap/ui/integration/messagebundle_bg.properties +66 -54
  214. package/src/sap/ui/integration/messagebundle_ca.properties +67 -55
  215. package/src/sap/ui/integration/messagebundle_cs.properties +65 -53
  216. package/src/sap/ui/integration/messagebundle_cy.properties +67 -55
  217. package/src/sap/ui/integration/messagebundle_da.properties +66 -54
  218. package/src/sap/ui/integration/messagebundle_de.properties +66 -54
  219. package/src/sap/ui/integration/messagebundle_el.properties +67 -55
  220. package/src/sap/ui/integration/messagebundle_en.properties +16 -4
  221. package/src/sap/ui/integration/messagebundle_en_GB.properties +42 -30
  222. package/src/sap/ui/integration/messagebundle_en_US_sappsd.properties +16 -4
  223. package/src/sap/ui/integration/messagebundle_en_US_saprigi.properties +81 -55
  224. package/src/sap/ui/integration/messagebundle_en_US_saptrc.properties +16 -4
  225. package/src/sap/ui/integration/messagebundle_es.properties +66 -54
  226. package/src/sap/ui/integration/messagebundle_es_MX.properties +66 -54
  227. package/src/sap/ui/integration/messagebundle_et.properties +65 -53
  228. package/src/sap/ui/integration/messagebundle_fi.properties +66 -54
  229. package/src/sap/ui/integration/messagebundle_fr.properties +65 -53
  230. package/src/sap/ui/integration/messagebundle_fr_CA.properties +65 -53
  231. package/src/sap/ui/integration/messagebundle_hi.properties +67 -55
  232. package/src/sap/ui/integration/messagebundle_hr.properties +66 -54
  233. package/src/sap/ui/integration/messagebundle_hu.properties +66 -54
  234. package/src/sap/ui/integration/messagebundle_id.properties +68 -56
  235. package/src/sap/ui/integration/messagebundle_it.properties +66 -54
  236. package/src/sap/ui/integration/messagebundle_iw.properties +66 -54
  237. package/src/sap/ui/integration/messagebundle_ja.properties +65 -53
  238. package/src/sap/ui/integration/messagebundle_kk.properties +66 -54
  239. package/src/sap/ui/integration/messagebundle_ko.properties +67 -55
  240. package/src/sap/ui/integration/messagebundle_lt.properties +67 -55
  241. package/src/sap/ui/integration/messagebundle_lv.properties +67 -55
  242. package/src/sap/ui/integration/messagebundle_ms.properties +66 -54
  243. package/src/sap/ui/integration/messagebundle_nl.properties +65 -53
  244. package/src/sap/ui/integration/messagebundle_no.properties +66 -54
  245. package/src/sap/ui/integration/messagebundle_pl.properties +66 -54
  246. package/src/sap/ui/integration/messagebundle_pt.properties +66 -54
  247. package/src/sap/ui/integration/messagebundle_pt_PT.properties +66 -54
  248. package/src/sap/ui/integration/messagebundle_ro.properties +66 -54
  249. package/src/sap/ui/integration/messagebundle_ru.properties +67 -55
  250. package/src/sap/ui/integration/messagebundle_sh.properties +66 -54
  251. package/src/sap/ui/integration/messagebundle_sk.properties +66 -54
  252. package/src/sap/ui/integration/messagebundle_sl.properties +67 -55
  253. package/src/sap/ui/integration/messagebundle_sv.properties +66 -54
  254. package/src/sap/ui/integration/messagebundle_th.properties +67 -55
  255. package/src/sap/ui/integration/messagebundle_tr.properties +67 -55
  256. package/src/sap/ui/integration/messagebundle_uk.properties +66 -54
  257. package/src/sap/ui/integration/messagebundle_vi.properties +66 -54
  258. package/src/sap/ui/integration/messagebundle_zh_CN.properties +67 -55
  259. package/src/sap/ui/integration/messagebundle_zh_TW.properties +67 -55
  260. package/src/sap/ui/integration/model/ContextModel.js +1 -1
  261. package/src/sap/ui/integration/model/ObservableModel.js +2 -14
  262. package/src/sap/ui/integration/schemas/adaptive-card.json +2399 -1010
  263. package/src/sap/ui/integration/schemas/sap-card.json +359 -53
  264. package/src/sap/ui/integration/themes/base/AnalyticsCloudContent.less +4 -0
  265. package/src/sap/ui/integration/themes/base/ListContentItem.less +111 -64
  266. package/src/sap/ui/integration/themes/base/Microchart.less +0 -1
  267. package/src/sap/ui/integration/thirdparty/adaptivecards.js +9724 -7530
  268. package/src/sap/ui/integration/util/BaseFactory.js +1 -1
  269. package/src/sap/ui/integration/util/BindingHelper.js +1 -1
  270. package/src/sap/ui/integration/util/BindingResolver.js +1 -1
  271. package/src/sap/ui/integration/util/CacheAndRequestDataProvider.js +75 -24
  272. package/src/sap/ui/integration/util/CardActions.js +1 -1
  273. package/src/sap/ui/integration/util/CardMerger.js +5 -3
  274. package/src/sap/ui/integration/util/CardObserver.js +1 -1
  275. package/src/sap/ui/integration/util/ContentFactory.js +1 -1
  276. package/src/sap/ui/integration/util/DataProvider.js +28 -14
  277. package/src/sap/ui/integration/util/DataProviderFactory.js +39 -8
  278. package/src/sap/ui/integration/util/Destinations.js +1 -1
  279. package/src/sap/ui/integration/util/ExtensionDataProvider.js +1 -1
  280. package/src/sap/ui/integration/util/HeaderFactory.js +8 -7
  281. package/src/sap/ui/integration/util/JSONBindingHelper.js +4 -1
  282. package/src/sap/ui/integration/util/LoadingProvider.js +1 -1
  283. package/src/sap/ui/integration/util/Manifest.js +14 -3
  284. package/src/sap/ui/integration/util/RequestDataProvider.js +6 -4
  285. package/src/sap/ui/integration/util/ServiceDataProvider.js +1 -1
  286. package/src/sap/ui/integration/util/ServiceManager.js +1 -1
  287. package/src/sap/ui/integration/util/Utils.js +1 -1
  288. package/src/sap/ui/integration/widgets/Card.js +164 -71
  289. package/src/sap-ui-integration-card-editor.js +15 -0
  290. package/src/sap-ui-integration-editor.js +4 -2
  291. package/ui5.yaml +4 -1
  292. package/src/sap/ui/integration/designtime/editor/fields/Settings.js +0 -629
  293. package/src/sap/ui/integration/designtime/editor/languages.json +0 -51
@@ -1,1110 +1,2499 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-06/schema#",
3
3
  "id": "http://adaptivecards.io/schemas/adaptive-card.json",
4
- "type": "object",
5
- "title": "Microsoft Adaptive Card Schema",
6
- "additionalProperties": true,
7
- "allOf": [
8
- {
9
- "$ref": "#/definitions/AdaptiveCard"
10
- }
11
- ],
12
- "properties": {
13
- "version": {
4
+ "definitions": {
5
+ "Action.OpenUrl": {
6
+ "description": "When invoked, show the given url either by launching it in an external web browser or showing within an embedded web browser.",
7
+ "properties": {
8
+ "type": {
9
+ "enum": [
10
+ "Action.OpenUrl"
11
+ ],
12
+ "description": "Must be `Action.OpenUrl`"
13
+ },
14
+ "url": {
14
15
  "type": "string",
15
- "description": "Schema version that this card requires. If a client is **lower** than this version, the `fallbackText` will be rendered. NOTE: Version is not required for cards within an `Action.ShowCard`",
16
+ "format": "uri-reference",
17
+ "description": "The URL to open."
18
+ },
19
+ "title": {},
20
+ "iconUrl": {},
21
+ "style": {},
22
+ "fallback": {},
23
+ "requires": {}
24
+ },
25
+ "type": "object",
26
+ "additionalProperties": false,
27
+ "required": [
28
+ "url"
29
+ ],
30
+ "allOf": [
31
+ {
32
+ "$ref": "#/definitions/Extendable.Action"
33
+ }
34
+ ]
35
+ },
36
+ "Action.ShowCard": {
37
+ "description": "Defines an AdaptiveCard which is shown to the user when the button or link is clicked.",
38
+ "properties": {
39
+ "type": {
40
+ "enum": [
41
+ "Action.ShowCard"
42
+ ],
43
+ "description": "Must be `Action.ShowCard`"
44
+ },
45
+ "card": {
46
+ "$ref": "#/definitions/AdaptiveCard",
47
+ "description": "The Adaptive Card to show."
48
+ },
49
+ "title": {},
50
+ "iconUrl": {},
51
+ "style": {},
52
+ "fallback": {},
53
+ "requires": {}
54
+ },
55
+ "type": "object",
56
+ "additionalProperties": false,
57
+ "allOf": [
58
+ {
59
+ "$ref": "#/definitions/Extendable.Action"
60
+ }
61
+ ]
62
+ },
63
+ "Action.Submit": {
64
+ "description": "Gathers input fields, merges with optional data field, and sends an event to the client. It is up to the client to determine how this data is processed. For example: With BotFramework bots, the client would send an activity through the messaging medium to the bot.",
65
+ "properties": {
66
+ "type": {
67
+ "enum": [
68
+ "Action.Submit"
69
+ ],
70
+ "description": "Must be `Action.Submit`"
71
+ },
72
+ "data": {
73
+ "anyOf": [
74
+ {
75
+ "type": "string"
76
+ },
77
+ {
78
+ "type": "object"
79
+ }
80
+ ],
81
+ "description": "Initial data that input fields will be combined with. These are essentially ‘hidden’ properties."
82
+ },
83
+ "title": {},
84
+ "iconUrl": {},
85
+ "style": {},
86
+ "fallback": {},
87
+ "requires": {}
88
+ },
89
+ "type": "object",
90
+ "additionalProperties": false,
91
+ "allOf": [
92
+ {
93
+ "$ref": "#/definitions/Extendable.Action"
94
+ }
95
+ ]
96
+ },
97
+ "Action.ToggleVisibility": {
98
+ "description": "An action that toggles the visibility of associated card elements.",
99
+ "version": "1.2",
100
+ "properties": {
101
+ "type": {
102
+ "enum": [
103
+ "Action.ToggleVisibility"
104
+ ],
105
+ "description": "Must be `Action.ToggleVisibility`"
106
+ },
107
+ "targetElements": {
108
+ "type": "array",
109
+ "items": {
110
+ "$ref": "#/definitions/TargetElement"
111
+ },
112
+ "description": "The array of TargetElements"
113
+ },
114
+ "title": {},
115
+ "iconUrl": {},
116
+ "style": {},
117
+ "fallback": {},
118
+ "requires": {}
119
+ },
120
+ "type": "object",
121
+ "additionalProperties": false,
122
+ "allOf": [
123
+ {
124
+ "$ref": "#/definitions/Extendable.Action"
125
+ }
126
+ ]
127
+ },
128
+ "TargetElement": {
129
+ "description": "Represents an entry for Action.ToggleVisibility's targetElements property",
130
+ "anyOf": [
131
+ {
132
+ "type": "string",
133
+ "description": "Element ID of element to toggle"
134
+ },
135
+ {
136
+ "type": "object",
137
+ "properties": {
138
+ "type": {
139
+ "enum": [
140
+ "TargetElement"
141
+ ],
142
+ "description": "Must be `TargetElement`"
143
+ },
144
+ "elementId": {
145
+ "type": "string",
146
+ "description": "Element ID of element to toggle"
147
+ },
148
+ "isVisible": {
149
+ "anyOf": [
150
+ {
151
+ "type": "boolean"
152
+ },
153
+ {
154
+ "type": "null"
155
+ }
156
+ ],
157
+ "description": "If `true`, always show target element. If `false`, always hide target element. If not supplied, toggle target element's visibility. "
158
+ }
159
+ },
160
+ "required": [
161
+ "elementId"
162
+ ],
163
+ "additionalProperties": false
164
+ }
165
+ ]
166
+ },
167
+ "AdaptiveCard": {
168
+ "description": "An Adaptive Card, containing a free-form body of card elements, and an optional set of actions.",
169
+ "properties": {
170
+ "type": {
171
+ "enum": [
172
+ "AdaptiveCard"
173
+ ],
174
+ "description": "Must be `AdaptiveCard`"
175
+ },
176
+ "version": {
177
+ "type": "string",
178
+ "description": "Schema version that this card requires. If a client is **lower** than this version, the `fallbackText` will be rendered. NOTE: Version is not required for cards within an `Action.ShowCard`. However, it *is* required for the top-level card.",
16
179
  "examples": [
17
- "1.0",
18
- "1.1"
180
+ "1.0",
181
+ "1.1",
182
+ "1.2"
19
183
  ]
20
- },
21
- "fallbackText": {
184
+ },
185
+ "body": {
186
+ "type": "array",
187
+ "items": {
188
+ "$ref": "#/definitions/ImplementationsOf.Element"
189
+ },
190
+ "description": "The card elements to show in the primary card region."
191
+ },
192
+ "actions": {
193
+ "type": "array",
194
+ "items": {
195
+ "$ref": "#/definitions/ImplementationsOf.Action"
196
+ },
197
+ "description": "The Actions to show in the card's action bar."
198
+ },
199
+ "selectAction": {
200
+ "$ref": "#/definitions/ImplementationsOf.ISelectAction",
201
+ "description": "An Action that will be invoked when the card is tapped or selected. `Action.ShowCard` is not supported.",
202
+ "version": "1.1"
203
+ },
204
+ "fallbackText": {
22
205
  "type": "string",
23
206
  "description": "Text shown when the client doesn't support the version specified (may contain markdown)."
24
- },
25
- "backgroundImage": {
207
+ },
208
+ "backgroundImage": {
209
+ "anyOf": [
210
+ {
211
+ "$ref": "#/definitions/BackgroundImage"
212
+ },
213
+ {
214
+ "type": "string",
215
+ "format": "uri-reference",
216
+ "description": "The URL (or data url) to use as the background image. Supports data URI in version 1.2+",
217
+ "version": "1.0"
218
+ }
219
+ ],
220
+ "description": "Specifies the background image of the card.",
221
+ "version": "1.2"
222
+ },
223
+ "minHeight": {
26
224
  "type": "string",
27
- "description": "An image to use as the background of the card."
28
- },
29
- "speak": {
225
+ "description": "Specifies the minimum height of the card.",
226
+ "examples": [
227
+ "50px"
228
+ ],
229
+ "version": "1.2",
230
+ "features": [
231
+ 2293
232
+ ]
233
+ },
234
+ "speak": {
30
235
  "type": "string",
31
236
  "description": "Specifies what should be spoken for this entire card. This is simple text or SSML fragment."
32
- },
33
- "lang": {
237
+ },
238
+ "lang": {
34
239
  "type": "string",
35
240
  "description": "The 2-letter ISO-639-1 language used in the card. Used to localize any date/time functions.",
36
241
  "examples": [
37
- "en",
38
- "fr",
39
- "es"
242
+ "en",
243
+ "fr",
244
+ "es"
40
245
  ]
41
- }
42
- },
43
- "required": [
44
- "version"
45
- ],
46
- "definitions": {
47
- "Action": {
246
+ },
247
+ "verticalContentAlignment": {
248
+ "$ref": "#/definitions/VerticalContentAlignment",
249
+ "description": "Defines how the content should be aligned vertically within the container. Only relevant for fixed-height cards, or cards with a `minHeight` specified.",
250
+ "version": "1.1"
251
+ },
252
+ "$schema": {
253
+ "type": "string",
254
+ "format": "uri",
255
+ "description": "The Adaptive Card schema."
256
+ }
257
+ },
258
+ "type": "object",
259
+ "additionalProperties": false
260
+ },
261
+ "ActionSet": {
262
+ "description": "Displays a set of actions.",
263
+ "properties": {
264
+ "type": {
265
+ "enum": [
266
+ "ActionSet"
267
+ ],
268
+ "description": "Must be `ActionSet`"
269
+ },
270
+ "actions": {
271
+ "type": "array",
272
+ "items": {
273
+ "$ref": "#/definitions/ImplementationsOf.Action"
274
+ },
275
+ "description": "The array of `Image` elements to show."
276
+ },
277
+ "fallback": {},
278
+ "height": {},
279
+ "separator": {},
280
+ "spacing": {},
281
+ "id": {},
282
+ "isVisible": {},
283
+ "requires": {}
284
+ },
285
+ "version": "1.2",
286
+ "type": "object",
287
+ "additionalProperties": false,
288
+ "required": [
289
+ "actions"
290
+ ],
291
+ "allOf": [
292
+ {
293
+ "$ref": "#/definitions/Extendable.Element"
294
+ }
295
+ ]
296
+ },
297
+ "Column": {
298
+ "description": "Defines a container that is part of a ColumnSet.",
299
+ "properties": {
300
+ "type": {
301
+ "enum": [
302
+ "Column"
303
+ ],
304
+ "description": "Must be `Column`"
305
+ },
306
+ "items": {
307
+ "type": "array",
308
+ "items": {
309
+ "$ref": "#/definitions/ImplementationsOf.Element"
310
+ },
311
+ "description": "The card elements to render inside the `Column`."
312
+ },
313
+ "backgroundImage": {
314
+ "anyOf": [
315
+ {
316
+ "$ref": "#/definitions/BackgroundImage"
317
+ },
318
+ {
319
+ "type": "string",
320
+ "format": "uri-reference",
321
+ "description": "The URL (or data url) to use as the background image. Supports data URI."
322
+ }
323
+ ],
324
+ "description": "Specifies the background image.",
325
+ "version": "1.2"
326
+ },
327
+ "bleed": {
328
+ "type": "boolean",
329
+ "description": "Determines whether the column should bleed through its parent's padding.",
330
+ "version": "1.2",
331
+ "features": [
332
+ 2109
333
+ ]
334
+ },
335
+ "fallback": {
336
+ "anyOf": [
337
+ {
338
+ "$ref": "#/definitions/Column"
339
+ },
340
+ {
341
+ "$ref": "#/definitions/FallbackOption"
342
+ }
343
+ ],
344
+ "description": "Describes what to do when an unknown item is encountered or the requires of this or any children can't be met.",
345
+ "version": "1.2"
346
+ },
347
+ "minHeight": {
348
+ "type": "string",
349
+ "description": "Specifies the minimum height of the column in pixels, like `\"80px\"`.",
350
+ "examples": [
351
+ "50px"
352
+ ],
353
+ "version": "1.2",
354
+ "features": [
355
+ 2293
356
+ ]
357
+ },
358
+ "separator": {
359
+ "type": "boolean",
360
+ "description": "When `true`, draw a separating line between this column and the previous column."
361
+ },
362
+ "spacing": {
363
+ "$ref": "#/definitions/Spacing",
364
+ "description": "Controls the amount of spacing between this column and the preceding column."
365
+ },
366
+ "selectAction": {
367
+ "$ref": "#/definitions/ImplementationsOf.ISelectAction",
368
+ "description": "An Action that will be invoked when the `Column` is tapped or selected. `Action.ShowCard` is not supported.",
369
+ "version": "1.1"
370
+ },
371
+ "style": {
372
+ "anyOf": [
373
+ {
374
+ "$ref": "#/definitions/ContainerStyle"
375
+ },
376
+ {
377
+ "type": "null"
378
+ }
379
+ ],
380
+ "description": "Style hint for `Column`."
381
+ },
382
+ "verticalContentAlignment": {
383
+ "$ref": "#/definitions/VerticalContentAlignment",
384
+ "description": "Defines how the content should be aligned vertically within the column.",
385
+ "default": "top",
386
+ "version": "1.1"
387
+ },
388
+ "width": {
389
+ "anyOf": [
390
+ {
391
+ "type": "string"
392
+ },
393
+ {
394
+ "type": "number"
395
+ }
396
+ ],
397
+ "description": "`\"auto\"`, `\"stretch\"`, a number representing relative width of the column in the column group, or in version 1.1 and higher, a specific pixel width, like `\"50px\"`."
398
+ },
399
+ "id": {},
400
+ "isVisible": {},
401
+ "requires": {}
402
+ },
403
+ "type": "object",
404
+ "additionalProperties": false,
405
+ "allOf": [
406
+ {
407
+ "$ref": "#/definitions/Extendable.ToggleableItem"
408
+ }
409
+ ]
410
+ },
411
+ "ColumnSet": {
412
+ "description": "ColumnSet divides a region into Columns, allowing elements to sit side-by-side.",
413
+ "properties": {
414
+ "type": {
415
+ "enum": [
416
+ "ColumnSet"
417
+ ],
418
+ "description": "Must be `ColumnSet`"
419
+ },
420
+ "columns": {
421
+ "type": "array",
422
+ "items": {
423
+ "$ref": "#/definitions/Column"
424
+ },
425
+ "description": "The array of `Columns` to divide the region into."
426
+ },
427
+ "selectAction": {
428
+ "$ref": "#/definitions/ImplementationsOf.ISelectAction",
429
+ "description": "An Action that will be invoked when the `ColumnSet` is tapped or selected. `Action.ShowCard` is not supported.",
430
+ "version": "1.1"
431
+ },
432
+ "style": {
48
433
  "anyOf": [
49
- {
50
- "$ref": "#/definitions/Action.Submit"
51
- },
52
- {
53
- "$ref": "#/definitions/Action.ShowCard"
54
- },
55
- {
56
- "$ref": "#/definitions/Action.OpenUrl"
57
- }
434
+ {
435
+ "$ref": "#/definitions/ContainerStyle"
436
+ },
437
+ {
438
+ "type": "null"
439
+ }
440
+ ],
441
+ "description": "Style hint for `ColumnSet`.",
442
+ "version": "1.2"
443
+ },
444
+ "bleed": {
445
+ "type": "boolean",
446
+ "description": "Determines whether the element should bleed through its parent's padding.",
447
+ "version": "1.2",
448
+ "features": [
449
+ 2109
450
+ ]
451
+ },
452
+ "minHeight": {
453
+ "type": "string",
454
+ "description": "Specifies the minimum height of the column set in pixels, like `\"80px\"`.",
455
+ "examples": [
456
+ "50px"
457
+ ],
458
+ "version": "1.2",
459
+ "features": [
460
+ 2293
58
461
  ]
462
+ },
463
+ "fallback": {},
464
+ "height": {},
465
+ "separator": {},
466
+ "spacing": {},
467
+ "id": {},
468
+ "isVisible": {},
469
+ "requires": {}
470
+ },
471
+ "type": "object",
472
+ "additionalProperties": false,
473
+ "allOf": [
474
+ {
475
+ "$ref": "#/definitions/Extendable.Element"
476
+ }
477
+ ]
478
+ },
479
+ "Container": {
480
+ "description": "Containers group items together.",
481
+ "properties": {
482
+ "type": {
483
+ "enum": [
484
+ "Container"
485
+ ],
486
+ "description": "Must be `Container`"
487
+ },
488
+ "items": {
489
+ "type": "array",
490
+ "items": {
491
+ "$ref": "#/definitions/ImplementationsOf.Element"
492
+ },
493
+ "description": "The card elements to render inside the `Container`."
494
+ },
495
+ "selectAction": {
496
+ "$ref": "#/definitions/ImplementationsOf.ISelectAction",
497
+ "description": "An Action that will be invoked when the `Container` is tapped or selected. `Action.ShowCard` is not supported.",
498
+ "version": "1.1"
499
+ },
500
+ "style": {
501
+ "anyOf": [
502
+ {
503
+ "$ref": "#/definitions/ContainerStyle"
504
+ },
505
+ {
506
+ "type": "null"
507
+ }
508
+ ],
509
+ "description": "Style hint for `Container`."
510
+ },
511
+ "verticalContentAlignment": {
512
+ "$ref": "#/definitions/VerticalContentAlignment",
513
+ "description": "Defines how the content should be aligned vertically within the container.",
514
+ "default": "top",
515
+ "version": "1.1"
516
+ },
517
+ "bleed": {
518
+ "type": "boolean",
519
+ "description": "Determines whether the element should bleed through its parent's padding.",
520
+ "version": "1.2",
521
+ "features": [
522
+ 2109
523
+ ]
524
+ },
525
+ "backgroundImage": {
526
+ "anyOf": [
527
+ {
528
+ "$ref": "#/definitions/BackgroundImage"
529
+ },
530
+ {
531
+ "type": "string",
532
+ "format": "uri-reference",
533
+ "description": "The URL (or data url) to use as the background image. Supports data URI."
534
+ }
535
+ ],
536
+ "description": "Specifies the background image.",
537
+ "version": "1.2"
538
+ },
539
+ "minHeight": {
540
+ "type": "string",
541
+ "description": "Specifies the minimum height of the container in pixels, like `\"80px\"`.",
542
+ "examples": [
543
+ "50px"
544
+ ],
545
+ "version": "1.2",
546
+ "features": [
547
+ 2293
548
+ ]
549
+ },
550
+ "fallback": {},
551
+ "height": {},
552
+ "separator": {},
553
+ "spacing": {},
554
+ "id": {},
555
+ "isVisible": {},
556
+ "requires": {}
557
+ },
558
+ "type": "object",
559
+ "additionalProperties": false,
560
+ "required": [
561
+ "items"
562
+ ],
563
+ "allOf": [
564
+ {
565
+ "$ref": "#/definitions/Extendable.Element"
566
+ }
567
+ ]
568
+ },
569
+ "Fact": {
570
+ "description": "Describes a Fact in a FactSet as a key/value pair.",
571
+ "properties": {
572
+ "type": {
573
+ "enum": [
574
+ "Fact"
575
+ ],
576
+ "description": "Must be `Fact`"
577
+ },
578
+ "title": {
579
+ "type": "string",
580
+ "description": "The title of the fact."
581
+ },
582
+ "value": {
583
+ "type": "string",
584
+ "description": "The value of the fact."
585
+ }
586
+ },
587
+ "type": "object",
588
+ "additionalProperties": false,
589
+ "required": [
590
+ "title",
591
+ "value"
592
+ ]
593
+ },
594
+ "FactSet": {
595
+ "description": "The FactSet element displays a series of facts (i.e. name/value pairs) in a tabular form.",
596
+ "properties": {
597
+ "type": {
598
+ "enum": [
599
+ "FactSet"
600
+ ],
601
+ "description": "Must be `FactSet`"
602
+ },
603
+ "facts": {
604
+ "type": "array",
605
+ "items": {
606
+ "$ref": "#/definitions/Fact"
607
+ },
608
+ "description": "The array of `Fact`'s."
609
+ },
610
+ "fallback": {},
611
+ "height": {},
612
+ "separator": {},
613
+ "spacing": {},
614
+ "id": {},
615
+ "isVisible": {},
616
+ "requires": {}
617
+ },
618
+ "type": "object",
619
+ "additionalProperties": false,
620
+ "required": [
621
+ "facts"
622
+ ],
623
+ "allOf": [
624
+ {
625
+ "$ref": "#/definitions/Extendable.Element"
626
+ }
627
+ ]
628
+ },
629
+ "Image": {
630
+ "description": "Displays an image.",
631
+ "properties": {
632
+ "type": {
633
+ "enum": [
634
+ "Image"
635
+ ],
636
+ "description": "Must be `Image`"
637
+ },
638
+ "url": {
639
+ "type": "string",
640
+ "format": "uri-reference",
641
+ "description": "The URL to the image. Supports data URI in version 1.2+"
642
+ },
643
+ "altText": {
644
+ "type": "string",
645
+ "description": "Alternate text describing the image."
646
+ },
647
+ "backgroundColor": {
648
+ "type": "string",
649
+ "description": "Applies a background to a transparent image. This property will respect the image style.",
650
+ "example": "#DDDDDD",
651
+ "version": "1.1"
652
+ },
653
+ "height": {
654
+ "anyOf": [
655
+ {
656
+ "type": "string"
657
+ },
658
+ {
659
+ "$ref": "#/definitions/BlockElementHeight"
660
+ }
661
+ ],
662
+ "description": "The desired height of the image. If specified as a pixel value, ending in 'px', E.g., 50px, the image will distort to fit that exact height. This overrides the `size` property.",
663
+ "examples": [
664
+ "50px"
665
+ ],
666
+ "default": "auto",
667
+ "version": "1.1"
668
+ },
669
+ "horizontalAlignment": {
670
+ "$ref": "#/definitions/HorizontalAlignment",
671
+ "description": "Controls how this element is horizontally positioned within its parent."
672
+ },
673
+ "selectAction": {
674
+ "$ref": "#/definitions/ImplementationsOf.ISelectAction",
675
+ "description": "An Action that will be invoked when the `Image` is tapped or selected. `Action.ShowCard` is not supported.",
676
+ "version": "1.1"
677
+ },
678
+ "size": {
679
+ "$ref": "#/definitions/ImageSize",
680
+ "description": "Controls the approximate size of the image. The physical dimensions will vary per host."
681
+ },
682
+ "style": {
683
+ "$ref": "#/definitions/ImageStyle",
684
+ "description": "Controls how this `Image` is displayed."
685
+ },
686
+ "width": {
687
+ "type": "string",
688
+ "description": "The desired on-screen width of the image, ending in 'px'. E.g., 50px. This overrides the `size` property.",
689
+ "examples": [
690
+ "50px"
691
+ ],
692
+ "version": "1.1"
693
+ },
694
+ "fallback": {
695
+ "anyOf": [
696
+ {
697
+ "$ref": "#/definitions/ImplementationsOf.Element"
698
+ },
699
+ {
700
+ "$ref": "#/definitions/FallbackOption"
701
+ }
702
+ ],
703
+ "description": "Describes what to do when an unknown element is encountered or the requires of this or any children can't be met.",
704
+ "version": "1.2"
705
+ },
706
+ "separator": {
707
+ "type": "boolean",
708
+ "description": "When `true`, draw a separating line at the top of the element."
709
+ },
710
+ "spacing": {
711
+ "$ref": "#/definitions/Spacing",
712
+ "description": "Controls the amount of spacing between this element and the preceding element."
713
+ },
714
+ "id": {
715
+ "type": "string",
716
+ "description": "A unique identifier associated with the item."
717
+ },
718
+ "isVisible": {
719
+ "type": "boolean",
720
+ "description": "If `false`, this item will be removed from the visual tree.",
721
+ "default": true,
722
+ "version": "1.2"
723
+ },
724
+ "requires": {
725
+ "type": "object",
726
+ "additionalProperties": {
727
+ "type": "string"
728
+ },
729
+ "description": "A series of key/value pairs indicating features that the item requires with corresponding minimum version. When a feature is missing or of insufficient version, fallback is triggered.",
730
+ "version": "1.2"
731
+ }
59
732
  },
60
- "Action.OpenUrl": {
61
- "additionalProperties": true,
62
- "description": "When invoked, show the given url either by launching it in an external web browser or showing in-situ with embedded web browser.",
733
+ "type": "object",
734
+ "additionalProperties": false,
735
+ "required": [
736
+ "url"
737
+ ]
738
+ },
739
+ "ImageSet": {
740
+ "description": "The ImageSet displays a collection of Images similar to a gallery.",
741
+ "properties": {
742
+ "type": {
743
+ "enum": [
744
+ "ImageSet"
745
+ ],
746
+ "description": "Must be `ImageSet`"
747
+ },
748
+ "images": {
749
+ "type": "array",
750
+ "items": {
751
+ "$ref": "#/definitions/Image"
752
+ },
753
+ "description": "The array of `Image` elements to show."
754
+ },
755
+ "imageSize": {
756
+ "$ref": "#/definitions/ImageSize",
757
+ "description": "Controls the approximate size of each image. The physical dimensions will vary per host."
758
+ },
759
+ "fallback": {},
760
+ "height": {},
761
+ "separator": {},
762
+ "spacing": {},
763
+ "id": {},
764
+ "isVisible": {},
765
+ "requires": {}
766
+ },
767
+ "type": "object",
768
+ "additionalProperties": false,
769
+ "required": [
770
+ "images"
771
+ ],
772
+ "allOf": [
773
+ {
774
+ "$ref": "#/definitions/Extendable.Element"
775
+ }
776
+ ]
777
+ },
778
+ "TextRun": {
779
+ "description": "Defines a single run of formatted text",
780
+ "version": "1.2",
781
+ "anyOf": [
782
+ {
783
+ "type": "string",
784
+ "description": "Text to display"
785
+ },
786
+ {
787
+ "type": "object",
63
788
  "properties": {
64
- "type": {
65
- "type": "string",
66
- "description": "Must be `\"Action.OpenUrl\"`."
67
- },
68
- "title": {
69
- "type": "string",
70
- "description": "Label for button or link that represents this action."
71
- },
72
- "iconUrl": {
73
- "type": "string",
74
- "format": "uri",
75
- "description": "Optional icon to be shown on the action in conjunction with the title",
76
- "version": "1.1"
77
- },
78
- "url": {
79
- "type": "string",
80
- "format": "uri",
81
- "description": "The URL to open."
82
- }
789
+ "type": {
790
+ "enum": [
791
+ "TextRun"
792
+ ],
793
+ "description": "Must be `TextRun`"
794
+ },
795
+ "text": {
796
+ "type": "string",
797
+ "description": "Text to display"
798
+ },
799
+ "color": {
800
+ "$ref": "#/definitions/Colors",
801
+ "description": "Controls the color of the text."
802
+ },
803
+ "fontType": {
804
+ "$ref": "#/definitions/FontType",
805
+ "description": "The type of font to use"
806
+ },
807
+ "highlight": {
808
+ "type": "boolean",
809
+ "description": "If `true`, displays the text highlighted."
810
+ },
811
+ "isSubtle": {
812
+ "type": "boolean",
813
+ "description": "If `true`, displays text slightly toned down to appear less prominent.",
814
+ "default": false
815
+ },
816
+ "italic": {
817
+ "type": "boolean",
818
+ "description": "If `true`, displays the text using italic font."
819
+ },
820
+ "selectAction": {
821
+ "$ref": "#/definitions/ImplementationsOf.ISelectAction",
822
+ "description": "Action to invoke when this text run is clicked. Visually changes the text run into a hyperlink. `Action.ShowCard` is not supported."
823
+ },
824
+ "size": {
825
+ "$ref": "#/definitions/FontSize",
826
+ "description": "Controls size of text."
827
+ },
828
+ "strikethrough": {
829
+ "type": "boolean",
830
+ "description": "If `true`, displays the text with strikethrough."
831
+ },
832
+ "weight": {
833
+ "$ref": "#/definitions/FontWeight",
834
+ "description": "Controls the weight of the text."
835
+ }
836
+ },
837
+ "required": [
838
+ "text"
839
+ ],
840
+ "additionalProperties": false
841
+ }
842
+ ]
843
+ },
844
+ "Input.Choice": {
845
+ "description": "Describes a choice for use in a ChoiceSet.",
846
+ "properties": {
847
+ "type": {
848
+ "enum": [
849
+ "Input.Choice"
850
+ ],
851
+ "description": "Must be `Input.Choice`"
852
+ },
853
+ "title": {
854
+ "type": "string",
855
+ "description": "Text to display."
856
+ },
857
+ "value": {
858
+ "type": "string",
859
+ "description": "The raw value for the choice. **NOTE:** do not use a `,` in the value, since a `ChoiceSet` with `isMultiSelect` set to `true` returns a comma-delimited string of choice values."
860
+ }
861
+ },
862
+ "type": "object",
863
+ "additionalProperties": false,
864
+ "required": [
865
+ "title",
866
+ "value"
867
+ ]
868
+ },
869
+ "Input.ChoiceSet": {
870
+ "description": "Allows a user to input a Choice.",
871
+ "properties": {
872
+ "type": {
873
+ "enum": [
874
+ "Input.ChoiceSet"
875
+ ],
876
+ "description": "Must be `Input.ChoiceSet`"
877
+ },
878
+ "choices": {
879
+ "type": "array",
880
+ "items": {
881
+ "$ref": "#/definitions/Input.Choice"
83
882
  },
883
+ "description": "`Choice` options."
884
+ },
885
+ "isMultiSelect": {
886
+ "type": "boolean",
887
+ "description": "Allow multiple choices to be selected.",
888
+ "default": false
889
+ },
890
+ "style": {
891
+ "$ref": "#/definitions/ChoiceInputStyle"
892
+ },
893
+ "value": {
894
+ "type": "string",
895
+ "description": "The initial choice (or set of choices) that should be selected. For multi-select, specify a comma-separated string of values."
896
+ },
897
+ "wrap": {
898
+ "type": "boolean",
899
+ "description": "If `true`, allow text to wrap. Otherwise, text is clipped.",
900
+ "version": "1.2"
901
+ },
902
+ "id": {},
903
+ "label": {},
904
+ "fallback": {},
905
+ "height": {},
906
+ "separator": {},
907
+ "spacing": {},
908
+ "isVisible": {},
909
+ "requires": {}
910
+ },
911
+ "type": "object",
912
+ "additionalProperties": false,
913
+ "required": [
914
+ "choices"
915
+ ],
916
+ "allOf": [
917
+ {
918
+ "$ref": "#/definitions/Extendable.Input"
919
+ }
920
+ ]
921
+ },
922
+ "Input.Date": {
923
+ "description": "Lets a user choose a date.",
924
+ "properties": {
925
+ "type": {
926
+ "enum": [
927
+ "Input.Date"
928
+ ],
929
+ "description": "Must be `Input.Date`"
930
+ },
931
+ "max": {
932
+ "type": "string",
933
+ "description": "Hint of maximum value expressed in ISO-8601 format (may be ignored by some clients)."
934
+ },
935
+ "min": {
936
+ "type": "string",
937
+ "description": "Hint of minimum value expressed in ISO-8601 format (may be ignored by some clients)."
938
+ },
939
+ "placeholder": {
940
+ "type": "string",
941
+ "description": "Description of the input desired. Displayed when no selection has been made."
942
+ },
943
+ "value": {
944
+ "type": "string",
945
+ "description": "The initial value for this field expressed in ISO-8601 format."
946
+ },
947
+ "id": {},
948
+ "label": {},
949
+ "fallback": {},
950
+ "height": {},
951
+ "separator": {},
952
+ "spacing": {},
953
+ "isVisible": {},
954
+ "requires": {}
955
+ },
956
+ "type": "object",
957
+ "additionalProperties": false,
958
+ "allOf": [
959
+ {
960
+ "$ref": "#/definitions/Extendable.Input"
961
+ }
962
+ ]
963
+ },
964
+ "Input.Number": {
965
+ "description": "Allows a user to enter a number.",
966
+ "properties": {
967
+ "type": {
968
+ "enum": [
969
+ "Input.Number"
970
+ ],
971
+ "description": "Must be `Input.Number`"
972
+ },
973
+ "max": {
974
+ "type": "number",
975
+ "description": "Hint of maximum value (may be ignored by some clients)."
976
+ },
977
+ "min": {
978
+ "type": "number",
979
+ "description": "Hint of minimum value (may be ignored by some clients)."
980
+ },
981
+ "placeholder": {
982
+ "type": "string",
983
+ "description": "Description of the input desired. Displayed when no selection has been made."
984
+ },
985
+ "value": {
986
+ "type": "number",
987
+ "description": "Initial value for this field."
988
+ },
989
+ "id": {},
990
+ "label": {},
991
+ "fallback": {},
992
+ "height": {},
993
+ "separator": {},
994
+ "spacing": {},
995
+ "isVisible": {},
996
+ "requires": {}
997
+ },
998
+ "type": "object",
999
+ "additionalProperties": false,
1000
+ "allOf": [
1001
+ {
1002
+ "$ref": "#/definitions/Extendable.Input"
1003
+ }
1004
+ ]
1005
+ },
1006
+ "Input.Text": {
1007
+ "description": "Lets a user enter text.",
1008
+ "properties": {
1009
+ "type": {
1010
+ "enum": [
1011
+ "Input.Text"
1012
+ ],
1013
+ "description": "Must be `Input.Text`"
1014
+ },
1015
+ "isMultiline": {
1016
+ "type": "boolean",
1017
+ "description": "If `true`, allow multiple lines of input.",
1018
+ "default": false
1019
+ },
1020
+ "maxLength": {
1021
+ "type": "number",
1022
+ "description": "Hint of maximum length characters to collect (may be ignored by some clients)."
1023
+ },
1024
+ "placeholder": {
1025
+ "type": "string",
1026
+ "description": "Description of the input desired. Displayed when no text has been input."
1027
+ },
1028
+ "style": {
1029
+ "$ref": "#/definitions/TextInputStyle"
1030
+ },
1031
+ "inlineAction": {
1032
+ "$ref": "#/definitions/ImplementationsOf.ISelectAction",
1033
+ "description": "The inline action for the input. Typically displayed to the right of the input. It is strongly recommended to provide an icon on the action (which will be displayed instead of the title of the action).",
1034
+ "version": "1.2"
1035
+ },
1036
+ "value": {
1037
+ "type": "string",
1038
+ "description": "The initial value for this field."
1039
+ },
1040
+ "id": {},
1041
+ "label": {},
1042
+ "fallback": {},
1043
+ "height": {},
1044
+ "separator": {},
1045
+ "spacing": {},
1046
+ "isVisible": {},
1047
+ "requires": {}
1048
+ },
1049
+ "type": "object",
1050
+ "additionalProperties": false,
1051
+ "allOf": [
1052
+ {
1053
+ "$ref": "#/definitions/Extendable.Input"
1054
+ }
1055
+ ]
1056
+ },
1057
+ "Input.Time": {
1058
+ "description": "Lets a user select a time.",
1059
+ "properties": {
1060
+ "type": {
1061
+ "enum": [
1062
+ "Input.Time"
1063
+ ],
1064
+ "description": "Must be `Input.Time`"
1065
+ },
1066
+ "max": {
1067
+ "type": "string",
1068
+ "description": "Hint of maximum value (may be ignored by some clients)."
1069
+ },
1070
+ "min": {
1071
+ "type": "string",
1072
+ "description": "Hint of minimum value (may be ignored by some clients)."
1073
+ },
1074
+ "placeholder": {
1075
+ "type": "string",
1076
+ "description": "Description of the input desired. Displayed when no time has been selected."
1077
+ },
1078
+ "value": {
1079
+ "type": "string",
1080
+ "description": "The initial value for this field expressed in ISO-8601 format."
1081
+ },
1082
+ "id": {},
1083
+ "label": {},
1084
+ "fallback": {},
1085
+ "height": {},
1086
+ "separator": {},
1087
+ "spacing": {},
1088
+ "isVisible": {},
1089
+ "requires": {}
1090
+ },
1091
+ "type": "object",
1092
+ "additionalProperties": false,
1093
+ "allOf": [
1094
+ {
1095
+ "$ref": "#/definitions/Extendable.Input"
1096
+ }
1097
+ ]
1098
+ },
1099
+ "Input.Toggle": {
1100
+ "description": "Lets a user choose between two options.",
1101
+ "properties": {
1102
+ "type": {
1103
+ "enum": [
1104
+ "Input.Toggle"
1105
+ ],
1106
+ "description": "Must be `Input.Toggle`"
1107
+ },
1108
+ "title": {
1109
+ "type": "string",
1110
+ "description": "Title for the toggle"
1111
+ },
1112
+ "value": {
1113
+ "type": "string",
1114
+ "description": "The initial selected value. If you want the toggle to be initially on, set this to the value of `valueOn`'s value.",
1115
+ "default": "false"
1116
+ },
1117
+ "valueOff": {
1118
+ "type": "string",
1119
+ "description": "The value when toggle is off",
1120
+ "default": "false"
1121
+ },
1122
+ "valueOn": {
1123
+ "type": "string",
1124
+ "description": "The value when toggle is on",
1125
+ "default": "true"
1126
+ },
1127
+ "wrap": {
1128
+ "type": "boolean",
1129
+ "description": "If `true`, allow text to wrap. Otherwise, text is clipped.",
1130
+ "version": "1.2"
1131
+ },
1132
+ "id": {},
1133
+ "label": {},
1134
+ "fallback": {},
1135
+ "height": {},
1136
+ "separator": {},
1137
+ "spacing": {},
1138
+ "isVisible": {},
1139
+ "requires": {}
1140
+ },
1141
+ "type": "object",
1142
+ "additionalProperties": false,
1143
+ "required": [
1144
+ "title"
1145
+ ],
1146
+ "allOf": [
1147
+ {
1148
+ "$ref": "#/definitions/Extendable.Input"
1149
+ }
1150
+ ]
1151
+ },
1152
+ "Media": {
1153
+ "description": "Displays a media player for audio or video content.",
1154
+ "version": "1.1",
1155
+ "features": [
1156
+ 196
1157
+ ],
1158
+ "properties": {
1159
+ "type": {
1160
+ "enum": [
1161
+ "Media"
1162
+ ],
1163
+ "description": "Must be `Media`"
1164
+ },
1165
+ "sources": {
1166
+ "type": "array",
1167
+ "items": {
1168
+ "$ref": "#/definitions/MediaSource"
1169
+ },
1170
+ "description": "Array of media sources to attempt to play."
1171
+ },
1172
+ "poster": {
1173
+ "type": "string",
1174
+ "format": "uri-reference",
1175
+ "description": "URL of an image to display before playing. Supports data URI in version 1.2+"
1176
+ },
1177
+ "altText": {
1178
+ "type": "string",
1179
+ "description": "Alternate text describing the audio or video."
1180
+ },
1181
+ "fallback": {},
1182
+ "height": {},
1183
+ "separator": {},
1184
+ "spacing": {},
1185
+ "id": {},
1186
+ "isVisible": {},
1187
+ "requires": {}
1188
+ },
1189
+ "type": "object",
1190
+ "additionalProperties": false,
1191
+ "required": [
1192
+ "sources"
1193
+ ],
1194
+ "allOf": [
1195
+ {
1196
+ "$ref": "#/definitions/Extendable.Element"
1197
+ }
1198
+ ]
1199
+ },
1200
+ "MediaSource": {
1201
+ "description": "Defines a source for a Media element",
1202
+ "version": "1.1",
1203
+ "features": [
1204
+ 196
1205
+ ],
1206
+ "properties": {
1207
+ "type": {
1208
+ "enum": [
1209
+ "MediaSource"
1210
+ ],
1211
+ "description": "Must be `MediaSource`"
1212
+ },
1213
+ "mimeType": {
1214
+ "type": "string",
1215
+ "description": "Mime type of associated media (e.g. `\"video/mp4\"`)."
1216
+ },
1217
+ "url": {
1218
+ "type": "string",
1219
+ "format": "uri-reference",
1220
+ "description": "URL to media. Supports data URI in version 1.2+"
1221
+ }
1222
+ },
1223
+ "type": "object",
1224
+ "additionalProperties": false,
1225
+ "required": [
1226
+ "mimeType",
1227
+ "url"
1228
+ ]
1229
+ },
1230
+ "RichTextBlock": {
1231
+ "description": "Defines an array of inlines, allowing for inline text formatting.",
1232
+ "version": "1.2",
1233
+ "features": [
1234
+ 1933
1235
+ ],
1236
+ "properties": {
1237
+ "type": {
1238
+ "enum": [
1239
+ "RichTextBlock"
1240
+ ],
1241
+ "description": "Must be `RichTextBlock`"
1242
+ },
1243
+ "inlines": {
1244
+ "type": "array",
1245
+ "items": {
1246
+ "$ref": "#/definitions/ImplementationsOf.Inline"
1247
+ },
1248
+ "description": "The array of inlines."
1249
+ },
1250
+ "horizontalAlignment": {
1251
+ "$ref": "#/definitions/HorizontalAlignment",
1252
+ "description": "Controls the horizontal text alignment."
1253
+ },
1254
+ "fallback": {},
1255
+ "height": {},
1256
+ "separator": {},
1257
+ "spacing": {},
1258
+ "id": {},
1259
+ "isVisible": {},
1260
+ "requires": {}
1261
+ },
1262
+ "type": "object",
1263
+ "additionalProperties": false,
1264
+ "required": [
1265
+ "inlines"
1266
+ ],
1267
+ "allOf": [
1268
+ {
1269
+ "$ref": "#/definitions/Extendable.Element"
1270
+ }
1271
+ ]
1272
+ },
1273
+ "TextBlock": {
1274
+ "description": "Displays text, allowing control over font sizes, weight, and color.",
1275
+ "properties": {
1276
+ "type": {
1277
+ "enum": [
1278
+ "TextBlock"
1279
+ ],
1280
+ "description": "Must be `TextBlock`"
1281
+ },
1282
+ "text": {
1283
+ "type": "string",
1284
+ "description": "Text to display"
1285
+ },
1286
+ "color": {
1287
+ "$ref": "#/definitions/Colors",
1288
+ "description": "Controls the color of `TextBlock` elements."
1289
+ },
1290
+ "fontType": {
1291
+ "$ref": "#/definitions/FontType",
1292
+ "description": "Type of font to use for rendering",
1293
+ "version": "1.2"
1294
+ },
1295
+ "horizontalAlignment": {
1296
+ "$ref": "#/definitions/HorizontalAlignment",
1297
+ "description": "Controls the horizontal text alignment."
1298
+ },
1299
+ "isSubtle": {
1300
+ "type": "boolean",
1301
+ "description": "If `true`, displays text slightly toned down to appear less prominent.",
1302
+ "default": false
1303
+ },
1304
+ "maxLines": {
1305
+ "type": "number",
1306
+ "description": "Specifies the maximum number of lines to display."
1307
+ },
1308
+ "size": {
1309
+ "$ref": "#/definitions/FontSize",
1310
+ "description": "Controls size of text."
1311
+ },
1312
+ "weight": {
1313
+ "$ref": "#/definitions/FontWeight",
1314
+ "description": "Controls the weight of `TextBlock` elements."
1315
+ },
1316
+ "wrap": {
1317
+ "type": "boolean",
1318
+ "description": "If `true`, allow text to wrap. Otherwise, text is clipped.",
1319
+ "default": false
1320
+ },
1321
+ "fallback": {},
1322
+ "height": {},
1323
+ "separator": {},
1324
+ "spacing": {},
1325
+ "id": {},
1326
+ "isVisible": {},
1327
+ "requires": {}
1328
+ },
1329
+ "type": "object",
1330
+ "additionalProperties": false,
1331
+ "required": [
1332
+ "text"
1333
+ ],
1334
+ "allOf": [
1335
+ {
1336
+ "$ref": "#/definitions/Extendable.Element"
1337
+ }
1338
+ ]
1339
+ },
1340
+ "ActionStyle": {
1341
+ "description": "Controls the style of an Action, which influences how the action is displayed, spoken, etc.",
1342
+ "features": [
1343
+ 861
1344
+ ],
1345
+ "version": "1.2",
1346
+ "anyOf": [
1347
+ {
1348
+ "enum": [
1349
+ "default",
1350
+ "positive",
1351
+ "destructive"
1352
+ ]
1353
+ },
1354
+ {
1355
+ "pattern": "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([p|P][o|O][s|S][i|I][t|T][i|I][v|V][e|E])|([d|D][e|E][s|S][t|T][r|R][u|U][c|C][t|T][i|I][v|V][e|E])$"
1356
+ }
1357
+ ]
1358
+ },
1359
+ "BlockElementHeight": {
1360
+ "anyOf": [
1361
+ {
1362
+ "enum": [
1363
+ "auto",
1364
+ "stretch"
1365
+ ]
1366
+ },
1367
+ {
1368
+ "pattern": "^([a|A][u|U][t|T][o|O])|([s|S][t|T][r|R][e|E][t|T][c|C][h|H])$"
1369
+ }
1370
+ ]
1371
+ },
1372
+ "ChoiceInputStyle": {
1373
+ "description": "Style hint for `Input.ChoiceSet`.",
1374
+ "anyOf": [
1375
+ {
1376
+ "enum": [
1377
+ "compact",
1378
+ "expanded"
1379
+ ]
1380
+ },
1381
+ {
1382
+ "pattern": "^([c|C][o|O][m|M][p|P][a|A][c|C][t|T])|([e|E][x|X][p|P][a|A][n|N][d|D][e|E][d|D])$"
1383
+ }
1384
+ ]
1385
+ },
1386
+ "Colors": {
1387
+ "anyOf": [
1388
+ {
1389
+ "enum": [
1390
+ "default",
1391
+ "dark",
1392
+ "light",
1393
+ "accent",
1394
+ "good",
1395
+ "warning",
1396
+ "attention"
1397
+ ]
1398
+ },
1399
+ {
1400
+ "pattern": "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([d|D][a|A][r|R][k|K])|([l|L][i|I][g|G][h|H][t|T])|([a|A][c|C][c|C][e|E][n|N][t|T])|([g|G][o|O][o|O][d|D])|([w|W][a|A][r|R][n|N][i|I][n|N][g|G])|([a|A][t|T][t|T][e|E][n|N][t|T][i|I][o|O][n|N])$"
1401
+ }
1402
+ ]
1403
+ },
1404
+ "ContainerStyle": {
1405
+ "anyOf": [
1406
+ {
1407
+ "enum": [
1408
+ "default",
1409
+ "emphasis",
1410
+ "good",
1411
+ "attention",
1412
+ "warning",
1413
+ "accent"
1414
+ ]
1415
+ },
1416
+ {
1417
+ "pattern": "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([e|E][m|M][p|P][h|H][a|A][s|S][i|I][s|S])|([g|G][o|O][o|O][d|D])|([a|A][t|T][t|T][e|E][n|N][t|T][i|I][o|O][n|N])|([w|W][a|A][r|R][n|N][i|I][n|N][g|G])|([a|A][c|C][c|C][e|E][n|N][t|T])$"
1418
+ }
1419
+ ]
1420
+ },
1421
+ "FallbackOption": {
1422
+ "anyOf": [
1423
+ {
1424
+ "enum": [
1425
+ "drop"
1426
+ ]
1427
+ },
1428
+ {
1429
+ "pattern": "^([d|D][r|R][o|O][p|P])$"
1430
+ }
1431
+ ]
1432
+ },
1433
+ "FontSize": {
1434
+ "anyOf": [
1435
+ {
1436
+ "enum": [
1437
+ "default",
1438
+ "small",
1439
+ "medium",
1440
+ "large",
1441
+ "extraLarge"
1442
+ ]
1443
+ },
1444
+ {
1445
+ "pattern": "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([s|S][m|M][a|A][l|L][l|L])|([m|M][e|E][d|D][i|I][u|U][m|M])|([l|L][a|A][r|R][g|G][e|E])|([e|E][x|X][t|T][r|R][a|A][l|L][a|A][r|R][g|G][e|E])$"
1446
+ }
1447
+ ]
1448
+ },
1449
+ "FontType": {
1450
+ "anyOf": [
1451
+ {
1452
+ "enum": [
1453
+ "default",
1454
+ "monospace"
1455
+ ]
1456
+ },
1457
+ {
1458
+ "pattern": "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([m|M][o|O][n|N][o|O][s|S][p|P][a|A][c|C][e|E])$"
1459
+ }
1460
+ ]
1461
+ },
1462
+ "FontWeight": {
1463
+ "anyOf": [
1464
+ {
1465
+ "enum": [
1466
+ "default",
1467
+ "lighter",
1468
+ "bolder"
1469
+ ]
1470
+ },
1471
+ {
1472
+ "pattern": "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([l|L][i|I][g|G][h|H][t|T][e|E][r|R])|([b|B][o|O][l|L][d|D][e|E][r|R])$"
1473
+ }
1474
+ ]
1475
+ },
1476
+ "HorizontalAlignment": {
1477
+ "description": "Controls how content is horizontally positioned within its container.",
1478
+ "anyOf": [
1479
+ {
1480
+ "enum": [
1481
+ "left",
1482
+ "center",
1483
+ "right"
1484
+ ]
1485
+ },
1486
+ {
1487
+ "pattern": "^([l|L][e|E][f|F][t|T])|([c|C][e|E][n|N][t|T][e|E][r|R])|([r|R][i|I][g|G][h|H][t|T])$"
1488
+ }
1489
+ ]
1490
+ },
1491
+ "ImageFillMode": {
1492
+ "anyOf": [
1493
+ {
1494
+ "enum": [
1495
+ "cover",
1496
+ "repeatHorizontally",
1497
+ "repeatVertically",
1498
+ "repeat"
1499
+ ]
1500
+ },
1501
+ {
1502
+ "pattern": "^([c|C][o|O][v|V][e|E][r|R])|([r|R][e|E][p|P][e|E][a|A][t|T][h|H][o|O][r|R][i|I][z|Z][o|O][n|N][t|T][a|A][l|L][l|L][y|Y])|([r|R][e|E][p|P][e|E][a|A][t|T][v|V][e|E][r|R][t|T][i|I][c|C][a|A][l|L][l|L][y|Y])|([r|R][e|E][p|P][e|E][a|A][t|T])$"
1503
+ }
1504
+ ]
1505
+ },
1506
+ "ImageSize": {
1507
+ "description": "Controls the approximate size of the image. The physical dimensions will vary per host. Every option preserves aspect ratio.",
1508
+ "anyOf": [
1509
+ {
1510
+ "enum": [
1511
+ "auto",
1512
+ "stretch",
1513
+ "small",
1514
+ "medium",
1515
+ "large"
1516
+ ]
1517
+ },
1518
+ {
1519
+ "pattern": "^([a|A][u|U][t|T][o|O])|([s|S][t|T][r|R][e|E][t|T][c|C][h|H])|([s|S][m|M][a|A][l|L][l|L])|([m|M][e|E][d|D][i|I][u|U][m|M])|([l|L][a|A][r|R][g|G][e|E])$"
1520
+ }
1521
+ ]
1522
+ },
1523
+ "ImageStyle": {
1524
+ "description": "Controls how this `Image` is displayed.",
1525
+ "anyOf": [
1526
+ {
1527
+ "enum": [
1528
+ "default",
1529
+ "person"
1530
+ ]
1531
+ },
1532
+ {
1533
+ "pattern": "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([p|P][e|E][r|R][s|S][o|O][n|N])$"
1534
+ }
1535
+ ]
1536
+ },
1537
+ "Spacing": {
1538
+ "description": "Specifies how much spacing. Hosts pick the exact pixel amounts for each of these.",
1539
+ "anyOf": [
1540
+ {
1541
+ "enum": [
1542
+ "default",
1543
+ "none",
1544
+ "small",
1545
+ "medium",
1546
+ "large",
1547
+ "extraLarge",
1548
+ "padding"
1549
+ ]
1550
+ },
1551
+ {
1552
+ "pattern": "^([d|D][e|E][f|F][a|A][u|U][l|L][t|T])|([n|N][o|O][n|N][e|E])|([s|S][m|M][a|A][l|L][l|L])|([m|M][e|E][d|D][i|I][u|U][m|M])|([l|L][a|A][r|R][g|G][e|E])|([e|E][x|X][t|T][r|R][a|A][l|L][a|A][r|R][g|G][e|E])|([p|P][a|A][d|D][d|D][i|I][n|N][g|G])$"
1553
+ }
1554
+ ]
1555
+ },
1556
+ "TextInputStyle": {
1557
+ "description": "Style hint for text input.",
1558
+ "anyOf": [
1559
+ {
1560
+ "enum": [
1561
+ "text",
1562
+ "tel",
1563
+ "url",
1564
+ "email"
1565
+ ]
1566
+ },
1567
+ {
1568
+ "pattern": "^([t|T][e|E][x|X][t|T])|([t|T][e|E][l|L])|([u|U][r|R][l|L])|([e|E][m|M][a|A][i|I][l|L])$"
1569
+ }
1570
+ ]
1571
+ },
1572
+ "VerticalAlignment": {
1573
+ "anyOf": [
1574
+ {
1575
+ "enum": [
1576
+ "top",
1577
+ "center",
1578
+ "bottom"
1579
+ ]
1580
+ },
1581
+ {
1582
+ "pattern": "^([t|T][o|O][p|P])|([c|C][e|E][n|N][t|T][e|E][r|R])|([b|B][o|O][t|T][t|T][o|O][m|M])$"
1583
+ }
1584
+ ]
1585
+ },
1586
+ "VerticalContentAlignment": {
1587
+ "anyOf": [
1588
+ {
1589
+ "enum": [
1590
+ "top",
1591
+ "center",
1592
+ "bottom"
1593
+ ]
1594
+ },
1595
+ {
1596
+ "pattern": "^([t|T][o|O][p|P])|([c|C][e|E][n|N][t|T][e|E][r|R])|([b|B][o|O][t|T][t|T][o|O][m|M])$"
1597
+ }
1598
+ ]
1599
+ },
1600
+ "BackgroundImage": {
1601
+ "description": "Specifies a background image.",
1602
+ "properties": {
1603
+ "type": {
1604
+ "enum": [
1605
+ "BackgroundImage"
1606
+ ],
1607
+ "description": "Must be `BackgroundImage`"
1608
+ },
1609
+ "url": {
1610
+ "type": "string",
1611
+ "format": "uri-reference",
1612
+ "description": "The URL (or data url) of the image."
1613
+ },
1614
+ "fillMode": {
1615
+ "$ref": "#/definitions/ImageFillMode",
1616
+ "description": "Describes how the image should fill the area."
1617
+ },
1618
+ "horizontalAlignment": {
1619
+ "$ref": "#/definitions/HorizontalAlignment",
1620
+ "description": "Describes how the image should be aligned if it must be cropped or if using repeat fill mode."
1621
+ },
1622
+ "verticalAlignment": {
1623
+ "$ref": "#/definitions/VerticalAlignment",
1624
+ "description": "Describes how the image should be aligned if it must be cropped or if using repeat fill mode."
1625
+ }
1626
+ },
1627
+ "version": "1.2",
1628
+ "type": "object",
1629
+ "additionalProperties": false,
1630
+ "required": [
1631
+ "url"
1632
+ ]
1633
+ },
1634
+ "ImplementationsOf.Item": {
1635
+ "anyOf": [
1636
+ {
1637
+ "required": [
1638
+ "type"
1639
+ ],
1640
+ "allOf": [
1641
+ {
1642
+ "$ref": "#/definitions/Action.OpenUrl"
1643
+ }
1644
+ ]
1645
+ },
1646
+ {
1647
+ "required": [
1648
+ "type"
1649
+ ],
1650
+ "allOf": [
1651
+ {
1652
+ "$ref": "#/definitions/Action.ShowCard"
1653
+ }
1654
+ ]
1655
+ },
1656
+ {
1657
+ "required": [
1658
+ "type"
1659
+ ],
1660
+ "allOf": [
1661
+ {
1662
+ "$ref": "#/definitions/Action.Submit"
1663
+ }
1664
+ ]
1665
+ },
1666
+ {
1667
+ "required": [
1668
+ "type"
1669
+ ],
1670
+ "allOf": [
1671
+ {
1672
+ "$ref": "#/definitions/Action.ToggleVisibility"
1673
+ }
1674
+ ]
1675
+ },
1676
+ {
1677
+ "required": [
1678
+ "type"
1679
+ ],
1680
+ "allOf": [
1681
+ {
1682
+ "$ref": "#/definitions/ActionSet"
1683
+ }
1684
+ ]
1685
+ },
1686
+ {
1687
+ "required": [
1688
+ "type"
1689
+ ],
1690
+ "allOf": [
1691
+ {
1692
+ "$ref": "#/definitions/Column"
1693
+ }
1694
+ ]
1695
+ },
1696
+ {
1697
+ "required": [
1698
+ "type"
1699
+ ],
1700
+ "allOf": [
1701
+ {
1702
+ "$ref": "#/definitions/ColumnSet"
1703
+ }
1704
+ ]
1705
+ },
1706
+ {
1707
+ "required": [
1708
+ "type"
1709
+ ],
1710
+ "allOf": [
1711
+ {
1712
+ "$ref": "#/definitions/Container"
1713
+ }
1714
+ ]
1715
+ },
1716
+ {
1717
+ "required": [
1718
+ "type"
1719
+ ],
1720
+ "allOf": [
1721
+ {
1722
+ "$ref": "#/definitions/FactSet"
1723
+ }
1724
+ ]
1725
+ },
1726
+ {
1727
+ "required": [
1728
+ "type"
1729
+ ],
1730
+ "allOf": [
1731
+ {
1732
+ "$ref": "#/definitions/Image"
1733
+ }
1734
+ ]
1735
+ },
1736
+ {
1737
+ "required": [
1738
+ "type"
1739
+ ],
1740
+ "allOf": [
1741
+ {
1742
+ "$ref": "#/definitions/ImageSet"
1743
+ }
1744
+ ]
1745
+ },
1746
+ {
1747
+ "required": [
1748
+ "type"
1749
+ ],
1750
+ "allOf": [
1751
+ {
1752
+ "$ref": "#/definitions/Input.ChoiceSet"
1753
+ }
1754
+ ]
1755
+ },
1756
+ {
1757
+ "required": [
1758
+ "type"
1759
+ ],
1760
+ "allOf": [
1761
+ {
1762
+ "$ref": "#/definitions/Input.Date"
1763
+ }
1764
+ ]
1765
+ },
1766
+ {
1767
+ "required": [
1768
+ "type"
1769
+ ],
1770
+ "allOf": [
1771
+ {
1772
+ "$ref": "#/definitions/Input.Number"
1773
+ }
1774
+ ]
1775
+ },
1776
+ {
84
1777
  "required": [
85
- "type",
86
- "url"
1778
+ "type"
87
1779
  ],
88
- "type": "object"
89
- },
90
- "Action.ShowCard": {
91
- "type": "object",
92
- "additionalProperties": true,
93
- "description": "Defines an AdaptiveCard which is shown to the user when the button or link is clicked.",
94
- "properties": {
95
- "type": {
96
- "type": "string",
97
- "description": "Must be `\"Action.ShowCard\"`."
98
- },
99
- "title": {
100
- "type": "string",
101
- "description": "Label for button or link that represents this action."
102
- },
103
- "iconUrl": {
104
- "type": "string",
105
- "format": "uri",
106
- "description": "Optional icon to be shown on the action in conjunction with the title",
107
- "version": "1.1"
108
- },
109
- "card": {
110
- "$ref": "#/definitions/AdaptiveCard"
111
- }
112
- },
113
- "required": [
114
- "type",
115
- "card"
1780
+ "allOf": [
1781
+ {
1782
+ "$ref": "#/definitions/Input.Text"
1783
+ }
116
1784
  ]
117
- },
118
- "Action.Submit": {
119
- "type": "object",
120
- "additionalProperties": true,
121
- "description": "Gathers input fields, merges with optional data field, and sends an event to the client. It is up to the client to determine how this data is processed. For example: With BotFramework bots, the client would send an activity through the messaging medium to the bot.",
122
- "properties": {
123
- "type": {
124
- "type": "string",
125
- "description": "Must be `\"Action.Submit\"`."
126
- },
127
- "title": {
128
- "type": "string",
129
- "description": "Label for button or link that represents this action."
130
- },
131
- "iconUrl": {
132
- "type": "string",
133
- "format": "uri",
134
- "description": "Optional icon to be shown on the action in conjunction with the title",
135
- "version": "1.1"
136
- },
137
- "data": {
138
- "type": [
139
- "string",
140
- "object"
141
- ],
142
- "description": "Initial data that input fields will be combined with. These are essentially 'hidden' properties."
143
- }
144
- },
1785
+ },
1786
+ {
145
1787
  "required": [
146
- "type"
1788
+ "type"
1789
+ ],
1790
+ "allOf": [
1791
+ {
1792
+ "$ref": "#/definitions/Input.Time"
1793
+ }
147
1794
  ]
148
- },
149
- "Actions": {
150
- "additionalItems": true,
151
- "items": {
152
- "$ref": "#/definitions/Action"
153
- },
154
- "type": "array"
155
- },
156
- "AdaptiveCard": {
157
- "additionalProperties": true,
158
- "type": "object",
159
- "description": "Root element in an Adaptive Card.",
160
- "properties": {
161
- "type": {
162
- "type": "string",
163
- "description": "Must be `\"AdaptiveCard\"`.",
164
- "enum": [
165
- "AdaptiveCard"
166
- ]
167
- },
168
- "actions": {
169
- "description": "The Actions to show in the card's action bar.",
170
- "$ref": "#/definitions/Actions"
171
- },
172
- "body": {
173
- "description": "The card elements to show in the primary card region.",
174
- "$ref": "#/definitions/CardElements"
175
- },
176
- "selectAction": {
177
- "description": "An Action that will be invoked when the card is tapped or selected. `Action.ShowCard` is not supported.",
178
- "type": "object",
179
- "version": "1.1",
180
- "oneOf": [
181
- {
182
- "$ref": "#/definitions/Action.Submit"
183
- },
184
- {
185
- "$ref": "#/definitions/Action.OpenUrl"
186
- }
187
- ]
188
- }
189
- },
1795
+ },
1796
+ {
190
1797
  "required": [
191
- "type"
1798
+ "type"
1799
+ ],
1800
+ "allOf": [
1801
+ {
1802
+ "$ref": "#/definitions/Input.Toggle"
1803
+ }
192
1804
  ]
193
- },
194
- "CardElement": {
195
- "additionalProperties": true,
196
- "properties": {
197
- "type": {
198
- "type": "string"
199
- },
200
- "id": {
201
- "type": "string",
202
- "description": "A unique identifier associated with the element."
203
- },
204
- "spacing": {
205
- "$ref": "#/definitions/SpacingStyle"
206
- },
207
- "separator": {
208
- "type": "boolean",
209
- "description": "When `true`, draw a separating line at the top of the element.",
210
- "default": false
211
- }
212
- },
1805
+ },
1806
+ {
213
1807
  "required": [
214
- "type"
1808
+ "type"
1809
+ ],
1810
+ "allOf": [
1811
+ {
1812
+ "$ref": "#/definitions/Media"
1813
+ }
215
1814
  ]
216
- },
217
- "CardElements": {
218
- "type": "array",
219
- "additionalItems": true,
220
- "items": [
221
- {
222
- "anyOf": [
223
- {
224
- "$ref": "#/definitions/TextBlock"
225
- },
226
- {
227
- "$ref": "#/definitions/Media"
228
- },
229
- {
230
- "$ref": "#/definitions/Image"
231
- },
232
- {
233
- "$ref": "#/definitions/Container"
234
- },
235
- {
236
- "$ref": "#/definitions/ColumnSet"
237
- },
238
- {
239
- "$ref": "#/definitions/FactSet"
240
- },
241
- {
242
- "$ref": "#/definitions/ImageSet"
243
- },
244
- {
245
- "$ref": "#/definitions/Input.Text"
246
- },
247
- {
248
- "$ref": "#/definitions/Input.Number"
249
- },
250
- {
251
- "$ref": "#/definitions/Input.Date"
252
- },
253
- {
254
- "$ref": "#/definitions/Input.Time"
255
- },
256
- {
257
- "$ref": "#/definitions/Input.Toggle"
258
- },
259
- {
260
- "$ref": "#/definitions/Input.ChoiceSet"
261
- }
262
- ]
263
- }
1815
+ },
1816
+ {
1817
+ "required": [
1818
+ "type"
1819
+ ],
1820
+ "allOf": [
1821
+ {
1822
+ "$ref": "#/definitions/RichTextBlock"
1823
+ }
264
1824
  ]
265
- },
266
- "Input.Choice": {
267
- "type": "object",
268
- "description": "Describes a choice for use in a ChoiceSet.",
269
- "additionalProperties": true,
270
- "properties": {
271
- "type": {
272
- "type": "string",
273
- "enum": [
274
- "Input.Choice"
275
- ]
276
- },
277
- "title": {
278
- "type": "string",
279
- "description": "Text to display."
280
- },
281
- "value": {
282
- "type": "string",
283
- "description": "The raw value for the choice. **NOTE:** do not use a `,` in the value, since a `ChoiceSet` with `isMultiSelect` set to `true` returns a comma-delimited string of choice values."
284
- }
285
- },
1825
+ },
1826
+ {
286
1827
  "required": [
287
- "title",
288
- "value"
1828
+ "type"
1829
+ ],
1830
+ "allOf": [
1831
+ {
1832
+ "$ref": "#/definitions/TextBlock"
1833
+ }
289
1834
  ]
290
- },
291
- "ChoiceInputStyle": {
292
- "type": "string",
293
- "description": "Style hint for `Input.ChoiceSet`.",
294
- "default": "compact",
295
- "enum": [
296
- "compact",
297
- "expanded"
1835
+ }
1836
+ ]
1837
+ },
1838
+ "ImplementationsOf.Action": {
1839
+ "anyOf": [
1840
+ {
1841
+ "required": [
1842
+ "type"
1843
+ ],
1844
+ "allOf": [
1845
+ {
1846
+ "$ref": "#/definitions/Action.OpenUrl"
1847
+ }
298
1848
  ]
299
- },
300
- "Column": {
301
- "additionalProperties": true,
302
- "type": "object",
303
- "description": "Defines a container that is part of a ColumnSet.",
1849
+ },
1850
+ {
1851
+ "required": [
1852
+ "type"
1853
+ ],
304
1854
  "allOf": [
305
- {
306
- "$ref": "#/definitions/CardElement"
307
- }
1855
+ {
1856
+ "$ref": "#/definitions/Action.ShowCard"
1857
+ }
1858
+ ]
1859
+ },
1860
+ {
1861
+ "required": [
1862
+ "type"
308
1863
  ],
309
- "properties": {
310
- "items": {
311
- "description": "The card elements to include in the `Column`.",
312
- "$ref": "#/definitions/CardElements"
313
- },
314
- "selectAction": {
315
- "description": "An Action that will be invoked when the `Column` is tapped or selected. `Action.ShowCard` is not supported.",
316
- "type": "object",
317
- "version": "1.1",
318
- "oneOf": [
319
- {
320
- "$ref": "#/definitions/Action.Submit"
321
- },
322
- {
323
- "$ref": "#/definitions/Action.OpenUrl"
324
- }
325
- ]
326
- },
327
- "style": {
328
- "type": "string",
329
- "description": "Style hint for `Column`.",
330
- "enum": [
331
- "default",
332
- "emphasis"
333
- ]
334
- },
335
- "width": {
336
- "type": [
337
- "string",
338
- "number"
339
- ],
340
- "description": "The width of the column. Can be `\"auto\"`, `\"stretch\"`, a weighted number relative to other columns, or a string specifying pixel width (50px). NOTE: Pixel-sized columns were introduced in version 1.1",
341
- "examples": [
342
- "auto",
343
- "stretch",
344
- "2",
345
- "50px"
346
- ]
347
- },
348
- "type": {
349
- "type": "string",
350
- "description": "Must be `\"Column\"`.",
351
- "enum": [
352
- "Column"
353
- ]
354
- }
355
- },
1864
+ "allOf": [
1865
+ {
1866
+ "$ref": "#/definitions/Action.Submit"
1867
+ }
1868
+ ]
1869
+ },
1870
+ {
356
1871
  "required": [
357
- "items"
1872
+ "type"
1873
+ ],
1874
+ "allOf": [
1875
+ {
1876
+ "$ref": "#/definitions/Action.ToggleVisibility"
1877
+ }
358
1878
  ]
359
- },
360
- "ColumnSet": {
361
- "additionalProperties": true,
362
- "type": "object",
363
- "description": "ColumnSet divides a region into Columns, allowing elements to sit side-by-side.",
1879
+ }
1880
+ ]
1881
+ },
1882
+ "ImplementationsOf.ISelectAction": {
1883
+ "anyOf": [
1884
+ {
1885
+ "required": [
1886
+ "type"
1887
+ ],
364
1888
  "allOf": [
365
- {
366
- "$ref": "#/definitions/CardElement"
367
- }
1889
+ {
1890
+ "$ref": "#/definitions/Action.OpenUrl"
1891
+ }
1892
+ ]
1893
+ },
1894
+ {
1895
+ "required": [
1896
+ "type"
368
1897
  ],
369
- "properties": {
370
- "columns": {
371
- "type": "array",
372
- "description": "The array of `Columns` to divide the region into.",
373
- "items": {
374
- "$ref": "#/definitions/Column"
375
- }
376
- },
377
- "selectAction": {
378
- "description": "An Action that will be invoked when the `ColumnSet` is tapped or selected. `Action.ShowCard` is not supported.",
379
- "type": "object",
380
- "version": "1.1",
381
- "oneOf": [
382
- {
383
- "$ref": "#/definitions/Action.Submit"
384
- },
385
- {
386
- "$ref": "#/definitions/Action.OpenUrl"
387
- }
388
- ]
389
- },
390
- "type": {
391
- "type": "string",
392
- "description": "Must be `\"ColumnSet\"`.",
393
- "enum": [
394
- "ColumnSet"
395
- ]
396
- }
397
- },
1898
+ "allOf": [
1899
+ {
1900
+ "$ref": "#/definitions/Action.Submit"
1901
+ }
1902
+ ]
1903
+ },
1904
+ {
398
1905
  "required": [
399
- "type"
1906
+ "type"
1907
+ ],
1908
+ "allOf": [
1909
+ {
1910
+ "$ref": "#/definitions/Action.ToggleVisibility"
1911
+ }
400
1912
  ]
401
- },
402
- "Container": {
403
- "additionalProperties": true,
404
- "type": "object",
405
- "description": "Containers group items together.",
1913
+ }
1914
+ ]
1915
+ },
1916
+ "ImplementationsOf.Element": {
1917
+ "anyOf": [
1918
+ {
1919
+ "required": [
1920
+ "type"
1921
+ ],
406
1922
  "allOf": [
407
- {
408
- "$ref": "#/definitions/CardElement"
409
- }
1923
+ {
1924
+ "$ref": "#/definitions/ActionSet"
1925
+ }
1926
+ ]
1927
+ },
1928
+ {
1929
+ "required": [
1930
+ "type"
410
1931
  ],
411
- "properties": {
412
- "type": {
413
- "type": "string",
414
- "description": "Must be `\"Container\"`.",
415
- "enum": [
416
- "Container"
417
- ]
418
- },
419
- "items": {
420
- "description": "The card elements to render inside the `Container`.",
421
- "$ref": "#/definitions/CardElements"
422
- },
423
- "selectAction": {
424
- "description": "An Action that will be invoked when the `Container` is tapped or selected. `Action.ShowCard` is not supported.",
425
- "type": "object",
426
- "version": "1.1",
427
- "oneOf": [
428
- {
429
- "$ref": "#/definitions/Action.Submit"
430
- },
431
- {
432
- "$ref": "#/definitions/Action.OpenUrl"
433
- }
434
- ]
435
- },
436
- "style": {
437
- "type": "string",
438
- "description": "Style hint for `Container`.",
439
- "enum": [
440
- "default",
441
- "emphasis"
442
- ]
443
- },
444
- "verticalContentAlignment": {
445
- "type": "string",
446
- "description": "Defines how the content should be aligned vertically within the container.",
447
- "default": "top",
448
- "enum:": [
449
- "top",
450
- "center",
451
- "bottom"
452
- ],
453
- "version": "1.1"
454
- }
455
- },
1932
+ "allOf": [
1933
+ {
1934
+ "$ref": "#/definitions/ColumnSet"
1935
+ }
1936
+ ]
1937
+ },
1938
+ {
456
1939
  "required": [
457
- "type",
458
- "items"
1940
+ "type"
1941
+ ],
1942
+ "allOf": [
1943
+ {
1944
+ "$ref": "#/definitions/Container"
1945
+ }
459
1946
  ]
460
- },
461
- "Fact": {
462
- "additionalProperties": true,
463
- "type": "object",
464
- "description": "Describes a Fact in a FactSet as a key/value pair.",
465
- "properties": {
466
- "type": {
467
- "type": "string",
468
- "enum": [
469
- "Fact"
470
- ]
471
- },
472
- "title": {
473
- "type": "string",
474
- "description": "The title of the fact."
475
- },
476
- "value": {
477
- "type": "string",
478
- "description": "The value of the fact."
479
- }
480
- },
1947
+ },
1948
+ {
481
1949
  "required": [
482
- "title",
483
- "value"
1950
+ "type"
1951
+ ],
1952
+ "allOf": [
1953
+ {
1954
+ "$ref": "#/definitions/FactSet"
1955
+ }
484
1956
  ]
485
- },
486
- "FactSet": {
487
- "additionalProperties": true,
488
- "type": "object",
489
- "description": "The FactSet element displays a series of facts (i.e. name/value pairs) in a tabular form.",
1957
+ },
1958
+ {
1959
+ "required": [
1960
+ "type"
1961
+ ],
490
1962
  "allOf": [
491
- {
492
- "$ref": "#/definitions/CardElement"
493
- }
1963
+ {
1964
+ "$ref": "#/definitions/Image"
1965
+ }
1966
+ ]
1967
+ },
1968
+ {
1969
+ "required": [
1970
+ "type"
494
1971
  ],
495
- "properties": {
496
- "facts": {
497
- "type": "array",
498
- "description": "The array of `Fact`s.",
499
- "items": {
500
- "$ref": "#/definitions/Fact"
501
- }
502
- },
503
- "type": {
504
- "type": "string",
505
- "description": "Must be `\"FactSet\"`.",
506
- "enum": [
507
- "FactSet"
508
- ]
509
- }
510
- },
1972
+ "allOf": [
1973
+ {
1974
+ "$ref": "#/definitions/ImageSet"
1975
+ }
1976
+ ]
1977
+ },
1978
+ {
511
1979
  "required": [
512
- "type",
513
- "facts"
1980
+ "type"
1981
+ ],
1982
+ "allOf": [
1983
+ {
1984
+ "$ref": "#/definitions/Input.ChoiceSet"
1985
+ }
514
1986
  ]
515
- },
516
- "HorizontalAlignment": {
517
- "type": "string",
518
- "description": "Controls how elements are horizontally positioned within their container.",
519
- "default": "left",
520
- "enum": [
521
- "left",
522
- "center",
523
- "right"
1987
+ },
1988
+ {
1989
+ "required": [
1990
+ "type"
1991
+ ],
1992
+ "allOf": [
1993
+ {
1994
+ "$ref": "#/definitions/Input.Date"
1995
+ }
524
1996
  ]
525
- },
526
- "MediaSource": {
527
- "additionalProperties": true,
528
- "type": "object",
529
- "description": "Defines a source for a Media element",
530
- "version": "1.1",
531
- "properties": {
532
- "mimeType": {
533
- "type": "string",
534
- "description": "Mime type of associated media (e.g. `\"video/mp4\"`)."
535
- },
536
- "url": {
537
- "type": "string",
538
- "format": "uri",
539
- "description": "URL to media."
540
- }
541
- },
1997
+ },
1998
+ {
542
1999
  "required": [
543
- "mimeType",
544
- "url"
2000
+ "type"
2001
+ ],
2002
+ "allOf": [
2003
+ {
2004
+ "$ref": "#/definitions/Input.Number"
2005
+ }
545
2006
  ]
546
- },
547
- "Media": {
548
- "additionalProperties": true,
549
- "type": "object",
550
- "description": "Displays a media player for audio or video content.",
551
- "version": "1.1",
2007
+ },
2008
+ {
2009
+ "required": [
2010
+ "type"
2011
+ ],
552
2012
  "allOf": [
553
- {
554
- "$ref": "#/definitions/CardElement"
555
- }
2013
+ {
2014
+ "$ref": "#/definitions/Input.Text"
2015
+ }
2016
+ ]
2017
+ },
2018
+ {
2019
+ "required": [
2020
+ "type"
556
2021
  ],
557
- "properties": {
558
- "type": {
559
- "type": "string",
560
- "description": "Must be `\"Media\"`.",
561
- "enum": [
562
- "Media"
563
- ]
564
- },
565
- "sources": {
566
- "type": "array",
567
- "description": "Array of media sources to attempt to play.",
568
- "items": {
569
- "$ref": "#/definitions/MediaSource"
570
- }
571
- },
572
- "poster": {
573
- "type": "string",
574
- "format": "uri",
575
- "description": "URL of an image to display before playing."
576
- },
577
- "altText": {
578
- "type": "string",
579
- "description": "Alternate text describing the audio or video."
580
- }
581
- },
2022
+ "allOf": [
2023
+ {
2024
+ "$ref": "#/definitions/Input.Time"
2025
+ }
2026
+ ]
2027
+ },
2028
+ {
582
2029
  "required": [
583
- "type",
584
- "sources"
2030
+ "type"
2031
+ ],
2032
+ "allOf": [
2033
+ {
2034
+ "$ref": "#/definitions/Input.Toggle"
2035
+ }
585
2036
  ]
586
- },
587
- "Image": {
588
- "additionalProperties": true,
589
- "type": "object",
590
- "description": "Displays an image.",
2037
+ },
2038
+ {
2039
+ "required": [
2040
+ "type"
2041
+ ],
591
2042
  "allOf": [
592
- {
593
- "$ref": "#/definitions/CardElement"
594
- }
2043
+ {
2044
+ "$ref": "#/definitions/Media"
2045
+ }
2046
+ ]
2047
+ },
2048
+ {
2049
+ "required": [
2050
+ "type"
595
2051
  ],
596
- "properties": {
597
- "altText": {
598
- "type": "string",
599
- "description": "Alternate text describing the image."
600
- },
601
- "backgroundColor": {
602
- "type": "string",
603
- "description": "Applies a background to a transparent image. This property will respect the image style.",
604
- "example": "#DDDDDD",
605
- "version": "1.1"
606
- },
607
- "height": {
608
- "type": "string",
609
- "description": "The desired on-screen height of the image, ending in 'px'. E.g., 50px. This overrides the `size` property.",
610
- "examples": [
611
- "50px"
612
- ],
613
- "version": "1.1"
614
- },
615
- "horizontalAlignment": {
616
- "$ref": "#/definitions/HorizontalAlignment"
617
- },
618
- "selectAction": {
619
- "description": "An Action that will be invoked when the `Image` is tapped or selected. `Action.ShowCard` is not supported.",
620
- "type": "object",
621
- "version": "1.1",
622
- "oneOf": [
623
- {
624
- "$ref": "#/definitions/Action.Submit"
625
- },
626
- {
627
- "$ref": "#/definitions/Action.OpenUrl"
628
- }
629
- ]
630
- },
631
- "size": {
632
- "$ref": "#/definitions/ImageSize"
633
- },
634
- "style": {
635
- "$ref": "#/definitions/ImageStyle"
636
- },
637
- "type": {
638
- "type": "string",
639
- "description": "Must be `\"Image\"`.",
640
- "enum": [
641
- "Image"
642
- ]
643
- },
644
- "url": {
645
- "type": "string",
646
- "format": "uri",
647
- "description": "The URL to the image."
648
- },
649
- "width": {
650
- "type": "string",
651
- "description": "The desired on-screen width of the image, ending in 'px'. E.g., 50px. This overrides the `size` property.",
652
- "examples": [
653
- "50px"
654
- ],
655
- "version": "1.1"
656
- }
657
- },
2052
+ "allOf": [
2053
+ {
2054
+ "$ref": "#/definitions/RichTextBlock"
2055
+ }
2056
+ ]
2057
+ },
2058
+ {
658
2059
  "required": [
659
- "type",
660
- "url"
2060
+ "type"
2061
+ ],
2062
+ "allOf": [
2063
+ {
2064
+ "$ref": "#/definitions/TextBlock"
2065
+ }
661
2066
  ]
662
- },
663
- "ImageSet": {
664
- "additionalProperties": true,
665
- "type": "object",
666
- "description": "The ImageSet displays a collection of Images similar to a gallery.",
2067
+ }
2068
+ ]
2069
+ },
2070
+ "ImplementationsOf.ToggleableItem": {
2071
+ "anyOf": [
2072
+ {
2073
+ "required": [
2074
+ "type"
2075
+ ],
667
2076
  "allOf": [
668
- {
669
- "$ref": "#/definitions/CardElement"
670
- }
2077
+ {
2078
+ "$ref": "#/definitions/ActionSet"
2079
+ }
2080
+ ]
2081
+ },
2082
+ {
2083
+ "required": [
2084
+ "type"
671
2085
  ],
672
- "properties": {
673
- "images": {
674
- "type": "array",
675
- "description": "The array of `Image` elements to show.",
676
- "items": {
677
- "$ref": "#/definitions/Image"
678
- }
679
- },
680
- "imageSize": {
681
- "$ref": "#/definitions/ImageSize"
682
- },
683
- "type": {
684
- "type": "string",
685
- "description": "Must be `\"ImageSet\"`.",
686
- "enum": [
687
- "ImageSet"
688
- ]
689
- }
690
- },
2086
+ "allOf": [
2087
+ {
2088
+ "$ref": "#/definitions/Column"
2089
+ }
2090
+ ]
2091
+ },
2092
+ {
691
2093
  "required": [
692
- "type",
693
- "images"
2094
+ "type"
2095
+ ],
2096
+ "allOf": [
2097
+ {
2098
+ "$ref": "#/definitions/ColumnSet"
2099
+ }
694
2100
  ]
695
- },
696
- "ImageSize": {
697
- "type": "string",
698
- "description": "Controls the approximate size of the image. The physical dimensions will vary per host. Specify `\"auto\"` for true image dimension, or `\"stretch\"` to force it to fill the container.",
699
- "default": "auto",
700
- "enum": [
701
- "auto",
702
- "stretch",
703
- "small",
704
- "medium",
705
- "large"
2101
+ },
2102
+ {
2103
+ "required": [
2104
+ "type"
2105
+ ],
2106
+ "allOf": [
2107
+ {
2108
+ "$ref": "#/definitions/Container"
2109
+ }
706
2110
  ]
707
- },
708
- "ImageStyle": {
709
- "type": "string",
710
- "description": "Controls how this `Image` is displayed.",
711
- "enum": [
712
- "default",
713
- "person"
2111
+ },
2112
+ {
2113
+ "required": [
2114
+ "type"
2115
+ ],
2116
+ "allOf": [
2117
+ {
2118
+ "$ref": "#/definitions/FactSet"
2119
+ }
714
2120
  ]
715
- },
716
- "Input.ChoiceSet": {
717
- "additionalProperties": true,
718
- "type": "object",
719
- "description": "Allows a user to input a Choice.",
2121
+ },
2122
+ {
2123
+ "required": [
2124
+ "type"
2125
+ ],
720
2126
  "allOf": [
721
- {
722
- "$ref": "#/definitions/CardElement"
723
- }
2127
+ {
2128
+ "$ref": "#/definitions/Image"
2129
+ }
2130
+ ]
2131
+ },
2132
+ {
2133
+ "required": [
2134
+ "type"
724
2135
  ],
725
- "properties": {
726
- "choices": {
727
- "type": "array",
728
- "description": "`Choice` options.",
729
- "items": {
730
- "$ref": "#/definitions/Input.Choice"
731
- }
732
- },
733
- "id": {
734
- "type": "string",
735
- "description": "Unique identifier for the value. Used to identify collected input when the Submit action is performed."
736
- },
737
- "isMultiSelect": {
738
- "type": "boolean",
739
- "description": "Allow multiple choices to be selected.",
740
- "default": false
741
- },
742
- "style": {
743
- "$ref": "#/definitions/ChoiceInputStyle"
744
- },
745
- "type": {
746
- "description": "Must be `\"Input.ChoiceSet\"`.",
747
- "enum": [
748
- "Input.ChoiceSet"
749
- ],
750
- "type": "string"
751
- },
752
- "value": {
753
- "type": "string",
754
- "description": "The initial choice (or set of choices) that should be selected. For multi-select, specify a comma-separated string of values."
755
- }
756
- },
2136
+ "allOf": [
2137
+ {
2138
+ "$ref": "#/definitions/ImageSet"
2139
+ }
2140
+ ]
2141
+ },
2142
+ {
757
2143
  "required": [
758
- "type",
759
- "id",
760
- "choices"
2144
+ "type"
2145
+ ],
2146
+ "allOf": [
2147
+ {
2148
+ "$ref": "#/definitions/Input.ChoiceSet"
2149
+ }
761
2150
  ]
762
- },
763
- "Input.Date": {
764
- "additionalProperties": true,
765
- "type": "object",
766
- "description": "Lets a user choose a date.",
2151
+ },
2152
+ {
2153
+ "required": [
2154
+ "type"
2155
+ ],
767
2156
  "allOf": [
768
- {
769
- "$ref": "#/definitions/CardElement"
770
- }
2157
+ {
2158
+ "$ref": "#/definitions/Input.Date"
2159
+ }
2160
+ ]
2161
+ },
2162
+ {
2163
+ "required": [
2164
+ "type"
771
2165
  ],
772
- "properties": {
773
- "id": {
774
- "type": "string",
775
- "description": "Unique identifier for the value. Used to identify collected input when the Submit action is performed."
776
- },
777
- "max": {
778
- "type": "string",
779
- "description": "Hint of maximum value expressed in ISO-8601 format (may be ignored by some clients)."
780
- },
781
- "min": {
782
- "type": "string",
783
- "description": "Hint of minimum value expressed in ISO-8601 format (may be ignored by some clients)."
784
- },
785
- "placeholder": {
786
- "type": "string",
787
- "description": "Description of the input desired. Displayed when no selection has been made."
788
- },
789
- "type": {
790
- "type": "string",
791
- "description": "Must be `\"Input.Date\"`.",
792
- "enum": [
793
- "Input.Date"
794
- ]
795
- },
796
- "value": {
797
- "type": "string",
798
- "description": "The initial value for this field expressed in ISO-8601 format."
799
- }
800
- },
2166
+ "allOf": [
2167
+ {
2168
+ "$ref": "#/definitions/Input.Number"
2169
+ }
2170
+ ]
2171
+ },
2172
+ {
801
2173
  "required": [
802
- "type",
803
- "id"
2174
+ "type"
2175
+ ],
2176
+ "allOf": [
2177
+ {
2178
+ "$ref": "#/definitions/Input.Text"
2179
+ }
804
2180
  ]
805
- },
806
- "Input.Number": {
807
- "additionalProperties": true,
808
- "type": "object",
809
- "description": "Allows a user to enter a number.",
2181
+ },
2182
+ {
2183
+ "required": [
2184
+ "type"
2185
+ ],
810
2186
  "allOf": [
811
- {
812
- "$ref": "#/definitions/CardElement"
813
- }
2187
+ {
2188
+ "$ref": "#/definitions/Input.Time"
2189
+ }
2190
+ ]
2191
+ },
2192
+ {
2193
+ "required": [
2194
+ "type"
814
2195
  ],
815
- "properties": {
816
- "id": {
817
- "type": "string",
818
- "description": "Unique identifier for the value. Used to identify collected input when the Submit action is performed."
819
- },
820
- "max": {
821
- "type": "number",
822
- "description": "Hint of maximum value (may be ignored by some clients)."
823
- },
824
- "min": {
825
- "type": "number",
826
- "description": "Hint of minimum value (may be ignored by some clients)."
827
- },
828
- "placeholder": {
829
- "type": "string",
830
- "description": "Description of the input desired. Displayed when no selection has been made."
831
- },
832
- "type": {
833
- "type": "string",
834
- "description": "Must be `\"Input.Number\"`.",
835
- "enum": [
836
- "Input.Number"
837
- ]
838
- },
839
- "value": {
840
- "type": "number",
841
- "description": "Initial value for this field."
842
- }
843
- },
2196
+ "allOf": [
2197
+ {
2198
+ "$ref": "#/definitions/Input.Toggle"
2199
+ }
2200
+ ]
2201
+ },
2202
+ {
844
2203
  "required": [
845
- "type",
846
- "id"
2204
+ "type"
2205
+ ],
2206
+ "allOf": [
2207
+ {
2208
+ "$ref": "#/definitions/Media"
2209
+ }
847
2210
  ]
848
- },
849
- "Input.Text": {
850
- "additionalProperties": true,
851
- "type": "object",
852
- "description": "Lets a user enter text.",
2211
+ },
2212
+ {
2213
+ "required": [
2214
+ "type"
2215
+ ],
853
2216
  "allOf": [
854
- {
855
- "$ref": "#/definitions/CardElement"
856
- }
2217
+ {
2218
+ "$ref": "#/definitions/RichTextBlock"
2219
+ }
2220
+ ]
2221
+ },
2222
+ {
2223
+ "required": [
2224
+ "type"
857
2225
  ],
858
- "properties": {
859
- "id": {
860
- "type": "string",
861
- "description": "Unique identifier for the value. Used to identify collected input when the Submit action is performed."
862
- },
863
- "isMultiline": {
864
- "type": "boolean",
865
- "description": "If `true`, allow multiple lines of input.",
866
- "default": false
867
- },
868
- "maxLength": {
869
- "type": "number",
870
- "description": "Hint of maximum length characters to collect (may be ignored by some clients)."
871
- },
872
- "placeholder": {
873
- "type": "string",
874
- "description": "Description of the input desired. Displayed when no text has been input."
875
- },
876
- "style": {
877
- "$ref": "#/definitions/TextInputStyle"
878
- },
879
- "type": {
880
- "type": "string",
881
- "description": "Must be `\"Input.Text\"`.",
882
- "enum": [
883
- "Input.Text"
884
- ]
885
- },
886
- "value": {
887
- "type": "string",
888
- "description": "The initial value for this field."
889
- }
890
- },
2226
+ "allOf": [
2227
+ {
2228
+ "$ref": "#/definitions/TextBlock"
2229
+ }
2230
+ ]
2231
+ }
2232
+ ]
2233
+ },
2234
+ "ImplementationsOf.Inline": {
2235
+ "anyOf": [
2236
+ {
891
2237
  "required": [
892
- "type",
893
- "id"
2238
+ "type"
2239
+ ],
2240
+ "allOf": [
2241
+ {
2242
+ "$ref": "#/definitions/TextRun"
2243
+ }
894
2244
  ]
895
- },
896
- "Input.Time": {
897
- "additionalProperties": true,
898
- "type": "object",
899
- "description": "Lets a user select a time.",
2245
+ }
2246
+ ]
2247
+ },
2248
+ "ImplementationsOf.Input": {
2249
+ "anyOf": [
2250
+ {
2251
+ "required": [
2252
+ "type"
2253
+ ],
900
2254
  "allOf": [
901
- {
902
- "$ref": "#/definitions/CardElement"
903
- }
2255
+ {
2256
+ "$ref": "#/definitions/Input.ChoiceSet"
2257
+ }
2258
+ ]
2259
+ },
2260
+ {
2261
+ "required": [
2262
+ "type"
904
2263
  ],
905
- "properties": {
906
- "id": {
907
- "type": "string",
908
- "description": "Unique identifier for the value. Used to identify collected input when the Submit action is performed."
909
- },
910
- "max": {
911
- "type": "string",
912
- "description": "Hint of maximum value (may be ignored by some clients)."
913
- },
914
- "min": {
915
- "type": "string",
916
- "description": "Hint of minimum value (may be ignored by some clients)."
917
- },
918
- "placeholder": {
919
- "type": "string",
920
- "description": "Description of the input desired. Displayed when no time has been selected."
921
- },
922
- "type": {
923
- "type": "string",
924
- "description": "Must be `\"Input.Time\"`.",
925
- "enum": [
926
- "Input.Time"
927
- ]
928
- },
929
- "value": {
930
- "type": "string",
931
- "description": "The initial value for this field expressed in ISO-8601 format."
932
- }
933
- },
2264
+ "allOf": [
2265
+ {
2266
+ "$ref": "#/definitions/Input.Date"
2267
+ }
2268
+ ]
2269
+ },
2270
+ {
934
2271
  "required": [
935
- "type",
936
- "id"
2272
+ "type"
2273
+ ],
2274
+ "allOf": [
2275
+ {
2276
+ "$ref": "#/definitions/Input.Number"
2277
+ }
937
2278
  ]
938
- },
939
- "Input.Toggle": {
940
- "additionalProperties": true,
941
- "type": "object",
942
- "description": "Lets a user choose between two options.",
2279
+ },
2280
+ {
2281
+ "required": [
2282
+ "type"
2283
+ ],
943
2284
  "allOf": [
944
- {
945
- "$ref": "#/definitions/CardElement"
946
- }
2285
+ {
2286
+ "$ref": "#/definitions/Input.Text"
2287
+ }
2288
+ ]
2289
+ },
2290
+ {
2291
+ "required": [
2292
+ "type"
947
2293
  ],
948
- "properties": {
949
- "id": {
950
- "type": "string",
951
- "description": "Unique identifier for the value. Used to identify collected input when the Submit action is performed."
952
- },
953
- "title": {
954
- "type": "string",
955
- "description": "Title for the toggle"
956
- },
957
- "type": {
958
- "type": "string",
959
- "description": "Input.Toggle",
960
- "enum": [
961
- "Input.Toggle"
962
- ]
963
- },
964
- "value": {
965
- "type": "string",
966
- "description": "The current selected value. If the item is selected that \"valueOn\" will be used, otherwise \"valueOff\"",
967
- "default": "false"
968
- },
969
- "valueOff": {
970
- "type": "string",
971
- "description": "The value when toggle is off",
972
- "default": "false"
973
- },
974
- "valueOn": {
975
- "type": "string",
976
- "description": "The value when toggle is on",
977
- "default": "true"
978
- }
979
- },
2294
+ "allOf": [
2295
+ {
2296
+ "$ref": "#/definitions/Input.Time"
2297
+ }
2298
+ ]
2299
+ },
2300
+ {
980
2301
  "required": [
981
- "type",
982
- "id",
983
- "title"
2302
+ "type"
2303
+ ],
2304
+ "allOf": [
2305
+ {
2306
+ "$ref": "#/definitions/Input.Toggle"
2307
+ }
984
2308
  ]
2309
+ }
2310
+ ]
2311
+ },
2312
+ "Extendable.Action": {
2313
+ "properties": {
2314
+ "title": {
2315
+ "type": "string",
2316
+ "description": "Label for button or link that represents this action."
2317
+ },
2318
+ "iconUrl": {
2319
+ "type": "string",
2320
+ "format": "uri-reference",
2321
+ "description": "Optional icon to be shown on the action in conjunction with the title. Supports data URI in version 1.2+",
2322
+ "version": "1.1"
2323
+ },
2324
+ "style": {
2325
+ "$ref": "#/definitions/ActionStyle",
2326
+ "description": "Controls the style of an Action, which influences how the action is displayed, spoken, etc.",
2327
+ "version": "1.2"
2328
+ },
2329
+ "fallback": {
2330
+ "anyOf": [
2331
+ {
2332
+ "$ref": "#/definitions/ImplementationsOf.Action"
2333
+ },
2334
+ {
2335
+ "$ref": "#/definitions/FallbackOption"
2336
+ }
2337
+ ],
2338
+ "description": "Describes what to do when an unknown element is encountered or the requires of this or any children can't be met.",
2339
+ "version": "1.2"
2340
+ },
2341
+ "requires": {}
985
2342
  },
986
- "TextBlock": {
987
- "additionalProperties": true,
988
- "type": "object",
989
- "description": "Displays text, allowing control over font sizes, weight, and color.",
990
- "allOf": [
991
- {
992
- "$ref": "#/definitions/CardElement"
993
- }
2343
+ "type": "object",
2344
+ "allOf": [
2345
+ {
2346
+ "$ref": "#/definitions/Extendable.Item"
2347
+ }
2348
+ ]
2349
+ },
2350
+ "Extendable.Element": {
2351
+ "properties": {
2352
+ "fallback": {
2353
+ "anyOf": [
2354
+ {
2355
+ "$ref": "#/definitions/ImplementationsOf.Element"
2356
+ },
2357
+ {
2358
+ "$ref": "#/definitions/FallbackOption"
2359
+ }
994
2360
  ],
995
- "properties": {
996
- "color": {
997
- "type": "string",
998
- "description": "Controls the color of `TextBlock` elements.",
999
- "enum": [
1000
- "default",
1001
- "dark",
1002
- "light",
1003
- "accent",
1004
- "good",
1005
- "warning",
1006
- "attention"
1007
- ]
1008
- },
1009
- "horizontalAlignment": {
1010
- "$ref": "#/definitions/HorizontalAlignment"
1011
- },
1012
- "isSubtle": {
1013
- "type": "boolean",
1014
- "description": "If `true`, displays text slightly toned down to appear less prominent.",
1015
- "default": false
1016
- },
1017
- "maxLines": {
1018
- "type": "number",
1019
- "description": "Specifies the maximum number of lines to display."
1020
- },
1021
- "size": {
1022
- "type": "string",
1023
- "description": "Controls size of text.",
1024
- "enum": [
1025
- "small",
1026
- "default",
1027
- "medium",
1028
- "large",
1029
- "extraLarge"
1030
- ]
1031
- },
1032
- "text": {
1033
- "type": "string",
1034
- "description": "Text to display."
1035
- },
1036
- "type": {
1037
- "type": "string",
1038
- "description": "Must be `\"TextBlock\"`.",
1039
- "enum": [
1040
- "TextBlock"
1041
- ]
1042
- },
1043
- "weight": {
1044
- "type": "string",
1045
- "description": "Controls the weight of `TextBlock` elements.",
1046
- "enum": [
1047
- "lighter",
1048
- "default",
1049
- "bolder"
1050
- ]
1051
- },
1052
- "wrap": {
1053
- "type": "boolean",
1054
- "description": "If `true`, allow text to wrap. Otherwise, text is clipped.",
1055
- "default": false
1056
- }
2361
+ "description": "Describes what to do when an unknown element is encountered or the requires of this or any children can't be met.",
2362
+ "version": "1.2"
2363
+ },
2364
+ "height": {
2365
+ "$ref": "#/definitions/BlockElementHeight",
2366
+ "description": "Specifies the height of the element.",
2367
+ "version": "1.1"
2368
+ },
2369
+ "separator": {
2370
+ "type": "boolean",
2371
+ "description": "When `true`, draw a separating line at the top of the element."
2372
+ },
2373
+ "spacing": {
2374
+ "$ref": "#/definitions/Spacing",
2375
+ "description": "Controls the amount of spacing between this element and the preceding element."
2376
+ },
2377
+ "id": {},
2378
+ "isVisible": {},
2379
+ "requires": {}
2380
+ },
2381
+ "type": "object",
2382
+ "allOf": [
2383
+ {
2384
+ "$ref": "#/definitions/Extendable.ToggleableItem"
2385
+ }
2386
+ ]
2387
+ },
2388
+ "Extendable.Input": {
2389
+ "description": "Base input class",
2390
+ "properties": {
2391
+ "id": {
2392
+ "type": "string",
2393
+ "description": "Unique identifier for the value. Used to identify collected input when the Submit action is performed."
2394
+ },
2395
+ "label": {
2396
+ "anyOf": [
2397
+ {
2398
+ "type": "string"
2399
+ },
2400
+ {
2401
+ "$ref": "#/definitions/TextBlock"
2402
+ },
2403
+ {
2404
+ "$ref": "#/definitions/RichTextBlock"
2405
+ }
2406
+ ],
2407
+ "description": "Label for this input",
2408
+ "version": "1.3"
2409
+ },
2410
+ "fallback": {
2411
+ "anyOf": [
2412
+ {
2413
+ "$ref": "#/definitions/ImplementationsOf.Element"
2414
+ },
2415
+ {
2416
+ "$ref": "#/definitions/FallbackOption"
2417
+ }
2418
+ ],
2419
+ "description": "Describes what to do when an unknown element is encountered or the requires of this or any children can't be met.",
2420
+ "version": "1.2"
2421
+ },
2422
+ "height": {
2423
+ "$ref": "#/definitions/BlockElementHeight",
2424
+ "description": "Specifies the height of the element.",
2425
+ "version": "1.1"
2426
+ },
2427
+ "separator": {
2428
+ "type": "boolean",
2429
+ "description": "When `true`, draw a separating line at the top of the element."
2430
+ },
2431
+ "spacing": {
2432
+ "$ref": "#/definitions/Spacing",
2433
+ "description": "Controls the amount of spacing between this element and the preceding element."
2434
+ },
2435
+ "isVisible": {
2436
+ "type": "boolean",
2437
+ "description": "If `false`, this item will be removed from the visual tree.",
2438
+ "default": true,
2439
+ "version": "1.2"
2440
+ },
2441
+ "requires": {
2442
+ "type": "object",
2443
+ "additionalProperties": {
2444
+ "type": "string"
1057
2445
  },
1058
- "required": [
1059
- "type",
1060
- "text"
1061
- ]
2446
+ "description": "A series of key/value pairs indicating features that the item requires with corresponding minimum version. When a feature is missing or of insufficient version, fallback is triggered.",
2447
+ "version": "1.2"
2448
+ }
1062
2449
  },
1063
- "SeparatorStyle": {
2450
+ "type": "object",
2451
+ "required": [
2452
+ "id"
2453
+ ]
2454
+ },
2455
+ "Extendable.Item": {
2456
+ "properties": {
2457
+ "requires": {
1064
2458
  "type": "object",
1065
- "description": "Indicates whether there should be a visible separator (i.e. a line) between the element and its predecessor. If not specified, no separator is displayed. A separator will only be displayed if there is a preceding element.",
1066
- "properties": {
1067
- "thickness": {
1068
- "type": "string",
1069
- "description": "Specifies separator thickness.",
1070
- "enum": [
1071
- "default",
1072
- "thick"
1073
- ]
1074
- },
1075
- "color": {
1076
- "type": "string",
1077
- "description": "Specifies separator color.",
1078
- "enum": [
1079
- "default",
1080
- "accent"
1081
- ]
1082
- }
1083
- }
2459
+ "additionalProperties": {
2460
+ "type": "string"
2461
+ },
2462
+ "description": "A series of key/value pairs indicating features that the item requires with corresponding minimum version. When a feature is missing or of insufficient version, fallback is triggered.",
2463
+ "version": "1.2"
2464
+ }
1084
2465
  },
1085
- "SpacingStyle": {
2466
+ "type": "object"
2467
+ },
2468
+ "Extendable.ToggleableItem": {
2469
+ "properties": {
2470
+ "id": {
1086
2471
  "type": "string",
1087
- "description": "Controls the amount of spacing between this element and the preceding element.",
1088
- "enum": [
1089
- "none",
1090
- "small",
1091
- "default",
1092
- "medium",
1093
- "large",
1094
- "extraLarge",
1095
- "padding"
1096
- ]
2472
+ "description": "A unique identifier associated with the item."
2473
+ },
2474
+ "isVisible": {
2475
+ "type": "boolean",
2476
+ "description": "If `false`, this item will be removed from the visual tree.",
2477
+ "default": true,
2478
+ "version": "1.2"
2479
+ },
2480
+ "requires": {}
1097
2481
  },
1098
- "TextInputStyle": {
1099
- "type": "string",
1100
- "default": "text",
1101
- "description": "Style hint for `Input.Text`.",
1102
- "enum": [
1103
- "text",
1104
- "tel",
1105
- "url",
1106
- "email"
1107
- ]
1108
- }
1109
- }
1110
- }
2482
+ "type": "object",
2483
+ "allOf": [
2484
+ {
2485
+ "$ref": "#/definitions/Extendable.Item"
2486
+ }
2487
+ ]
2488
+ }
2489
+ },
2490
+ "anyOf": [
2491
+ {
2492
+ "allOf": [
2493
+ {
2494
+ "$ref": "#/definitions/AdaptiveCard"
2495
+ }
2496
+ ]
2497
+ }
2498
+ ]
2499
+ }