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
|
@@ -21,19 +21,19 @@ Document the region-level background path where `tileLayerType` uses the built-i
|
|
|
21
21
|
- `name`
|
|
22
22
|
- `layout.sequence`
|
|
23
23
|
- `layout.slot`
|
|
24
|
-
- `
|
|
25
|
-
- `
|
|
24
|
+
- `map.background` (use `builtIn`)
|
|
25
|
+
- `map.standard`
|
|
26
26
|
|
|
27
27
|
## Optional Variables
|
|
28
28
|
|
|
29
|
-
- `
|
|
29
|
+
- `map.darkMode`
|
|
30
30
|
- `map.height`
|
|
31
|
-
- `
|
|
32
|
-
- `navigationBarPosition`
|
|
33
|
-
- `
|
|
34
|
-
- `
|
|
35
|
-
- `
|
|
36
|
-
- `lazyLoading`
|
|
31
|
+
- `controls.navigationBar`
|
|
32
|
+
- `controls.navigationBarPosition`
|
|
33
|
+
- `controls.options`
|
|
34
|
+
- `legend.show`
|
|
35
|
+
- `legend.position`
|
|
36
|
+
- `performance.lazyLoading`
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
@@ -44,21 +44,27 @@ region {{regionStaticId}} (
|
|
|
44
44
|
name: {{name}}
|
|
45
45
|
type: map
|
|
46
46
|
map {
|
|
47
|
+
background: builtIn
|
|
48
|
+
standard: {{map.standard}}
|
|
49
|
+
darkMode: {{map.darkMode}}
|
|
47
50
|
height: {{map.height}}
|
|
48
51
|
}
|
|
49
52
|
layout {
|
|
50
53
|
sequence: {{layout.sequence}}
|
|
51
54
|
slot: {{layout.slot}}
|
|
52
55
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
controls {
|
|
57
|
+
navigationBar: {{controls.navigationBar}}
|
|
58
|
+
navigationBarPosition: {{controls.navigationBarPosition}}
|
|
59
|
+
options: {{controls.options}}
|
|
60
|
+
}
|
|
61
|
+
legend {
|
|
62
|
+
show: {{legend.show}}
|
|
63
|
+
position: {{legend.position}}
|
|
64
|
+
}
|
|
65
|
+
performance {
|
|
66
|
+
lazyLoading: {{performance.lazyLoading}}
|
|
67
|
+
}
|
|
62
68
|
)
|
|
63
69
|
```
|
|
64
70
|
|
|
@@ -66,6 +72,6 @@ region {{regionStaticId}} (
|
|
|
66
72
|
|
|
67
73
|
# Guardrails
|
|
68
74
|
|
|
69
|
-
- `
|
|
75
|
+
- `map.background: builtIn` selects built-in standard and dark-mode background names, not shared `mapBackground` components.
|
|
70
76
|
- The app/plugin attribute `useVectorTileLayers` still separately controls whether supported built-in backgrounds use vector tile layers behind the scenes.
|
|
71
77
|
- Load `map.backgrounds.md` only when the request uses shared backgrounds instead of built-in background names.
|
|
@@ -22,16 +22,16 @@ Document the region-level background path where `tileLayerType` uses shared `map
|
|
|
22
22
|
- `name`
|
|
23
23
|
- `layout.sequence`
|
|
24
24
|
- `layout.slot`
|
|
25
|
-
- `
|
|
26
|
-
- `
|
|
25
|
+
- `map.background` (use `sharedComponent`)
|
|
26
|
+
- `map.standard`
|
|
27
27
|
|
|
28
28
|
## Optional Variables
|
|
29
29
|
|
|
30
|
-
- `
|
|
30
|
+
- `map.darkMode`
|
|
31
31
|
- `map.height`
|
|
32
|
-
- `
|
|
33
|
-
- `
|
|
34
|
-
- `lazyLoading`
|
|
32
|
+
- `controls.options`
|
|
33
|
+
- `legend.show`
|
|
34
|
+
- `performance.lazyLoading`
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
@@ -42,18 +42,24 @@ region {{regionStaticId}} (
|
|
|
42
42
|
name: {{name}}
|
|
43
43
|
type: map
|
|
44
44
|
map {
|
|
45
|
+
background: sharedComponent
|
|
46
|
+
standard: @{{map.standard}}
|
|
47
|
+
darkMode: @{{map.darkMode}}
|
|
45
48
|
height: {{map.height}}
|
|
46
49
|
}
|
|
47
50
|
layout {
|
|
48
51
|
sequence: {{layout.sequence}}
|
|
49
52
|
slot: {{layout.slot}}
|
|
50
53
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
controls {
|
|
55
|
+
options: {{controls.options}}
|
|
56
|
+
}
|
|
57
|
+
legend {
|
|
58
|
+
show: {{legend.show}}
|
|
59
|
+
}
|
|
60
|
+
performance {
|
|
61
|
+
lazyLoading: {{performance.lazyLoading}}
|
|
62
|
+
}
|
|
57
63
|
)
|
|
58
64
|
```
|
|
59
65
|
|
|
@@ -61,6 +67,6 @@ region {{regionStaticId}} (
|
|
|
61
67
|
|
|
62
68
|
# Guardrails
|
|
63
69
|
|
|
64
|
-
- `
|
|
70
|
+
- `map.standard` and `map.darkMode` must reference existing `mapBackground` shared components.
|
|
65
71
|
- Use `map.backgrounds.md` for API-key, WMS, raster, and vector background-specific guidance.
|
|
66
72
|
- Shared backgrounds are the correct path when the request needs custom hosted tiles or shared reuse across multiple regions.
|
|
@@ -27,12 +27,12 @@ Document SQL-derived bounding-box authoring for map regions.
|
|
|
27
27
|
|
|
28
28
|
## Optional Variables
|
|
29
29
|
|
|
30
|
-
- `boundingBox.
|
|
31
|
-
- `boundingBox.
|
|
32
|
-
- `boundingBox.
|
|
33
|
-
- `boundingBox.
|
|
34
|
-
- `boundingBox.
|
|
35
|
-
- `
|
|
30
|
+
- `boundingBox.geometryColumn`
|
|
31
|
+
- `boundingBox.minLongitude`
|
|
32
|
+
- `boundingBox.minLatitude`
|
|
33
|
+
- `boundingBox.maxLongitude`
|
|
34
|
+
- `boundingBox.maxLatitude`
|
|
35
|
+
- `boundingBox.currentBoundsItem`
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
@@ -53,13 +53,13 @@ region {{regionStaticId}} (
|
|
|
53
53
|
{{boundingBox.sqlQuery}}
|
|
54
54
|
```
|
|
55
55
|
geometryColumnDataType: {{boundingBox.geometryColumnDataType}}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
geometryColumn: {{boundingBox.geometryColumn}}
|
|
57
|
+
minLongitude: {{boundingBox.minLongitude}}
|
|
58
|
+
minLatitude: {{boundingBox.minLatitude}}
|
|
59
|
+
maxLongitude: {{boundingBox.maxLongitude}}
|
|
60
|
+
maxLatitude: {{boundingBox.maxLatitude}}
|
|
61
|
+
currentBoundsItem: {{boundingBox.currentBoundsItem}}
|
|
61
62
|
}
|
|
62
|
-
mapStatusItem: {{mapStatusItem}}
|
|
63
63
|
)
|
|
64
64
|
```
|
|
65
65
|
|
|
@@ -67,7 +67,7 @@ region {{regionStaticId}} (
|
|
|
67
67
|
|
|
68
68
|
# Guardrails
|
|
69
69
|
|
|
70
|
-
- `boundingBox.geometryColumnDataType: sdoGeometry` requires `boundingBox.
|
|
70
|
+
- `boundingBox.geometryColumnDataType: sdoGeometry` requires `boundingBox.geometryColumn`.
|
|
71
71
|
- `boundingBox.geometryColumnDataType: longitudeLatitude` requires the min/max longitude and latitude column set.
|
|
72
72
|
- Use bbox metadata only when `mapFeatures` does not include `infiniteMap`.
|
|
73
73
|
- Use this scenario as the default viewport strategy for multi-marker longitude/latitude maps. Source the bounds from the same filtered dataset as the visible layer, for example `min(longitude)`, `min(latitude)`, `max(longitude)`, and `max(latitude)`.
|
|
@@ -29,7 +29,7 @@ Document static bounding-box authoring for map regions.
|
|
|
29
29
|
|
|
30
30
|
## Optional Variables
|
|
31
31
|
|
|
32
|
-
- `
|
|
32
|
+
- `boundingBox.currentBoundsItem`
|
|
33
33
|
- `map.height`
|
|
34
34
|
|
|
35
35
|
---
|
|
@@ -53,8 +53,8 @@ region {{regionStaticId}} (
|
|
|
53
53
|
minLatitude: {{boundingBox.minLatitude}}
|
|
54
54
|
maxLongitude: {{boundingBox.maxLongitude}}
|
|
55
55
|
maxLatitude: {{boundingBox.maxLatitude}}
|
|
56
|
+
currentBoundsItem: {{boundingBox.currentBoundsItem}}
|
|
56
57
|
}
|
|
57
|
-
mapStatusItem: {{mapStatusItem}}
|
|
58
58
|
)
|
|
59
59
|
```
|
|
60
60
|
|
|
@@ -23,13 +23,11 @@ Document browser-location-assisted initial positioning and the associated sessio
|
|
|
23
23
|
- `layout.slot`
|
|
24
24
|
- `controls.options` (must include `browserLocation`)
|
|
25
25
|
- `initialPositionAndZoom.type`
|
|
26
|
-
- `initialPositionAndZoom.
|
|
26
|
+
- `initialPositionAndZoom.getPositionFromBrowser`
|
|
27
27
|
|
|
28
28
|
## Optional Variables
|
|
29
29
|
|
|
30
|
-
- `initialPositionAndZoom.zoomType`
|
|
31
30
|
- `map.height`
|
|
32
|
-
- `mapStatusItem`
|
|
33
31
|
|
|
34
32
|
---
|
|
35
33
|
|
|
@@ -51,10 +49,8 @@ region {{regionStaticId}} (
|
|
|
51
49
|
}
|
|
52
50
|
initialPositionAndZoom {
|
|
53
51
|
type: {{initialPositionAndZoom.type}}
|
|
54
|
-
|
|
55
|
-
fromBrowser: {{initialPositionAndZoom.fromBrowser}}
|
|
52
|
+
getPositionFromBrowser: {{initialPositionAndZoom.getPositionFromBrowser}}
|
|
56
53
|
}
|
|
57
|
-
mapStatusItem: {{mapStatusItem}}
|
|
58
54
|
)
|
|
59
55
|
```
|
|
60
56
|
|
|
@@ -62,5 +58,5 @@ region {{regionStaticId}} (
|
|
|
62
58
|
|
|
63
59
|
# Guardrails
|
|
64
60
|
|
|
65
|
-
- `initialPositionAndZoom.
|
|
61
|
+
- `initialPositionAndZoom.getPositionFromBrowser` is available only when `controls.options` includes browser location support.
|
|
66
62
|
- Browser-derived initial positioning applies only to the first page load in the APEX session; the widget then remembers position across page requests in the same session.
|
|
@@ -26,8 +26,8 @@ Document SQL-driven initial positioning for map regions using the attached `init
|
|
|
26
26
|
|
|
27
27
|
## Optional Variables
|
|
28
28
|
|
|
29
|
-
- `initialPositionAndZoom.
|
|
30
|
-
- `initialPositionAndZoom.
|
|
29
|
+
- `initialPositionAndZoom.geometryColumn`
|
|
30
|
+
- `initialPositionAndZoom.geojsonColumn`
|
|
31
31
|
- `initialPositionAndZoom.initialLongitudeColumn`
|
|
32
32
|
- `initialPositionAndZoom.initialLatitudeColumn`
|
|
33
33
|
- `initialPositionAndZoom.initialZoomlevelColumn`
|
|
@@ -53,10 +53,10 @@ region {{regionStaticId}} (
|
|
|
53
53
|
sqlQuery:
|
|
54
54
|
```sql
|
|
55
55
|
{{initialPositionAndZoom.sqlQuery}}
|
|
56
|
-
|
|
56
|
+
```
|
|
57
57
|
geometryColumnDataType: {{initialPositionAndZoom.geometryColumnDataType}}
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
geometryColumn: {{initialPositionAndZoom.geometryColumn}}
|
|
59
|
+
geojsonColumn: {{initialPositionAndZoom.geojsonColumn}}
|
|
60
60
|
initialLongitudeColumn: {{initialPositionAndZoom.initialLongitudeColumn}}
|
|
61
61
|
initialLatitudeColumn: {{initialPositionAndZoom.initialLatitudeColumn}}
|
|
62
62
|
initialZoomlevelColumn: {{initialPositionAndZoom.initialZoomlevelColumn}}
|
|
@@ -68,8 +68,8 @@ region {{regionStaticId}} (
|
|
|
68
68
|
|
|
69
69
|
# Guardrails
|
|
70
70
|
|
|
71
|
-
- `geometryColumnDataType: sdoGeometry` requires `
|
|
72
|
-
- `geometryColumnDataType: geojson` requires `
|
|
71
|
+
- `geometryColumnDataType: sdoGeometry` requires `geometryColumn`.
|
|
72
|
+
- `geometryColumnDataType: geojson` requires `geojsonColumn`.
|
|
73
73
|
- `geometryColumnDataType: longitudeLatitude` requires `initialLongitudeColumn` and `initialLatitudeColumn`.
|
|
74
74
|
- For `type: sqlQuery`, the SQL select list must expose aliases that exactly match each configured `initial*Column` property.
|
|
75
75
|
- `initialZoomlevelColumn` is optional in SQL mode, but when present the SQL must return that alias explicitly.
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
# Region Display Selector Templates
|
|
2
2
|
|
|
3
3
|
## Purpose
|
|
4
|
-
Canonical guidance for the `
|
|
4
|
+
Canonical guidance for the native `regionDisplaySelector` region family. An RDS has no data source; it controls an explicit set of sibling page regions that opt in through `advanced.regionDisplaySelector: true`.
|
|
5
5
|
|
|
6
6
|
## Usage
|
|
7
7
|
- Load `region-display-selector._common.md` first to align variable contracts, guardrails, and required inputs.
|
|
8
|
-
-
|
|
8
|
+
- Load `region-display-selector.standard.md` for the canonical View Single Region example.
|
|
9
|
+
- Load `region-display-selector.permutations.md` when selecting or testing mode, icon, Show All, or persistence combinations.
|
|
10
|
+
- Follow `references/domains/page-components/regions/region-display-selector/workflow-region-display-selector.md` for controller/target selection and validation rules.
|
|
9
11
|
- Preserve canonical path references and markdown-first conventions when updating workflow or registry links.
|
|
10
12
|
|
|
11
13
|
## Template Catalog
|
|
12
14
|
- `region-display-selector._common.md`
|
|
13
15
|
- `region-display-selector.standard.md`
|
|
16
|
+
- `region-display-selector.permutations.md`
|
|
14
17
|
|
|
15
18
|
## Maintenance
|
|
16
19
|
- Keep this README synchronized with actual files in the directory.
|
|
@@ -5,16 +5,69 @@ version: 1.0
|
|
|
5
5
|
description: Shared contract for region display selector patterns.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
# Attribute Contract
|
|
9
|
+
|
|
10
|
+
The upstream APEX catalog is reference metadata for this family. Its five settings
|
|
11
|
+
are split by scope: four are component-instance settings and `includeSlider` is an
|
|
12
|
+
application setting. The catalog names and defaults are normalized to the
|
|
13
|
+
APEXlang names below.
|
|
14
|
+
|
|
15
|
+
| Catalog scope | Catalog/native setting | APEXlang name | Valid values | Catalog default | Generation-time policy |
|
|
16
|
+
|------|----------|------|------|------|------|
|
|
17
|
+
| Component | `rds_mode` / `mode` | `settings.mode` | `viewSingleRegion`, `scrollWindow` | `viewSingleRegion` | Emit explicitly. |
|
|
18
|
+
| Component | `display_region_icons` | `settings.displayRegionIcons` | `true`, `false` | not declared | Emit explicitly. |
|
|
19
|
+
| Component | `include_show_all` | `settings.includeShowAll` | `true`, `false` | `true` when active | Emit explicitly for `viewSingleRegion`; omit for `scrollWindow`. |
|
|
20
|
+
| Component | `remember_selection` | `settings.rememberSelection` | `byUser`, `bySession`, `false` | `byUser` | Emit explicitly. |
|
|
21
|
+
| Application | `include_slider` | `componentSetting NATIVE_DISPLAY_SELECTOR` → `settings.attributes.includeSlider` | `true`, `false` | `true` | Optional; emit only when explicitly requested. |
|
|
22
|
+
|
|
23
|
+
Catalog defaults describe upstream metadata; they are not permission to omit
|
|
24
|
+
required instance settings during deterministic generation. `includeSlider` is not
|
|
25
|
+
an RDS controller setting and is not required for ordinary RDS page generation.
|
|
26
|
+
|
|
8
27
|
# Variable Contract
|
|
9
28
|
|
|
10
29
|
| Name | Required | Type | Notes |
|
|
11
30
|
|------|----------|------|-------|
|
|
12
|
-
|
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
| settings.
|
|
31
|
+
| controllerRegion | yes | object | Exactly one `type: regionDisplaySelector` region on the page. |
|
|
32
|
+
| controllerRegionHtmlDomId | yes | string | Stable RDS controller DOM identifier emitted as `advanced.htmlDomId`. |
|
|
33
|
+
| controlledRegions | yes | array | At least two explicitly selected sibling page regions. |
|
|
34
|
+
| settings.mode | yes | enum | `viewSingleRegion` or `scrollWindow`. |
|
|
35
|
+
| settings.displayRegionIcons | yes | boolean | When `true`, every controlled region supplies a valid `appearance.icon`. |
|
|
36
|
+
| settings.includeShowAll | conditional | boolean | Required only for `viewSingleRegion`; omit for `scrollWindow`. |
|
|
37
|
+
| settings.rememberSelection | yes | enum | `byUser`, `bySession`, or `false`. |
|
|
38
|
+
| applicationSettings.includeSlider | optional | boolean | Application-scoped setting emitted through `componentSetting NATIVE_DISPLAY_SELECTOR`. |
|
|
39
|
+
|
|
40
|
+
# Repository Implementation and Compiler Constraints
|
|
41
|
+
|
|
42
|
+
The following rules are repository generation/validation constraints. They keep
|
|
43
|
+
membership deterministic and must not be read as additional upstream catalog
|
|
44
|
+
requirements.
|
|
45
|
+
|
|
46
|
+
- The controller is a navigation region and must not define `source` or query data.
|
|
47
|
+
- Create one controller per page. The RDS contract has no controller identifier on a target region, so multiple controllers create ambiguous membership.
|
|
48
|
+
- Require at least two controlled regions and set `advanced.regionDisplaySelector: true` only on that explicit list.
|
|
49
|
+
- Controlled regions may mix native and theme template component families when each selected region supports the `advanced.regionDisplaySelector` property in the active compiler contract.
|
|
50
|
+
- Never opt the controller itself, a breadcrumb region, or a region placed in a header/breadcrumb slot into the selector.
|
|
51
|
+
- Leave unrelated page regions at the default (`regionDisplaySelector` omitted or `false`).
|
|
52
|
+
- Keep controlled regions in stable `layout.sequence` order; that order defines the selector order.
|
|
53
|
+
- `viewSingleRegion` shows one selected region. `scrollWindow` leaves all controlled regions visible and scrolls to the selected region.
|
|
54
|
+
- Emit `settings.includeShowAll` only for `viewSingleRegion`.
|
|
55
|
+
- `rememberSelection: byUser` or `bySession` requires stable target-region DOM IDs in this repository's validator; `false` stores no selection.
|
|
56
|
+
- When `displayRegionIcons: true`, reuse the shared `FA_ICON_REQUIRED_001` catalogue rule for every controlled region icon.
|
|
57
|
+
- RDS visibility is presentation only. Preserve each controlled region's own authorization scheme and server-side condition.
|
|
58
|
+
|
|
59
|
+
# Identifier Contract
|
|
60
|
+
|
|
61
|
+
`staticId` and `htmlDomId` are not interchangeable. For `region` declarations in
|
|
62
|
+
this compiler, including the RDS controller and targets, `advanced.htmlDomId` is
|
|
63
|
+
authoritative. Use `advanced.htmlDomId`; `advanced.staticId` is rejected by direct
|
|
64
|
+
target-build validation.
|
|
65
|
+
`staticId` remains available only for component types whose own contracts declare
|
|
66
|
+
it. Do not transfer an identifier property from another component kind to a
|
|
67
|
+
region.
|
|
16
68
|
|
|
17
|
-
#
|
|
69
|
+
# Authority Boundary
|
|
18
70
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
71
|
+
- APEX 26.1 native metadata identifies the plugin as `NATIVE_DISPLAY_SELECTOR` and stores `rds_mode` as `STANDARD` or `JUMP`.
|
|
72
|
+
- The upstream catalog records application-scoped `include_slider` with default `true`; this repository exposes it through the shared `componentSetting` contract.
|
|
73
|
+
- APEXlang uses the normalized values documented above. Direct compiler validation and target-build `apex validate` remain authoritative before completion.
|
|
@@ -4,6 +4,8 @@ componentType: template
|
|
|
4
4
|
version: 1.0
|
|
5
5
|
imports:
|
|
6
6
|
- region-display-selector._common.md
|
|
7
|
+
- region-display-selector.standard.md
|
|
8
|
+
- region-display-selector.permutations.md
|
|
7
9
|
description: Routing entrypoint for region-display-selector templates.
|
|
8
10
|
---
|
|
9
11
|
|
|
@@ -15,4 +17,5 @@ Primary routing entrypoint for `region-display-selector` templates.
|
|
|
15
17
|
|
|
16
18
|
1. Load this file.
|
|
17
19
|
2. Load `region-display-selector._common.md`.
|
|
18
|
-
3. Load
|
|
20
|
+
3. Load `region-display-selector.standard.md` for generation.
|
|
21
|
+
4. Load `region-display-selector.permutations.md` only when configuration coverage or a non-default mode is requested.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
templateId: region.region-display-selector.permutations
|
|
3
|
+
componentType: region
|
|
4
|
+
version: 1.0
|
|
5
|
+
imports:
|
|
6
|
+
- region-display-selector._common
|
|
7
|
+
description: Complete valid setting matrix for native Region Display Selector generation.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Valid Configuration Matrix
|
|
11
|
+
|
|
12
|
+
The valid matrix contains 18 combinations:
|
|
13
|
+
|
|
14
|
+
- `viewSingleRegion`: 2 icon values x 2 Show All values x 3 persistence values = 12.
|
|
15
|
+
- `scrollWindow`: 2 icon values x 3 persistence values = 6. `includeShowAll` must be omitted.
|
|
16
|
+
|
|
17
|
+
| Mode | Display Region Icons | Include Show All | Remember Selection |
|
|
18
|
+
|------|----------------------|------------------|--------------------|
|
|
19
|
+
| `viewSingleRegion` | `false` or `true` | `false` or `true` | `false`, `bySession`, or `byUser` |
|
|
20
|
+
| `scrollWindow` | `false` or `true` | omit | `false`, `bySession`, or `byUser` |
|
|
21
|
+
|
|
22
|
+
# Scroll Window Settings
|
|
23
|
+
|
|
24
|
+
Use the same controller and controlled-region structure from `region-display-selector.standard.md`, replacing only the settings block:
|
|
25
|
+
|
|
26
|
+
```apexlang
|
|
27
|
+
region section_selector (
|
|
28
|
+
name: Section Selector
|
|
29
|
+
type: regionDisplaySelector
|
|
30
|
+
layout {
|
|
31
|
+
sequence: 10
|
|
32
|
+
slot: body
|
|
33
|
+
}
|
|
34
|
+
appearance {
|
|
35
|
+
template: @/blank-with-attributes-no-grid
|
|
36
|
+
templateOptions: #DEFAULT#
|
|
37
|
+
}
|
|
38
|
+
settings {
|
|
39
|
+
mode: scrollWindow
|
|
40
|
+
displayRegionIcons: false
|
|
41
|
+
rememberSelection: bySession
|
|
42
|
+
}
|
|
43
|
+
advanced {
|
|
44
|
+
htmlDomId: section-selector
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
# Invalid Combinations
|
|
50
|
+
|
|
51
|
+
- Reject `includeShowAll` when `mode: scrollWindow`.
|
|
52
|
+
- Reject a controller with fewer than two controlled regions.
|
|
53
|
+
- Reject a controller that opts itself into RDS.
|
|
54
|
+
- Reject breadcrumb and header-region targets.
|
|
55
|
+
- Reject `displayRegionIcons: true` when any controlled region lacks `appearance.icon`.
|
|
@@ -4,11 +4,97 @@ componentType: region
|
|
|
4
4
|
version: 1.0
|
|
5
5
|
imports:
|
|
6
6
|
- region-display-selector._common
|
|
7
|
-
description: Standard RDS
|
|
7
|
+
description: Standard RDS controller with two explicitly selected content regions.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# Pattern
|
|
10
|
+
# View Single Region Pattern
|
|
11
11
|
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
This data-free example uses two static content regions so it introduces no database-object assumptions.
|
|
13
|
+
|
|
14
|
+
```apexlang
|
|
15
|
+
page 10 (
|
|
16
|
+
name: Region Display Selector
|
|
17
|
+
alias: REGION-DISPLAY-SELECTOR
|
|
18
|
+
title: Region Display Selector
|
|
19
|
+
appearance {
|
|
20
|
+
pageTemplate: @/standard
|
|
21
|
+
templateOptions: #DEFAULT#
|
|
22
|
+
}
|
|
23
|
+
security {
|
|
24
|
+
authorizationScheme: mustNotBePublicUser
|
|
25
|
+
pageAccessProtection: argumentsMustHaveChecksum
|
|
26
|
+
formAutoComplete: false
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
region section_selector (
|
|
30
|
+
name: Section Selector
|
|
31
|
+
type: regionDisplaySelector
|
|
32
|
+
layout {
|
|
33
|
+
sequence: 10
|
|
34
|
+
slot: body
|
|
35
|
+
}
|
|
36
|
+
appearance {
|
|
37
|
+
template: @/blank-with-attributes-no-grid
|
|
38
|
+
templateOptions: #DEFAULT#
|
|
39
|
+
}
|
|
40
|
+
settings {
|
|
41
|
+
mode: viewSingleRegion
|
|
42
|
+
displayRegionIcons: true
|
|
43
|
+
includeShowAll: true
|
|
44
|
+
rememberSelection: byUser
|
|
45
|
+
}
|
|
46
|
+
advanced {
|
|
47
|
+
htmlDomId: section-selector
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
region summary (
|
|
52
|
+
name: Summary
|
|
53
|
+
type: staticContent
|
|
54
|
+
source {
|
|
55
|
+
htmlCode: Review the current summary.
|
|
56
|
+
}
|
|
57
|
+
layout {
|
|
58
|
+
sequence: 20
|
|
59
|
+
slot: body
|
|
60
|
+
}
|
|
61
|
+
appearance {
|
|
62
|
+
template: @/standard
|
|
63
|
+
templateOptions: #DEFAULT#
|
|
64
|
+
icon: fa-list
|
|
65
|
+
}
|
|
66
|
+
advanced {
|
|
67
|
+
htmlDomId: summary
|
|
68
|
+
regionDisplaySelector: true
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
region details (
|
|
73
|
+
name: Details
|
|
74
|
+
type: staticContent
|
|
75
|
+
source {
|
|
76
|
+
htmlCode: Review the current details.
|
|
77
|
+
}
|
|
78
|
+
layout {
|
|
79
|
+
sequence: 30
|
|
80
|
+
slot: body
|
|
81
|
+
}
|
|
82
|
+
appearance {
|
|
83
|
+
template: @/standard
|
|
84
|
+
templateOptions: #DEFAULT#
|
|
85
|
+
icon: fa-table
|
|
86
|
+
}
|
|
87
|
+
advanced {
|
|
88
|
+
htmlDomId: details
|
|
89
|
+
regionDisplaySelector: true
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
# Required Behavior
|
|
96
|
+
|
|
97
|
+
- Do not add `advanced.regionDisplaySelector` to `section_selector`.
|
|
98
|
+
- The `summary` and `details` layout sequences determine their tab order.
|
|
99
|
+
- If icons are disabled, the controlled regions may omit `appearance.icon`.
|
|
100
|
+
- Do not use RDS selection as an authorization or server-side-condition replacement.
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
Canonical guidance for the `smart-filter-search` region family, including shared contract loading and supported scenario variants.
|
|
5
5
|
|
|
6
6
|
## Usage
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- Select the `smart-filter-search` construction pack before loading Markdown.
|
|
8
|
+
- Load `smart-filter-search._common.md` to freeze the base-region, search-behavior, settings, security, and performance contracts.
|
|
9
|
+
- Use `smart-filter-search.standard.md` only when its single-base-region and required search-child shape matches the request.
|
|
9
10
|
- Preserve canonical path references and markdown-first conventions when updating workflow or registry links.
|
|
11
|
+
- Use structured JSON for Generation Plan evidence; templates are not evidence.
|
|
10
12
|
|
|
11
13
|
## Template Catalog
|
|
12
14
|
- `smart-filter-search._common.md`
|
|
@@ -16,3 +18,5 @@ Canonical guidance for the `smart-filter-search` region family, including shared
|
|
|
16
18
|
- Keep this README synchronized with actual files in the directory.
|
|
17
19
|
- Update catalogs and usage notes whenever templates are added, removed, or renamed.
|
|
18
20
|
- Keep family guidance aligned with page-level standards in memory-bank rules and with scenario coverage in this folder.
|
|
21
|
+
- Keep ticket settings out of APEXlang output until property-level compiler evidence proves them for the target build.
|
|
22
|
+
- Keep artifact rules, plan evidence, and runtime acceptance as separate layers.
|