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.
- package/README.md +22 -5
- package/THIRD_PARTY_NOTICES.md +2 -2
- package/UPSTREAM.json +2 -2
- package/docs/assets/overview.en.png +0 -0
- package/docs/assets/overview.en.svg +89 -0
- package/docs/assets/overview.uk.png +0 -0
- package/docs/assets/overview.uk.svg +89 -0
- package/docs/en/README.md +41 -0
- package/docs/en/architecture.md +73 -0
- package/docs/en/getting-started.md +77 -0
- package/docs/en/maintenance.md +83 -0
- package/docs/en/tool-reference.md +85 -0
- package/docs/uk/README.md +41 -0
- package/docs/uk/architecture.md +73 -0
- package/docs/uk/getting-started.md +77 -0
- package/docs/uk/maintenance.md +83 -0
- package/docs/uk/tool-reference.md +85 -0
- package/extensions/apexlang/index.ts +19 -10
- package/extensions/lib/apexlang-cli.d.mts +1 -2
- package/extensions/lib/apexlang-cli.mjs +18 -13
- package/extensions/lib/apexlang-local-validate.mjs +83 -0
- package/extensions/lib/apexlang-local-validator.py +116 -0
- package/extensions/lib/apexlang-runtime-validate.mjs +76 -0
- package/package.json +2 -1
- package/skills/apexlang/APEXlang Skills and Workflows.md +325 -0
- package/skills/apexlang/README.md +6 -6
- package/skills/apexlang/RELEASE-NOTES.md +2 -2
- package/skills/apexlang/SKILL.md +24 -19
- package/skills/apexlang/agents/openai.yaml +4 -3
- package/skills/apexlang/assets/apex-generation/components.registry.json +1001 -16
- package/skills/apexlang/assets/apexlang/domains-catalog.json +6 -1
- package/skills/apexlang/assets/component-attributes.json +1924 -180
- package/skills/apexlang/assets/component-policies.json +19 -10
- package/skills/apexlang/assets/contracts/grammar-semantic-rules.json +134 -0
- package/skills/apexlang/assets/contracts/package-layers.json +56 -0
- package/skills/apexlang/assets/contracts/page-construction-packs.json +154 -0
- package/skills/apexlang/assets/contracts/page-patterns.json +119 -0
- package/skills/apexlang/assets/grammar/apexlang.ebnf +11743 -0
- package/skills/apexlang/assets/indexes/font-apex-icon-index.json +1699 -0
- package/skills/apexlang/assets/routing-catalog-main.json +11 -10
- package/skills/apexlang/assets/routing-load-policy.json +35 -9
- package/skills/apexlang/assets/rules-mapping.json +110 -2
- package/skills/apexlang/assets/rules.catalog.json +1298 -0
- package/skills/apexlang/assets/validator-fix-recipes.json +372 -17
- package/skills/apexlang/assets/workspace-intelligence.json +7 -10
- package/skills/apexlang/manifest.json +268 -12
- package/skills/apexlang/references/domains/README.md +1 -1
- package/skills/apexlang/references/domains/page-components/buttons.md +2 -2
- package/skills/apexlang/references/domains/page-components/page-items.md +3 -3
- package/skills/apexlang/references/domains/page-components/regions/region-display-selector/workflow-region-display-selector.md +69 -0
- package/skills/apexlang/references/domains/page-components/regions.md +1 -0
- package/skills/apexlang/references/domains/template-components/comments.md +61 -0
- package/skills/apexlang/references/domains/template-components/registry.md +2 -0
- package/skills/apexlang/references/domains/template-components/templates.md +47 -0
- package/skills/apexlang/references/domains/template-components/timeline.md +51 -0
- package/skills/apexlang/references/ops/one-message-router-contract.md +2 -2
- package/skills/apexlang/references/ops/runtime-gates/01-direct-sqlcl-import.md +1 -1
- package/skills/apexlang/references/ops/runtime-gates/02-direct-sqlcl-validate-gate.md +1 -1
- package/skills/apexlang/references/ops/runtime-gates.md +17 -16
- package/skills/apexlang/references/ops/sqlcl-agents/00-connection-gate.md +7 -7
- package/skills/apexlang/references/ops/sqlcl.md +7 -8
- package/skills/apexlang/references/policies/compiler-prop-map.md +6 -4
- package/skills/apexlang/references/policies/governance/00-governance.md +2 -2
- package/skills/apexlang/references/policies/memory-bank/00-guard/ai.guard.md +126 -922
- package/skills/apexlang/references/policies/memory-bank/20-data/apex.logic.md +3 -3
- package/skills/apexlang/references/policies/memory-bank/20-data/db.connection.md +9 -11
- package/skills/apexlang/references/policies/memory-bank/30-pages/apex.cards-page.md +95 -0
- package/skills/apexlang/references/policies/memory-bank/30-pages/apex.page.md +2 -2
- package/skills/apexlang/references/policies/memory-bank/30-pages/apex.smart-filter-search.md +145 -74
- package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-interactions.md +9 -2
- package/skills/apexlang/references/policies/memory-bank/40-components/apex.region-media.md +6 -5
- package/skills/apexlang/references/policies/memory-bank/systemPatterns.md +9 -1
- package/skills/apexlang/references/workflows/apex-generation/agents/20-agent-draft.md +51 -232
- package/skills/apexlang/references/workflows/apex-generation/agents/30-agent-critique.md +49 -449
- package/skills/apexlang/references/workflows/apex-generation/agents/40-agent-revision.md +38 -238
- package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-test-matrix.md +8 -2
- package/skills/apexlang/references/workflows/apex-generation/nlu/nlu-routing-validation-notes.md +19 -3
- package/skills/apexlang/references/workflows/apex-generation/registry.md +15 -1
- package/skills/apexlang/references/workflows/apex-generation/templates.md +1 -1
- package/skills/apexlang/references/workflows/apex-generation.md +1 -1
- package/skills/apexlang/references/workflows/apexlang/apexlang-execution-model.md +5 -5
- package/skills/apexlang/references/workflows/apexlang/prompt-contracts.md +81 -10
- package/skills/apexlang/references/workflows/apexlang/workflow-create-app-from-fr-and-model.md +18 -7
- package/skills/apexlang/release-notes.json +156 -0
- package/skills/apexlang/runtime/grammar_contract.mjs +1166 -0
- package/skills/apexlang/runtime/internal/python/format_apexlang.py +210 -0
- package/skills/apexlang/runtime/internal/python/validate_apexlang.py +14142 -5843
- package/skills/apexlang/runtime/internal/python/validator_common.py +2 -0
- package/skills/apexlang/runtime/lib/catalogs.mjs +1026 -0
- package/skills/apexlang/runtime/lib/common.mjs +35 -0
- package/skills/apexlang/runtime/runtime.bundle.mjs +457 -57
- package/skills/apexlang/templates/items/combobox/combobox.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/date-picker/date-picker._common.md +1 -1
- package/skills/apexlang/templates/items/date-picker/date-picker.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/file-upload/file-upload._common.md +30 -24
- package/skills/apexlang/templates/items/file-upload/file-upload.compact-template.md +6 -0
- package/skills/apexlang/templates/items/file-upload/file-upload.explicit-defaults.md +23 -8
- package/skills/apexlang/templates/items/file-upload/file-upload.minimal.md +6 -0
- package/skills/apexlang/templates/items/hidden-item/hidden-item._common.md +1 -1
- package/skills/apexlang/templates/items/hidden-item/hidden-item.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/items._common.md +3 -2
- package/skills/apexlang/templates/items/list-manager/list-manager.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/markdown-editor/markdown-editor._common.md +1 -1
- package/skills/apexlang/templates/items/markdown-editor/markdown-editor.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/number-field/number-field._common.md +8 -6
- package/skills/apexlang/templates/items/number-field/number-field.explicit-defaults.md +12 -2
- package/skills/apexlang/templates/items/popup-lov/popup-lov.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor._common.md +1 -1
- package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/select-many/standard.md +1 -1
- package/skills/apexlang/templates/items/shuttle/shuttle.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/switch/switch._common.md +8 -8
- package/skills/apexlang/templates/items/switch/switch.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-area/text-area._common.md +2 -3
- package/skills/apexlang/templates/items/text-area/text-area.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-area/text-area.required-length.md +1 -3
- package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.required-length.md +1 -3
- package/skills/apexlang/templates/items/text-field/text-field._common.md +2 -3
- package/skills/apexlang/templates/items/text-field/text-field.explicit-defaults.md +1 -1
- package/skills/apexlang/templates/items/text-field/text-field.required-length.md +1 -3
- package/skills/apexlang/templates/page-examples/faceted-search/faceted-search.example.md +0 -5
- package/skills/apexlang/templates/page-examples/form-page/form-page.example.md +0 -9
- package/skills/apexlang/templates/page-examples/interactive-report-page/interactive-report-page.example.md +2 -2
- package/skills/apexlang/templates/page-examples/login-page/login-page.example.md +0 -8
- package/skills/apexlang/templates/page-examples/task-definition-initiated-tasks-page/task-definition-initiated-tasks-page.example.md +7 -17
- package/skills/apexlang/templates/page-examples/task-definition-my-tasks-page/task-definition-my-tasks-page.example.md +7 -65
- package/skills/apexlang/templates/page-examples/task-definition-task-details/task-definition-task-details.example.md +38 -201
- package/skills/apexlang/templates/region-components/calendar/calendar.custom-styling.md +3 -1
- package/skills/apexlang/templates/region-components/calendar/calendar.faceted-search.md +3 -2
- package/skills/apexlang/templates/region-components/cards/README.md +12 -4
- package/skills/apexlang/templates/region-components/cards/cards._common.md +176 -37
- package/skills/apexlang/templates/region-components/cards/cards._index.md +2 -1
- package/skills/apexlang/templates/region-components/cards/cards.refresh-after-dialog.md +46 -0
- package/skills/apexlang/templates/region-components/cards/cards.refresh-on-change.md +58 -0
- package/skills/apexlang/templates/region-components/cards/cards.rest-source.md +54 -18
- package/skills/apexlang/templates/region-components/cards/cards.standard.md +37 -21
- package/skills/apexlang/templates/region-components/chart/chart._series._common.md +1 -4
- package/skills/apexlang/templates/region-components/chart/chart.pie.md +6 -2
- package/skills/apexlang/templates/region-components/chart/chart.status-meter-gauge.md +1 -1
- package/skills/apexlang/templates/region-components/chart/chart.stock.md +2 -0
- package/skills/apexlang/templates/region-components/chart/features/chart.feature-chart-links.md +9 -7
- package/skills/apexlang/templates/region-components/faceted-search/faceted-search._common.md +1 -14
- package/skills/apexlang/templates/region-components/form/form._items._common.md +1 -5
- package/skills/apexlang/templates/region-components/interactive-report/interactive-report._columns._common.md +2 -6
- package/skills/apexlang/templates/region-components/interactive-report/interactive-report.page-header-actions.md +1 -7
- package/skills/apexlang/templates/region-components/list/README.md +1 -1
- package/skills/apexlang/templates/region-components/list/list._common.md +1 -1
- package/skills/apexlang/templates/region-components/map/map.backgrounds.md +12 -10
- package/skills/apexlang/templates/region-components/map/map.layer.extruded-polygons.md +16 -12
- package/skills/apexlang/templates/region-components/map/map.layer.heat-map.md +10 -7
- package/skills/apexlang/templates/region-components/map/map.layer.lines.md +10 -8
- package/skills/apexlang/templates/region-components/map/map.layer.polygons.md +21 -18
- package/skills/apexlang/templates/region-components/map/map.region.background-custom.md +25 -19
- package/skills/apexlang/templates/region-components/map/map.region.background-shared.md +19 -13
- package/skills/apexlang/templates/region-components/map/map.region.bbox-sql.md +13 -13
- package/skills/apexlang/templates/region-components/map/map.region.bbox-static.md +2 -2
- package/skills/apexlang/templates/region-components/map/map.region.browser-location.md +3 -7
- package/skills/apexlang/templates/region-components/map/map.region.init-position-sql.md +7 -7
- package/skills/apexlang/templates/region-components/region-display-selector/README.md +5 -2
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._common.md +60 -7
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector._index.md +4 -1
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.permutations.md +55 -0
- package/skills/apexlang/templates/region-components/region-display-selector/region-display-selector.standard.md +91 -5
- package/skills/apexlang/templates/region-components/smart-filter-search/README.md +6 -2
- package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._common.md +107 -46
- package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search._index.md +4 -3
- package/skills/apexlang/templates/region-components/smart-filter-search/smart-filter-search.standard.md +33 -17
- package/skills/apexlang/templates/shared-components/component-settings/component-settings._common.md +1 -0
- package/skills/apexlang/templates/shared-components/component-settings.example.md +1 -0
- package/skills/apexlang/templates/shared-components/email-templates.example.md +1 -1
- package/skills/apexlang/templates/shared-components/rest-data-sources/example_rest_data_source.example.md +40 -46
- package/skills/apexlang/templates/shared-components/task-definitions/action-task.example.md +2 -30
- package/skills/apexlang/templates/shared-components/task-definitions/approve-request.example.md +3 -31
- package/skills/apexlang/templates/template-components/README.md +27 -15
- package/skills/apexlang/templates/template-components/avatar/README.md +56 -0
- package/skills/apexlang/templates/template-components/avatar/avatar._common.md +149 -0
- package/skills/apexlang/templates/template-components/avatar/avatar._index.md +42 -0
- package/skills/apexlang/templates/template-components/{avatar._template_options.md → avatar/avatar._template_options.md} +1 -1
- package/skills/apexlang/templates/template-components/avatar/avatar.report-icon.md +48 -0
- package/skills/apexlang/templates/template-components/avatar/avatar.report-image-url-column.md +62 -0
- package/skills/apexlang/templates/template-components/avatar/avatar.report-initials.md +54 -0
- package/skills/apexlang/templates/template-components/badge/README.md +38 -0
- package/skills/apexlang/templates/template-components/badge/badge._common.md +183 -0
- package/skills/apexlang/templates/template-components/badge/badge._index.md +20 -0
- package/skills/apexlang/templates/template-components/badge/badge.report-link.md +66 -0
- package/skills/apexlang/templates/template-components/badge/badge.report-minimal.md +76 -0
- package/skills/apexlang/templates/template-components/comments/README.md +20 -0
- package/skills/apexlang/templates/template-components/comments/comments._common.md +43 -0
- package/skills/apexlang/templates/template-components/comments/comments._index.md +25 -0
- package/skills/apexlang/templates/template-components/{comments._template_options.md → comments/comments._template_options.md} +2 -1
- package/skills/apexlang/templates/template-components/comments/comments.apex-task-comments.md +77 -0
- package/skills/apexlang/templates/template-components/comments/comments.partial-column.md +120 -0
- package/skills/apexlang/templates/template-components/comments/comments.permutations.md +425 -0
- package/skills/apexlang/templates/template-components/content-row/README.md +1 -1
- package/skills/apexlang/templates/template-components/content-row/content-row._common.md +1 -1
- package/skills/apexlang/templates/template-components/content-row/content-row._index.md +1 -1
- package/skills/apexlang/templates/template-components/content-row/content-row._template_options.md +1 -1
- package/skills/apexlang/templates/template-components/flexbox-container/README.md +9 -0
- package/skills/apexlang/templates/template-components/flexbox-container/flexbox-container._index.md +13 -0
- package/skills/apexlang/templates/template-components/media-list/README.md +100 -0
- package/skills/apexlang/templates/template-components/media-list/media-list._common.md +174 -0
- package/skills/apexlang/templates/template-components/media-list/media-list._index.md +50 -0
- package/skills/apexlang/templates/template-components/{media-list._template_options.md → media-list/media-list._template_options.md} +8 -2
- package/skills/apexlang/templates/template-components/media-list/media-list.partial.md +50 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-avatar-badge.md +76 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-base.md +71 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-grouped.md +40 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-layouts.md +50 -0
- package/skills/apexlang/templates/template-components/media-list/media-list.report-link.md +53 -0
- package/skills/apexlang/templates/template-components/metric-card/README.md +19 -4
- package/skills/apexlang/templates/template-components/metric-card/metric-card._common.md +122 -29
- package/skills/apexlang/templates/template-components/metric-card/metric-card._index.md +6 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card._template_options.md +47 -2
- package/skills/apexlang/templates/template-components/metric-card/metric-card.partial-minimal.md +51 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.permutations.md +56 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-avatar-badge.md +98 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-grouping-selection.md +131 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-link.md +66 -0
- package/skills/apexlang/templates/template-components/metric-card/metric-card.report-minimal.md +97 -0
- package/skills/apexlang/templates/template-components/template-components.registry.json +90 -1
- package/skills/apexlang/templates/template-components/timeline/README.md +19 -0
- package/skills/apexlang/templates/template-components/timeline/timeline._common.md +43 -0
- package/skills/apexlang/templates/template-components/timeline/timeline._index.md +24 -0
- package/skills/apexlang/templates/template-components/{timeline._template_options.md → timeline/timeline._template_options.md} +2 -1
- package/skills/apexlang/templates/template-components/timeline/timeline.permutations.md +399 -0
- package/skills/apexlang/templates/template-components/timeline/timeline.report-sample-data.md +168 -0
- package/skills/apexlang/templates/workspace-components/credentials/credentials-for-open-ai.example.md +1 -1
- package/skills/apexlang/templates/workspace-components/generative-ai-services/open-ai.example.md +8 -6
- package/skills/apexlang/tools/apexctl.mjs +167 -4
- package/skills/apexlang/tools/compiler-truth-audit.mjs +95 -63
- package/skills/apexlang/tools/query-valid-props-context.mjs +30 -0
- package/skills/apexlang/tools/query-valid-props-normalize.mjs +1 -0
- package/skills/apexlang/tools/query-valid-props-runtime.mjs +13 -8
- package/skills/apexlang/tools/query-valid-props-semantics.mjs +391 -0
- package/skills/apexlang/tools/query-valid-props-template-components.mjs +15 -1
- package/skills/apexlang/tools/query-valid-props.mjs +198 -216
- /package/skills/apexlang/templates/template-components/{badge._template_options.md → badge/badge._template_options.md} +0 -0
- /package/skills/apexlang/templates/template-components/{flexbox-container._template_options.md → flexbox-container/flexbox-container._template_options.md} +0 -0
|
@@ -77,7 +77,7 @@ pageItem {{itemName}} (
|
|
|
77
77
|
# Conditional Rendering Rules
|
|
78
78
|
|
|
79
79
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
80
|
-
-
|
|
80
|
+
- Emit native combobox `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
81
81
|
|
|
82
82
|
---
|
|
83
83
|
|
|
@@ -104,7 +104,7 @@ pageItem {{itemName}} (
|
|
|
104
104
|
- Omit `source {}` when the item is not bound to persisted data or a form region.
|
|
105
105
|
- Emit `validation {}` only when the scenario requires declarative checks.
|
|
106
106
|
- Keep width, placeholder, and format-mask attributes absent unless the scenario explicitly asks for them.
|
|
107
|
-
-
|
|
107
|
+
- Emit native date-picker `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
108
108
|
|
|
109
109
|
---
|
|
110
110
|
|
|
@@ -77,7 +77,7 @@ pageItem {{itemName}} (
|
|
|
77
77
|
# Conditional Rendering Rules
|
|
78
78
|
|
|
79
79
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
80
|
-
-
|
|
80
|
+
- Emit native date-picker `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
81
81
|
|
|
82
82
|
---
|
|
83
83
|
|
|
@@ -36,15 +36,20 @@ Define the canonical contract, conditional rules, and output skeleton for `file-
|
|
|
36
36
|
| layout.alignment | optional | enum | Item alignment inside the slot. |
|
|
37
37
|
| appearance.template | yes | alias | Family-appropriate template alias. |
|
|
38
38
|
| appearance.templateOptions | optional | array/string | Template modifiers such as `#DEFAULT#` or compact options. |
|
|
39
|
-
|
|
|
39
|
+
| appearance.icon | optional | string | Font APEX icon class such as `fa-file`. |
|
|
40
|
+
| display.displayAs | yes | enum | Upload UI mode: `blockDropzone`, `inlineDropzone`, or `nativeFileBrowse`. Emit `blockDropzone` when the user does not request another supported mode. |
|
|
41
|
+
| display.dropzoneTitle | conditional | string | Required for dropzone modes; use `Drop files here` when custom copy is unavailable. |
|
|
42
|
+
| display.dropzoneDesc | conditional | string | Required for dropzone modes; use `or click to browse` when custom copy is unavailable. |
|
|
43
|
+
| display.allowCopyPaste | optional | boolean | Allows file copy/paste into supported dropzone UIs. |
|
|
44
|
+
| display.captureUsing | optional | enum | Device capture source: `selfieCamera` or `mainCamera`. Omit when no capture source is required. |
|
|
45
|
+
| storage.type | optional | enum | Proven storage type: `appTempFiles`. |
|
|
46
|
+
| storage.allowMultipleFiles | optional | boolean | Allows multiple files. |
|
|
47
|
+
| storage.fileTypes | optional | string | Free-form comma-delimited file type list such as `image/png,video/*`; do not emit as an array. |
|
|
48
|
+
| storage.maxFileSize | optional | number | Maximum file size in KB. |
|
|
40
49
|
| validation.valueRequired | optional | boolean | Set when the item value is mandatory. |
|
|
41
50
|
| source.formRegion | conditional | alias | Required for form-bound upload items. |
|
|
42
51
|
| source.column | conditional | string | Primary file payload column. |
|
|
43
52
|
| source.dataType | conditional | enum | Data type for the stored payload, typically BLOB. |
|
|
44
|
-
| source.mimeTypeColumn | optional | string | Column storing the MIME type. |
|
|
45
|
-
| source.filenameColumn | optional | string | Column storing the uploaded file name. |
|
|
46
|
-
| source.characterSetColumn | optional | string | Column storing the character set when applicable. |
|
|
47
|
-
| source.blobLastUpdatedColumn | optional | string | Column storing the last-updated timestamp. |
|
|
48
53
|
| help.helpText | required by default | string | Builder help text or assistive guidance for visible user-facing file-upload items; omit only for hidden items or a documented exemption. |
|
|
49
54
|
| security.sessionStateProtection | optional | enum | Session state protection policy. |
|
|
50
55
|
| security.authorizationScheme | optional | alias | Authorization scheme alias when the item is conditionally visible. |
|
|
@@ -69,20 +74,20 @@ pageItem {{itemName}} (
|
|
|
69
74
|
appearance {
|
|
70
75
|
template: {{appearance.template}}
|
|
71
76
|
templateOptions: {{appearance.templateOptions}}
|
|
77
|
+
icon: {{appearance.icon}}
|
|
72
78
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
captureUsing: {{settings.captureUsing}}
|
|
79
|
+
display {
|
|
80
|
+
displayAs: {{display.displayAs}}
|
|
81
|
+
dropzoneTitle: {{display.dropzoneTitle}}
|
|
82
|
+
dropzoneDesc: {{display.dropzoneDesc}}
|
|
83
|
+
allowCopyPaste: {{display.allowCopyPaste}}
|
|
84
|
+
captureUsing: {{display.captureUsing}}
|
|
85
|
+
}
|
|
86
|
+
storage {
|
|
87
|
+
type: {{storage.type}}
|
|
88
|
+
allowMultipleFiles: {{storage.allowMultipleFiles}}
|
|
89
|
+
fileTypes: {{storage.fileTypes}}
|
|
90
|
+
maxFileSize: {{storage.maxFileSize}}
|
|
86
91
|
}
|
|
87
92
|
validation {
|
|
88
93
|
valueRequired: {{validation.valueRequired}}
|
|
@@ -91,10 +96,6 @@ pageItem {{itemName}} (
|
|
|
91
96
|
formRegion: @{{source.formRegion}}
|
|
92
97
|
column: {{source.column}}
|
|
93
98
|
dataType: {{source.dataType}}
|
|
94
|
-
mimeTypeColumn: {{source.mimeTypeColumn}}
|
|
95
|
-
filenameColumn: {{source.filenameColumn}}
|
|
96
|
-
characterSetColumn: {{source.characterSetColumn}}
|
|
97
|
-
blobLastUpdatedColumn: {{source.blobLastUpdatedColumn}}
|
|
98
99
|
}
|
|
99
100
|
help {
|
|
100
101
|
helpText: {{help.helpText}}
|
|
@@ -113,7 +114,11 @@ pageItem {{itemName}} (
|
|
|
113
114
|
- Remove unsupported or unused blocks before finalizing the DSL.
|
|
114
115
|
- Omit `source {}` when the item is not bound to persisted data or a form region.
|
|
115
116
|
- Emit `validation {}` only when the scenario requires declarative checks.
|
|
116
|
-
-
|
|
117
|
+
- Always emit a grouped `display {}` block with an explicit `displayAs` value.
|
|
118
|
+
- Use `displayAs: blockDropzone` when the user does not request `inlineDropzone` or `nativeFileBrowse`.
|
|
119
|
+
- For dropzone modes, provide `dropzoneTitle` and `dropzoneDesc` when user-specific copy is available; otherwise emit `Drop files here` and `or click to browse`.
|
|
120
|
+
- Keep `storage.fileTypes` as one free-form comma-delimited text scalar, for example `image/png,video/*`.
|
|
121
|
+
- Keep `storage.maxFileSize` as a positive integer number of KB.
|
|
117
122
|
|
|
118
123
|
---
|
|
119
124
|
|
|
@@ -122,4 +127,5 @@ pageItem {{itemName}} (
|
|
|
122
127
|
- Follow guardrails in `references/policies/memory-bank/00-guard/ai.guard.md`.
|
|
123
128
|
- Do not invent unsupported attributes or UT classes.
|
|
124
129
|
- Keep placeholder names aligned with `templates/items/items._common.md`.
|
|
125
|
-
- Validate the storage strategy
|
|
130
|
+
- Validate the storage strategy before finalizing upload items.
|
|
131
|
+
- Do not reintroduce legacy flat `settings.storageType`, `settings.displayAs`, or related file-upload settings.
|
|
@@ -57,6 +57,11 @@ pageItem {{itemName}} (
|
|
|
57
57
|
template: {{appearance.template}}
|
|
58
58
|
templateOptions: {{appearance.templateOptions}}
|
|
59
59
|
}
|
|
60
|
+
display {
|
|
61
|
+
displayAs: blockDropzone
|
|
62
|
+
dropzoneTitle: Drop files here
|
|
63
|
+
dropzoneDesc: or click to browse
|
|
64
|
+
}
|
|
60
65
|
security {
|
|
61
66
|
sessionStateProtection: {{security.sessionStateProtection}}
|
|
62
67
|
}
|
|
@@ -69,6 +74,7 @@ pageItem {{itemName}} (
|
|
|
69
74
|
|
|
70
75
|
- Use `appearance.templateOptions` only when the requested control needs compact or condensed rendering.
|
|
71
76
|
- Keep the rest of the item aligned with the inherited family contract.
|
|
77
|
+
- Keep the explicit `blockDropzone` display block unless the user requests another supported upload mode.
|
|
72
78
|
|
|
73
79
|
---
|
|
74
80
|
|
|
@@ -35,10 +35,14 @@ Inherits the full family contract from `file-upload._common.md`. Base family req
|
|
|
35
35
|
- `layout.slot`
|
|
36
36
|
- `layout.alignment`
|
|
37
37
|
- `appearance.templateOptions`
|
|
38
|
+
- `appearance.icon`
|
|
38
39
|
- `security.sessionStateProtection`
|
|
39
|
-
- `
|
|
40
|
-
- `
|
|
41
|
-
- `
|
|
40
|
+
- `display.allowCopyPaste`
|
|
41
|
+
- `display.captureUsing`
|
|
42
|
+
- `storage.type`
|
|
43
|
+
- `storage.allowMultipleFiles`
|
|
44
|
+
- `storage.fileTypes`
|
|
45
|
+
- `storage.maxFileSize`
|
|
42
46
|
|
|
43
47
|
---
|
|
44
48
|
|
|
@@ -60,11 +64,20 @@ pageItem {{itemName}} (
|
|
|
60
64
|
appearance {
|
|
61
65
|
template: {{appearance.template}}
|
|
62
66
|
templateOptions: {{appearance.templateOptions}}
|
|
67
|
+
icon: {{appearance.icon}}
|
|
63
68
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
display {
|
|
70
|
+
displayAs: blockDropzone
|
|
71
|
+
dropzoneTitle: Drop files here
|
|
72
|
+
dropzoneDesc: or click to browse
|
|
73
|
+
allowCopyPaste: {{display.allowCopyPaste}}
|
|
74
|
+
captureUsing: {{display.captureUsing}}
|
|
75
|
+
}
|
|
76
|
+
storage {
|
|
77
|
+
type: {{storage.type}}
|
|
78
|
+
allowMultipleFiles: {{storage.allowMultipleFiles}}
|
|
79
|
+
fileTypes: {{storage.fileTypes}}
|
|
80
|
+
maxFileSize: {{storage.maxFileSize}}
|
|
68
81
|
}
|
|
69
82
|
security {
|
|
70
83
|
sessionStateProtection: {{security.sessionStateProtection}}
|
|
@@ -77,7 +90,9 @@ pageItem {{itemName}} (
|
|
|
77
90
|
# Conditional Rendering Rules
|
|
78
91
|
|
|
79
92
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
80
|
-
-
|
|
93
|
+
- Always emit the `display {}` block. Keep its explicit `blockDropzone` defaults unless the user requests another supported mode or custom dropzone copy.
|
|
94
|
+
- Emit `storage {}` only when the generator needs those file-upload plugin attributes visible in the final output.
|
|
95
|
+
- Keep `storage.fileTypes` as one free-form comma-delimited text scalar and `storage.maxFileSize` as a positive integer number of KB.
|
|
81
96
|
|
|
82
97
|
---
|
|
83
98
|
|
|
@@ -51,6 +51,11 @@ pageItem {{itemName}} (
|
|
|
51
51
|
appearance {
|
|
52
52
|
template: {{appearance.template}}
|
|
53
53
|
}
|
|
54
|
+
display {
|
|
55
|
+
displayAs: blockDropzone
|
|
56
|
+
dropzoneTitle: Drop files here
|
|
57
|
+
dropzoneDesc: or click to browse
|
|
58
|
+
}
|
|
54
59
|
security {
|
|
55
60
|
sessionStateProtection: {{security.sessionStateProtection}}
|
|
56
61
|
}
|
|
@@ -62,6 +67,7 @@ pageItem {{itemName}} (
|
|
|
62
67
|
# Conditional Rendering Rules
|
|
63
68
|
|
|
64
69
|
- Keep the item block minimal and rely on the inherited family contract for anything not shown here.
|
|
70
|
+
- Keep the explicit `blockDropzone` display block unless the user requests another supported upload mode.
|
|
65
71
|
- Remove optional blocks that are not populated by the final prompt.
|
|
66
72
|
|
|
67
73
|
---
|
|
@@ -81,7 +81,7 @@ pageItem {{itemName}} (
|
|
|
81
81
|
- If a hidden item appears in dynamic-action `itemsToReturn` or as a `setValue` target, treat that as a hard signal that the item is client-owned post-render state rather than protected hidden data.
|
|
82
82
|
- Remove unsupported or unused blocks before finalizing the DSL.
|
|
83
83
|
- Omit `source {}` when the item is not bound to persisted data or a form region.
|
|
84
|
-
-
|
|
84
|
+
- Emit native hidden-item `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
85
85
|
|
|
86
86
|
---
|
|
87
87
|
|
|
@@ -64,7 +64,7 @@ pageItem {{itemName}} (
|
|
|
64
64
|
# Conditional Rendering Rules
|
|
65
65
|
|
|
66
66
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
67
|
-
-
|
|
67
|
+
- Emit native hidden-item `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
@@ -31,7 +31,7 @@ Define the shared variable contract, guardrails, and base `pageItem` skeleton us
|
|
|
31
31
|
| type | yes | enum | Family-specific item type token such as `textField`, `selectList`, or `displayOnly`. |
|
|
32
32
|
| label.* | conditional | variant | Label attributes when the family supports visible labels. |
|
|
33
33
|
| layout.* | yes | variant | Placement attributes such as `region`, `sequence`, `slot`, and alignment. When `layout.region` is present, `layout.slot` should usually be the host region slot such as `regionBody`, not a page-level slot like `body`. `layout.labelColumnSpan` is an optional deliberate override when label-grid width must be controlled explicitly. |
|
|
34
|
-
| appearance.* | conditional | variant | Template, template options, size hints, placeholder text, and format masks when supported. |
|
|
34
|
+
| appearance.* | conditional | variant | Template, template options, icon, size hints, placeholder text, and format masks when supported. |
|
|
35
35
|
| lov.* | conditional | variant | LOV source attributes for LOV-based item families. |
|
|
36
36
|
| settings.* | optional | variant | Family-specific settings emitted by the routed family template. |
|
|
37
37
|
| validation.* | optional | variant | Declarative validation attributes supported by the selected family. |
|
|
@@ -60,6 +60,7 @@ pageItem {{itemName}} (
|
|
|
60
60
|
appearance {
|
|
61
61
|
template: {{appearance.template}}
|
|
62
62
|
templateOptions: {{appearance.templateOptions}}
|
|
63
|
+
icon: {{appearance.icon}}
|
|
63
64
|
width: {{appearance.width}}
|
|
64
65
|
height: {{appearance.height}}
|
|
65
66
|
valuePlaceholder: {{appearance.valuePlaceholder}}
|
|
@@ -115,7 +116,7 @@ pageItem {{itemName}} (
|
|
|
115
116
|
order by ...
|
|
116
117
|
```
|
|
117
118
|
- Emit `source {}` only for form-bound or persisted items.
|
|
118
|
-
- Keep `settings {}` reserved for family-specific attributes exposed by the routed family template.
|
|
119
|
+
- Keep `settings {}` reserved for family-specific attributes exposed by the routed family template and backed by compiler/export evidence.
|
|
119
120
|
- When `layout.region` is present, use the host region slot rather than a page-level slot. The default for items rendered inside a standard host region is usually `regionBody`, not `body` or `BODY`.
|
|
120
121
|
- Only apply validation.maxLength to text fields
|
|
121
122
|
- Emit `help { helpText: ... }` by default for visible editable, filter/control, and other user-facing items unless the item is hidden or a documented exemption applies.
|
|
@@ -75,7 +75,7 @@ pageItem {{itemName}} (
|
|
|
75
75
|
# Conditional Rendering Rules
|
|
76
76
|
|
|
77
77
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
78
|
-
-
|
|
78
|
+
- Emit native list-manager `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
@@ -95,7 +95,7 @@ pageItem {{itemName}} (
|
|
|
95
95
|
- Remove unsupported or unused blocks before finalizing the DSL.
|
|
96
96
|
- Omit `source {}` when the item is not bound to persisted data or a form region.
|
|
97
97
|
- Emit `validation {}` only when the scenario requires declarative checks.
|
|
98
|
-
-
|
|
98
|
+
- Emit native markdown-editor `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
99
99
|
|
|
100
100
|
---
|
|
101
101
|
|
package/skills/apexlang/templates/items/markdown-editor/markdown-editor.explicit-defaults.md
CHANGED
|
@@ -75,7 +75,7 @@ pageItem {{itemName}} (
|
|
|
75
75
|
# Conditional Rendering Rules
|
|
76
76
|
|
|
77
77
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
78
|
-
-
|
|
78
|
+
- Emit native markdown-editor `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
@@ -39,10 +39,12 @@ Define the canonical contract, conditional rules, and output skeleton for `numbe
|
|
|
39
39
|
| appearance.width | optional | number | Width or character width when the family supports it. |
|
|
40
40
|
| appearance.valuePlaceholder | optional | string | Placeholder or helper text shown before a value is entered. |
|
|
41
41
|
| appearance.formatMask | optional | string | Format mask used when the family supports formatted input or display. |
|
|
42
|
-
|
|
|
42
|
+
| appearance.icon | optional | string | Font APEX icon class such as `fa-american-sign-language-interpreting` when an icon is intentionally shown. |
|
|
43
|
+
| settings.minValue | optional | number | Minimum accepted value when compiler/export evidence proves number-field settings are available. |
|
|
44
|
+
| settings.maxValue | optional | number | Maximum accepted value when compiler/export evidence proves number-field settings are available. |
|
|
45
|
+
| settings.numberAlignment | optional | enum | Text alignment for numeric values, for example `start`, `end`, or `left` as accepted by the active compiler/export evidence. |
|
|
46
|
+
| settings.virtualKeyboard | optional | boolean | Controls numeric virtual keyboard behavior when compiler/export evidence proves the setting is available. |
|
|
43
47
|
| validation.valueRequired | optional | boolean | Set when the item value is mandatory. |
|
|
44
|
-
| validation.minimumValue | optional | number | Minimum numeric value when the scenario enforces it. |
|
|
45
|
-
| validation.maximumValue | optional | number | Maximum numeric value when the scenario enforces it. |
|
|
46
48
|
| source.formRegion | conditional | alias | Required for form-bound items. |
|
|
47
49
|
| source.column | conditional | string | Target column for form-bound items. |
|
|
48
50
|
| source.dataType | conditional | enum | Data type for DML binding. |
|
|
@@ -70,6 +72,7 @@ pageItem {{itemName}} (
|
|
|
70
72
|
appearance {
|
|
71
73
|
template: {{appearance.template}}
|
|
72
74
|
templateOptions: {{appearance.templateOptions}}
|
|
75
|
+
icon: {{appearance.icon}}
|
|
73
76
|
width: {{appearance.width}}
|
|
74
77
|
valuePlaceholder: {{appearance.valuePlaceholder}}
|
|
75
78
|
formatMask: {{appearance.formatMask}}
|
|
@@ -82,8 +85,6 @@ pageItem {{itemName}} (
|
|
|
82
85
|
}
|
|
83
86
|
validation {
|
|
84
87
|
valueRequired: {{validation.valueRequired}}
|
|
85
|
-
minimumValue: {{validation.minimumValue}}
|
|
86
|
-
maximumValue: {{validation.maximumValue}}
|
|
87
88
|
}
|
|
88
89
|
source {
|
|
89
90
|
formRegion: @{{source.formRegion}}
|
|
@@ -108,7 +109,8 @@ pageItem {{itemName}} (
|
|
|
108
109
|
- Omit `source {}` when the item is not bound to persisted data or a form region.
|
|
109
110
|
- Emit `validation {}` only when the scenario requires declarative checks.
|
|
110
111
|
- Keep width, placeholder, and format-mask attributes absent unless the scenario explicitly asks for them.
|
|
111
|
-
-
|
|
112
|
+
- Emit native number-field `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
113
|
+
- Do not emit `validation.minimumValue` or `validation.maximumValue`; current item validation supports `valueRequired` and `maxLength`.
|
|
112
114
|
|
|
113
115
|
---
|
|
114
116
|
|
|
@@ -35,10 +35,15 @@ Inherits the full family contract from `number-field._common.md`. Base family re
|
|
|
35
35
|
- `layout.slot`
|
|
36
36
|
- `layout.alignment`
|
|
37
37
|
- `appearance.templateOptions`
|
|
38
|
-
- `
|
|
38
|
+
- `appearance.icon`
|
|
39
|
+
- `appearance.formatMask`
|
|
40
|
+
- `appearance.width`
|
|
41
|
+
- `appearance.valuePlaceholder`
|
|
39
42
|
- `settings.minValue`
|
|
40
43
|
- `settings.maxValue`
|
|
41
44
|
- `settings.numberAlignment`
|
|
45
|
+
- `settings.virtualKeyboard`
|
|
46
|
+
- `security.sessionStateProtection`
|
|
42
47
|
|
|
43
48
|
---
|
|
44
49
|
|
|
@@ -60,11 +65,16 @@ pageItem {{itemName}} (
|
|
|
60
65
|
appearance {
|
|
61
66
|
template: {{appearance.template}}
|
|
62
67
|
templateOptions: {{appearance.templateOptions}}
|
|
68
|
+
icon: {{appearance.icon}}
|
|
69
|
+
formatMask: {{appearance.formatMask}}
|
|
70
|
+
width: {{appearance.width}}
|
|
71
|
+
valuePlaceholder: {{appearance.valuePlaceholder}}
|
|
63
72
|
}
|
|
64
73
|
settings {
|
|
65
74
|
minValue: {{settings.minValue}}
|
|
66
75
|
maxValue: {{settings.maxValue}}
|
|
67
76
|
numberAlignment: {{settings.numberAlignment}}
|
|
77
|
+
virtualKeyboard: {{settings.virtualKeyboard}}
|
|
68
78
|
}
|
|
69
79
|
security {
|
|
70
80
|
sessionStateProtection: {{security.sessionStateProtection}}
|
|
@@ -77,7 +87,7 @@ pageItem {{itemName}} (
|
|
|
77
87
|
# Conditional Rendering Rules
|
|
78
88
|
|
|
79
89
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
80
|
-
-
|
|
90
|
+
- Emit native number-field `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
81
91
|
|
|
82
92
|
---
|
|
83
93
|
|
|
@@ -77,7 +77,7 @@ pageItem {{itemName}} (
|
|
|
77
77
|
# Conditional Rendering Rules
|
|
78
78
|
|
|
79
79
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
80
|
-
-
|
|
80
|
+
- Emit native popup LOV `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
81
81
|
|
|
82
82
|
---
|
|
83
83
|
|
|
@@ -100,7 +100,7 @@ pageItem {{itemName}} (
|
|
|
100
100
|
- Remove unsupported or unused blocks before finalizing the DSL.
|
|
101
101
|
- Omit `source {}` when the item is not bound to persisted data or a form region.
|
|
102
102
|
- Emit `validation {}` only when the scenario requires declarative checks.
|
|
103
|
-
-
|
|
103
|
+
- Emit native rich-text-editor `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
104
104
|
|
|
105
105
|
---
|
|
106
106
|
|
package/skills/apexlang/templates/items/rich-text-editor/rich-text-editor.explicit-defaults.md
CHANGED
|
@@ -77,7 +77,7 @@ pageItem {{itemName}} (
|
|
|
77
77
|
# Conditional Rendering Rules
|
|
78
78
|
|
|
79
79
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
80
|
-
-
|
|
80
|
+
- Emit native rich-text-editor `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
81
81
|
|
|
82
82
|
---
|
|
83
83
|
|
|
@@ -138,7 +138,7 @@ pageItem {{itemName}} (
|
|
|
138
138
|
# Conditional Rendering Rules
|
|
139
139
|
|
|
140
140
|
- Choose one LOV source per item and remove the unused LOV attributes.
|
|
141
|
-
-
|
|
141
|
+
- Emit native select-many display settings only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
142
142
|
|
|
143
143
|
---
|
|
144
144
|
|
|
@@ -73,7 +73,7 @@ pageItem {{itemName}} (
|
|
|
73
73
|
# Conditional Rendering Rules
|
|
74
74
|
|
|
75
75
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
76
|
-
-
|
|
76
|
+
- Emit native shuttle `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
77
77
|
|
|
78
78
|
---
|
|
79
79
|
|
|
@@ -67,12 +67,12 @@ pageItem {{itemName}} (
|
|
|
67
67
|
templateOptions: {{appearance.templateOptions}}
|
|
68
68
|
}
|
|
69
69
|
settings {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
useDefaults: {{settings.useDefaults}}
|
|
71
|
+
onValue: {{settings.onValue}}
|
|
72
|
+
onLabel: {{settings.onLabel}}
|
|
73
|
+
offValue: {{settings.offValue}}
|
|
74
|
+
offLabel: {{settings.offLabel}}
|
|
75
|
+
}
|
|
76
76
|
validation {
|
|
77
77
|
valueRequired: {{validation.valueRequired}}
|
|
78
78
|
}
|
|
@@ -98,8 +98,8 @@ pageItem {{itemName}} (
|
|
|
98
98
|
- Remove unsupported or unused blocks before finalizing the DSL.
|
|
99
99
|
- Omit `source {}` when the item is not bound to persisted data or a form region.
|
|
100
100
|
- Emit `validation {}` only when the scenario requires declarative checks.
|
|
101
|
-
-
|
|
102
|
-
- Use `useDefaults:false`
|
|
101
|
+
- Emit native switch `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
102
|
+
- Use `useDefaults: false` when custom on/off values or labels are intentionally emitted and backed by compiler/export evidence.
|
|
103
103
|
|
|
104
104
|
---
|
|
105
105
|
|
|
@@ -77,7 +77,7 @@ pageItem {{itemName}} (
|
|
|
77
77
|
# Conditional Rendering Rules
|
|
78
78
|
|
|
79
79
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
80
|
-
-
|
|
80
|
+
- Emit native switch `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
81
81
|
|
|
82
82
|
---
|
|
83
83
|
|
|
@@ -40,7 +40,6 @@ Define the canonical contract, conditional rules, and output skeleton for `text-
|
|
|
40
40
|
| appearance.valuePlaceholder | optional | string | Placeholder or helper text shown before a value is entered. |
|
|
41
41
|
| settings.* | optional | variant | Normalized family settings such as `resizable`, `autoHeight`, `characterCounter`, and `trimSpaces`. |
|
|
42
42
|
| validation.valueRequired | optional | boolean | Set when the item value is mandatory. |
|
|
43
|
-
| validation.minLength | optional | number | Minimum character length when the scenario enforces it. |
|
|
44
43
|
| validation.maxLength | optional | number | Maximum character length when the scenario enforces it. |
|
|
45
44
|
| source.formRegion | conditional | alias | Required for form-bound items. |
|
|
46
45
|
| source.column | conditional | string | Target column for form-bound items. |
|
|
@@ -80,7 +79,6 @@ pageItem {{itemName}} (
|
|
|
80
79
|
}
|
|
81
80
|
validation {
|
|
82
81
|
valueRequired: {{validation.valueRequired}}
|
|
83
|
-
minLength: {{validation.minLength}}
|
|
84
82
|
maxLength: {{validation.maxLength}}
|
|
85
83
|
}
|
|
86
84
|
source {
|
|
@@ -107,7 +105,8 @@ pageItem {{itemName}} (
|
|
|
107
105
|
- Emit `validation {}` only when the scenario requires declarative checks.
|
|
108
106
|
- For form-bound textual columns, `validation.maxLength` should match the bound column length exactly.
|
|
109
107
|
- Keep width, placeholder, and format-mask attributes absent unless the scenario explicitly asks for them.
|
|
110
|
-
-
|
|
108
|
+
- Emit native text-area `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
109
|
+
- Do not emit `validation.minLength`; current item validation supports `valueRequired` and `maxLength`.
|
|
111
110
|
|
|
112
111
|
---
|
|
113
112
|
|
|
@@ -77,7 +77,7 @@ pageItem {{itemName}} (
|
|
|
77
77
|
# Conditional Rendering Rules
|
|
78
78
|
|
|
79
79
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
80
|
-
-
|
|
80
|
+
- Emit native text-area `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
81
81
|
|
|
82
82
|
---
|
|
83
83
|
|
|
@@ -32,7 +32,6 @@ Inherits the full family contract from `text-area._common.md`. Base family requi
|
|
|
32
32
|
|
|
33
33
|
## Optional Variables
|
|
34
34
|
|
|
35
|
-
- `validation.minLength`
|
|
36
35
|
- `appearance.templateOptions`
|
|
37
36
|
- `security.sessionStateProtection`
|
|
38
37
|
|
|
@@ -59,7 +58,6 @@ pageItem {{itemName}} (
|
|
|
59
58
|
}
|
|
60
59
|
validation {
|
|
61
60
|
valueRequired: {{validation.valueRequired}}
|
|
62
|
-
minLength: {{validation.minLength}}
|
|
63
61
|
maxLength: {{validation.maxLength}}
|
|
64
62
|
}
|
|
65
63
|
security {
|
|
@@ -73,7 +71,7 @@ pageItem {{itemName}} (
|
|
|
73
71
|
# Conditional Rendering Rules
|
|
74
72
|
|
|
75
73
|
- Use this overlay only for textual families where declarative length checks are relevant.
|
|
76
|
-
- Keep validation limited to the
|
|
74
|
+
- Keep validation limited to `valueRequired` and `maxLength` under the current grammar.
|
|
77
75
|
|
|
78
76
|
---
|
|
79
77
|
|
package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.explicit-defaults.md
CHANGED
|
@@ -85,7 +85,7 @@ pageItem {{itemName}} (
|
|
|
85
85
|
# Conditional Rendering Rules
|
|
86
86
|
|
|
87
87
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
88
|
-
-
|
|
88
|
+
- Emit native text-autocomplete `settings {}` or `search {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
package/skills/apexlang/templates/items/text-autocomplete/text-autocomplete.required-length.md
CHANGED
|
@@ -32,7 +32,6 @@ Inherits the full family contract from `text-autocomplete._common.md`. Base fami
|
|
|
32
32
|
|
|
33
33
|
## Optional Variables
|
|
34
34
|
|
|
35
|
-
- `validation.minLength`
|
|
36
35
|
- `appearance.templateOptions`
|
|
37
36
|
- `security.sessionStateProtection`
|
|
38
37
|
|
|
@@ -59,7 +58,6 @@ pageItem {{itemName}} (
|
|
|
59
58
|
}
|
|
60
59
|
validation {
|
|
61
60
|
valueRequired: {{validation.valueRequired}}
|
|
62
|
-
minLength: {{validation.minLength}}
|
|
63
61
|
maxLength: {{validation.maxLength}}
|
|
64
62
|
}
|
|
65
63
|
security {
|
|
@@ -73,7 +71,7 @@ pageItem {{itemName}} (
|
|
|
73
71
|
# Conditional Rendering Rules
|
|
74
72
|
|
|
75
73
|
- Use this overlay only for textual families where declarative length checks are relevant.
|
|
76
|
-
- Keep validation limited to the
|
|
74
|
+
- Keep validation limited to `valueRequired` and `maxLength` under the current grammar.
|
|
77
75
|
|
|
78
76
|
---
|
|
79
77
|
|
|
@@ -40,7 +40,6 @@ Define the canonical contract, conditional rules, and output skeleton for `text-
|
|
|
40
40
|
| appearance.valuePlaceholder | optional | string | Placeholder or helper text shown before a value is entered. |
|
|
41
41
|
| settings.* | optional | variant | Normalized family settings such as `submitWhenEnterPressed`, `disabled`, `sendOnPageSubmit`, `subtype`, `trimSpaces`, and `textCase`. |
|
|
42
42
|
| validation.valueRequired | optional | boolean | Set when the item value is mandatory. |
|
|
43
|
-
| validation.minLength | optional | number | Minimum character length when the scenario enforces it. |
|
|
44
43
|
| validation.maxLength | optional | number | Maximum character length when the scenario enforces it. |
|
|
45
44
|
| source.formRegion | conditional | alias | Required for form-bound items. |
|
|
46
45
|
| source.column | conditional | string | Target column for form-bound items. |
|
|
@@ -82,7 +81,6 @@ pageItem {{itemName}} (
|
|
|
82
81
|
}
|
|
83
82
|
validation {
|
|
84
83
|
valueRequired: {{validation.valueRequired}}
|
|
85
|
-
minLength: {{validation.minLength}}
|
|
86
84
|
maxLength: {{validation.maxLength}}
|
|
87
85
|
}
|
|
88
86
|
source {
|
|
@@ -109,7 +107,8 @@ pageItem {{itemName}} (
|
|
|
109
107
|
- Emit `validation {}` only when the scenario requires declarative checks.
|
|
110
108
|
- For form-bound textual columns, `validation.maxLength` is not optional in practice: set it to the bound column length exactly.
|
|
111
109
|
- Keep width, placeholder, and format-mask attributes absent unless the scenario explicitly asks for them.
|
|
112
|
-
-
|
|
110
|
+
- Emit native text-field `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
111
|
+
- Do not emit `validation.minLength`; current item validation supports `valueRequired` and `maxLength`.
|
|
113
112
|
|
|
114
113
|
---
|
|
115
114
|
|
|
@@ -77,7 +77,7 @@ pageItem {{itemName}} (
|
|
|
77
77
|
# Conditional Rendering Rules
|
|
78
78
|
|
|
79
79
|
- Show optional defaults only when the generator needs them visible in the final output.
|
|
80
|
-
-
|
|
80
|
+
- Emit native text-field `settings {}` properties only when compiler/export evidence proves the specific plugin attributes; absence from the generic page-item grammar is not a rejection.
|
|
81
81
|
|
|
82
82
|
---
|
|
83
83
|
|