@rippling/rippling-sdk 0.2.0-alpha.83 → 0.2.0-alpha.85
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/examples/manifest/custom-object-creation-workflow/custom-object-creation-workflow.ts +44 -26
- package/examples/manifest/dental-practice-management/dental-practice-management.ts +470 -142
- package/examples/manifest/dental-practice-management/functions/chair-schedule.ts +23 -13
- package/examples/manifest/dental-practice-management/functions/complete-visit.ts +55 -32
- package/examples/manifest/dental-practice-management/functions/operatory-list.ts +23 -13
- package/examples/manifest/dental-practice-management/functions/patient-list.ts +23 -13
- package/examples/manifest/dental-practice-management/functions/treatment-plan-list.ts +23 -13
- package/examples/manifest/existing-manifest-mutations/existing-manifest-mutations.ts +23 -68
- package/examples/manifest/field-service-dispatch/field-service-dispatch.ts +375 -102
- package/examples/manifest/grant-program-management/grant-program-management.ts +419 -125
- package/examples/manifest/gym-membership-management/functions/check-in-desk.ts +23 -13
- package/examples/manifest/gym-membership-management/functions/member-list.ts +23 -13
- package/examples/manifest/gym-membership-management/functions/today-schedule.ts +23 -13
- package/examples/manifest/gym-membership-management/functions/trainer-list.ts +23 -13
- package/examples/manifest/gym-membership-management/gym-membership-management.ts +442 -92
- package/examples/manifest/procurement-approval-hub/procurement-approval-hub.ts +408 -122
- package/examples/manifest/simple-todo-app/functions/mark-done.ts +12 -16
- package/examples/manifest/simple-todo-app/functions/todo-list.ts +23 -13
- package/examples/manifest/simple-todo-app/simple-todo-app.ts +109 -40
- package/examples/manifest/todo-app-without-object-list-view/functions/todo-page.ts +193 -166
- package/examples/manifest/todo-app-without-object-list-view/todo-app-without-object-list-view.ts +47 -24
- package/package.json +13 -7
- package/resources/custom-objects/custom-objects.d.mts +0 -7
- package/resources/custom-objects/custom-objects.d.mts.map +1 -1
- package/resources/custom-objects/custom-objects.d.ts +0 -7
- package/resources/custom-objects/custom-objects.d.ts.map +1 -1
- package/resources/custom-objects/custom-objects.js.map +1 -1
- package/resources/custom-objects/custom-objects.mjs.map +1 -1
- package/resources/custom-objects/fields.d.mts +14 -128
- package/resources/custom-objects/fields.d.mts.map +1 -1
- package/resources/custom-objects/fields.d.ts +14 -128
- package/resources/custom-objects/fields.d.ts.map +1 -1
- package/src/resources/custom-objects/custom-objects.ts +0 -8
- package/src/resources/custom-objects/fields.ts +13 -191
- package/src/tsconfig.json +1 -1
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/core/platform/custom-objects/category.d.mts +0 -125
- package/core/platform/custom-objects/category.d.mts.map +0 -1
- package/core/platform/custom-objects/category.d.ts +0 -125
- package/core/platform/custom-objects/category.d.ts.map +0 -1
- package/core/platform/custom-objects/category.js +0 -188
- package/core/platform/custom-objects/category.js.map +0 -1
- package/core/platform/custom-objects/category.mjs +0 -178
- package/core/platform/custom-objects/category.mjs.map +0 -1
- package/core/platform/custom-objects/definition.d.mts +0 -147
- package/core/platform/custom-objects/definition.d.mts.map +0 -1
- package/core/platform/custom-objects/definition.d.ts +0 -147
- package/core/platform/custom-objects/definition.d.ts.map +0 -1
- package/core/platform/custom-objects/definition.js +0 -200
- package/core/platform/custom-objects/definition.js.map +0 -1
- package/core/platform/custom-objects/definition.mjs +0 -190
- package/core/platform/custom-objects/definition.mjs.map +0 -1
- package/core/platform/custom-objects/fields.d.mts +0 -302
- package/core/platform/custom-objects/fields.d.mts.map +0 -1
- package/core/platform/custom-objects/fields.d.ts +0 -302
- package/core/platform/custom-objects/fields.d.ts.map +0 -1
- package/core/platform/custom-objects/fields.js +0 -369
- package/core/platform/custom-objects/fields.js.map +0 -1
- package/core/platform/custom-objects/fields.mjs +0 -347
- package/core/platform/custom-objects/fields.mjs.map +0 -1
- package/core/platform/custom-objects/function-runtime.d.mts +0 -42
- package/core/platform/custom-objects/function-runtime.d.mts.map +0 -1
- package/core/platform/custom-objects/function-runtime.d.ts +0 -42
- package/core/platform/custom-objects/function-runtime.d.ts.map +0 -1
- package/core/platform/custom-objects/function-runtime.js +0 -38
- package/core/platform/custom-objects/function-runtime.js.map +0 -1
- package/core/platform/custom-objects/function-runtime.mjs +0 -35
- package/core/platform/custom-objects/function-runtime.mjs.map +0 -1
- package/core/platform/custom-objects/lifecycle.d.mts +0 -83
- package/core/platform/custom-objects/lifecycle.d.mts.map +0 -1
- package/core/platform/custom-objects/lifecycle.d.ts +0 -83
- package/core/platform/custom-objects/lifecycle.d.ts.map +0 -1
- package/core/platform/custom-objects/lifecycle.js +0 -372
- package/core/platform/custom-objects/lifecycle.js.map +0 -1
- package/core/platform/custom-objects/lifecycle.mjs +0 -367
- package/core/platform/custom-objects/lifecycle.mjs.map +0 -1
- package/core/platform/custom-objects/manager.d.mts +0 -354
- package/core/platform/custom-objects/manager.d.mts.map +0 -1
- package/core/platform/custom-objects/manager.d.ts +0 -354
- package/core/platform/custom-objects/manager.d.ts.map +0 -1
- package/core/platform/custom-objects/manager.js +0 -646
- package/core/platform/custom-objects/manager.js.map +0 -1
- package/core/platform/custom-objects/manager.mjs +0 -637
- package/core/platform/custom-objects/manager.mjs.map +0 -1
- package/core/platform/custom-objects/provisioning.d.mts +0 -138
- package/core/platform/custom-objects/provisioning.d.mts.map +0 -1
- package/core/platform/custom-objects/provisioning.d.ts +0 -138
- package/core/platform/custom-objects/provisioning.d.ts.map +0 -1
- package/core/platform/custom-objects/provisioning.js +0 -455
- package/core/platform/custom-objects/provisioning.js.map +0 -1
- package/core/platform/custom-objects/provisioning.mjs +0 -447
- package/core/platform/custom-objects/provisioning.mjs.map +0 -1
- package/core/platform/custom-objects/rql.d.mts +0 -122
- package/core/platform/custom-objects/rql.d.mts.map +0 -1
- package/core/platform/custom-objects/rql.d.ts +0 -122
- package/core/platform/custom-objects/rql.d.ts.map +0 -1
- package/core/platform/custom-objects/rql.js +0 -225
- package/core/platform/custom-objects/rql.js.map +0 -1
- package/core/platform/custom-objects/rql.mjs +0 -222
- package/core/platform/custom-objects/rql.mjs.map +0 -1
- package/core/platform/custom-objects/schema-manager.d.mts +0 -203
- package/core/platform/custom-objects/schema-manager.d.mts.map +0 -1
- package/core/platform/custom-objects/schema-manager.d.ts +0 -203
- package/core/platform/custom-objects/schema-manager.d.ts.map +0 -1
- package/core/platform/custom-objects/schema-manager.js +0 -256
- package/core/platform/custom-objects/schema-manager.js.map +0 -1
- package/core/platform/custom-objects/schema-manager.mjs +0 -249
- package/core/platform/custom-objects/schema-manager.mjs.map +0 -1
- package/core/platform/custom-objects/typed-rql.d.mts +0 -157
- package/core/platform/custom-objects/typed-rql.d.mts.map +0 -1
- package/core/platform/custom-objects/typed-rql.d.ts +0 -157
- package/core/platform/custom-objects/typed-rql.d.ts.map +0 -1
- package/core/platform/custom-objects/typed-rql.js +0 -583
- package/core/platform/custom-objects/typed-rql.js.map +0 -1
- package/core/platform/custom-objects/typed-rql.mjs +0 -580
- package/core/platform/custom-objects/typed-rql.mjs.map +0 -1
- package/core/platform/custom-objects/types.d.mts +0 -549
- package/core/platform/custom-objects/types.d.mts.map +0 -1
- package/core/platform/custom-objects/types.d.ts +0 -549
- package/core/platform/custom-objects/types.d.ts.map +0 -1
- package/core/platform/custom-objects/types.js +0 -20
- package/core/platform/custom-objects/types.js.map +0 -1
- package/core/platform/custom-objects/types.mjs +0 -17
- package/core/platform/custom-objects/types.mjs.map +0 -1
- package/core/platform/custom-objects/validation.d.mts +0 -97
- package/core/platform/custom-objects/validation.d.mts.map +0 -1
- package/core/platform/custom-objects/validation.d.ts +0 -97
- package/core/platform/custom-objects/validation.d.ts.map +0 -1
- package/core/platform/custom-objects/validation.js +0 -477
- package/core/platform/custom-objects/validation.js.map +0 -1
- package/core/platform/custom-objects/validation.mjs +0 -465
- package/core/platform/custom-objects/validation.mjs.map +0 -1
- package/core/platform/custom-objects.d.mts +0 -67
- package/core/platform/custom-objects.d.mts.map +0 -1
- package/core/platform/custom-objects.d.ts +0 -67
- package/core/platform/custom-objects.d.ts.map +0 -1
- package/core/platform/custom-objects.js +0 -118
- package/core/platform/custom-objects.js.map +0 -1
- package/core/platform/custom-objects.mjs +0 -45
- package/core/platform/custom-objects.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/action.d.mts +0 -58
- package/core/platform/manifest/custom-objects/action.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/action.d.ts +0 -58
- package/core/platform/manifest/custom-objects/action.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/action.js +0 -44
- package/core/platform/manifest/custom-objects/action.js.map +0 -1
- package/core/platform/manifest/custom-objects/action.mjs +0 -40
- package/core/platform/manifest/custom-objects/action.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/conditions.d.mts +0 -240
- package/core/platform/manifest/custom-objects/conditions.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/conditions.d.ts +0 -240
- package/core/platform/manifest/custom-objects/conditions.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/conditions.js +0 -326
- package/core/platform/manifest/custom-objects/conditions.js.map +0 -1
- package/core/platform/manifest/custom-objects/conditions.mjs +0 -321
- package/core/platform/manifest/custom-objects/conditions.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/existing.d.mts +0 -87
- package/core/platform/manifest/custom-objects/existing.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/existing.d.ts +0 -87
- package/core/platform/manifest/custom-objects/existing.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/existing.js +0 -113
- package/core/platform/manifest/custom-objects/existing.js.map +0 -1
- package/core/platform/manifest/custom-objects/existing.mjs +0 -109
- package/core/platform/manifest/custom-objects/existing.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/field-resolution.d.mts +0 -48
- package/core/platform/manifest/custom-objects/field-resolution.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/field-resolution.d.ts +0 -48
- package/core/platform/manifest/custom-objects/field-resolution.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/field-resolution.js +0 -61
- package/core/platform/manifest/custom-objects/field-resolution.js.map +0 -1
- package/core/platform/manifest/custom-objects/field-resolution.mjs +0 -58
- package/core/platform/manifest/custom-objects/field-resolution.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/function-file.d.mts +0 -87
- package/core/platform/manifest/custom-objects/function-file.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/function-file.d.ts +0 -87
- package/core/platform/manifest/custom-objects/function-file.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/function-file.js +0 -76
- package/core/platform/manifest/custom-objects/function-file.js.map +0 -1
- package/core/platform/manifest/custom-objects/function-file.mjs +0 -69
- package/core/platform/manifest/custom-objects/function-file.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/list-view.d.mts +0 -65
- package/core/platform/manifest/custom-objects/list-view.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/list-view.d.ts +0 -65
- package/core/platform/manifest/custom-objects/list-view.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/list-view.js +0 -33
- package/core/platform/manifest/custom-objects/list-view.js.map +0 -1
- package/core/platform/manifest/custom-objects/list-view.mjs +0 -30
- package/core/platform/manifest/custom-objects/list-view.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/object-list-page.d.mts +0 -43
- package/core/platform/manifest/custom-objects/object-list-page.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/object-list-page.d.ts +0 -43
- package/core/platform/manifest/custom-objects/object-list-page.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/object-list-page.js +0 -54
- package/core/platform/manifest/custom-objects/object-list-page.js.map +0 -1
- package/core/platform/manifest/custom-objects/object-list-page.mjs +0 -50
- package/core/platform/manifest/custom-objects/object-list-page.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/page-layout.d.mts +0 -142
- package/core/platform/manifest/custom-objects/page-layout.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/page-layout.d.ts +0 -142
- package/core/platform/manifest/custom-objects/page-layout.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/page-layout.js +0 -184
- package/core/platform/manifest/custom-objects/page-layout.js.map +0 -1
- package/core/platform/manifest/custom-objects/page-layout.mjs +0 -180
- package/core/platform/manifest/custom-objects/page-layout.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/register.d.mts +0 -87
- package/core/platform/manifest/custom-objects/register.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/register.d.ts +0 -87
- package/core/platform/manifest/custom-objects/register.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/register.js +0 -395
- package/core/platform/manifest/custom-objects/register.js.map +0 -1
- package/core/platform/manifest/custom-objects/register.mjs +0 -391
- package/core/platform/manifest/custom-objects/register.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/rule.d.mts +0 -113
- package/core/platform/manifest/custom-objects/rule.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/rule.d.ts +0 -113
- package/core/platform/manifest/custom-objects/rule.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/rule.js +0 -49
- package/core/platform/manifest/custom-objects/rule.js.map +0 -1
- package/core/platform/manifest/custom-objects/rule.mjs +0 -45
- package/core/platform/manifest/custom-objects/rule.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/sdui-page.d.mts +0 -214
- package/core/platform/manifest/custom-objects/sdui-page.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/sdui-page.d.ts +0 -214
- package/core/platform/manifest/custom-objects/sdui-page.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/sdui-page.js +0 -194
- package/core/platform/manifest/custom-objects/sdui-page.js.map +0 -1
- package/core/platform/manifest/custom-objects/sdui-page.mjs +0 -182
- package/core/platform/manifest/custom-objects/sdui-page.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/typed-condition.d.mts +0 -28
- package/core/platform/manifest/custom-objects/typed-condition.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/typed-condition.d.ts +0 -28
- package/core/platform/manifest/custom-objects/typed-condition.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/typed-condition.js +0 -434
- package/core/platform/manifest/custom-objects/typed-condition.js.map +0 -1
- package/core/platform/manifest/custom-objects/typed-condition.mjs +0 -431
- package/core/platform/manifest/custom-objects/typed-condition.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/types.d.mts +0 -29
- package/core/platform/manifest/custom-objects/types.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/types.d.ts +0 -29
- package/core/platform/manifest/custom-objects/types.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/types.js +0 -3
- package/core/platform/manifest/custom-objects/types.js.map +0 -1
- package/core/platform/manifest/custom-objects/types.mjs +0 -2
- package/core/platform/manifest/custom-objects/types.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/validation.d.mts +0 -44
- package/core/platform/manifest/custom-objects/validation.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/validation.d.ts +0 -44
- package/core/platform/manifest/custom-objects/validation.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/validation.js +0 -30
- package/core/platform/manifest/custom-objects/validation.js.map +0 -1
- package/core/platform/manifest/custom-objects/validation.mjs +0 -27
- package/core/platform/manifest/custom-objects/validation.mjs.map +0 -1
- package/core/platform/manifest/custom-objects/workflow.d.mts +0 -47
- package/core/platform/manifest/custom-objects/workflow.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects/workflow.d.ts +0 -47
- package/core/platform/manifest/custom-objects/workflow.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects/workflow.js +0 -38
- package/core/platform/manifest/custom-objects/workflow.js.map +0 -1
- package/core/platform/manifest/custom-objects/workflow.mjs +0 -34
- package/core/platform/manifest/custom-objects/workflow.mjs.map +0 -1
- package/core/platform/manifest/custom-objects.d.mts +0 -85
- package/core/platform/manifest/custom-objects.d.mts.map +0 -1
- package/core/platform/manifest/custom-objects.d.ts +0 -85
- package/core/platform/manifest/custom-objects.d.ts.map +0 -1
- package/core/platform/manifest/custom-objects.js +0 -84
- package/core/platform/manifest/custom-objects.js.map +0 -1
- package/core/platform/manifest/custom-objects.mjs +0 -55
- package/core/platform/manifest/custom-objects.mjs.map +0 -1
- package/examples/manifest/custom-object-creation-workflow/functions/intake-request-created.ts +0 -20
- package/examples/manifest/custom-object-creation-workflow/schema.ts +0 -29
- package/examples/manifest/dental-practice-management/schema.ts +0 -298
- package/examples/manifest/field-service-dispatch/schema.ts +0 -248
- package/examples/manifest/grant-program-management/schema.ts +0 -269
- package/examples/manifest/gym-membership-management/schema.ts +0 -266
- package/examples/manifest/procurement-approval-hub/functions/route-purchase-request.ts +0 -20
- package/examples/manifest/procurement-approval-hub/schema.ts +0 -256
- package/examples/manifest/simple-todo-app/schema.ts +0 -60
- package/examples/manifest/todo-app-without-object-list-view/schema.ts +0 -28
- package/src/core/platform/README.md +0 -20
- package/src/core/platform/custom-objects/category.ts +0 -294
- package/src/core/platform/custom-objects/definition.ts +0 -373
- package/src/core/platform/custom-objects/fields.ts +0 -653
- package/src/core/platform/custom-objects/function-runtime.ts +0 -76
- package/src/core/platform/custom-objects/lifecycle.ts +0 -557
- package/src/core/platform/custom-objects/manager.ts +0 -959
- package/src/core/platform/custom-objects/provisioning.ts +0 -672
- package/src/core/platform/custom-objects/rql.ts +0 -375
- package/src/core/platform/custom-objects/schema-manager.ts +0 -351
- package/src/core/platform/custom-objects/typed-rql.ts +0 -1273
- package/src/core/platform/custom-objects/types.ts +0 -753
- package/src/core/platform/custom-objects/validation.ts +0 -573
- package/src/core/platform/custom-objects.ts +0 -269
- package/src/core/platform/manifest/README.md +0 -26
- package/src/core/platform/manifest/custom-objects/action.ts +0 -87
- package/src/core/platform/manifest/custom-objects/conditions.ts +0 -762
- package/src/core/platform/manifest/custom-objects/existing.ts +0 -221
- package/src/core/platform/manifest/custom-objects/field-resolution.ts +0 -116
- package/src/core/platform/manifest/custom-objects/function-file.ts +0 -149
- package/src/core/platform/manifest/custom-objects/list-view.ts +0 -95
- package/src/core/platform/manifest/custom-objects/object-list-page.ts +0 -87
- package/src/core/platform/manifest/custom-objects/page-layout.ts +0 -380
- package/src/core/platform/manifest/custom-objects/register.ts +0 -555
- package/src/core/platform/manifest/custom-objects/rule.ts +0 -192
- package/src/core/platform/manifest/custom-objects/sdui-page.ts +0 -515
- package/src/core/platform/manifest/custom-objects/typed-condition.ts +0 -617
- package/src/core/platform/manifest/custom-objects/types.ts +0 -92
- package/src/core/platform/manifest/custom-objects/validation.ts +0 -70
- package/src/core/platform/manifest/custom-objects/workflow.ts +0 -71
- package/src/core/platform/manifest/custom-objects.ts +0 -203
- package/src/pebble-sdui-web-custom-apps-shim.d.ts +0 -3
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineTypedPageLayout = defineTypedPageLayout;
|
|
4
|
-
exports.defineBasicTypedPageLayout = defineBasicTypedPageLayout;
|
|
5
|
-
const manifest_1 = require("../../../../lib/manifest.js");
|
|
6
|
-
const field_resolution_1 = require("./field-resolution.js");
|
|
7
|
-
/**
|
|
8
|
-
* Returns whether one typed page-layout field entry uses the object form with additional section metadata.
|
|
9
|
-
*
|
|
10
|
-
* @param value - Typed section-field input to inspect.
|
|
11
|
-
* @returns Whether the entry is the object-shaped variant.
|
|
12
|
-
* @typeParam TDefinition - Object definition whose field inputs are being inspected.
|
|
13
|
-
*/
|
|
14
|
-
function isTypedSectionField(value) {
|
|
15
|
-
return typeof value === 'object' && value != null && 'field' in value;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Resolves one typed page-layout field input into the low-level manifest field representation.
|
|
19
|
-
*
|
|
20
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
21
|
-
* @param entry - Typed page-layout field input to resolve.
|
|
22
|
-
* @returns Low-level manifest section-field input.
|
|
23
|
-
* @typeParam TDefinition - Object definition whose field inputs are being resolved.
|
|
24
|
-
*/
|
|
25
|
-
function resolveTypedSectionFieldInput(registration, entry) {
|
|
26
|
-
if (isTypedSectionField(entry)) {
|
|
27
|
-
return {
|
|
28
|
-
...entry,
|
|
29
|
-
field: (0, field_resolution_1.resolveTypedManifestField)(registration, entry.field),
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
return (0, field_resolution_1.resolveTypedManifestField)(registration, entry);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Returns whether one page-layout section is the `fields_section` variant handled by the typed helper.
|
|
36
|
-
*
|
|
37
|
-
* @param section - Typed page-layout section to inspect.
|
|
38
|
-
* @returns Whether the section carries a typed `fields` array.
|
|
39
|
-
* @typeParam TDefinition - Object definition whose section is being inspected.
|
|
40
|
-
*/
|
|
41
|
-
function isFieldsSection(section) {
|
|
42
|
-
return section.type === 'fields_section';
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Resolves one typed page-layout section into the low-level manifest section shape.
|
|
46
|
-
*
|
|
47
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
48
|
-
* @param section - Typed page-layout section to resolve.
|
|
49
|
-
* @returns Low-level manifest page-layout section.
|
|
50
|
-
* @typeParam TDefinition - Object definition whose section is being resolved.
|
|
51
|
-
*/
|
|
52
|
-
function resolveTypedPageLayoutSection(registration, section) {
|
|
53
|
-
if (!isFieldsSection(section)) {
|
|
54
|
-
return section;
|
|
55
|
-
}
|
|
56
|
-
const { fields, ...rest } = section;
|
|
57
|
-
return {
|
|
58
|
-
...rest,
|
|
59
|
-
fields: fields.map((entry) => resolveTypedSectionFieldInput(registration, entry)),
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Resolves one typed page-layout tab into the low-level manifest tab shape.
|
|
64
|
-
*
|
|
65
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
66
|
-
* @param tab - Typed page-layout tab to resolve.
|
|
67
|
-
* @returns Low-level manifest page-layout tab.
|
|
68
|
-
* @typeParam TDefinition - Object definition whose tab is being resolved.
|
|
69
|
-
*/
|
|
70
|
-
function resolveTypedPageLayoutTab(registration, tab) {
|
|
71
|
-
if (tab.type !== 'tab_with_sections')
|
|
72
|
-
return tab;
|
|
73
|
-
return {
|
|
74
|
-
...tab,
|
|
75
|
-
sections: tab.sections.map((section) => resolveTypedPageLayoutSection(registration, section)),
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Resolves one typed system-section edit into the low-level manifest edit shape.
|
|
80
|
-
*
|
|
81
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
82
|
-
* @param edit - Typed system-section edit to resolve.
|
|
83
|
-
* @returns Low-level manifest system-section edit.
|
|
84
|
-
* @typeParam TDefinition - Object definition whose edit is being resolved.
|
|
85
|
-
*/
|
|
86
|
-
function resolveTypedSystemSectionEdit(registration, edit) {
|
|
87
|
-
const { newFields, ...rest } = edit;
|
|
88
|
-
return {
|
|
89
|
-
...rest,
|
|
90
|
-
...(newFields != null ?
|
|
91
|
-
{ newFields: newFields.map((entry) => resolveTypedSectionFieldInput(registration, entry)) }
|
|
92
|
-
: {}),
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Resolves one typed system-tab edit into the low-level manifest edit shape.
|
|
97
|
-
*
|
|
98
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
99
|
-
* @param edit - Typed system-tab edit to resolve.
|
|
100
|
-
* @returns Low-level manifest system-tab edit.
|
|
101
|
-
* @typeParam TDefinition - Object definition whose edit is being resolved.
|
|
102
|
-
*/
|
|
103
|
-
function resolveTypedSystemTabEdit(registration, edit) {
|
|
104
|
-
const { newSections, systemSectionEdits: rawSystemSectionEdits, ...rest } = edit;
|
|
105
|
-
const systemSectionEdits = rawSystemSectionEdits == null ? undefined : (Object.fromEntries(Object.entries(rawSystemSectionEdits).map(([sectionKey, sectionEdit]) => [
|
|
106
|
-
sectionKey,
|
|
107
|
-
resolveTypedSystemSectionEdit(registration, sectionEdit),
|
|
108
|
-
])));
|
|
109
|
-
return {
|
|
110
|
-
...rest,
|
|
111
|
-
...(newSections != null ?
|
|
112
|
-
{ newSections: newSections.map((section) => resolveTypedPageLayoutSection(registration, section)) }
|
|
113
|
-
: {}),
|
|
114
|
-
...(systemSectionEdits != null ? { systemSectionEdits } : {}),
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Resolves the typed `tabEdits` surface into the low-level manifest representation.
|
|
119
|
-
*
|
|
120
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
121
|
-
* @param tabEdits - Typed tab edits to resolve.
|
|
122
|
-
* @returns Low-level manifest tab-edits object.
|
|
123
|
-
* @typeParam TDefinition - Object definition whose tab edits are being resolved.
|
|
124
|
-
*/
|
|
125
|
-
function resolveTypedTabEdits(registration, tabEdits) {
|
|
126
|
-
const { newTabs, systemTabEdits: rawSystemTabEdits, ...rest } = tabEdits;
|
|
127
|
-
const systemTabEdits = rawSystemTabEdits == null ? undefined : (Object.fromEntries(Object.entries(rawSystemTabEdits).map(([tabKey, edit]) => [
|
|
128
|
-
tabKey,
|
|
129
|
-
resolveTypedSystemTabEdit(registration, edit),
|
|
130
|
-
])));
|
|
131
|
-
return {
|
|
132
|
-
...rest,
|
|
133
|
-
...(newTabs != null ?
|
|
134
|
-
{ newTabs: newTabs.map((tab) => resolveTypedPageLayoutTab(registration, tab)) }
|
|
135
|
-
: {}),
|
|
136
|
-
...(systemTabEdits != null ? { systemTabEdits } : {}),
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Registers a typed page layout for a manifest custom object.
|
|
141
|
-
*
|
|
142
|
-
* This helper sits on top of the low-level {@link CustomObjectPageLayout}
|
|
143
|
-
* manifest class. It preserves the runtime behavior of that class while adding
|
|
144
|
-
* object-specific string-literal IntelliSense for the most common field-array
|
|
145
|
-
* authoring surfaces.
|
|
146
|
-
*
|
|
147
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
148
|
-
* @param props - Typed page-layout properties to materialize into the manifest class.
|
|
149
|
-
* @returns Low-level manifest page-layout instance with typed field arrays resolved.
|
|
150
|
-
* @typeParam TDefinition - Object definition whose valid field arrays should be enforced.
|
|
151
|
-
*/
|
|
152
|
-
function defineTypedPageLayout(registration, props) {
|
|
153
|
-
const layoutProps = {
|
|
154
|
-
apiName: props.apiName,
|
|
155
|
-
name: props.name,
|
|
156
|
-
...(props.tabEdits != null ? { tabEdits: resolveTypedTabEdits(registration, props.tabEdits) } : {}),
|
|
157
|
-
...(props.headerEdits != null ? { headerEdits: props.headerEdits } : {}),
|
|
158
|
-
...(props.visibilityConditions != null ? { visibilityConditions: props.visibilityConditions } : {}),
|
|
159
|
-
...(props.layoutId != null ? { layoutId: props.layoutId } : {}),
|
|
160
|
-
...(props.blueprintKey != null ? { blueprintKey: props.blueprintKey } : {}),
|
|
161
|
-
};
|
|
162
|
-
return new manifest_1.CustomObjectPageLayout(registration.object, layoutProps);
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Registers the common single-tab "basic" layout using typed field-name strings.
|
|
166
|
-
*
|
|
167
|
-
* Use this helper when the low-level {@link CustomObjectPageLayout.basic}
|
|
168
|
-
* behavior is sufficient and you want the shortest typed path from schema to a
|
|
169
|
-
* working page layout.
|
|
170
|
-
*
|
|
171
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
172
|
-
* @param props - Optional basic-layout properties.
|
|
173
|
-
* @returns Low-level manifest page-layout instance created through `CustomObjectPageLayout.basic(...)`.
|
|
174
|
-
* @typeParam TDefinition - Object definition whose valid field inputs should be enforced.
|
|
175
|
-
*/
|
|
176
|
-
function defineBasicTypedPageLayout(registration, props = {}) {
|
|
177
|
-
return manifest_1.CustomObjectPageLayout.basic(registration.object, {
|
|
178
|
-
...(props.section != null ? { section: props.section } : {}),
|
|
179
|
-
...(props.fields != null ?
|
|
180
|
-
{ fields: props.fields.map((field) => (0, field_resolution_1.resolveTypedManifestField)(registration, field)) }
|
|
181
|
-
: {}),
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
//# sourceMappingURL=page-layout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-layout.js","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/page-layout.ts"],"names":[],"mappings":";;AAqVA,sDAcC;AAcD,gEAUC;AA3XD,0DAckC;AAIlC,4DAA+D;AAwI/D;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,KAA0C;IAE1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,CAAC;AACxE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,6BAA6B,CACpC,YAA+C,EAC/C,KAA0C;IAE1C,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,IAAA,4CAAyB,EAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC;SAC5D,CAAC;IACJ,CAAC;IACD,OAAO,IAAA,4CAAyB,EAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,OAA4C;IAE5C,OAAO,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,6BAA6B,CACpC,YAA+C,EAC/C,OAA4C;IAE5C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,OAA4B,CAAC;IACtC,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACpC,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,6BAA6B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAChC,YAA+C,EAC/C,GAAoC;IAEpC,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB;QAAE,OAAO,GAAG,CAAC;IACjD,OAAO;QACL,GAAG,GAAG;QACN,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,6BAA6B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;KAC9F,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,6BAA6B,CACpC,YAA+C,EAC/C,IAAyC;IAEzC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACpC,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;YACrB,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,6BAA6B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE;YAC7F,CAAC,CAAC,EAAE,CAAC;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAChC,YAA+C,EAC/C,IAAqC;IAErC,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACjF,MAAM,kBAAkB,GACtB,qBAAqB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAC1C,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;QACvE,UAAU;QACV,6BAA6B,CAAC,YAAY,EAAE,WAAW,CAAC;KACzD,CAAC,CACH,CACF,CAAC;IAEJ,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;YACvB,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,6BAA6B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,EAAE;YACrG,CAAC,CAAC,EAAE,CAAC;QACL,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,YAA+C,EAC/C,QAAoC;IAEpC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;IACzE,MAAM,cAAc,GAClB,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACtC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM;QACN,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;KAC9C,CAAC,CACH,CACF,CAAC;IAEJ,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;YACnB,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,yBAAyB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,EAAE;YACjF,CAAC,CAAC,EAAE,CAAC;QACL,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,qBAAqB,CACnC,YAA+C,EAC/C,KAAoD;IAEpD,MAAM,WAAW,GAAgC;QAC/C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5E,CAAC;IACF,OAAO,IAAI,iCAAsB,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,0BAA0B,CACxC,YAA+C,EAC/C,QAAgD,EAAE;IAElD,OAAO,iCAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE;QACvD,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YACxB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,4CAAyB,EAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE;YACzF,CAAC,CAAC,EAAE,CAAC;KACN,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { CustomObjectPageLayout, } from "../../../../lib/manifest.mjs";
|
|
2
|
-
import { resolveTypedManifestField } from "./field-resolution.mjs";
|
|
3
|
-
/**
|
|
4
|
-
* Returns whether one typed page-layout field entry uses the object form with additional section metadata.
|
|
5
|
-
*
|
|
6
|
-
* @param value - Typed section-field input to inspect.
|
|
7
|
-
* @returns Whether the entry is the object-shaped variant.
|
|
8
|
-
* @typeParam TDefinition - Object definition whose field inputs are being inspected.
|
|
9
|
-
*/
|
|
10
|
-
function isTypedSectionField(value) {
|
|
11
|
-
return typeof value === 'object' && value != null && 'field' in value;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Resolves one typed page-layout field input into the low-level manifest field representation.
|
|
15
|
-
*
|
|
16
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
17
|
-
* @param entry - Typed page-layout field input to resolve.
|
|
18
|
-
* @returns Low-level manifest section-field input.
|
|
19
|
-
* @typeParam TDefinition - Object definition whose field inputs are being resolved.
|
|
20
|
-
*/
|
|
21
|
-
function resolveTypedSectionFieldInput(registration, entry) {
|
|
22
|
-
if (isTypedSectionField(entry)) {
|
|
23
|
-
return {
|
|
24
|
-
...entry,
|
|
25
|
-
field: resolveTypedManifestField(registration, entry.field),
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return resolveTypedManifestField(registration, entry);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Returns whether one page-layout section is the `fields_section` variant handled by the typed helper.
|
|
32
|
-
*
|
|
33
|
-
* @param section - Typed page-layout section to inspect.
|
|
34
|
-
* @returns Whether the section carries a typed `fields` array.
|
|
35
|
-
* @typeParam TDefinition - Object definition whose section is being inspected.
|
|
36
|
-
*/
|
|
37
|
-
function isFieldsSection(section) {
|
|
38
|
-
return section.type === 'fields_section';
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Resolves one typed page-layout section into the low-level manifest section shape.
|
|
42
|
-
*
|
|
43
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
44
|
-
* @param section - Typed page-layout section to resolve.
|
|
45
|
-
* @returns Low-level manifest page-layout section.
|
|
46
|
-
* @typeParam TDefinition - Object definition whose section is being resolved.
|
|
47
|
-
*/
|
|
48
|
-
function resolveTypedPageLayoutSection(registration, section) {
|
|
49
|
-
if (!isFieldsSection(section)) {
|
|
50
|
-
return section;
|
|
51
|
-
}
|
|
52
|
-
const { fields, ...rest } = section;
|
|
53
|
-
return {
|
|
54
|
-
...rest,
|
|
55
|
-
fields: fields.map((entry) => resolveTypedSectionFieldInput(registration, entry)),
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Resolves one typed page-layout tab into the low-level manifest tab shape.
|
|
60
|
-
*
|
|
61
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
62
|
-
* @param tab - Typed page-layout tab to resolve.
|
|
63
|
-
* @returns Low-level manifest page-layout tab.
|
|
64
|
-
* @typeParam TDefinition - Object definition whose tab is being resolved.
|
|
65
|
-
*/
|
|
66
|
-
function resolveTypedPageLayoutTab(registration, tab) {
|
|
67
|
-
if (tab.type !== 'tab_with_sections')
|
|
68
|
-
return tab;
|
|
69
|
-
return {
|
|
70
|
-
...tab,
|
|
71
|
-
sections: tab.sections.map((section) => resolveTypedPageLayoutSection(registration, section)),
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Resolves one typed system-section edit into the low-level manifest edit shape.
|
|
76
|
-
*
|
|
77
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
78
|
-
* @param edit - Typed system-section edit to resolve.
|
|
79
|
-
* @returns Low-level manifest system-section edit.
|
|
80
|
-
* @typeParam TDefinition - Object definition whose edit is being resolved.
|
|
81
|
-
*/
|
|
82
|
-
function resolveTypedSystemSectionEdit(registration, edit) {
|
|
83
|
-
const { newFields, ...rest } = edit;
|
|
84
|
-
return {
|
|
85
|
-
...rest,
|
|
86
|
-
...(newFields != null ?
|
|
87
|
-
{ newFields: newFields.map((entry) => resolveTypedSectionFieldInput(registration, entry)) }
|
|
88
|
-
: {}),
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Resolves one typed system-tab edit into the low-level manifest edit shape.
|
|
93
|
-
*
|
|
94
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
95
|
-
* @param edit - Typed system-tab edit to resolve.
|
|
96
|
-
* @returns Low-level manifest system-tab edit.
|
|
97
|
-
* @typeParam TDefinition - Object definition whose edit is being resolved.
|
|
98
|
-
*/
|
|
99
|
-
function resolveTypedSystemTabEdit(registration, edit) {
|
|
100
|
-
const { newSections, systemSectionEdits: rawSystemSectionEdits, ...rest } = edit;
|
|
101
|
-
const systemSectionEdits = rawSystemSectionEdits == null ? undefined : (Object.fromEntries(Object.entries(rawSystemSectionEdits).map(([sectionKey, sectionEdit]) => [
|
|
102
|
-
sectionKey,
|
|
103
|
-
resolveTypedSystemSectionEdit(registration, sectionEdit),
|
|
104
|
-
])));
|
|
105
|
-
return {
|
|
106
|
-
...rest,
|
|
107
|
-
...(newSections != null ?
|
|
108
|
-
{ newSections: newSections.map((section) => resolveTypedPageLayoutSection(registration, section)) }
|
|
109
|
-
: {}),
|
|
110
|
-
...(systemSectionEdits != null ? { systemSectionEdits } : {}),
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Resolves the typed `tabEdits` surface into the low-level manifest representation.
|
|
115
|
-
*
|
|
116
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
117
|
-
* @param tabEdits - Typed tab edits to resolve.
|
|
118
|
-
* @returns Low-level manifest tab-edits object.
|
|
119
|
-
* @typeParam TDefinition - Object definition whose tab edits are being resolved.
|
|
120
|
-
*/
|
|
121
|
-
function resolveTypedTabEdits(registration, tabEdits) {
|
|
122
|
-
const { newTabs, systemTabEdits: rawSystemTabEdits, ...rest } = tabEdits;
|
|
123
|
-
const systemTabEdits = rawSystemTabEdits == null ? undefined : (Object.fromEntries(Object.entries(rawSystemTabEdits).map(([tabKey, edit]) => [
|
|
124
|
-
tabKey,
|
|
125
|
-
resolveTypedSystemTabEdit(registration, edit),
|
|
126
|
-
])));
|
|
127
|
-
return {
|
|
128
|
-
...rest,
|
|
129
|
-
...(newTabs != null ?
|
|
130
|
-
{ newTabs: newTabs.map((tab) => resolveTypedPageLayoutTab(registration, tab)) }
|
|
131
|
-
: {}),
|
|
132
|
-
...(systemTabEdits != null ? { systemTabEdits } : {}),
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Registers a typed page layout for a manifest custom object.
|
|
137
|
-
*
|
|
138
|
-
* This helper sits on top of the low-level {@link CustomObjectPageLayout}
|
|
139
|
-
* manifest class. It preserves the runtime behavior of that class while adding
|
|
140
|
-
* object-specific string-literal IntelliSense for the most common field-array
|
|
141
|
-
* authoring surfaces.
|
|
142
|
-
*
|
|
143
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
144
|
-
* @param props - Typed page-layout properties to materialize into the manifest class.
|
|
145
|
-
* @returns Low-level manifest page-layout instance with typed field arrays resolved.
|
|
146
|
-
* @typeParam TDefinition - Object definition whose valid field arrays should be enforced.
|
|
147
|
-
*/
|
|
148
|
-
export function defineTypedPageLayout(registration, props) {
|
|
149
|
-
const layoutProps = {
|
|
150
|
-
apiName: props.apiName,
|
|
151
|
-
name: props.name,
|
|
152
|
-
...(props.tabEdits != null ? { tabEdits: resolveTypedTabEdits(registration, props.tabEdits) } : {}),
|
|
153
|
-
...(props.headerEdits != null ? { headerEdits: props.headerEdits } : {}),
|
|
154
|
-
...(props.visibilityConditions != null ? { visibilityConditions: props.visibilityConditions } : {}),
|
|
155
|
-
...(props.layoutId != null ? { layoutId: props.layoutId } : {}),
|
|
156
|
-
...(props.blueprintKey != null ? { blueprintKey: props.blueprintKey } : {}),
|
|
157
|
-
};
|
|
158
|
-
return new CustomObjectPageLayout(registration.object, layoutProps);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Registers the common single-tab "basic" layout using typed field-name strings.
|
|
162
|
-
*
|
|
163
|
-
* Use this helper when the low-level {@link CustomObjectPageLayout.basic}
|
|
164
|
-
* behavior is sufficient and you want the shortest typed path from schema to a
|
|
165
|
-
* working page layout.
|
|
166
|
-
*
|
|
167
|
-
* @param registration - Manifest registration produced from the typed object definition.
|
|
168
|
-
* @param props - Optional basic-layout properties.
|
|
169
|
-
* @returns Low-level manifest page-layout instance created through `CustomObjectPageLayout.basic(...)`.
|
|
170
|
-
* @typeParam TDefinition - Object definition whose valid field inputs should be enforced.
|
|
171
|
-
*/
|
|
172
|
-
export function defineBasicTypedPageLayout(registration, props = {}) {
|
|
173
|
-
return CustomObjectPageLayout.basic(registration.object, {
|
|
174
|
-
...(props.section != null ? { section: props.section } : {}),
|
|
175
|
-
...(props.fields != null ?
|
|
176
|
-
{ fields: props.fields.map((field) => resolveTypedManifestField(registration, field)) }
|
|
177
|
-
: {}),
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
//# sourceMappingURL=page-layout.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-layout.mjs","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/page-layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { Category, CustomObject, type ManifestScope } from "../../../../lib/manifest.mjs";
|
|
2
|
-
import type { AnyCustomObjectDefinition } from "../../custom-objects/types.mjs";
|
|
3
|
-
import type { ManifestRegistration } from "./types.mjs";
|
|
4
|
-
/**
|
|
5
|
-
* Options for {@link registerManifestCustomObject}.
|
|
6
|
-
*
|
|
7
|
-
* @typeParam TDefinition - Object definition being materialized into manifest classes.
|
|
8
|
-
*/
|
|
9
|
-
export interface RegisterManifestCustomObjectOptions<TDefinition extends AnyCustomObjectDefinition> {
|
|
10
|
-
/** Custom-object definition authored through the typed schema layer. */
|
|
11
|
-
readonly definition: TDefinition;
|
|
12
|
-
/** Category instance already registered in the manifest. */
|
|
13
|
-
readonly category: Category;
|
|
14
|
-
/**
|
|
15
|
-
* Optional fallback section used by fields that omit an explicit section key.
|
|
16
|
-
*
|
|
17
|
-
* Manifest field classes require a concrete `CustomObjectFieldSection`. The
|
|
18
|
-
* typed definition layer keeps sections optional so teams can reuse schemas in
|
|
19
|
-
* contexts that do not care about page-layout concerns. When materializing the
|
|
20
|
-
* schema into manifest components, use this fallback to place section-less
|
|
21
|
-
* fields somewhere deterministic.
|
|
22
|
-
*/
|
|
23
|
-
readonly defaultSection?: {
|
|
24
|
-
readonly name: string;
|
|
25
|
-
readonly sectionId?: string;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Resolver used for relationship fields that target another custom object.
|
|
29
|
-
*
|
|
30
|
-
* Lookup fields can compile from the target api name alone, but parent-child
|
|
31
|
-
* fields need the concrete manifest {@link CustomObject} instance.
|
|
32
|
-
*/
|
|
33
|
-
readonly resolveCustomObjectTarget?: (apiName: string) => CustomObject;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Options for {@link registerManifestCustomObjects}.
|
|
37
|
-
*
|
|
38
|
-
* @typeParam TDefinitions - Ordered tuple of object definitions being materialized.
|
|
39
|
-
*/
|
|
40
|
-
export interface RegisterManifestCustomObjectsOptions<TDefinitions extends readonly AnyCustomObjectDefinition[]> {
|
|
41
|
-
/** Ordered tuple of typed custom-object definitions to register. */
|
|
42
|
-
readonly definitions: TDefinitions;
|
|
43
|
-
/** Category instance already registered in the manifest. */
|
|
44
|
-
readonly category: Category;
|
|
45
|
-
/** Shared fallback section applied to any definition field that omits `section`. */
|
|
46
|
-
readonly defaultSection?: {
|
|
47
|
-
readonly name: string;
|
|
48
|
-
readonly sectionId?: string;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Registration tuple returned by {@link registerManifestCustomObjects}.
|
|
53
|
-
*
|
|
54
|
-
* @typeParam TDefinitions - Ordered tuple of object definitions that were registered.
|
|
55
|
-
*/
|
|
56
|
-
export type ManifestRegistrationTuple<TDefinitions extends readonly AnyCustomObjectDefinition[]> = {
|
|
57
|
-
readonly [TIndex in keyof TDefinitions]: TDefinitions[TIndex] extends AnyCustomObjectDefinition ? ManifestRegistration<TDefinitions[TIndex]> : never;
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Materializes a typed custom-object definition into the existing manifest API.
|
|
61
|
-
*
|
|
62
|
-
* The returned value preserves logical field keys, but each field becomes a
|
|
63
|
-
* concrete manifest class instance (`TextField`, `LookupField`, ...). This lets
|
|
64
|
-
* existing page-layout, list-view, and rule APIs keep working while authors use
|
|
65
|
-
* a cleaner logical-name authoring model.
|
|
66
|
-
*
|
|
67
|
-
* @param scope - Manifest scope that should own the created manifest components.
|
|
68
|
-
* @param options - Typed object definition plus manifest-specific registration options.
|
|
69
|
-
* @returns Frozen manifest registration preserving both typed logical keys and concrete manifest instances.
|
|
70
|
-
* @typeParam TDefinition - Object definition being materialized into manifest classes.
|
|
71
|
-
*/
|
|
72
|
-
export declare function registerManifestCustomObject<TDefinition extends AnyCustomObjectDefinition>(scope: ManifestScope, options: RegisterManifestCustomObjectOptions<TDefinition>): ManifestRegistration<TDefinition>;
|
|
73
|
-
/**
|
|
74
|
-
* Materializes multiple typed custom-object definitions into manifest classes in one pass.
|
|
75
|
-
*
|
|
76
|
-
* This helper is the higher-level golden path for multi-object examples: it
|
|
77
|
-
* creates every manifest object and section first, then registers fields in a
|
|
78
|
-
* second pass so parent-child relationships can target objects declared earlier
|
|
79
|
-
* or later in the input tuple.
|
|
80
|
-
*
|
|
81
|
-
* @param scope - Manifest scope that should own the created manifest components.
|
|
82
|
-
* @param options - Ordered tuple of typed object definitions plus shared manifest registration options.
|
|
83
|
-
* @returns Ordered tuple of manifest registrations matching the input definition order.
|
|
84
|
-
* @typeParam TDefinitions - Ordered tuple of object definitions being materialized.
|
|
85
|
-
*/
|
|
86
|
-
export declare function registerManifestCustomObjects<TDefinitions extends readonly AnyCustomObjectDefinition[]>(scope: ManifestScope, options: RegisterManifestCustomObjectsOptions<TDefinitions>): ManifestRegistrationTuple<TDefinitions>;
|
|
87
|
-
//# sourceMappingURL=register.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.mts","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAER,YAAY,EAkBZ,KAAK,aAAa,EACnB,qCAAiC;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAsB,uCAAmC;AAChG,OAAO,KAAK,EAA8B,oBAAoB,EAAE,oBAAgB;AAEhF;;;;GAIG;AACH,MAAM,WAAW,mCAAmC,CAAC,WAAW,SAAS,yBAAyB;IAChG,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF;;;;;OAKG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC;CACxE;AAED;;;;GAIG;AACH,MAAM,WAAW,oCAAoC,CACnD,YAAY,SAAS,SAAS,yBAAyB,EAAE;IAEzD,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,oFAAoF;IACpF,QAAQ,CAAC,cAAc,CAAC,EAAE;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAUD;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,CAAC,YAAY,SAAS,SAAS,yBAAyB,EAAE,IAAI;IACjG,QAAQ,EAAE,MAAM,IAAI,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,yBAAyB,GAC7F,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAC1C,KAAK;CACR,CAAC;AAgYF;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,SAAS,yBAAyB,EACxF,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,mCAAmC,CAAC,WAAW,CAAC,GACxD,oBAAoB,CAAC,WAAW,CAAC,CAWnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,SAAS,SAAS,yBAAyB,EAAE,EACrG,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,oCAAoC,CAAC,YAAY,CAAC,GAC1D,yBAAyB,CAAC,YAAY,CAAC,CA8BzC"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { Category, CustomObject, type ManifestScope } from "../../../../lib/manifest.js";
|
|
2
|
-
import type { AnyCustomObjectDefinition } from "../../custom-objects/types.js";
|
|
3
|
-
import type { ManifestRegistration } from "./types.js";
|
|
4
|
-
/**
|
|
5
|
-
* Options for {@link registerManifestCustomObject}.
|
|
6
|
-
*
|
|
7
|
-
* @typeParam TDefinition - Object definition being materialized into manifest classes.
|
|
8
|
-
*/
|
|
9
|
-
export interface RegisterManifestCustomObjectOptions<TDefinition extends AnyCustomObjectDefinition> {
|
|
10
|
-
/** Custom-object definition authored through the typed schema layer. */
|
|
11
|
-
readonly definition: TDefinition;
|
|
12
|
-
/** Category instance already registered in the manifest. */
|
|
13
|
-
readonly category: Category;
|
|
14
|
-
/**
|
|
15
|
-
* Optional fallback section used by fields that omit an explicit section key.
|
|
16
|
-
*
|
|
17
|
-
* Manifest field classes require a concrete `CustomObjectFieldSection`. The
|
|
18
|
-
* typed definition layer keeps sections optional so teams can reuse schemas in
|
|
19
|
-
* contexts that do not care about page-layout concerns. When materializing the
|
|
20
|
-
* schema into manifest components, use this fallback to place section-less
|
|
21
|
-
* fields somewhere deterministic.
|
|
22
|
-
*/
|
|
23
|
-
readonly defaultSection?: {
|
|
24
|
-
readonly name: string;
|
|
25
|
-
readonly sectionId?: string;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Resolver used for relationship fields that target another custom object.
|
|
29
|
-
*
|
|
30
|
-
* Lookup fields can compile from the target api name alone, but parent-child
|
|
31
|
-
* fields need the concrete manifest {@link CustomObject} instance.
|
|
32
|
-
*/
|
|
33
|
-
readonly resolveCustomObjectTarget?: (apiName: string) => CustomObject;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Options for {@link registerManifestCustomObjects}.
|
|
37
|
-
*
|
|
38
|
-
* @typeParam TDefinitions - Ordered tuple of object definitions being materialized.
|
|
39
|
-
*/
|
|
40
|
-
export interface RegisterManifestCustomObjectsOptions<TDefinitions extends readonly AnyCustomObjectDefinition[]> {
|
|
41
|
-
/** Ordered tuple of typed custom-object definitions to register. */
|
|
42
|
-
readonly definitions: TDefinitions;
|
|
43
|
-
/** Category instance already registered in the manifest. */
|
|
44
|
-
readonly category: Category;
|
|
45
|
-
/** Shared fallback section applied to any definition field that omits `section`. */
|
|
46
|
-
readonly defaultSection?: {
|
|
47
|
-
readonly name: string;
|
|
48
|
-
readonly sectionId?: string;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Registration tuple returned by {@link registerManifestCustomObjects}.
|
|
53
|
-
*
|
|
54
|
-
* @typeParam TDefinitions - Ordered tuple of object definitions that were registered.
|
|
55
|
-
*/
|
|
56
|
-
export type ManifestRegistrationTuple<TDefinitions extends readonly AnyCustomObjectDefinition[]> = {
|
|
57
|
-
readonly [TIndex in keyof TDefinitions]: TDefinitions[TIndex] extends AnyCustomObjectDefinition ? ManifestRegistration<TDefinitions[TIndex]> : never;
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Materializes a typed custom-object definition into the existing manifest API.
|
|
61
|
-
*
|
|
62
|
-
* The returned value preserves logical field keys, but each field becomes a
|
|
63
|
-
* concrete manifest class instance (`TextField`, `LookupField`, ...). This lets
|
|
64
|
-
* existing page-layout, list-view, and rule APIs keep working while authors use
|
|
65
|
-
* a cleaner logical-name authoring model.
|
|
66
|
-
*
|
|
67
|
-
* @param scope - Manifest scope that should own the created manifest components.
|
|
68
|
-
* @param options - Typed object definition plus manifest-specific registration options.
|
|
69
|
-
* @returns Frozen manifest registration preserving both typed logical keys and concrete manifest instances.
|
|
70
|
-
* @typeParam TDefinition - Object definition being materialized into manifest classes.
|
|
71
|
-
*/
|
|
72
|
-
export declare function registerManifestCustomObject<TDefinition extends AnyCustomObjectDefinition>(scope: ManifestScope, options: RegisterManifestCustomObjectOptions<TDefinition>): ManifestRegistration<TDefinition>;
|
|
73
|
-
/**
|
|
74
|
-
* Materializes multiple typed custom-object definitions into manifest classes in one pass.
|
|
75
|
-
*
|
|
76
|
-
* This helper is the higher-level golden path for multi-object examples: it
|
|
77
|
-
* creates every manifest object and section first, then registers fields in a
|
|
78
|
-
* second pass so parent-child relationships can target objects declared earlier
|
|
79
|
-
* or later in the input tuple.
|
|
80
|
-
*
|
|
81
|
-
* @param scope - Manifest scope that should own the created manifest components.
|
|
82
|
-
* @param options - Ordered tuple of typed object definitions plus shared manifest registration options.
|
|
83
|
-
* @returns Ordered tuple of manifest registrations matching the input definition order.
|
|
84
|
-
* @typeParam TDefinitions - Ordered tuple of object definitions being materialized.
|
|
85
|
-
*/
|
|
86
|
-
export declare function registerManifestCustomObjects<TDefinitions extends readonly AnyCustomObjectDefinition[]>(scope: ManifestScope, options: RegisterManifestCustomObjectsOptions<TDefinitions>): ManifestRegistrationTuple<TDefinitions>;
|
|
87
|
-
//# sourceMappingURL=register.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/core/platform/manifest/custom-objects/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAER,YAAY,EAkBZ,KAAK,aAAa,EACnB,oCAAiC;AAClC,OAAO,KAAK,EAAE,yBAAyB,EAAsB,sCAAmC;AAChG,OAAO,KAAK,EAA8B,oBAAoB,EAAE,mBAAgB;AAEhF;;;;GAIG;AACH,MAAM,WAAW,mCAAmC,CAAC,WAAW,SAAS,yBAAyB;IAChG,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF;;;;;OAKG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC;CACxE;AAED;;;;GAIG;AACH,MAAM,WAAW,oCAAoC,CACnD,YAAY,SAAS,SAAS,yBAAyB,EAAE;IAEzD,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,oFAAoF;IACpF,QAAQ,CAAC,cAAc,CAAC,EAAE;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAUD;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,CAAC,YAAY,SAAS,SAAS,yBAAyB,EAAE,IAAI;IACjG,QAAQ,EAAE,MAAM,IAAI,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,yBAAyB,GAC7F,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAC1C,KAAK;CACR,CAAC;AAgYF;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,SAAS,yBAAyB,EACxF,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,mCAAmC,CAAC,WAAW,CAAC,GACxD,oBAAoB,CAAC,WAAW,CAAC,CAWnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,SAAS,SAAS,yBAAyB,EAAE,EACrG,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,oCAAoC,CAAC,YAAY,CAAC,GAC1D,yBAAyB,CAAC,YAAY,CAAC,CA8BzC"}
|