pi-apexlang 0.2.2 → 0.4.0

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 (239) hide show
  1. package/README.md +22 -5
  2. package/THIRD_PARTY_NOTICES.md +2 -2
  3. package/UPSTREAM.json +2 -2
  4. package/docs/assets/overview.en.png +0 -0
  5. package/docs/assets/overview.en.svg +89 -0
  6. package/docs/assets/overview.uk.png +0 -0
  7. package/docs/assets/overview.uk.svg +89 -0
  8. package/docs/en/README.md +41 -0
  9. package/docs/en/architecture.md +73 -0
  10. package/docs/en/getting-started.md +77 -0
  11. package/docs/en/maintenance.md +83 -0
  12. package/docs/en/tool-reference.md +85 -0
  13. package/docs/uk/README.md +41 -0
  14. package/docs/uk/architecture.md +73 -0
  15. package/docs/uk/getting-started.md +77 -0
  16. package/docs/uk/maintenance.md +83 -0
  17. package/docs/uk/tool-reference.md +85 -0
  18. package/extensions/apexlang/index.ts +19 -10
  19. package/extensions/lib/apexlang-cli.d.mts +1 -2
  20. package/extensions/lib/apexlang-cli.mjs +18 -13
  21. package/extensions/lib/apexlang-local-validate.mjs +83 -0
  22. package/extensions/lib/apexlang-local-validator.py +116 -0
  23. package/extensions/lib/apexlang-runtime-validate.mjs +76 -0
  24. package/package.json +2 -1
  25. package/skills/apexlang/APEXlang Skills and Workflows.md +325 -0
  26. package/skills/apexlang/README.md +6 -6
  27. package/skills/apexlang/RELEASE-NOTES.md +2 -2
  28. package/skills/apexlang/SKILL.md +24 -19
  29. package/skills/apexlang/agents/openai.yaml +4 -3
  30. package/skills/apexlang/assets/apex-generation/components.registry.json +1001 -16
  31. package/skills/apexlang/assets/apexlang/domains-catalog.json +6 -1
  32. package/skills/apexlang/assets/component-attributes.json +1924 -180
  33. package/skills/apexlang/assets/component-policies.json +19 -10
  34. package/skills/apexlang/assets/contracts/grammar-semantic-rules.json +134 -0
  35. package/skills/apexlang/assets/contracts/package-layers.json +56 -0
  36. package/skills/apexlang/assets/contracts/page-construction-packs.json +154 -0
  37. package/skills/apexlang/assets/contracts/page-patterns.json +119 -0
  38. package/skills/apexlang/assets/grammar/apexlang.ebnf +11743 -0
  39. package/skills/apexlang/assets/indexes/font-apex-icon-index.json +1699 -0
  40. package/skills/apexlang/assets/routing-catalog-main.json +11 -10
  41. package/skills/apexlang/assets/routing-load-policy.json +35 -9
  42. package/skills/apexlang/assets/rules-mapping.json +110 -2
  43. package/skills/apexlang/assets/rules.catalog.json +1298 -0
  44. package/skills/apexlang/assets/validator-fix-recipes.json +372 -17
  45. package/skills/apexlang/assets/workspace-intelligence.json +7 -10
  46. package/skills/apexlang/manifest.json +268 -12
  47. package/skills/apexlang/references/domains/README.md +1 -1
  48. package/skills/apexlang/references/domains/page-components/buttons.md +2 -2
  49. package/skills/apexlang/references/domains/page-components/page-items.md +3 -3
  50. package/skills/apexlang/references/domains/page-components/regions/region-display-selector/workflow-region-display-selector.md +69 -0
  51. package/skills/apexlang/references/domains/page-components/regions.md +1 -0
  52. package/skills/apexlang/references/domains/template-components/comments.md +61 -0
  53. package/skills/apexlang/references/domains/template-components/registry.md +2 -0
  54. package/skills/apexlang/references/domains/template-components/templates.md +47 -0
  55. package/skills/apexlang/references/domains/template-components/timeline.md +51 -0
  56. package/skills/apexlang/references/ops/one-message-router-contract.md +2 -2
  57. package/skills/apexlang/references/ops/runtime-gates/01-direct-sqlcl-import.md +1 -1
  58. package/skills/apexlang/references/ops/runtime-gates/02-direct-sqlcl-validate-gate.md +1 -1
  59. package/skills/apexlang/references/ops/runtime-gates.md +17 -16
  60. package/skills/apexlang/references/ops/sqlcl-agents/00-connection-gate.md +7 -7
  61. package/skills/apexlang/references/ops/sqlcl.md +7 -8
  62. package/skills/apexlang/references/policies/compiler-prop-map.md +6 -4
  63. package/skills/apexlang/references/policies/governance/00-governance.md +2 -2
  64. package/skills/apexlang/references/policies/memory-bank/00-guard/ai.guard.md +126 -922
  65. package/skills/apexlang/references/policies/memory-bank/20-data/apex.logic.md +3 -3
  66. package/skills/apexlang/references/policies/memory-bank/20-data/db.connection.md +9 -11
  67. package/skills/apexlang/references/policies/memory-bank/30-pages/apex.cards-page.md +95 -0
  68. package/skills/apexlang/references/policies/memory-bank/30-pages/apex.page.md +2 -2
  69. package/skills/apexlang/references/policies/memory-bank/30-pages/apex.smart-filter-search.md +145 -74
  70. package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-interactions.md +9 -2
  71. package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-media.md +6 -5
  72. package/skills/apexlang/references/policies/memory-bank/systemPatterns.md +9 -1
  73. package/skills/apexlang/references/workflows/apex-generation/agents/20-agent-draft.md +51 -232
  74. package/skills/apexlang/references/workflows/apex-generation/agents/30-agent-critique.md +49 -449
  75. package/skills/apexlang/references/workflows/apex-generation/agents/40-agent-revision.md +38 -238
  76. package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-test-matrix.md +8 -2
  77. package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-validation-notes.md +19 -3
  78. package/skills/apexlang/references/workflows/apex-generation/registry.md +15 -1
  79. package/skills/apexlang/references/workflows/apex-generation/templates.md +1 -1
  80. package/skills/apexlang/references/workflows/apex-generation.md +1 -1
  81. package/skills/apexlang/references/workflows/apexlang/apexlang-execution-model.md +5 -5
  82. package/skills/apexlang/references/workflows/apexlang/prompt-contracts.md +81 -10
  83. package/skills/apexlang/references/workflows/apexlang/workflow-create-app-from-fr-and-model.md +18 -7
  84. package/skills/apexlang/release-notes.json +156 -0
  85. package/skills/apexlang/runtime/grammar_contract.mjs +1166 -0
  86. package/skills/apexlang/runtime/internal/python/format_apexlang.py +210 -0
  87. package/skills/apexlang/runtime/internal/python/validate_apexlang.py +14142 -5843
  88. package/skills/apexlang/runtime/internal/python/validator_common.py +2 -0
  89. package/skills/apexlang/runtime/lib/catalogs.mjs +1026 -0
  90. package/skills/apexlang/runtime/lib/common.mjs +35 -0
  91. package/skills/apexlang/runtime/runtime.bundle.mjs +457 -57
  92. package/skills/apexlang/templates/items/combobox/combobox.explicit-defaults.md +1 -1
  93. package/skills/apexlang/templates/items/date-picker/date-picker._common.md +1 -1
  94. package/skills/apexlang/templates/items/date-picker/date-picker.explicit-defaults.md +1 -1
  95. package/skills/apexlang/templates/items/file-upload/file-upload._common.md +30 -24
  96. package/skills/apexlang/templates/items/file-upload/file-upload.compact-template.md +6 -0
  97. package/skills/apexlang/templates/items/file-upload/file-upload.explicit-defaults.md +23 -8
  98. package/skills/apexlang/templates/items/file-upload/file-upload.minimal.md +6 -0
  99. package/skills/apexlang/templates/items/hidden-item/hidden-item._common.md +1 -1
  100. package/skills/apexlang/templates/items/hidden-item/hidden-item.explicit-defaults.md +1 -1
  101. package/skills/apexlang/templates/items/items._common.md +3 -2
  102. package/skills/apexlang/templates/items/list-manager/list-manager.explicit-defaults.md +1 -1
  103. package/skills/apexlang/templates/items/markdown-editor/markdown-editor._common.md +1 -1
  104. package/skills/apexlang/templates/items/markdown-editor/markdown-editor.explicit-defaults.md +1 -1
  105. package/skills/apexlang/templates/items/number-field/number-field._common.md +8 -6
  106. package/skills/apexlang/templates/items/number-field/number-field.explicit-defaults.md +12 -2
  107. package/skills/apexlang/templates/items/popup-lov/popup-lov.explicit-defaults.md +1 -1
  108. package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor._common.md +1 -1
  109. package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor.explicit-defaults.md +1 -1
  110. package/skills/apexlang/templates/items/select-many/standard.md +1 -1
  111. package/skills/apexlang/templates/items/shuttle/shuttle.explicit-defaults.md +1 -1
  112. package/skills/apexlang/templates/items/switch/switch._common.md +8 -8
  113. package/skills/apexlang/templates/items/switch/switch.explicit-defaults.md +1 -1
  114. package/skills/apexlang/templates/items/text-area/text-area._common.md +2 -3
  115. package/skills/apexlang/templates/items/text-area/text-area.explicit-defaults.md +1 -1
  116. package/skills/apexlang/templates/items/text-area/text-area.required-length.md +1 -3
  117. package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.explicit-defaults.md +1 -1
  118. package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.required-length.md +1 -3
  119. package/skills/apexlang/templates/items/text-field/text-field._common.md +2 -3
  120. package/skills/apexlang/templates/items/text-field/text-field.explicit-defaults.md +1 -1
  121. package/skills/apexlang/templates/items/text-field/text-field.required-length.md +1 -3
  122. package/skills/apexlang/templates/page-examples/faceted-search/faceted-search.example.md +0 -5
  123. package/skills/apexlang/templates/page-examples/form-page/form-page.example.md +0 -9
  124. package/skills/apexlang/templates/page-examples/interactive-report-page/interactive-report-page.example.md +2 -2
  125. package/skills/apexlang/templates/page-examples/login-page/login-page.example.md +0 -8
  126. package/skills/apexlang/templates/page-examples/task-definition-initiated-tasks-page/task-definition-initiated-tasks-page.example.md +7 -17
  127. package/skills/apexlang/templates/page-examples/task-definition-my-tasks-page/task-definition-my-tasks-page.example.md +7 -65
  128. package/skills/apexlang/templates/page-examples/task-definition-task-details/task-definition-task-details.example.md +38 -201
  129. package/skills/apexlang/templates/region-components/calendar/calendar.custom-styling.md +3 -1
  130. package/skills/apexlang/templates/region-components/calendar/calendar.faceted-search.md +3 -2
  131. package/skills/apexlang/templates/region-components/cards/README.md +12 -4
  132. package/skills/apexlang/templates/region-components/cards/cards._common.md +176 -37
  133. package/skills/apexlang/templates/region-components/cards/cards._index.md +2 -1
  134. package/skills/apexlang/templates/region-components/cards/cards.refresh-after-dialog.md +46 -0
  135. package/skills/apexlang/templates/region-components/cards/cards.refresh-on-change.md +58 -0
  136. package/skills/apexlang/templates/region-components/cards/cards.rest-source.md +54 -18
  137. package/skills/apexlang/templates/region-components/cards/cards.standard.md +37 -21
  138. package/skills/apexlang/templates/region-components/chart/chart._series._common.md +1 -4
  139. package/skills/apexlang/templates/region-components/chart/chart.pie.md +6 -2
  140. package/skills/apexlang/templates/region-components/chart/chart.status-meter-gauge.md +1 -1
  141. package/skills/apexlang/templates/region-components/chart/chart.stock.md +2 -0
  142. package/skills/apexlang/templates/region-components/chart/features/chart.feature-chart-links.md +9 -7
  143. package/skills/apexlang/templates/region-components/faceted-search/faceted-search._common.md +1 -14
  144. package/skills/apexlang/templates/region-components/form/form._items._common.md +1 -5
  145. package/skills/apexlang/templates/region-components/interactive-report/interactive-report._columns._common.md +2 -6
  146. package/skills/apexlang/templates/region-components/interactive-report/interactive-report.page-header-actions.md +1 -7
  147. package/skills/apexlang/templates/region-components/list/README.md +1 -1
  148. package/skills/apexlang/templates/region-components/list/list._common.md +1 -1
  149. package/skills/apexlang/templates/region-components/map/map.backgrounds.md +12 -10
  150. package/skills/apexlang/templates/region-components/map/map.layer.extruded-polygons.md +16 -12
  151. package/skills/apexlang/templates/region-components/map/map.layer.heat-map.md +10 -7
  152. package/skills/apexlang/templates/region-components/map/map.layer.lines.md +10 -8
  153. package/skills/apexlang/templates/region-components/map/map.layer.polygons.md +21 -18
  154. package/skills/apexlang/templates/region-components/map/map.region.background-custom.md +25 -19
  155. package/skills/apexlang/templates/region-components/map/map.region.background-shared.md +19 -13
  156. package/skills/apexlang/templates/region-components/map/map.region.bbox-sql.md +13 -13
  157. package/skills/apexlang/templates/region-components/map/map.region.bbox-static.md +2 -2
  158. package/skills/apexlang/templates/region-components/map/map.region.browser-location.md +3 -7
  159. package/skills/apexlang/templates/region-components/map/map.region.init-position-sql.md +7 -7
  160. package/skills/apexlang/templates/region-components/region-display-selector/README.md +5 -2
  161. package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._common.md +60 -7
  162. package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._index.md +4 -1
  163. package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.permutations.md +55 -0
  164. package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.standard.md +91 -5
  165. package/skills/apexlang/templates/region-components/smart-filter-search/README.md +6 -2
  166. package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._common.md +107 -46
  167. package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._index.md +4 -3
  168. package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search.standard.md +33 -17
  169. package/skills/apexlang/templates/shared-components/component-settings/component-settings._common.md +1 -0
  170. package/skills/apexlang/templates/shared-components/component-settings.example.md +1 -0
  171. package/skills/apexlang/templates/shared-components/email-templates.example.md +1 -1
  172. package/skills/apexlang/templates/shared-components/rest-data-sources/example_rest_data_source.example.md +40 -46
  173. package/skills/apexlang/templates/shared-components/task-definitions/action-task.example.md +2 -30
  174. package/skills/apexlang/templates/shared-components/task-definitions/approve-request.example.md +3 -31
  175. package/skills/apexlang/templates/template-components/README.md +27 -15
  176. package/skills/apexlang/templates/template-components/avatar/README.md +56 -0
  177. package/skills/apexlang/templates/template-components/avatar/avatar._common.md +149 -0
  178. package/skills/apexlang/templates/template-components/avatar/avatar._index.md +42 -0
  179. package/skills/apexlang/templates/template-components/{avatar._template_options.md → avatar/avatar._template_options.md} +1 -1
  180. package/skills/apexlang/templates/template-components/avatar/avatar.report-icon.md +48 -0
  181. package/skills/apexlang/templates/template-components/avatar/avatar.report-image-url-column.md +62 -0
  182. package/skills/apexlang/templates/template-components/avatar/avatar.report-initials.md +54 -0
  183. package/skills/apexlang/templates/template-components/badge/README.md +38 -0
  184. package/skills/apexlang/templates/template-components/badge/badge._common.md +183 -0
  185. package/skills/apexlang/templates/template-components/badge/badge._index.md +20 -0
  186. package/skills/apexlang/templates/template-components/badge/badge.report-link.md +66 -0
  187. package/skills/apexlang/templates/template-components/badge/badge.report-minimal.md +76 -0
  188. package/skills/apexlang/templates/template-components/comments/README.md +20 -0
  189. package/skills/apexlang/templates/template-components/comments/comments._common.md +43 -0
  190. package/skills/apexlang/templates/template-components/comments/comments._index.md +25 -0
  191. package/skills/apexlang/templates/template-components/{comments._template_options.md → comments/comments._template_options.md} +2 -1
  192. package/skills/apexlang/templates/template-components/comments/comments.apex-task-comments.md +77 -0
  193. package/skills/apexlang/templates/template-components/comments/comments.partial-column.md +120 -0
  194. package/skills/apexlang/templates/template-components/comments/comments.permutations.md +425 -0
  195. package/skills/apexlang/templates/template-components/content-row/README.md +1 -1
  196. package/skills/apexlang/templates/template-components/content-row/content-row._common.md +1 -1
  197. package/skills/apexlang/templates/template-components/content-row/content-row._index.md +1 -1
  198. package/skills/apexlang/templates/template-components/content-row/content-row._template_options.md +1 -1
  199. package/skills/apexlang/templates/template-components/flexbox-container/README.md +9 -0
  200. package/skills/apexlang/templates/template-components/flexbox-container/flexbox-container._index.md +13 -0
  201. package/skills/apexlang/templates/template-components/media-list/README.md +100 -0
  202. package/skills/apexlang/templates/template-components/media-list/media-list._common.md +174 -0
  203. package/skills/apexlang/templates/template-components/media-list/media-list._index.md +50 -0
  204. package/skills/apexlang/templates/template-components/{media-list._template_options.md → media-list/media-list._template_options.md} +8 -2
  205. package/skills/apexlang/templates/template-components/media-list/media-list.partial.md +50 -0
  206. package/skills/apexlang/templates/template-components/media-list/media-list.report-avatar-badge.md +76 -0
  207. package/skills/apexlang/templates/template-components/media-list/media-list.report-base.md +71 -0
  208. package/skills/apexlang/templates/template-components/media-list/media-list.report-grouped.md +40 -0
  209. package/skills/apexlang/templates/template-components/media-list/media-list.report-layouts.md +50 -0
  210. package/skills/apexlang/templates/template-components/media-list/media-list.report-link.md +53 -0
  211. package/skills/apexlang/templates/template-components/metric-card/README.md +19 -4
  212. package/skills/apexlang/templates/template-components/metric-card/metric-card._common.md +122 -29
  213. package/skills/apexlang/templates/template-components/metric-card/metric-card._index.md +6 -0
  214. package/skills/apexlang/templates/template-components/metric-card/metric-card._template_options.md +47 -2
  215. package/skills/apexlang/templates/template-components/metric-card/metric-card.partial-minimal.md +51 -0
  216. package/skills/apexlang/templates/template-components/metric-card/metric-card.permutations.md +56 -0
  217. package/skills/apexlang/templates/template-components/metric-card/metric-card.report-avatar-badge.md +98 -0
  218. package/skills/apexlang/templates/template-components/metric-card/metric-card.report-grouping-selection.md +131 -0
  219. package/skills/apexlang/templates/template-components/metric-card/metric-card.report-link.md +66 -0
  220. package/skills/apexlang/templates/template-components/metric-card/metric-card.report-minimal.md +97 -0
  221. package/skills/apexlang/templates/template-components/template-components.registry.json +90 -1
  222. package/skills/apexlang/templates/template-components/timeline/README.md +19 -0
  223. package/skills/apexlang/templates/template-components/timeline/timeline._common.md +43 -0
  224. package/skills/apexlang/templates/template-components/timeline/timeline._index.md +24 -0
  225. package/skills/apexlang/templates/template-components/{timeline._template_options.md → timeline/timeline._template_options.md} +2 -1
  226. package/skills/apexlang/templates/template-components/timeline/timeline.permutations.md +399 -0
  227. package/skills/apexlang/templates/template-components/timeline/timeline.report-sample-data.md +168 -0
  228. package/skills/apexlang/templates/workspace-components/credentials/credentials-for-open-ai.example.md +1 -1
  229. package/skills/apexlang/templates/workspace-components/generative-ai-services/open-ai.example.md +8 -6
  230. package/skills/apexlang/tools/apexctl.mjs +167 -4
  231. package/skills/apexlang/tools/compiler-truth-audit.mjs +95 -63
  232. package/skills/apexlang/tools/query-valid-props-context.mjs +30 -0
  233. package/skills/apexlang/tools/query-valid-props-normalize.mjs +1 -0
  234. package/skills/apexlang/tools/query-valid-props-runtime.mjs +13 -8
  235. package/skills/apexlang/tools/query-valid-props-semantics.mjs +391 -0
  236. package/skills/apexlang/tools/query-valid-props-template-components.mjs +15 -1
  237. package/skills/apexlang/tools/query-valid-props.mjs +198 -216
  238. /package/skills/apexlang/templates/template-components/{badge._template_options.md → badge/badge._template_options.md} +0 -0
  239. /package/skills/apexlang/templates/template-components/{flexbox-container._template_options.md → flexbox-container/flexbox-container._template_options.md} +0 -0
@@ -14,6 +14,7 @@
14
14
  "calendar": {
15
15
  "allowedBlocks": [
16
16
  "source",
17
+ "orderBy",
17
18
  "layout",
18
19
  "appearance",
19
20
  "advanced",
@@ -34,7 +35,13 @@
34
35
  "allowedProperties": [
35
36
  "htmlDomId",
36
37
  "regionDisplaySelector"
37
- ]
38
+ ],
39
+ "propertyEnums": {
40
+ "regionDisplaySelector": [
41
+ true,
42
+ false
43
+ ]
44
+ }
38
45
  },
39
46
  "settings": {
40
47
  "allowedProperties": [
@@ -402,10 +409,16 @@
402
409
  }
403
410
  },
404
411
  "cards": {
412
+ "requiredBlocks": [
413
+ "source",
414
+ "title",
415
+ "componentAppearance"
416
+ ],
405
417
  "allowedBlocks": [
406
418
  "source",
407
419
  "layout",
408
420
  "appearance",
421
+ "advanced",
409
422
  "card",
410
423
  "title",
411
424
  "subtitle",
@@ -416,8 +429,21 @@
416
429
  "iconAndBadge",
417
430
  "action",
418
431
  "messages",
419
- "componentAppearance"
432
+ "componentAppearance",
433
+ "security"
420
434
  ],
435
+ "advanced": {
436
+ "allowedProperties": [
437
+ "htmlDomId",
438
+ "regionDisplaySelector"
439
+ ],
440
+ "propertyEnums": {
441
+ "regionDisplaySelector": [
442
+ true,
443
+ false
444
+ ]
445
+ }
446
+ },
421
447
  "source": {
422
448
  "allowedProperties": [
423
449
  "location",
@@ -425,6 +451,9 @@
425
451
  "restSource",
426
452
  "pageItemsToSubmit"
427
453
  ],
454
+ "requiredProperties": [
455
+ "location"
456
+ ],
428
457
  "propertyEnums": {
429
458
  "location": [
430
459
  "localDatabase",
@@ -436,7 +465,11 @@
436
465
  },
437
466
  "allowedBlocks": [
438
467
  "sqlQuery"
439
- ]
468
+ ],
469
+ "propertyNotes": {
470
+ "location": "Required source discriminator. localDatabase requires type: sqlQuery plus sqlQuery and forbids restSource; restSource requires restSource: @alias and forbids type/sqlQuery.",
471
+ "restSource": "Required only with location: restSource and must resolve to a declared shared REST Data Source with HTTPS remote-server and exact Web Credential validForUrls evidence."
472
+ }
440
473
  },
441
474
  "appearance": {
442
475
  "allowedProperties": [
@@ -446,17 +479,34 @@
446
479
  },
447
480
  "card": {
448
481
  "allowedProperties": [
449
- "primaryKeyColumn1"
482
+ "primaryKeyColumn1",
483
+ "primaryKeyColumn2",
484
+ "cssClasses"
485
+ ],
486
+ "propertyNotes": {
487
+ "cssClasses": "For conditional card styling, reference only a source-projected alias whose values are restricted to an active-build allowlist of semantic Universal Theme classes."
488
+ },
489
+ "allowedSemanticClassTokens": [
490
+ "u-normal",
491
+ "u-hot",
492
+ "u-info",
493
+ "u-success",
494
+ "u-warning",
495
+ "u-danger"
450
496
  ]
451
497
  },
452
498
  "title": {
453
499
  "allowedProperties": [
454
500
  "column",
455
501
  "htmlExpression",
502
+ "advancedFormatting",
503
+ "cssClasses"
504
+ ],
505
+ "requiredProperties": [
456
506
  "advancedFormatting"
457
507
  ],
458
508
  "propertyNotes": {
459
- "advancedFormatting": "Must be true when title.htmlExpression is emitted.",
509
+ "advancedFormatting": "Required. Use false with title.column and true with title.htmlExpression.",
460
510
  "htmlExpression": "Use APEX substitution strings in the form &COLUMN. inside cards title.htmlExpression. Do not use #COLUMN# tokens."
461
511
  }
462
512
  },
@@ -464,10 +514,14 @@
464
514
  "allowedProperties": [
465
515
  "column",
466
516
  "htmlExpression",
517
+ "advancedFormatting",
518
+ "cssClasses"
519
+ ],
520
+ "requiredProperties": [
467
521
  "advancedFormatting"
468
522
  ],
469
523
  "propertyNotes": {
470
- "advancedFormatting": "Must be true when subtitle.htmlExpression is emitted.",
524
+ "advancedFormatting": "Required. Use false with subtitle.column and true with subtitle.htmlExpression.",
471
525
  "htmlExpression": "Use APEX substitution strings in the form &COLUMN. inside cards subtitle.htmlExpression. Do not use #COLUMN# tokens."
472
526
  }
473
527
  },
@@ -475,10 +529,14 @@
475
529
  "allowedProperties": [
476
530
  "column",
477
531
  "htmlExpression",
532
+ "advancedFormatting",
533
+ "cssClasses"
534
+ ],
535
+ "requiredProperties": [
478
536
  "advancedFormatting"
479
537
  ],
480
538
  "propertyNotes": {
481
- "advancedFormatting": "Must be true when body.htmlExpression is emitted.",
539
+ "advancedFormatting": "Required. Use false with body.column and true with body.htmlExpression.",
482
540
  "htmlExpression": "Use APEX substitution strings in the form &COLUMN. inside cards htmlExpression. Do not use #COLUMN# tokens."
483
541
  }
484
542
  },
@@ -486,26 +544,34 @@
486
544
  "allowedProperties": [
487
545
  "column",
488
546
  "htmlExpression",
547
+ "advancedFormatting",
548
+ "cssClasses"
549
+ ],
550
+ "requiredProperties": [
489
551
  "advancedFormatting"
490
552
  ],
491
553
  "propertyNotes": {
492
- "advancedFormatting": "Must be true when secondaryBody.htmlExpression is emitted.",
554
+ "advancedFormatting": "Required. Use false with secondaryBody.column and true with secondaryBody.htmlExpression.",
493
555
  "htmlExpression": "Use APEX substitution strings in the form &COLUMN. inside cards htmlExpression. Do not use #COLUMN# tokens."
494
556
  }
495
557
  },
496
558
  "media": {
497
559
  "allowedProperties": [
560
+ "advancedFormatting",
561
+ "htmlExpression",
498
562
  "source",
499
563
  "blobColumn",
500
564
  "urlColumn",
501
565
  "url",
502
- "accessibleDescription",
503
566
  "position",
504
567
  "appearance",
505
- "sizing"
568
+ "sizing",
569
+ "cssClasses",
570
+ "imageDescription"
506
571
  ],
507
572
  "requiredProperties": [
508
- "source"
573
+ "advancedFormatting",
574
+ "position"
509
575
  ],
510
576
  "propertyEnums": {
511
577
  "source": [
@@ -515,6 +581,7 @@
515
581
  ],
516
582
  "position": [
517
583
  "first",
584
+ "body",
518
585
  "background"
519
586
  ],
520
587
  "appearance": [
@@ -522,6 +589,7 @@
522
589
  "widescreen"
523
590
  ],
524
591
  "sizing": [
592
+ "fit",
525
593
  "cover"
526
594
  ]
527
595
  }
@@ -536,7 +604,10 @@
536
604
  "allowedProperties": [
537
605
  "iconSource",
538
606
  "iconColumn",
607
+ "imageColumn",
608
+ "imageUrl",
539
609
  "iconCssClasses",
610
+ "iconPosition",
540
611
  "iconDescription",
541
612
  "badgeColumn",
542
613
  "badgeLabel",
@@ -546,7 +617,14 @@
546
617
  "iconSource": [
547
618
  "iconClass",
548
619
  "iconClassColumn",
549
- "initials"
620
+ "initials",
621
+ "imageUrl",
622
+ "imageBlobColumn"
623
+ ],
624
+ "iconPosition": [
625
+ "top",
626
+ "start",
627
+ "end"
550
628
  ]
551
629
  }
552
630
  },
@@ -556,16 +634,37 @@
556
634
  "noDataFoundIcon"
557
635
  ]
558
636
  },
637
+ "security": {
638
+ "allowedProperties": [
639
+ "authorizationScheme"
640
+ ],
641
+ "propertyNotes": {
642
+ "authorizationScheme": "Optional compiler-backed region authorization. Reference an existing shared authorization scheme when Cards data is more restricted than the page; never invent a scheme name."
643
+ }
644
+ },
559
645
  "action": {
560
646
  "allowedProperties": [
647
+ "type",
561
648
  "label"
562
649
  ],
563
650
  "requiredProperties": [
564
- "label"
651
+ "type"
565
652
  ],
653
+ "propertyEnums": {
654
+ "type": [
655
+ "button",
656
+ "fullCard",
657
+ "title",
658
+ "subtitle",
659
+ "media"
660
+ ]
661
+ },
566
662
  "allowedBlocks": [
567
663
  "layout",
568
- "behavior"
664
+ "behavior",
665
+ "appearance",
666
+ "advanced",
667
+ "serverSideCondition"
569
668
  ],
570
669
  "requiredBlocks": [
571
670
  "layout",
@@ -573,11 +672,18 @@
573
672
  ],
574
673
  "layout": {
575
674
  "allowedProperties": [
675
+ "position",
576
676
  "sequence"
577
677
  ],
578
678
  "requiredProperties": [
579
679
  "sequence"
580
- ]
680
+ ],
681
+ "propertyEnums": {
682
+ "position": [
683
+ "primary",
684
+ "secondary"
685
+ ]
686
+ }
581
687
  },
582
688
  "behavior": {
583
689
  "allowedProperties": [
@@ -586,17 +692,173 @@
586
692
  "type",
587
693
  "linkAttributes"
588
694
  ],
695
+ "requiredProperties": [
696
+ "type"
697
+ ],
698
+ "propertyEnums": {
699
+ "type": [
700
+ "redirectThisApp",
701
+ "redirectOtherApp",
702
+ "redirectUrl",
703
+ "triggerAction"
704
+ ]
705
+ },
589
706
  "propertyNotes": {
590
707
  "target": "Preferred native Cards action navigation contract. Use declarative target: { page, items, clearCache } and map row values with &SOURCE_COLUMN. substitutions.",
591
708
  "targetUrl": "Compiler-supported fallback only; generation should prefer declarative target."
592
709
  }
710
+ },
711
+ "appearance": {
712
+ "allowedProperties": [
713
+ "displayType",
714
+ "icon",
715
+ "hot",
716
+ "cssClasses"
717
+ ],
718
+ "propertyEnums": {
719
+ "displayType": [
720
+ "text",
721
+ "icon",
722
+ "textWithIcon"
723
+ ]
724
+ },
725
+ "propertyNotes": {
726
+ "displayType": "Button-only presentation. icon is required for icon and textWithIcon; hot and cssClasses are button-only.",
727
+ "cssClasses": "Button-only classes. Prefer native displayType, icon, and hot before custom classes."
728
+ }
729
+ },
730
+ "advanced": {
731
+ "allowedProperties": [
732
+ "staticId"
733
+ ],
734
+ "requiredProperties": [
735
+ "staticId"
736
+ ]
737
+ },
738
+ "serverSideCondition": {
739
+ "allowedProperties": [
740
+ "type",
741
+ "sqlQuery",
742
+ "language",
743
+ "sqlExpression",
744
+ "plsqlExpression",
745
+ "javaScriptExpression",
746
+ "plsqlFunctionBody",
747
+ "javaScriptFunctionBody",
748
+ "value",
749
+ "item",
750
+ "preference",
751
+ "page",
752
+ "pages",
753
+ "text",
754
+ "list",
755
+ "executeCondition"
756
+ ],
757
+ "requiredProperties": [
758
+ "type"
759
+ ],
760
+ "propertyEnums": {
761
+ "type": [
762
+ "always",
763
+ "rowsReturned",
764
+ "noRowsReturned",
765
+ "expression",
766
+ "functionBody",
767
+ "request=Value",
768
+ "request!=Value",
769
+ "requestIsContainedInValue",
770
+ "requestIsNotContainedInValue",
771
+ "item=value",
772
+ "item!=value",
773
+ "itemIsNull",
774
+ "itemIsNotNull",
775
+ "itemIsZero",
776
+ "itemIsNotZero",
777
+ "itemIsNullOrZero",
778
+ "itemIsNotNullAndNotZero",
779
+ "itemContainsNoSpaces",
780
+ "itemIsNumeric",
781
+ "itemIsNotNumeric",
782
+ "itemIsAlphanumeric",
783
+ "itemIsInColonDelimitedList",
784
+ "itemIsNotInColonDelimitedList",
785
+ "textIsContainedInItem",
786
+ "text=value",
787
+ "text!=value",
788
+ "textIsContainedInValue",
789
+ "textIsNotContainedInValue",
790
+ "userPreference=value",
791
+ "userPreference!=value",
792
+ "currentPage=page",
793
+ "currentPage!=page",
794
+ "currentPageInList",
795
+ "currentPageNotInList",
796
+ "currentPage=pageSubmitted",
797
+ "currentPage!=pageSubmitted",
798
+ "currentPageIsInPrinterFriendlyMode",
799
+ "currentPageIsNotInPrinterFriendlyMode",
800
+ "pageRegionIsReadOnly",
801
+ "pageRegionIsNotReadOnly",
802
+ "userIsAuthenticated",
803
+ "userIsPublicUser",
804
+ "inlineValidationErrorsDisplayed",
805
+ "inlineValidationErrorsNotDisplayed",
806
+ "sqlReportsOkToShowForwardButton",
807
+ "sqlReportsOkToShowBackButton",
808
+ "currentLanguage=value",
809
+ "currentLanguage!=value",
810
+ "currentLanguageIsContainedInValue",
811
+ "currentLanguageIsNotContainedInValue",
812
+ "clientBrowserIsMozilla",
813
+ "clientBrowserIsIE7higher",
814
+ "clientBrowserIsXhtmlCssCapable",
815
+ "clientBrowserIsOther",
816
+ "cgiEnvDadName=value",
817
+ "cgiEnvDadName!=value",
818
+ "cgiEnvServerName=value",
819
+ "cgiEnvServerName!=value",
820
+ "cgiEnvHttpHost=value",
821
+ "cgiEnvHttpHost!=value",
822
+ "never"
823
+ ],
824
+ "language": [
825
+ "plsql",
826
+ "javaScript-mle"
827
+ ],
828
+ "executeCondition": [
829
+ "forEachRow",
830
+ "once"
831
+ ]
832
+ }
833
+ },
834
+ "allowedChildren": [
835
+ "triggerAction"
836
+ ],
837
+ "triggerAction": {
838
+ "allowedProperties": [
839
+ "name",
840
+ "action"
841
+ ],
842
+ "requiredProperties": [
843
+ "action"
844
+ ]
593
845
  }
594
846
  },
595
847
  "componentAppearance": {
596
848
  "allowedProperties": [
597
- "gridColumns"
849
+ "layout",
850
+ "gridColumns",
851
+ "cssClasses"
852
+ ],
853
+ "requiredProperties": [
854
+ "layout"
598
855
  ],
599
856
  "propertyEnums": {
857
+ "layout": [
858
+ "grid",
859
+ "float",
860
+ "horizontal"
861
+ ],
600
862
  "gridColumns": [
601
863
  2,
602
864
  3,
@@ -767,6 +1029,134 @@
767
1029
  "linkText",
768
1030
  "linkAttributes"
769
1031
  ]
1032
+ },
1033
+ "commentsColumn": {
1034
+ "requiredBlocks": [
1035
+ "heading",
1036
+ "layout",
1037
+ "source",
1038
+ "settings"
1039
+ ],
1040
+ "allowedBlocks": [
1041
+ "heading",
1042
+ "layout",
1043
+ "source",
1044
+ "settings",
1045
+ "plugin-avatar",
1046
+ "action"
1047
+ ],
1048
+ "heading": {
1049
+ "allowedProperties": [
1050
+ "heading"
1051
+ ],
1052
+ "requiredProperties": [
1053
+ "heading"
1054
+ ]
1055
+ },
1056
+ "layout": {
1057
+ "allowedProperties": [
1058
+ "sequence"
1059
+ ],
1060
+ "requiredProperties": [
1061
+ "sequence"
1062
+ ]
1063
+ },
1064
+ "source": {
1065
+ "allowedProperties": [
1066
+ "dataType"
1067
+ ],
1068
+ "requiredProperties": [
1069
+ "dataType"
1070
+ ]
1071
+ },
1072
+ "settings": {
1073
+ "allowedProperties": [
1074
+ "userName",
1075
+ "commentText",
1076
+ "date",
1077
+ "attributes",
1078
+ "commentClass",
1079
+ "displayAvatar"
1080
+ ],
1081
+ "requiredProperties": [
1082
+ "userName",
1083
+ "commentText"
1084
+ ],
1085
+ "propertyEnums": {
1086
+ "displayAvatar": [
1087
+ true,
1088
+ false
1089
+ ]
1090
+ }
1091
+ },
1092
+ "plugin-avatar": {
1093
+ "allowedProperties": [
1094
+ "type",
1095
+ "icon",
1096
+ "initials",
1097
+ "image",
1098
+ "description",
1099
+ "shape",
1100
+ "cssClasses"
1101
+ ],
1102
+ "requiredProperties": [
1103
+ "type",
1104
+ "shape"
1105
+ ],
1106
+ "propertyEnums": {
1107
+ "type": [
1108
+ "icon",
1109
+ "image",
1110
+ "initials"
1111
+ ],
1112
+ "shape": [
1113
+ "circular",
1114
+ "noShape",
1115
+ "rounded",
1116
+ "square"
1117
+ ]
1118
+ }
1119
+ },
1120
+ "action": {
1121
+ "allowedProperties": [
1122
+ "position",
1123
+ "label"
1124
+ ],
1125
+ "requiredProperties": [
1126
+ "position"
1127
+ ],
1128
+ "allowedBlocks": [
1129
+ "layout",
1130
+ "behavior"
1131
+ ],
1132
+ "requiredBlocks": [
1133
+ "layout",
1134
+ "behavior"
1135
+ ],
1136
+ "propertyEnums": {
1137
+ "position": [
1138
+ "actions",
1139
+ "avatarLink",
1140
+ "userNameLink"
1141
+ ]
1142
+ },
1143
+ "layout": {
1144
+ "allowedProperties": [
1145
+ "sequence"
1146
+ ],
1147
+ "requiredProperties": [
1148
+ "sequence"
1149
+ ]
1150
+ },
1151
+ "behavior": {
1152
+ "allowedProperties": [
1153
+ "target"
1154
+ ],
1155
+ "requiredProperties": [
1156
+ "target"
1157
+ ]
1158
+ }
1159
+ }
770
1160
  }
771
1161
  }
772
1162
  },
@@ -801,7 +1191,7 @@
801
1191
  }
802
1192
  }
803
1193
  },
804
- "contentRow": {
1194
+ "avatar": {
805
1195
  "allowedBlocks": [
806
1196
  "source",
807
1197
  "orderBy",
@@ -812,18 +1202,20 @@
812
1202
  "serverSideCondition",
813
1203
  "componentAppearance",
814
1204
  "settings",
815
- "plugin-avatar",
816
- "plugin-badge",
817
- "plugin-appearance",
818
- "plugin-grouping",
819
- "rowSelection",
820
- "pagination",
821
- "entityTitle",
822
- "messages",
823
- "action",
824
1205
  "column",
825
1206
  "security"
826
1207
  ],
1208
+ "requiredBlocks": [
1209
+ "source",
1210
+ "orderBy",
1211
+ "layout",
1212
+ "appearance",
1213
+ "componentAppearance",
1214
+ "settings"
1215
+ ],
1216
+ "minimumChildren": {
1217
+ "column": 1
1218
+ },
827
1219
  "componentAppearance": {
828
1220
  "allowedProperties": [
829
1221
  "display"
@@ -833,7 +1225,6 @@
833
1225
  ],
834
1226
  "propertyEnums": {
835
1227
  "display": [
836
- "partial",
837
1228
  "report"
838
1229
  ]
839
1230
  }
@@ -855,159 +1246,1372 @@
855
1246
  }
856
1247
  },
857
1248
  "settings": {
858
- "allowedProperties": [
859
- "overline",
860
- "title",
861
- "description",
862
- "miscellaneous",
863
- "displayAvatar",
864
- "displayBadge"
865
- ]
866
- },
867
- "plugin-avatar": {
868
1249
  "allowedProperties": [
869
1250
  "type",
870
- "icon",
871
1251
  "initials",
1252
+ "icon",
1253
+ "image",
872
1254
  "description",
873
1255
  "shape",
874
1256
  "size",
1257
+ "spacing",
875
1258
  "cssClasses"
876
- ]
877
- },
878
- "plugin-badge": {
879
- "allowedProperties": [
880
- "label",
881
- "value",
882
- "state",
883
- "style",
884
- "shape",
885
- "size",
886
- "icon",
887
- "displayLabel",
888
- "position",
889
- "columnWidth"
890
1259
  ],
891
- "propertyEnums": {
892
- "position": [
893
- "start",
894
- "end"
895
- ]
896
- }
897
- },
898
- "plugin-appearance": {
899
- "allowedProperties": [
900
- "stackOnMobile"
901
- ]
902
- },
903
- "rowSelection": {
904
- "allowedProperties": [
905
- "type",
906
- "currentSelectionPageItem",
907
- "selectAllPageItem"
1260
+ "requiredProperties": [
1261
+ "type"
908
1262
  ],
909
1263
  "propertyEnums": {
910
1264
  "type": [
911
- "focusOnly",
912
- "singleSelection",
913
- "multipleSelection"
1265
+ "initials",
1266
+ "icon",
1267
+ "image"
1268
+ ],
1269
+ "shape": [
1270
+ "circular",
1271
+ "noShape",
1272
+ "rounded",
1273
+ "square"
1274
+ ],
1275
+ "size": [
1276
+ "extraExtraLarge",
1277
+ "extraExtraSmall",
1278
+ "extraLarge",
1279
+ "extraSmall",
1280
+ "large",
1281
+ "medium",
1282
+ "small"
1283
+ ],
1284
+ "spacing": [
1285
+ "auto",
1286
+ "large",
1287
+ "medium",
1288
+ "none",
1289
+ "small",
1290
+ "stack"
914
1291
  ]
915
1292
  }
916
1293
  },
917
- "messages": {
918
- "allowedProperties": [
919
- "whenNoDataFound",
920
- "noDataFoundIcon"
921
- ]
922
- },
923
- "entityTitle": {
924
- "allowedProperties": [
925
- "singular",
926
- "plural"
927
- ]
928
- },
929
- "pagination": {
1294
+ "security": {
930
1295
  "allowedProperties": [
931
- "type",
932
- "entitiesPerPage",
933
- "showTotalCount"
934
- ],
935
- "requiredProperties": [
936
- "type"
1296
+ "authorizationScheme"
937
1297
  ],
938
- "propertyEnums": {
939
- "type": [
940
- "page",
941
- "scroll"
942
- ]
1298
+ "propertyNotes": {
1299
+ "authorizationScheme": "Optional compiler-backed region authorization. When access is restricted, reference an existing shared authorization scheme; never invent a scheme name."
943
1300
  }
944
1301
  },
945
- "action": {
1302
+ "column": {
1303
+ "requiredBlocks": [
1304
+ "layout",
1305
+ "source"
1306
+ ],
1307
+ "allowedBlocks": [
1308
+ "layout",
1309
+ "source"
1310
+ ],
1311
+ "layout": {
1312
+ "allowedProperties": [
1313
+ "sequence"
1314
+ ],
1315
+ "requiredProperties": [
1316
+ "sequence"
1317
+ ]
1318
+ },
1319
+ "source": {
1320
+ "allowedProperties": [
1321
+ "databaseColumn",
1322
+ "dataType"
1323
+ ],
1324
+ "requiredProperties": [
1325
+ "databaseColumn",
1326
+ "dataType"
1327
+ ],
1328
+ "propertyEnums": {
1329
+ "dataType": [
1330
+ "bfile",
1331
+ "blob",
1332
+ "boolean",
1333
+ "clob",
1334
+ "date",
1335
+ "intervalDayToSecond",
1336
+ "intervalYearToMonth",
1337
+ "number",
1338
+ "rowid",
1339
+ "sdoGeometry",
1340
+ "timestamp",
1341
+ "timestampWithLocalTimeZone",
1342
+ "timestampWithTimeZone",
1343
+ "varchar2"
1344
+ ]
1345
+ }
1346
+ }
1347
+ }
1348
+ },
1349
+ "badge": {
1350
+ "requiredBlocks": [
1351
+ "source",
1352
+ "componentAppearance",
1353
+ "settings"
1354
+ ],
1355
+ "allowedBlocks": [
1356
+ "source",
1357
+ "orderBy",
1358
+ "layout",
1359
+ "appearance",
1360
+ "accessibility",
1361
+ "comments",
1362
+ "serverSideCondition",
1363
+ "componentAppearance",
1364
+ "settings",
1365
+ "action",
1366
+ "column",
1367
+ "security",
1368
+ "advanced"
1369
+ ],
1370
+ "componentAppearance": {
1371
+ "allowedProperties": [
1372
+ "display"
1373
+ ],
1374
+ "requiredProperties": [
1375
+ "display"
1376
+ ],
1377
+ "propertyEnums": {
1378
+ "display": [
1379
+ "report"
1380
+ ]
1381
+ }
1382
+ },
1383
+ "orderBy": {
1384
+ "allowedProperties": [
1385
+ "type",
1386
+ "orderByClause",
1387
+ "item"
1388
+ ],
1389
+ "requiredProperties": [
1390
+ "type"
1391
+ ],
1392
+ "propertyEnums": {
1393
+ "type": [
1394
+ "staticValue",
1395
+ "item"
1396
+ ]
1397
+ }
1398
+ },
1399
+ "settings": {
1400
+ "allowedProperties": [
1401
+ "label",
1402
+ "value",
1403
+ "state",
1404
+ "icon",
1405
+ "displayLabel",
1406
+ "style",
1407
+ "shape",
1408
+ "size"
1409
+ ],
1410
+ "requiredProperties": [
1411
+ "label",
1412
+ "value"
1413
+ ],
1414
+ "propertyEnums": {
1415
+ "style": [
1416
+ "outline",
1417
+ "subtle"
1418
+ ],
1419
+ "shape": [
1420
+ "circular",
1421
+ "rounded",
1422
+ "square"
1423
+ ],
1424
+ "size": [
1425
+ "small",
1426
+ "medium",
1427
+ "large"
1428
+ ]
1429
+ }
1430
+ },
1431
+ "action": {
1432
+ "allowedProperties": [
1433
+ "position"
1434
+ ],
1435
+ "requiredProperties": [
1436
+ "position"
1437
+ ],
1438
+ "allowedBlocks": [
1439
+ "layout",
1440
+ "behavior",
1441
+ "serverSideCondition"
1442
+ ],
1443
+ "requiredBlocks": [
1444
+ "layout"
1445
+ ],
1446
+ "propertyEnums": {
1447
+ "position": [
1448
+ "link"
1449
+ ]
1450
+ },
1451
+ "layout": {
1452
+ "allowedProperties": [
1453
+ "sequence"
1454
+ ],
1455
+ "requiredProperties": [
1456
+ "sequence"
1457
+ ]
1458
+ },
1459
+ "behavior": {
1460
+ "allowedProperties": [
1461
+ "type",
1462
+ "target",
1463
+ "targetUrl",
1464
+ "linkAttributes"
1465
+ ]
1466
+ }
1467
+ },
1468
+ "advanced": {
1469
+ "allowedProperties": [
1470
+ "htmlDomId",
1471
+ "regionDisplaySelector"
1472
+ ],
1473
+ "propertyEnums": {
1474
+ "regionDisplaySelector": [
1475
+ true,
1476
+ false
1477
+ ]
1478
+ }
1479
+ },
1480
+ "column": {
1481
+ "requiredBlocks": [
1482
+ "layout",
1483
+ "source"
1484
+ ],
1485
+ "allowedBlocks": [
1486
+ "layout",
1487
+ "source",
1488
+ "security",
1489
+ "comments"
1490
+ ],
1491
+ "layout": {
1492
+ "allowedProperties": [
1493
+ "sequence"
1494
+ ],
1495
+ "requiredProperties": [
1496
+ "sequence"
1497
+ ]
1498
+ },
1499
+ "source": {
1500
+ "allowedProperties": [
1501
+ "type",
1502
+ "databaseColumn",
1503
+ "dataType",
1504
+ "primaryKey",
1505
+ "availableOnClient",
1506
+ "valueProtected"
1507
+ ],
1508
+ "requiredProperties": [
1509
+ "databaseColumn",
1510
+ "dataType"
1511
+ ],
1512
+ "propertyEnums": {
1513
+ "type": [
1514
+ "databaseColumn"
1515
+ ],
1516
+ "dataType": [
1517
+ "bfile",
1518
+ "blob",
1519
+ "boolean",
1520
+ "clob",
1521
+ "date",
1522
+ "intervalDayToSecond",
1523
+ "intervalYearToMonth",
1524
+ "number",
1525
+ "rowid",
1526
+ "sdoGeometry",
1527
+ "timestamp",
1528
+ "timestampWithLocalTimeZone",
1529
+ "timestampWithTimeZone",
1530
+ "varchar2"
1531
+ ]
1532
+ }
1533
+ }
1534
+ }
1535
+ },
1536
+ "contentRow": {
1537
+ "allowedBlocks": [
1538
+ "source",
1539
+ "orderBy",
1540
+ "layout",
1541
+ "appearance",
1542
+ "accessibility",
1543
+ "comments",
1544
+ "serverSideCondition",
1545
+ "componentAppearance",
1546
+ "settings",
1547
+ "plugin-avatar",
1548
+ "plugin-badge",
1549
+ "plugin-appearance",
1550
+ "plugin-grouping",
1551
+ "rowSelection",
1552
+ "pagination",
1553
+ "entityTitle",
1554
+ "messages",
1555
+ "action",
1556
+ "column",
1557
+ "security"
1558
+ ],
1559
+ "componentAppearance": {
1560
+ "allowedProperties": [
1561
+ "display"
1562
+ ],
1563
+ "requiredProperties": [
1564
+ "display"
1565
+ ],
1566
+ "propertyEnums": {
1567
+ "display": [
1568
+ "partial",
1569
+ "report"
1570
+ ]
1571
+ }
1572
+ },
1573
+ "orderBy": {
1574
+ "allowedProperties": [
1575
+ "type",
1576
+ "orderByClause",
1577
+ "item"
1578
+ ],
1579
+ "requiredProperties": [
1580
+ "type"
1581
+ ],
1582
+ "propertyEnums": {
1583
+ "type": [
1584
+ "staticValue",
1585
+ "item"
1586
+ ]
1587
+ }
1588
+ },
1589
+ "settings": {
1590
+ "allowedProperties": [
1591
+ "overline",
1592
+ "title",
1593
+ "description",
1594
+ "miscellaneous",
1595
+ "displayAvatar",
1596
+ "displayBadge"
1597
+ ]
1598
+ },
1599
+ "plugin-avatar": {
1600
+ "allowedProperties": [
1601
+ "type",
1602
+ "icon",
1603
+ "initials",
1604
+ "description",
1605
+ "shape",
1606
+ "size",
1607
+ "cssClasses"
1608
+ ]
1609
+ },
1610
+ "plugin-badge": {
1611
+ "allowedProperties": [
1612
+ "label",
1613
+ "value",
1614
+ "state",
1615
+ "style",
1616
+ "shape",
1617
+ "size",
1618
+ "icon",
1619
+ "displayLabel",
1620
+ "position",
1621
+ "columnWidth"
1622
+ ],
1623
+ "propertyEnums": {
1624
+ "position": [
1625
+ "start",
1626
+ "end"
1627
+ ]
1628
+ }
1629
+ },
1630
+ "plugin-appearance": {
1631
+ "allowedProperties": [
1632
+ "stackOnMobile"
1633
+ ]
1634
+ },
1635
+ "rowSelection": {
1636
+ "allowedProperties": [
1637
+ "type",
1638
+ "currentSelectionPageItem",
1639
+ "selectAllPageItem"
1640
+ ],
1641
+ "propertyEnums": {
1642
+ "type": [
1643
+ "focusOnly",
1644
+ "singleSelection",
1645
+ "multipleSelection"
1646
+ ]
1647
+ }
1648
+ },
1649
+ "messages": {
1650
+ "allowedProperties": [
1651
+ "whenNoDataFound",
1652
+ "noDataFoundIcon"
1653
+ ]
1654
+ },
1655
+ "entityTitle": {
1656
+ "allowedProperties": [
1657
+ "singular",
1658
+ "plural"
1659
+ ]
1660
+ },
1661
+ "pagination": {
1662
+ "allowedProperties": [
1663
+ "type",
1664
+ "entitiesPerPage",
1665
+ "showTotalCount"
1666
+ ],
1667
+ "requiredProperties": [
1668
+ "type"
1669
+ ],
1670
+ "propertyEnums": {
1671
+ "type": [
1672
+ "page",
1673
+ "scroll"
1674
+ ]
1675
+ }
1676
+ },
1677
+ "action": {
1678
+ "allowedProperties": [
1679
+ "position",
1680
+ "template",
1681
+ "label"
1682
+ ],
1683
+ "allowedBlocks": [
1684
+ "layout",
1685
+ "behavior",
1686
+ "appearance",
1687
+ "serverSideCondition",
1688
+ "menu"
1689
+ ],
1690
+ "propertyEnums": {
1691
+ "position": [
1692
+ "avatarLink",
1693
+ "titleLink",
1694
+ "badgeLink",
1695
+ "fullRowLink",
1696
+ "primaryActions"
1697
+ ],
1698
+ "template": [
1699
+ "button",
1700
+ "menu"
1701
+ ]
1702
+ },
1703
+ "behavior": {
1704
+ "allowedProperties": [
1705
+ "type",
1706
+ "target",
1707
+ "targetUrl",
1708
+ "linkAttributes"
1709
+ ]
1710
+ },
1711
+ "appearance": {
1712
+ "allowedProperties": [
1713
+ "displayType",
1714
+ "icon",
1715
+ "cssClasses"
1716
+ ]
1717
+ },
1718
+ "menu": {
1719
+ "allowedProperties": [
1720
+ "label"
1721
+ ],
1722
+ "allowedBlocks": [
1723
+ "layout",
1724
+ "behavior",
1725
+ "appearance",
1726
+ "serverSideCondition"
1727
+ ],
1728
+ "behavior": {
1729
+ "allowedProperties": [
1730
+ "type",
1731
+ "target",
1732
+ "targetUrl",
1733
+ "linkAttributes"
1734
+ ]
1735
+ },
1736
+ "appearance": {
1737
+ "allowedProperties": [
1738
+ "displayType",
1739
+ "icon",
1740
+ "cssClasses"
1741
+ ]
1742
+ }
1743
+ }
1744
+ },
1745
+ "column": {
1746
+ "requiredBlocks": [
1747
+ "layout",
1748
+ "source"
1749
+ ],
1750
+ "allowedBlocks": [
1751
+ "layout",
1752
+ "source",
1753
+ "accessibility",
1754
+ "appearance"
1755
+ ],
1756
+ "layout": {
1757
+ "allowedProperties": [
1758
+ "sequence"
1759
+ ],
1760
+ "requiredProperties": [
1761
+ "sequence"
1762
+ ]
1763
+ },
1764
+ "source": {
1765
+ "allowedProperties": [
1766
+ "type",
1767
+ "databaseColumn",
1768
+ "dataType",
1769
+ "primaryKey"
1770
+ ],
1771
+ "requiredProperties": [
1772
+ "databaseColumn",
1773
+ "dataType"
1774
+ ]
1775
+ }
1776
+ }
1777
+ },
1778
+ "mediaList": {
1779
+ "allowedBlocks": [
1780
+ "source",
1781
+ "orderBy",
1782
+ "layout",
1783
+ "appearance",
1784
+ "accessibility",
1785
+ "comments",
1786
+ "serverSideCondition",
1787
+ "componentAppearance",
1788
+ "settings",
1789
+ "plugin-avatar",
1790
+ "plugin-badge",
1791
+ "action",
1792
+ "column",
1793
+ "security"
1794
+ ],
1795
+ "requiredBlocks": [
1796
+ "layout",
1797
+ "appearance",
1798
+ "componentAppearance",
1799
+ "settings"
1800
+ ],
1801
+ "layout": {
1802
+ "allowedProperties": [
1803
+ "sequence",
1804
+ "parentRegion",
1805
+ "slot"
1806
+ ],
1807
+ "requiredProperties": [
1808
+ "sequence",
1809
+ "slot"
1810
+ ],
1811
+ "propertyEnums": {
1812
+ "slot": [
1813
+ "body",
1814
+ "regionBody",
1815
+ "subRegions"
1816
+ ]
1817
+ }
1818
+ },
1819
+ "componentAppearance": {
1820
+ "allowedProperties": [
1821
+ "display"
1822
+ ],
1823
+ "requiredProperties": [
1824
+ "display"
1825
+ ],
1826
+ "propertyEnums": {
1827
+ "display": [
1828
+ "partial",
1829
+ "report"
1830
+ ]
1831
+ }
1832
+ },
1833
+ "orderBy": {
1834
+ "allowedProperties": [
1835
+ "type",
1836
+ "orderByClause",
1837
+ "item"
1838
+ ],
1839
+ "requiredProperties": [
1840
+ "type"
1841
+ ],
1842
+ "propertyEnums": {
1843
+ "type": [
1844
+ "staticValue",
1845
+ "item"
1846
+ ]
1847
+ }
1848
+ },
1849
+ "settings": {
1850
+ "allowedProperties": [
1851
+ "title",
1852
+ "description",
1853
+ "displayAvatar",
1854
+ "displayBadge",
1855
+ "applyThemeColors",
1856
+ "layout",
1857
+ "size"
1858
+ ],
1859
+ "requiredProperties": [
1860
+ "title"
1861
+ ],
1862
+ "propertyEnums": {
1863
+ "layout": [
1864
+ "2ColumnGrid",
1865
+ "3ColumnGrid",
1866
+ "4ColumnGrid",
1867
+ "5ColumnGrid",
1868
+ "horizontalSpan"
1869
+ ],
1870
+ "size": [
1871
+ "large"
1872
+ ]
1873
+ }
1874
+ },
1875
+ "plugin-avatar": {
1876
+ "allowedProperties": [
1877
+ "type",
1878
+ "image",
1879
+ "initials",
1880
+ "icon",
1881
+ "description",
1882
+ "shape"
1883
+ ],
1884
+ "requiredProperties": [
1885
+ "type"
1886
+ ],
1887
+ "propertyEnums": {
1888
+ "type": [
1889
+ "icon",
1890
+ "image",
1891
+ "initials"
1892
+ ],
1893
+ "shape": [
1894
+ "circular",
1895
+ "noShape",
1896
+ "rounded",
1897
+ "square"
1898
+ ]
1899
+ }
1900
+ },
1901
+ "plugin-badge": {
1902
+ "allowedProperties": [
1903
+ "label",
1904
+ "value",
1905
+ "state",
1906
+ "icon",
1907
+ "displayLabel",
1908
+ "style",
1909
+ "shape"
1910
+ ],
1911
+ "requiredProperties": [
1912
+ "label",
1913
+ "value"
1914
+ ],
1915
+ "propertyEnums": {
1916
+ "style": [
1917
+ "outline",
1918
+ "subtle"
1919
+ ],
1920
+ "shape": [
1921
+ "circular",
1922
+ "rounded",
1923
+ "square"
1924
+ ]
1925
+ }
1926
+ },
1927
+ "action": {
1928
+ "allowedProperties": [
1929
+ "position"
1930
+ ],
1931
+ "requiredProperties": [
1932
+ "position"
1933
+ ],
1934
+ "allowedBlocks": [
1935
+ "layout",
1936
+ "behavior",
1937
+ "serverSideCondition",
1938
+ "security"
1939
+ ],
1940
+ "requiredBlocks": [
1941
+ "layout",
1942
+ "behavior"
1943
+ ],
1944
+ "propertyEnums": {
1945
+ "position": [
1946
+ "link"
1947
+ ]
1948
+ },
1949
+ "layout": {
1950
+ "allowedProperties": [
1951
+ "sequence"
1952
+ ],
1953
+ "requiredProperties": [
1954
+ "sequence"
1955
+ ]
1956
+ },
1957
+ "behavior": {
1958
+ "allowedProperties": [
1959
+ "type",
1960
+ "target",
1961
+ "targetUrl",
1962
+ "linkAttributes"
1963
+ ],
1964
+ "requiredProperties": [
1965
+ "type"
1966
+ ],
1967
+ "propertyEnums": {
1968
+ "type": [
1969
+ "redirectThisApp",
1970
+ "triggerAction"
1971
+ ]
1972
+ }
1973
+ },
1974
+ "security": {
1975
+ "allowedProperties": [
1976
+ "authorizationScheme"
1977
+ ]
1978
+ }
1979
+ },
1980
+ "security": {
1981
+ "allowedProperties": [
1982
+ "authorizationScheme"
1983
+ ]
1984
+ },
1985
+ "column": {
1986
+ "requiredBlocks": [
1987
+ "layout",
1988
+ "source"
1989
+ ],
1990
+ "allowedBlocks": [
1991
+ "layout",
1992
+ "source",
1993
+ "security",
1994
+ "comments"
1995
+ ],
1996
+ "layout": {
1997
+ "allowedProperties": [
1998
+ "sequence"
1999
+ ],
2000
+ "requiredProperties": [
2001
+ "sequence"
2002
+ ]
2003
+ },
2004
+ "source": {
2005
+ "allowedProperties": [
2006
+ "type",
2007
+ "databaseColumn",
2008
+ "dataType",
2009
+ "primaryKey"
2010
+ ],
2011
+ "requiredProperties": [
2012
+ "databaseColumn",
2013
+ "dataType"
2014
+ ],
2015
+ "propertyEnums": {
2016
+ "type": [
2017
+ "databaseColumn",
2018
+ "sqlExpression",
2019
+ "none"
2020
+ ],
2021
+ "dataType": [
2022
+ "bfile",
2023
+ "blob",
2024
+ "boolean",
2025
+ "clob",
2026
+ "date",
2027
+ "intervalDayToSecond",
2028
+ "intervalYearToMonth",
2029
+ "number",
2030
+ "rowid",
2031
+ "sdoGeometry",
2032
+ "timestamp",
2033
+ "timestampWithLocalTimeZone",
2034
+ "timestampWithTimeZone",
2035
+ "varchar2"
2036
+ ]
2037
+ }
2038
+ },
2039
+ "security": {
2040
+ "allowedProperties": [
2041
+ "authorizationScheme",
2042
+ "escapeSpecialChars"
2043
+ ]
2044
+ }
2045
+ }
2046
+ },
2047
+ "metricCard": {
2048
+ "requiredBlocks": [
2049
+ "appearance",
2050
+ "componentAppearance",
2051
+ "settings"
2052
+ ],
2053
+ "allowedBlocks": [
2054
+ "source",
2055
+ "orderBy",
2056
+ "layout",
2057
+ "appearance",
2058
+ "accessibility",
2059
+ "comments",
2060
+ "serverSideCondition",
2061
+ "componentAppearance",
2062
+ "settings",
2063
+ "plugin-avatar",
2064
+ "plugin-badge",
2065
+ "plugin-grouping",
2066
+ "rowSelection",
2067
+ "messages",
2068
+ "pagination",
2069
+ "action",
2070
+ "column",
2071
+ "security",
2072
+ "advanced"
2073
+ ],
2074
+ "componentAppearance": {
2075
+ "allowedProperties": [
2076
+ "display"
2077
+ ],
2078
+ "requiredProperties": [
2079
+ "display"
2080
+ ],
2081
+ "propertyEnums": {
2082
+ "display": [
2083
+ "partial",
2084
+ "report"
2085
+ ]
2086
+ }
2087
+ },
2088
+ "orderBy": {
2089
+ "allowedProperties": [
2090
+ "type",
2091
+ "orderByClause",
2092
+ "item"
2093
+ ],
2094
+ "requiredProperties": [
2095
+ "type"
2096
+ ],
2097
+ "propertyEnums": {
2098
+ "type": [
2099
+ "staticValue",
2100
+ "item"
2101
+ ]
2102
+ }
2103
+ },
2104
+ "settings": {
2105
+ "allowedProperties": [
2106
+ "title",
2107
+ "titleCssClasses",
2108
+ "metric",
2109
+ "metricCssClasses",
2110
+ "meta",
2111
+ "metaCssClasses",
2112
+ "layout",
2113
+ "itemCssClasses"
2114
+ ],
2115
+ "requiredProperties": [
2116
+ "metric"
2117
+ ],
2118
+ "propertyEnums": {
2119
+ "layout": [
2120
+ "2Columns",
2121
+ "3Columns",
2122
+ "4Columns",
2123
+ "5Columns",
2124
+ "autoWrapping",
2125
+ "overflow",
2126
+ "stacked"
2127
+ ]
2128
+ },
2129
+ "conditionalRequirements": {
2130
+ "reportScope": "settings.layout and settings.itemCssClasses are report-only and must be omitted in partial mode."
2131
+ }
2132
+ },
2133
+ "plugin-avatar": {
2134
+ "allowedProperties": [
2135
+ "displayAvatar",
2136
+ "type",
2137
+ "icon",
2138
+ "initials",
2139
+ "image",
2140
+ "position",
2141
+ "alignment",
2142
+ "shape",
2143
+ "size",
2144
+ "style"
2145
+ ],
2146
+ "requiredProperties": [
2147
+ "displayAvatar",
2148
+ "type"
2149
+ ],
2150
+ "enforcedValues": {
2151
+ "displayAvatar": true
2152
+ },
2153
+ "propertyEnums": {
2154
+ "type": [
2155
+ "icon",
2156
+ "image",
2157
+ "initials"
2158
+ ],
2159
+ "position": [
2160
+ "inline",
2161
+ "top"
2162
+ ],
2163
+ "alignment": [
2164
+ "start",
2165
+ "center",
2166
+ "end"
2167
+ ],
2168
+ "shape": [
2169
+ "circular",
2170
+ "noShape",
2171
+ "rounded",
2172
+ "square"
2173
+ ],
2174
+ "size": [
2175
+ "small",
2176
+ "medium",
2177
+ "large"
2178
+ ],
2179
+ "style": [
2180
+ "subtle"
2181
+ ]
2182
+ },
2183
+ "conditionalRequirements": {
2184
+ "payload": "Emit exactly one of icon, initials, or image matching type.",
2185
+ "icon": "Use a static Font APEX literal or an &COLUMN. substitution backed by a varchar2 SQL literal or explicit CASE allowlist whose every output is in the pinned Font APEX catalog.",
2186
+ "initials": "Use a bare projected varchar2 source-column alias.",
2187
+ "image": "Use a compiler-backed media object. BLOB mode requires typed blob, filename, MIME type, and last-updated columns; URL modes require application-managed file paths.",
2188
+ "alignment": "Allowed only when position is inline.",
2189
+ "style": "Allowed only when type is icon or initials; omit it for image."
2190
+ }
2191
+ },
2192
+ "plugin-badge": {
2193
+ "allowedProperties": [
2194
+ "displayBadge",
2195
+ "label",
2196
+ "value",
2197
+ "state",
2198
+ "icon",
2199
+ "style",
2200
+ "shape",
2201
+ "size",
2202
+ "displayLabel"
2203
+ ],
2204
+ "requiredProperties": [
2205
+ "displayBadge",
2206
+ "label",
2207
+ "value"
2208
+ ],
2209
+ "enforcedValues": {
2210
+ "displayBadge": true
2211
+ },
2212
+ "propertyEnums": {
2213
+ "style": [
2214
+ "outline",
2215
+ "subtle"
2216
+ ],
2217
+ "shape": [
2218
+ "circular",
2219
+ "rounded",
2220
+ "square"
2221
+ ],
2222
+ "size": [
2223
+ "small",
2224
+ "medium",
2225
+ "large"
2226
+ ]
2227
+ },
2228
+ "conditionalRequirements": {
2229
+ "selectors": "Use bare projected aliases for source-backed label, value, and state fields; source-backed labels use varchar2 and labels contain no HTML or event attributes.",
2230
+ "state": "When present, state references a varchar2 column restricted to danger, warning, success, or info."
2231
+ }
2232
+ },
2233
+ "plugin-grouping": {
2234
+ "allowedProperties": [
2235
+ "groupTitle",
2236
+ "groupIcon"
2237
+ ],
2238
+ "conditionalRequirements": {
2239
+ "groupIcon": "Requires groupTitle.",
2240
+ "grouping": "Requires at least one child column with appearance.group=true and static orderBy beginning with grouped columns.",
2241
+ "reportScope": "The plugin-grouping block is report-only and must be omitted in partial mode."
2242
+ }
2243
+ },
2244
+ "rowSelection": {
2245
+ "allowedProperties": [
2246
+ "type",
2247
+ "currentSelectionPageItem",
2248
+ "selectAllPageItem"
2249
+ ],
2250
+ "propertyEnums": {
2251
+ "type": [
2252
+ "focusOnly",
2253
+ "singleSelection",
2254
+ "multipleSelection"
2255
+ ]
2256
+ },
2257
+ "conditionalRequirements": {
2258
+ "focusOnly": "Require a primary-key child column and omit both selection items.",
2259
+ "singleSelection": "Require a primary-key child column plus a same-page hidden currentSelectionPageItem; omit selectAllPageItem.",
2260
+ "multipleSelection": "Require a primary-key child column, a same-page hidden currentSelectionPageItem, and a same-page checkbox/switch selectAllPageItem.",
2261
+ "reportScope": "The rowSelection block is report-only and must be omitted in partial mode."
2262
+ }
2263
+ },
2264
+ "messages": {
2265
+ "allowedProperties": [
2266
+ "whenNoDataFound",
2267
+ "noDataFoundIcon"
2268
+ ],
2269
+ "conditionalRequirements": {
2270
+ "reportScope": "The messages block is report-only and must be omitted in partial mode."
2271
+ }
2272
+ },
2273
+ "pagination": {
2274
+ "allowedProperties": [
2275
+ "entitiesPerPage"
2276
+ ],
2277
+ "conditionalRequirements": {
2278
+ "reportScope": "The pagination block is report-only and supports only entitiesPerPage."
2279
+ }
2280
+ },
2281
+ "advanced": {
2282
+ "allowedProperties": [
2283
+ "htmlDomId",
2284
+ "regionDisplaySelector"
2285
+ ],
2286
+ "propertyEnums": {
2287
+ "regionDisplaySelector": [
2288
+ true,
2289
+ false
2290
+ ]
2291
+ }
2292
+ },
2293
+ "action": {
2294
+ "allowedProperties": [
2295
+ "position"
2296
+ ],
2297
+ "requiredProperties": [
2298
+ "position"
2299
+ ],
2300
+ "allowedBlocks": [
2301
+ "layout",
2302
+ "behavior",
2303
+ "serverSideCondition",
2304
+ "security",
2305
+ "comments"
2306
+ ],
2307
+ "requiredBlocks": [
2308
+ "layout",
2309
+ "behavior"
2310
+ ],
2311
+ "propertyEnums": {
2312
+ "position": [
2313
+ "link"
2314
+ ]
2315
+ },
2316
+ "layout": {
2317
+ "allowedProperties": [
2318
+ "sequence"
2319
+ ],
2320
+ "requiredProperties": [
2321
+ "sequence"
2322
+ ]
2323
+ },
2324
+ "behavior": {
2325
+ "allowedProperties": [
2326
+ "type",
2327
+ "target",
2328
+ "targetUrl",
2329
+ "linkAttributes"
2330
+ ],
2331
+ "requiredProperties": [
2332
+ "type"
2333
+ ],
2334
+ "propertyEnums": {
2335
+ "type": [
2336
+ "redirectThisApp",
2337
+ "redirectOtherApp",
2338
+ "redirectUrl",
2339
+ "triggerAction"
2340
+ ]
2341
+ },
2342
+ "conditionalRequirements": {
2343
+ "redirectThisApp": "Require target and omit targetUrl.",
2344
+ "redirectOtherApp": "Require target and omit targetUrl.",
2345
+ "redirectUrl": "Require targetUrl and omit target.",
2346
+ "triggerAction": "Omit target and targetUrl."
2347
+ }
2348
+ },
2349
+ "security": {
2350
+ "allowedProperties": [
2351
+ "authorizationScheme"
2352
+ ]
2353
+ }
2354
+ },
2355
+ "column": {
2356
+ "requiredBlocks": [
2357
+ "layout",
2358
+ "source"
2359
+ ],
2360
+ "allowedBlocks": [
2361
+ "layout",
2362
+ "appearance",
2363
+ "source"
2364
+ ],
2365
+ "layout": {
2366
+ "allowedProperties": [
2367
+ "sequence"
2368
+ ],
2369
+ "requiredProperties": [
2370
+ "sequence"
2371
+ ]
2372
+ },
2373
+ "appearance": {
2374
+ "allowedProperties": [
2375
+ "formatMask",
2376
+ "group"
2377
+ ]
2378
+ },
2379
+ "source": {
2380
+ "allowedProperties": [
2381
+ "databaseColumn",
2382
+ "dataType",
2383
+ "primaryKey"
2384
+ ],
2385
+ "requiredProperties": [
2386
+ "databaseColumn",
2387
+ "dataType"
2388
+ ],
2389
+ "propertyEnums": {
2390
+ "dataType": [
2391
+ "bfile",
2392
+ "blob",
2393
+ "boolean",
2394
+ "clob",
2395
+ "date",
2396
+ "intervalDayToSecond",
2397
+ "intervalYearToMonth",
2398
+ "number",
2399
+ "rowid",
2400
+ "sdoGeometry",
2401
+ "timestamp",
2402
+ "timestampWithLocalTimeZone",
2403
+ "timestampWithTimeZone",
2404
+ "varchar2"
2405
+ ]
2406
+ }
2407
+ }
2408
+ }
2409
+ },
2410
+ "comments": {
2411
+ "requiredBlocks": [
2412
+ "source",
2413
+ "componentAppearance",
2414
+ "settings"
2415
+ ],
2416
+ "allowedBlocks": [
2417
+ "source",
2418
+ "layout",
2419
+ "appearance",
2420
+ "accessibility",
2421
+ "comments",
2422
+ "serverSideCondition",
2423
+ "componentAppearance",
2424
+ "settings",
2425
+ "plugin-avatar",
2426
+ "action",
2427
+ "rowSelection",
2428
+ "performance",
2429
+ "pagination",
2430
+ "entityTitle",
2431
+ "messages",
2432
+ "column",
2433
+ "security",
2434
+ "advanced"
2435
+ ],
2436
+ "componentAppearance": {
2437
+ "allowedProperties": [
2438
+ "display"
2439
+ ],
2440
+ "requiredProperties": [
2441
+ "display"
2442
+ ],
2443
+ "propertyEnums": {
2444
+ "display": [
2445
+ "partial",
2446
+ "report"
2447
+ ]
2448
+ }
2449
+ },
2450
+ "settings": {
2451
+ "allowedProperties": [
2452
+ "userName",
2453
+ "commentText",
2454
+ "date",
2455
+ "attributes",
2456
+ "commentClass",
2457
+ "displayAvatar",
2458
+ "style",
2459
+ "alignment",
2460
+ "applyThemeColors"
2461
+ ],
2462
+ "requiredProperties": [
2463
+ "userName",
2464
+ "commentText"
2465
+ ],
2466
+ "propertyEnums": {
2467
+ "displayAvatar": [
2468
+ true,
2469
+ false
2470
+ ],
2471
+ "style": [
2472
+ "basic",
2473
+ "chatSpeechBubbles"
2474
+ ],
2475
+ "applyThemeColors": [
2476
+ true,
2477
+ false
2478
+ ]
2479
+ }
2480
+ },
2481
+ "plugin-avatar": {
2482
+ "allowedProperties": [
2483
+ "type",
2484
+ "icon",
2485
+ "initials",
2486
+ "image",
2487
+ "description",
2488
+ "shape",
2489
+ "cssClasses"
2490
+ ],
2491
+ "requiredProperties": [
2492
+ "type",
2493
+ "shape"
2494
+ ],
2495
+ "propertyEnums": {
2496
+ "type": [
2497
+ "icon",
2498
+ "image",
2499
+ "initials"
2500
+ ],
2501
+ "shape": [
2502
+ "circular",
2503
+ "noShape",
2504
+ "rounded",
2505
+ "square"
2506
+ ]
2507
+ }
2508
+ },
2509
+ "rowSelection": {
2510
+ "allowedProperties": [
2511
+ "type"
2512
+ ],
2513
+ "requiredProperties": [
2514
+ "type"
2515
+ ],
2516
+ "propertyEnums": {
2517
+ "type": [
2518
+ "focusOnly",
2519
+ "singleSelection",
2520
+ "multipleSelection"
2521
+ ]
2522
+ }
2523
+ },
2524
+ "performance": {
2525
+ "allowedProperties": [
2526
+ "lazyLoading"
2527
+ ],
2528
+ "propertyEnums": {
2529
+ "lazyLoading": [
2530
+ true,
2531
+ false
2532
+ ]
2533
+ }
2534
+ },
2535
+ "pagination": {
2536
+ "allowedProperties": [
2537
+ "type",
2538
+ "entitiesPerPage",
2539
+ "showTotalCount"
2540
+ ],
2541
+ "requiredProperties": [
2542
+ "type"
2543
+ ],
2544
+ "propertyEnums": {
2545
+ "type": [
2546
+ "page"
2547
+ ],
2548
+ "showTotalCount": [
2549
+ true,
2550
+ false
2551
+ ]
2552
+ }
2553
+ },
2554
+ "entityTitle": {
2555
+ "allowedProperties": [
2556
+ "singular",
2557
+ "plural"
2558
+ ]
2559
+ },
2560
+ "messages": {
2561
+ "allowedProperties": [
2562
+ "whenNoDataFound"
2563
+ ]
2564
+ },
2565
+ "advanced": {
2566
+ "allowedProperties": [
2567
+ "htmlDomId",
2568
+ "regionDisplaySelector"
2569
+ ],
2570
+ "propertyEnums": {
2571
+ "regionDisplaySelector": [
2572
+ true,
2573
+ false
2574
+ ]
2575
+ }
2576
+ },
2577
+ "action": {
946
2578
  "allowedProperties": [
947
2579
  "position",
948
- "template",
949
2580
  "label"
950
2581
  ],
2582
+ "requiredProperties": [
2583
+ "position"
2584
+ ],
951
2585
  "allowedBlocks": [
952
2586
  "layout",
953
- "behavior",
954
- "appearance",
955
- "serverSideCondition",
956
- "menu"
2587
+ "behavior"
2588
+ ],
2589
+ "requiredBlocks": [
2590
+ "layout",
2591
+ "behavior"
957
2592
  ],
958
2593
  "propertyEnums": {
959
2594
  "position": [
2595
+ "actions",
960
2596
  "avatarLink",
961
- "titleLink",
962
- "badgeLink",
963
- "fullRowLink",
964
- "primaryActions"
965
- ],
966
- "template": [
967
- "button",
968
- "menu"
969
- ]
970
- },
971
- "behavior": {
972
- "allowedProperties": [
973
- "type",
974
- "target",
975
- "targetUrl",
976
- "linkAttributes"
2597
+ "userNameLink"
977
2598
  ]
978
2599
  },
979
- "appearance": {
2600
+ "layout": {
980
2601
  "allowedProperties": [
981
- "displayType",
982
- "icon",
983
- "cssClasses"
2602
+ "sequence"
2603
+ ],
2604
+ "requiredProperties": [
2605
+ "sequence"
984
2606
  ]
985
2607
  },
986
- "menu": {
2608
+ "behavior": {
987
2609
  "allowedProperties": [
988
- "label"
2610
+ "target"
989
2611
  ],
990
- "allowedBlocks": [
991
- "layout",
992
- "behavior",
993
- "appearance",
994
- "serverSideCondition"
995
- ],
996
- "behavior": {
997
- "allowedProperties": [
998
- "type",
999
- "target",
1000
- "targetUrl",
1001
- "linkAttributes"
1002
- ]
1003
- },
1004
- "appearance": {
1005
- "allowedProperties": [
1006
- "displayType",
1007
- "icon",
1008
- "cssClasses"
1009
- ]
1010
- }
2612
+ "requiredProperties": [
2613
+ "target"
2614
+ ]
1011
2615
  }
1012
2616
  },
1013
2617
  "column": {
@@ -1017,9 +2621,7 @@
1017
2621
  ],
1018
2622
  "allowedBlocks": [
1019
2623
  "layout",
1020
- "source",
1021
- "accessibility",
1022
- "appearance"
2624
+ "source"
1023
2625
  ],
1024
2626
  "layout": {
1025
2627
  "allowedProperties": [
@@ -1038,11 +2640,113 @@
1038
2640
  "requiredProperties": [
1039
2641
  "databaseColumn",
1040
2642
  "dataType"
2643
+ ],
2644
+ "propertyEnums": {
2645
+ "dataType": [
2646
+ "bfile",
2647
+ "blob",
2648
+ "boolean",
2649
+ "clob",
2650
+ "date",
2651
+ "intervalDayToSecond",
2652
+ "intervalYearToMonth",
2653
+ "number",
2654
+ "rowid",
2655
+ "sdoGeometry",
2656
+ "timestamp",
2657
+ "timestampWithLocalTimeZone",
2658
+ "timestampWithTimeZone",
2659
+ "varchar2"
2660
+ ]
2661
+ }
2662
+ }
2663
+ }
2664
+ },
2665
+ "regionDisplaySelector": {
2666
+ "requiredBlocks": [
2667
+ "layout",
2668
+ "settings"
2669
+ ],
2670
+ "allowedBlocks": [
2671
+ "layout",
2672
+ "appearance",
2673
+ "accessibility",
2674
+ "comments",
2675
+ "serverSideCondition",
2676
+ "settings",
2677
+ "security",
2678
+ "advanced"
2679
+ ],
2680
+ "settings": {
2681
+ "allowedProperties": [
2682
+ "mode",
2683
+ "displayRegionIcons",
2684
+ "includeShowAll",
2685
+ "rememberSelection"
2686
+ ],
2687
+ "requiredProperties": [
2688
+ "mode",
2689
+ "displayRegionIcons",
2690
+ "rememberSelection"
2691
+ ],
2692
+ "propertyEnums": {
2693
+ "mode": [
2694
+ "viewSingleRegion",
2695
+ "scrollWindow"
2696
+ ],
2697
+ "displayRegionIcons": [
2698
+ true,
2699
+ false
2700
+ ],
2701
+ "includeShowAll": [
2702
+ true,
2703
+ false
2704
+ ],
2705
+ "rememberSelection": [
2706
+ "byUser",
2707
+ "bySession",
2708
+ false
1041
2709
  ]
1042
2710
  }
2711
+ },
2712
+ "advanced": {
2713
+ "allowedProperties": [
2714
+ "htmlDomId"
2715
+ ]
2716
+ },
2717
+ "applicationSettings": {
2718
+ "source": "upstream_catalog_reference",
2719
+ "scope": "application",
2720
+ "selector": "NATIVE_DISPLAY_SELECTOR",
2721
+ "componentType": "region",
2722
+ "componentName": "regionDisplaySelector",
2723
+ "sourceShape": "settings.attributes.includeSlider",
2724
+ "settings": {
2725
+ "allowedProperties": [
2726
+ "includeSlider"
2727
+ ],
2728
+ "propertyEnums": {
2729
+ "includeSlider": [
2730
+ true,
2731
+ false
2732
+ ]
2733
+ },
2734
+ "propertyDefaults": {
2735
+ "includeSlider": true
2736
+ }
2737
+ },
2738
+ "generation": {
2739
+ "required": false,
2740
+ "emitWhen": "explicitly requested"
2741
+ }
1043
2742
  }
1044
2743
  },
1045
- "metricCard": {
2744
+ "timeline": {
2745
+ "requiredBlocks": [
2746
+ "source",
2747
+ "componentAppearance",
2748
+ "settings"
2749
+ ],
1046
2750
  "allowedBlocks": [
1047
2751
  "source",
1048
2752
  "layout",
@@ -1054,8 +2758,7 @@
1054
2758
  "settings",
1055
2759
  "plugin-avatar",
1056
2760
  "plugin-badge",
1057
- "rowSelection",
1058
- "messages",
2761
+ "pagination",
1059
2762
  "column",
1060
2763
  "security",
1061
2764
  "advanced"
@@ -1069,68 +2772,109 @@
1069
2772
  ],
1070
2773
  "propertyEnums": {
1071
2774
  "display": [
2775
+ "partial",
1072
2776
  "report"
1073
2777
  ]
1074
2778
  }
1075
2779
  },
1076
2780
  "settings": {
1077
2781
  "allowedProperties": [
2782
+ "userName",
2783
+ "date",
1078
2784
  "title",
1079
- "titleCssClasses",
1080
- "metric",
1081
- "metricCssClasses",
1082
- "meta",
1083
- "metaCssClasses",
1084
- "layout",
1085
- "itemCssClasses"
1086
- ]
2785
+ "description",
2786
+ "displayAvatar",
2787
+ "displayBadge"
2788
+ ],
2789
+ "requiredProperties": [
2790
+ "userName",
2791
+ "date",
2792
+ "title"
2793
+ ],
2794
+ "propertyEnums": {
2795
+ "displayAvatar": [
2796
+ true,
2797
+ false
2798
+ ],
2799
+ "displayBadge": [
2800
+ true,
2801
+ false
2802
+ ]
2803
+ }
1087
2804
  },
1088
2805
  "plugin-avatar": {
1089
2806
  "allowedProperties": [
1090
- "displayAvatar",
1091
2807
  "type",
1092
2808
  "icon",
1093
2809
  "initials",
1094
- "image"
1095
- ]
2810
+ "image",
2811
+ "description",
2812
+ "shape"
2813
+ ],
2814
+ "requiredProperties": [
2815
+ "type",
2816
+ "shape"
2817
+ ],
2818
+ "propertyEnums": {
2819
+ "type": [
2820
+ "icon",
2821
+ "image",
2822
+ "initials"
2823
+ ],
2824
+ "shape": [
2825
+ "circular",
2826
+ "noShape",
2827
+ "rounded",
2828
+ "square"
2829
+ ]
2830
+ }
1096
2831
  },
1097
2832
  "plugin-badge": {
1098
2833
  "allowedProperties": [
1099
- "displayBadge",
1100
2834
  "label",
1101
2835
  "value",
1102
2836
  "state",
1103
2837
  "icon",
1104
2838
  "style",
1105
2839
  "shape",
1106
- "size",
1107
2840
  "displayLabel"
1108
- ]
1109
- },
1110
- "rowSelection": {
1111
- "allowedProperties": [
1112
- "type",
1113
- "currentSelectionPageItem",
1114
- "selectAllPageItem"
2841
+ ],
2842
+ "requiredProperties": [
2843
+ "label",
2844
+ "value"
1115
2845
  ],
1116
2846
  "propertyEnums": {
1117
- "type": [
1118
- "focusOnly",
1119
- "singleSelection",
1120
- "multipleSelection"
2847
+ "style": [
2848
+ "outline",
2849
+ "subtle"
2850
+ ],
2851
+ "shape": [
2852
+ "circular",
2853
+ "rounded",
2854
+ "square"
2855
+ ],
2856
+ "displayLabel": [
2857
+ true,
2858
+ false
1121
2859
  ]
1122
2860
  }
1123
2861
  },
1124
- "messages": {
2862
+ "pagination": {
1125
2863
  "allowedProperties": [
1126
- "whenNoDataFound",
1127
- "noDataFoundIcon"
2864
+ "entitiesPerPage"
1128
2865
  ]
1129
2866
  },
1130
2867
  "advanced": {
1131
2868
  "allowedProperties": [
1132
- "htmlDomId"
1133
- ]
2869
+ "htmlDomId",
2870
+ "regionDisplaySelector"
2871
+ ],
2872
+ "propertyEnums": {
2873
+ "regionDisplaySelector": [
2874
+ true,
2875
+ false
2876
+ ]
2877
+ }
1134
2878
  },
1135
2879
  "column": {
1136
2880
  "requiredBlocks": [