@rippling/rippling-sdk 0.2.0-alpha.38 → 0.2.0-alpha.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/lib/manifest/app.d.mts +11 -1
  2. package/lib/manifest/app.d.mts.map +1 -1
  3. package/lib/manifest/app.d.ts +11 -1
  4. package/lib/manifest/app.d.ts.map +1 -1
  5. package/lib/manifest/app.js +42 -1
  6. package/lib/manifest/app.js.map +1 -1
  7. package/lib/manifest/app.mjs +42 -1
  8. package/lib/manifest/app.mjs.map +1 -1
  9. package/lib/manifest/category.d.mts +10 -1
  10. package/lib/manifest/category.d.mts.map +1 -1
  11. package/lib/manifest/category.d.ts +10 -1
  12. package/lib/manifest/category.d.ts.map +1 -1
  13. package/lib/manifest/category.js +23 -1
  14. package/lib/manifest/category.js.map +1 -1
  15. package/lib/manifest/category.mjs +23 -1
  16. package/lib/manifest/category.mjs.map +1 -1
  17. package/lib/manifest/custom-object-field-section.d.mts +13 -0
  18. package/lib/manifest/custom-object-field-section.d.mts.map +1 -1
  19. package/lib/manifest/custom-object-field-section.d.ts +13 -0
  20. package/lib/manifest/custom-object-field-section.d.ts.map +1 -1
  21. package/lib/manifest/custom-object-field-section.js +22 -1
  22. package/lib/manifest/custom-object-field-section.js.map +1 -1
  23. package/lib/manifest/custom-object-field-section.mjs +22 -1
  24. package/lib/manifest/custom-object-field-section.mjs.map +1 -1
  25. package/lib/manifest/custom-object-page-layout.d.mts +21 -0
  26. package/lib/manifest/custom-object-page-layout.d.mts.map +1 -1
  27. package/lib/manifest/custom-object-page-layout.d.ts +21 -0
  28. package/lib/manifest/custom-object-page-layout.d.ts.map +1 -1
  29. package/lib/manifest/custom-object-page-layout.js +41 -1
  30. package/lib/manifest/custom-object-page-layout.js.map +1 -1
  31. package/lib/manifest/custom-object-page-layout.mjs +41 -1
  32. package/lib/manifest/custom-object-page-layout.mjs.map +1 -1
  33. package/lib/manifest/custom-object.d.mts +11 -1
  34. package/lib/manifest/custom-object.d.mts.map +1 -1
  35. package/lib/manifest/custom-object.d.ts +11 -1
  36. package/lib/manifest/custom-object.d.ts.map +1 -1
  37. package/lib/manifest/custom-object.js +55 -2
  38. package/lib/manifest/custom-object.js.map +1 -1
  39. package/lib/manifest/custom-object.mjs +55 -2
  40. package/lib/manifest/custom-object.mjs.map +1 -1
  41. package/lib/manifest/existing-manifest-context.d.mts +87 -0
  42. package/lib/manifest/existing-manifest-context.d.mts.map +1 -0
  43. package/lib/manifest/existing-manifest-context.d.ts +87 -0
  44. package/lib/manifest/existing-manifest-context.d.ts.map +1 -0
  45. package/lib/manifest/existing-manifest-context.js +511 -0
  46. package/lib/manifest/existing-manifest-context.js.map +1 -0
  47. package/lib/manifest/existing-manifest-context.mjs +506 -0
  48. package/lib/manifest/existing-manifest-context.mjs.map +1 -0
  49. package/lib/manifest/field.d.mts +24 -0
  50. package/lib/manifest/field.d.mts.map +1 -1
  51. package/lib/manifest/field.d.ts +24 -0
  52. package/lib/manifest/field.d.ts.map +1 -1
  53. package/lib/manifest/field.js +114 -1
  54. package/lib/manifest/field.js.map +1 -1
  55. package/lib/manifest/field.mjs +114 -1
  56. package/lib/manifest/field.mjs.map +1 -1
  57. package/lib/manifest/index.d.mts +8 -7
  58. package/lib/manifest/index.d.mts.map +1 -1
  59. package/lib/manifest/index.d.ts +8 -7
  60. package/lib/manifest/index.d.ts.map +1 -1
  61. package/lib/manifest/index.js +3 -1
  62. package/lib/manifest/index.js.map +1 -1
  63. package/lib/manifest/index.mjs +5 -4
  64. package/lib/manifest/index.mjs.map +1 -1
  65. package/lib/manifest/list-view.d.mts +17 -0
  66. package/lib/manifest/list-view.d.mts.map +1 -1
  67. package/lib/manifest/list-view.d.ts +17 -0
  68. package/lib/manifest/list-view.d.ts.map +1 -1
  69. package/lib/manifest/list-view.js +38 -1
  70. package/lib/manifest/list-view.js.map +1 -1
  71. package/lib/manifest/list-view.mjs +38 -1
  72. package/lib/manifest/list-view.mjs.map +1 -1
  73. package/lib/manifest/manifest-builder.d.mts +59 -6
  74. package/lib/manifest/manifest-builder.d.mts.map +1 -1
  75. package/lib/manifest/manifest-builder.d.ts +59 -6
  76. package/lib/manifest/manifest-builder.d.ts.map +1 -1
  77. package/lib/manifest/manifest-builder.js +61 -3
  78. package/lib/manifest/manifest-builder.js.map +1 -1
  79. package/lib/manifest/manifest-builder.mjs +61 -3
  80. package/lib/manifest/manifest-builder.mjs.map +1 -1
  81. package/lib/manifest/manifest-function.d.mts +10 -1
  82. package/lib/manifest/manifest-function.d.mts.map +1 -1
  83. package/lib/manifest/manifest-function.d.ts +10 -1
  84. package/lib/manifest/manifest-function.d.ts.map +1 -1
  85. package/lib/manifest/manifest-function.js +36 -1
  86. package/lib/manifest/manifest-function.js.map +1 -1
  87. package/lib/manifest/manifest-function.mjs +36 -1
  88. package/lib/manifest/manifest-function.mjs.map +1 -1
  89. package/lib/manifest/rule.d.mts +17 -0
  90. package/lib/manifest/rule.d.mts.map +1 -1
  91. package/lib/manifest/rule.d.ts +17 -0
  92. package/lib/manifest/rule.d.ts.map +1 -1
  93. package/lib/manifest/rule.js +45 -1
  94. package/lib/manifest/rule.js.map +1 -1
  95. package/lib/manifest/rule.mjs +45 -1
  96. package/lib/manifest/rule.mjs.map +1 -1
  97. package/lib/manifest/sdui-page.d.mts +10 -1
  98. package/lib/manifest/sdui-page.d.mts.map +1 -1
  99. package/lib/manifest/sdui-page.d.ts +10 -1
  100. package/lib/manifest/sdui-page.d.ts.map +1 -1
  101. package/lib/manifest/sdui-page.js +28 -1
  102. package/lib/manifest/sdui-page.js.map +1 -1
  103. package/lib/manifest/sdui-page.mjs +28 -1
  104. package/lib/manifest/sdui-page.mjs.map +1 -1
  105. package/lib/manifest/validation.d.mts +17 -0
  106. package/lib/manifest/validation.d.mts.map +1 -1
  107. package/lib/manifest/validation.d.ts +17 -0
  108. package/lib/manifest/validation.d.ts.map +1 -1
  109. package/lib/manifest/validation.js +31 -1
  110. package/lib/manifest/validation.js.map +1 -1
  111. package/lib/manifest/validation.mjs +31 -1
  112. package/lib/manifest/validation.mjs.map +1 -1
  113. package/package.json +1 -1
  114. package/src/lib/manifest/app.ts +46 -2
  115. package/src/lib/manifest/category.ts +28 -2
  116. package/src/lib/manifest/custom-object-field-section.ts +37 -1
  117. package/src/lib/manifest/custom-object-page-layout.ts +61 -1
  118. package/src/lib/manifest/custom-object.ts +58 -3
  119. package/src/lib/manifest/existing-manifest-context.ts +673 -0
  120. package/src/lib/manifest/field.ts +140 -1
  121. package/src/lib/manifest/index.ts +39 -4
  122. package/src/lib/manifest/list-view.ts +50 -1
  123. package/src/lib/manifest/manifest-builder.ts +114 -4
  124. package/src/lib/manifest/manifest-function.ts +36 -2
  125. package/src/lib/manifest/rule.ts +60 -1
  126. package/src/lib/manifest/sdui-page.ts +37 -2
  127. package/src/lib/manifest/validation.ts +48 -1
  128. package/src/version.ts +1 -1
  129. package/version.d.mts +1 -1
  130. package/version.d.ts +1 -1
  131. package/version.js +1 -1
  132. package/version.mjs +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":";AAAA,2EAA2E;;;AAE3E,0CAeoB;AAdlB,sGAAA,UAAU,OAAA;AAgBZ,gCAAuE;AAA9D,0FAAA,GAAG,OAAA;AAEZ,0CAA0D;AAAjD,oGAAA,QAAQ,OAAA;AAEjB,oDAAwF;AAA/E,6GAAA,YAAY,OAAA;AAErB,gFAA6G;AAApG,uIAAA,wBAAwB,OAAA;AAEjC,4EAoBqC;AAnBnC,mIAAA,sBAAsB,OAAA;AAqBxB,oCA6CiB;AA5Cf,8FAAA,KAAK,OAAA;AAIL,0EAA0E;AAC1E,qEAAqE;AACrE,kGAAA,SAAS,OAAA;AAET,sGAAA,aAAa,OAAA;AAEb,mGAAA,UAAU,OAAA;AAEV,iGAAA,QAAQ,OAAA;AAER,mGAAA,UAAU,OAAA;AAEV,oGAAA,WAAW,OAAA;AAEX,sGAAA,aAAa,OAAA;AAEb,wGAAA,eAAe,OAAA;AAEf,kGAAA,SAAS,OAAA;AAET,sGAAA,aAAa,OAAA;AAEb,kGAAA,SAAS,OAAA;AAET,oGAAA,WAAW,OAAA;AAEX,mGAAA,UAAU,OAAA;AAEV,qGAAA,YAAY,OAAA;AAEZ,kGAAA,SAAS,OAAA;AAET,oGAAA,WAAW,OAAA;AAEX,yGAAA,gBAAgB,OAAA;AAEhB,qGAAA,YAAY,OAAA;AAEZ,qGAAA,YAAY,OAAA;AAId,4CAAiE;AAAxD,wGAAA,WAAW,OAAA;AAEpB,0DAK4B;AAJ1B,mHAAA,eAAe,OAAA;AAMjB,4DAI6B;AAH3B,qHAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAY;AAI9B,kCAA+D;AAAtD,4FAAA,IAAI,OAAA;AAEb,4CAA2D;AAAlD,qGAAA,QAAQ,OAAA;AAEjB,8CAAgE;AAAvD,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":";AAAA,2EAA2E;;;AAE3E,0CAeoB;AAdlB,sGAAA,UAAU,OAAA;AAgBZ,gCAAuE;AAA9D,0FAAA,GAAG,OAAA;AAEZ,0CAA0D;AAAjD,oGAAA,QAAQ,OAAA;AAEjB,oDAAwF;AAA/E,6GAAA,YAAY,OAAA;AAErB,gFAIuC;AAHrC,uIAAA,wBAAwB,OAAA;AAK1B,4EAsBqC;AArBnC,mIAAA,sBAAsB,OAAA;AAuBxB,oCA+CiB;AA9Cf,8FAAA,KAAK,OAAA;AAML,0EAA0E;AAC1E,qEAAqE;AACrE,kGAAA,SAAS,OAAA;AAET,sGAAA,aAAa,OAAA;AAEb,mGAAA,UAAU,OAAA;AAEV,iGAAA,QAAQ,OAAA;AAER,mGAAA,UAAU,OAAA;AAEV,oGAAA,WAAW,OAAA;AAEX,sGAAA,aAAa,OAAA;AAEb,wGAAA,eAAe,OAAA;AAEf,kGAAA,SAAS,OAAA;AAET,sGAAA,aAAa,OAAA;AAEb,kGAAA,SAAS,OAAA;AAET,oGAAA,WAAW,OAAA;AAEX,mGAAA,UAAU,OAAA;AAEV,qGAAA,YAAY,OAAA;AAEZ,kGAAA,SAAS,OAAA;AAET,oGAAA,WAAW,OAAA;AAEX,yGAAA,gBAAgB,OAAA;AAEhB,qGAAA,YAAY,OAAA;AAEZ,qGAAA,YAAY,OAAA;AAId,4EAKqC;AAJnC,oIAAA,uBAAuB,OAAA;AAMzB,4CAKqB;AAJnB,wGAAA,WAAW,OAAA;AAMb,0DAS4B;AAR1B,mHAAA,eAAe,OAAA;AAUjB,4DAI6B;AAH3B,qHAAA,gBAAgB,OAAA;AAChB,6GAAA,gBAAgB,OAAY;AAI9B,kCAMgB;AALd,4FAAA,IAAI,OAAA;AAON,4CAA2D;AAAlD,qGAAA,QAAQ,OAAA;AAEjB,8CAKsB;AAJpB,wGAAA,UAAU,OAAA"}
@@ -3,16 +3,17 @@ export { generateId, } from "./_helpers.mjs";
3
3
  export { App } from "./app.mjs";
4
4
  export { Category } from "./category.mjs";
5
5
  export { CustomObject } from "./custom-object.mjs";
6
- export { CustomObjectFieldSection } from "./custom-object-field-section.mjs";
6
+ export { CustomObjectFieldSection, } from "./custom-object-field-section.mjs";
7
7
  export { CustomObjectPageLayout, } from "./custom-object-page-layout.mjs";
8
8
  export { Field,
9
9
  // Concrete field variants (one class per wire-level field type, mirroring
10
10
  // AWS CDK's per-action-class pattern in `aws-codepipeline-actions`).
11
11
  TextField, LongTextField, EmailField, UrlField, PhoneField, NumberField, CurrencyField, PercentageField, DateField, DatetimeField, TimeField, SelectField, RadioField, BooleanField, FileField, LookupField, ParentChildField, FormulaField, SummaryField, } from "./field.mjs";
12
- export { ListViewDef } from "./list-view.mjs";
12
+ export { ExistingManifestContext, } from "./existing-manifest-context.mjs";
13
+ export { ListViewDef, } from "./list-view.mjs";
13
14
  export { ManifestBuilder, } from "./manifest-builder.mjs";
14
15
  export { ManifestFunction, ManifestFunction as Function, } from "./manifest-function.mjs";
15
- export { Rule } from "./rule.mjs";
16
+ export { Rule, } from "./rule.mjs";
16
17
  export { SduiPage } from "./sdui-page.mjs";
17
- export { Validation } from "./validation.mjs";
18
+ export { Validation, } from "./validation.mjs";
18
19
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;OAEpE,EACL,UAAU,GAcX;OAEM,EAAE,GAAG,EAA6C;OAElD,EAAE,QAAQ,EAAsB;OAEhC,EAAE,YAAY,EAA2C;OAEzD,EAAE,wBAAwB,EAAsC;OAEhE,EACL,sBAAsB,GAmBvB;OAEM,EACL,KAAK;AAIL,0EAA0E;AAC1E,qEAAqE;AACrE,SAAS,EAET,aAAa,EAEb,UAAU,EAEV,QAAQ,EAER,UAAU,EAEV,WAAW,EAEX,aAAa,EAEb,eAAe,EAEf,SAAS,EAET,aAAa,EAEb,SAAS,EAET,WAAW,EAEX,UAAU,EAEV,YAAY,EAEZ,SAAS,EAET,WAAW,EAEX,gBAAgB,EAEhB,YAAY,EAEZ,YAAY,GAEb;OAEM,EAAE,WAAW,EAAyB;OAEtC,EACL,eAAe,GAIhB;OAEM,EACL,gBAAgB,EAChB,gBAAgB,IAAI,QAAQ,GAE7B;OAEM,EAAE,IAAI,EAAmC;OAEzC,EAAE,QAAQ,EAAsB;OAEhC,EAAE,UAAU,EAAwB"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;OAEpE,EACL,UAAU,GAcX;OAEM,EAAE,GAAG,EAA6C;OAElD,EAAE,QAAQ,EAAsB;OAEhC,EAAE,YAAY,EAA2C;OAEzD,EACL,wBAAwB,GAGzB;OAEM,EACL,sBAAsB,GAqBvB;OAEM,EACL,KAAK;AAML,0EAA0E;AAC1E,qEAAqE;AACrE,SAAS,EAET,aAAa,EAEb,UAAU,EAEV,QAAQ,EAER,UAAU,EAEV,WAAW,EAEX,aAAa,EAEb,eAAe,EAEf,SAAS,EAET,aAAa,EAEb,SAAS,EAET,WAAW,EAEX,UAAU,EAEV,YAAY,EAEZ,SAAS,EAET,WAAW,EAEX,gBAAgB,EAEhB,YAAY,EAEZ,YAAY,GAEb;OAEM,EACL,uBAAuB,GAIxB;OAEM,EACL,WAAW,GAIZ;OAEM,EACL,eAAe,GAQhB;OAEM,EACL,gBAAgB,EAChB,gBAAgB,IAAI,QAAQ,GAE7B;OAEM,EACL,IAAI,GAKL;OAEM,EAAE,QAAQ,EAAsB;OAEhC,EACL,UAAU,GAIX"}
@@ -1,6 +1,12 @@
1
1
  import { type ObjectScope, type SortOrder } from "./_helpers.mjs";
2
2
  import type { CustomObject } from "./custom-object.mjs";
3
+ import { type ExistingManifestContextOptions } from "./existing-manifest-context.mjs";
3
4
  import type { Field } from "./field.mjs";
5
+ import type { ManifestComponentDeletion } from "./manifest-builder.mjs";
6
+ export interface ListViewDeletionIdentifier {
7
+ viewId: string;
8
+ objectRqlName: string;
9
+ }
4
10
  /**
5
11
  * Initialization properties for {@link ListViewDef}.
6
12
  */
@@ -68,6 +74,9 @@ export interface ListViewDefProps {
68
74
  */
69
75
  rqlFilter?: string;
70
76
  }
77
+ export interface ListViewDefLoadFromExistingOptions extends ExistingManifestContextOptions {
78
+ customObjectApiName?: string;
79
+ }
71
80
  /**
72
81
  * Defines a list view and registers it with the manifest.
73
82
  *
@@ -102,6 +111,8 @@ export interface ListViewDefProps {
102
111
  * ```
103
112
  */
104
113
  export declare class ListViewDef {
114
+ static readonly componentType: "CUSTOM_OBJECT_LIST_VIEW";
115
+ static toDeletionIdentifier(identifier: ListViewDeletionIdentifier): ManifestComponentDeletion;
105
116
  private readonly _viewId;
106
117
  private readonly _customObjectApiName;
107
118
  private readonly _name;
@@ -119,6 +130,12 @@ export declare class ListViewDef {
119
130
  * @throws {Error} If `name` is empty, `fields` is empty, or `sortOrder` is set without `orderBy`.
120
131
  */
121
132
  constructor(customObject: CustomObject, props: ListViewDefProps);
133
+ /**
134
+ * Loads this list view from the active existing-manifest JSON context.
135
+ */
136
+ static loadFromExisting(viewId: string, options?: ListViewDefLoadFromExistingOptions): ListViewDef;
137
+ /** @internal Hydrates a list view from existing manifest wire JSON. */
138
+ static _fromExistingComponent(customObject: CustomObject, component: Record<string, any>, resolveField: (apiName: string) => Field): ListViewDef;
122
139
  /**
123
140
  * Returns the stable identifier for this view (e.g. `'view_gym_all_members'`).
124
141
  */
@@ -1 +1 @@
1
- {"version":3,"file":"list-view.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/list-view.ts"],"names":[],"mappings":"OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE;OAChD,KAAK,EAAE,YAAY,EAAE;OACrB,KAAK,EAAE,KAAK,EAAE;AAErB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD;;;;OAIG;gBACS,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAsB/D;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;;;OAKG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAiB9B"}
1
+ {"version":3,"file":"list-view.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/list-view.ts"],"names":[],"mappings":"OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE;OAChD,KAAK,EAAE,YAAY,EAAE;OACrB,EAA8B,KAAK,8BAA8B,EAAE;OACnE,KAAK,EAAE,KAAK,EAAE;OACd,KAAK,EAAE,yBAAyB,EAAE;AAEzC,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kCAAmC,SAAQ,8BAA8B;IACxF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAG,yBAAyB,CAAU;IAEnE,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,0BAA0B,GAAG,yBAAyB;IAQ9F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD;;;;OAIG;gBACS,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAsB/D;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,kCAAuC,GAAG,WAAW;IAItG,uEAAuE;IACvE,MAAM,CAAC,sBAAsB,CAC3B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,GACvC,WAAW;IAgBd;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;;;OAKG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAiB9B"}
@@ -1,6 +1,12 @@
1
1
  import { type ObjectScope, type SortOrder } from "./_helpers.js";
2
2
  import type { CustomObject } from "./custom-object.js";
3
+ import { type ExistingManifestContextOptions } from "./existing-manifest-context.js";
3
4
  import type { Field } from "./field.js";
5
+ import type { ManifestComponentDeletion } from "./manifest-builder.js";
6
+ export interface ListViewDeletionIdentifier {
7
+ viewId: string;
8
+ objectRqlName: string;
9
+ }
4
10
  /**
5
11
  * Initialization properties for {@link ListViewDef}.
6
12
  */
@@ -68,6 +74,9 @@ export interface ListViewDefProps {
68
74
  */
69
75
  rqlFilter?: string;
70
76
  }
77
+ export interface ListViewDefLoadFromExistingOptions extends ExistingManifestContextOptions {
78
+ customObjectApiName?: string;
79
+ }
71
80
  /**
72
81
  * Defines a list view and registers it with the manifest.
73
82
  *
@@ -102,6 +111,8 @@ export interface ListViewDefProps {
102
111
  * ```
103
112
  */
104
113
  export declare class ListViewDef {
114
+ static readonly componentType: "CUSTOM_OBJECT_LIST_VIEW";
115
+ static toDeletionIdentifier(identifier: ListViewDeletionIdentifier): ManifestComponentDeletion;
105
116
  private readonly _viewId;
106
117
  private readonly _customObjectApiName;
107
118
  private readonly _name;
@@ -119,6 +130,12 @@ export declare class ListViewDef {
119
130
  * @throws {Error} If `name` is empty, `fields` is empty, or `sortOrder` is set without `orderBy`.
120
131
  */
121
132
  constructor(customObject: CustomObject, props: ListViewDefProps);
133
+ /**
134
+ * Loads this list view from the active existing-manifest JSON context.
135
+ */
136
+ static loadFromExisting(viewId: string, options?: ListViewDefLoadFromExistingOptions): ListViewDef;
137
+ /** @internal Hydrates a list view from existing manifest wire JSON. */
138
+ static _fromExistingComponent(customObject: CustomObject, component: Record<string, any>, resolveField: (apiName: string) => Field): ListViewDef;
122
139
  /**
123
140
  * Returns the stable identifier for this view (e.g. `'view_gym_all_members'`).
124
141
  */
@@ -1 +1 @@
1
- {"version":3,"file":"list-view.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/list-view.ts"],"names":[],"mappings":"OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE;OAChD,KAAK,EAAE,YAAY,EAAE;OACrB,KAAK,EAAE,KAAK,EAAE;AAErB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD;;;;OAIG;gBACS,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAsB/D;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;;;OAKG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAiB9B"}
1
+ {"version":3,"file":"list-view.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/list-view.ts"],"names":[],"mappings":"OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE;OAChD,KAAK,EAAE,YAAY,EAAE;OACrB,EAA8B,KAAK,8BAA8B,EAAE;OACnE,KAAK,EAAE,KAAK,EAAE;OACd,KAAK,EAAE,yBAAyB,EAAE;AAEzC,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kCAAmC,SAAQ,8BAA8B;IACxF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAG,yBAAyB,CAAU;IAEnE,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,0BAA0B,GAAG,yBAAyB;IAQ9F,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD;;;;OAIG;gBACS,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB;IAsB/D;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,kCAAuC,GAAG,WAAW;IAItG,uEAAuE;IACvE,MAAM,CAAC,sBAAsB,CAC3B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,GACvC,WAAW;IAgBd;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;;;OAKG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAiB9B"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ListViewDef = void 0;
4
4
  const _helpers_1 = require("./_helpers.js");
5
+ const existing_manifest_context_1 = require("./existing-manifest-context.js");
5
6
  /**
6
7
  * Defines a list view and registers it with the manifest.
7
8
  *
@@ -36,6 +37,13 @@ const _helpers_1 = require("./_helpers.js");
36
37
  * ```
37
38
  */
38
39
  class ListViewDef {
40
+ static toDeletionIdentifier(identifier) {
41
+ return {
42
+ type: ListViewDef.componentType,
43
+ view_id: identifier.viewId,
44
+ object_rql_name: identifier.objectRqlName,
45
+ };
46
+ }
39
47
  /**
40
48
  * @param customObject - The custom object this view belongs to.
41
49
  * @param props - Initialization properties.
@@ -63,6 +71,34 @@ class ListViewDef {
63
71
  this._rqlFilter = props.rqlFilter;
64
72
  customObject._register(this);
65
73
  }
74
+ /**
75
+ * Loads this list view from the active existing-manifest JSON context.
76
+ */
77
+ static loadFromExisting(viewId, options = {}) {
78
+ return (0, existing_manifest_context_1.getExistingManifestContext)(options).loadListView(viewId, options);
79
+ }
80
+ /** @internal Hydrates a list view from existing manifest wire JSON. */
81
+ static _fromExistingComponent(customObject, component, resolveField) {
82
+ const props = {
83
+ viewId: component['view_id'],
84
+ name: component['name'] ?? component['view_id'],
85
+ fields: (component['fields'] ?? []).map((fieldApiName) => resolveField(fieldApiName)),
86
+ isPublic: Boolean(component['public']),
87
+ };
88
+ if (component['description'] !== undefined)
89
+ props.description = component['description'];
90
+ if (component['object_scope'] !== undefined)
91
+ props.objectScope = component['object_scope'];
92
+ if (component['sort_order'] !== undefined)
93
+ props.sortOrder = component['sort_order'];
94
+ if (component['column_config'] !== undefined)
95
+ props.columnConfig = component['column_config'];
96
+ if (component['rql_filter'] !== undefined)
97
+ props.rqlFilter = component['rql_filter'];
98
+ if (component['order_by'] != null)
99
+ props.orderBy = resolveField(component['order_by']);
100
+ return new ListViewDef(customObject, props);
101
+ }
66
102
  /**
67
103
  * Returns the stable identifier for this view (e.g. `'view_gym_all_members'`).
68
104
  */
@@ -83,7 +119,7 @@ class ListViewDef {
83
119
  */
84
120
  toDict() {
85
121
  const d = {
86
- type: 'CUSTOM_OBJECT_LIST_VIEW',
122
+ type: ListViewDef.componentType,
87
123
  object_rql_name: this._customObjectApiName,
88
124
  view_id: this._viewId,
89
125
  name: this._name,
@@ -106,4 +142,5 @@ class ListViewDef {
106
142
  }
107
143
  }
108
144
  exports.ListViewDef = ListViewDef;
145
+ ListViewDef.componentType = 'CUSTOM_OBJECT_LIST_VIEW';
109
146
  //# sourceMappingURL=list-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-view.js","sourceRoot":"","sources":["../../src/lib/manifest/list-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-view.js","sourceRoot":"","sources":["../../src/lib/manifest/list-view.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { generateId } from "./_helpers.mjs";
2
+ import { getExistingManifestContext } from "./existing-manifest-context.mjs";
2
3
  /**
3
4
  * Defines a list view and registers it with the manifest.
4
5
  *
@@ -33,6 +34,13 @@ import { generateId } from "./_helpers.mjs";
33
34
  * ```
34
35
  */
35
36
  export class ListViewDef {
37
+ static toDeletionIdentifier(identifier) {
38
+ return {
39
+ type: ListViewDef.componentType,
40
+ view_id: identifier.viewId,
41
+ object_rql_name: identifier.objectRqlName,
42
+ };
43
+ }
36
44
  /**
37
45
  * @param customObject - The custom object this view belongs to.
38
46
  * @param props - Initialization properties.
@@ -60,6 +68,34 @@ export class ListViewDef {
60
68
  this._rqlFilter = props.rqlFilter;
61
69
  customObject._register(this);
62
70
  }
71
+ /**
72
+ * Loads this list view from the active existing-manifest JSON context.
73
+ */
74
+ static loadFromExisting(viewId, options = {}) {
75
+ return getExistingManifestContext(options).loadListView(viewId, options);
76
+ }
77
+ /** @internal Hydrates a list view from existing manifest wire JSON. */
78
+ static _fromExistingComponent(customObject, component, resolveField) {
79
+ const props = {
80
+ viewId: component['view_id'],
81
+ name: component['name'] ?? component['view_id'],
82
+ fields: (component['fields'] ?? []).map((fieldApiName) => resolveField(fieldApiName)),
83
+ isPublic: Boolean(component['public']),
84
+ };
85
+ if (component['description'] !== undefined)
86
+ props.description = component['description'];
87
+ if (component['object_scope'] !== undefined)
88
+ props.objectScope = component['object_scope'];
89
+ if (component['sort_order'] !== undefined)
90
+ props.sortOrder = component['sort_order'];
91
+ if (component['column_config'] !== undefined)
92
+ props.columnConfig = component['column_config'];
93
+ if (component['rql_filter'] !== undefined)
94
+ props.rqlFilter = component['rql_filter'];
95
+ if (component['order_by'] != null)
96
+ props.orderBy = resolveField(component['order_by']);
97
+ return new ListViewDef(customObject, props);
98
+ }
63
99
  /**
64
100
  * Returns the stable identifier for this view (e.g. `'view_gym_all_members'`).
65
101
  */
@@ -80,7 +116,7 @@ export class ListViewDef {
80
116
  */
81
117
  toDict() {
82
118
  const d = {
83
- type: 'CUSTOM_OBJECT_LIST_VIEW',
119
+ type: ListViewDef.componentType,
84
120
  object_rql_name: this._customObjectApiName,
85
121
  view_id: this._viewId,
86
122
  name: this._name,
@@ -102,4 +138,5 @@ export class ListViewDef {
102
138
  return d;
103
139
  }
104
140
  }
141
+ ListViewDef.componentType = 'CUSTOM_OBJECT_LIST_VIEW';
105
142
  //# sourceMappingURL=list-view.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-view.mjs","sourceRoot":"","sources":["../../src/lib/manifest/list-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-view.mjs","sourceRoot":"","sources":["../../src/lib/manifest/list-view.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAoC;OAEhD,EAAE,0BAA0B,EAAuC;AAiF1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,OAAO,WAAW;IAGtB,MAAM,CAAC,oBAAoB,CAAC,UAAsC;QAChE,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,aAAa;YAC/B,OAAO,EAAE,UAAU,CAAC,MAAM;YAC1B,eAAe,EAAE,UAAU,CAAC,aAAa;SAC1C,CAAC;IACJ,CAAC;IAcD;;;;OAIG;IACH,YAAY,YAA0B,EAAE,KAAuB;QAC7D,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAc,EAAE,UAA8C,EAAE;QACtF,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,uEAAuE;IACvE,MAAM,CAAC,sBAAsB,CAC3B,YAA0B,EAC1B,SAA8B,EAC9B,YAAwC;QAExC,MAAM,KAAK,GAAqB;YAC9B,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC;YAC5B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC;YAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,YAAoB,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC7F,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACvC,CAAC;QACF,IAAI,SAAS,CAAC,aAAa,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QACzF,IAAI,SAAS,CAAC,cAAc,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QAC3F,IAAI,SAAS,CAAC,YAAY,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,SAAS,CAAC,eAAe,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QAC9F,IAAI,SAAS,CAAC,YAAY,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI;YAAE,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACvF,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,MAAM;QACJ,MAAM,CAAC,GAAwB;YAC7B,IAAI,EAAE,WAAW,CAAC,aAAa;YAC/B,eAAe,EAAE,IAAI,CAAC,oBAAoB;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,SAAS;YACtB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SAChD,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACpE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,CAAC,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACrE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YAAE,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/D,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAAE,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QACxE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;YAAE,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;;AAjHe,yBAAa,GAAG,yBAAkC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { ExistingManifestContext, type ExistingManifestSource } from "./existing-manifest-context.mjs";
1
2
  /**
2
3
  * Any object that can be included in a manifest.
3
4
  *
@@ -7,6 +8,25 @@
7
8
  export interface ManifestComponent {
8
9
  toDict(): Record<string, any>;
9
10
  }
11
+ /**
12
+ * Wire-level component types supported by the manifest builder.
13
+ */
14
+ export type ManifestComponentType = 'CUSTOM_APP' | 'CUSTOM_CATEGORY' | 'CUSTOM_OBJECT' | 'CUSTOM_OBJECT_FIELD' | 'CUSTOM_OBJECT_FIELD_SECTION' | 'CUSTOM_OBJECT_LIST_VIEW' | 'CUSTOM_OBJECT_PAGE_LAYOUT' | 'CUSTOM_OBJECT_RECORD_TRIGGERED_FLOW' | 'CUSTOM_OBJECT_VALIDATION_RULE' | 'FUNCTION' | 'SDUI_PAGE';
15
+ /**
16
+ * Static side of a manifest component class.
17
+ */
18
+ export interface ManifestComponentClass<TIdentifierInput = unknown> {
19
+ readonly componentType: ManifestComponentType;
20
+ toDeletionIdentifier(identifier: TIdentifierInput): ManifestComponentDeletion;
21
+ new (...args: any[]): ManifestComponent;
22
+ }
23
+ /**
24
+ * A manifest component reference that should be deleted during install.
25
+ */
26
+ export interface ManifestComponentDeletion extends Record<string, any> {
27
+ /** Wire-level component type, e.g. `'CUSTOM_OBJECT'` or `'CUSTOM_OBJECT_FIELD'`. */
28
+ type: ManifestComponentType;
29
+ }
10
30
  /**
11
31
  * A scope — anything that can accept child component registrations.
12
32
  *
@@ -41,6 +61,14 @@ export interface ManifestBuilderProps {
41
61
  */
42
62
  description?: string;
43
63
  }
64
+ /**
65
+ * Plain object returned by {@link ManifestBuilder.buildManifest}.
66
+ */
67
+ export interface BuiltManifest {
68
+ metadata: Record<string, any>;
69
+ components: Record<string, any>[];
70
+ components_to_delete?: ManifestComponentDeletion[];
71
+ }
44
72
  /**
45
73
  * Root container for a manifest — collects all components and serializes them to JSON.
46
74
  *
@@ -72,31 +100,56 @@ export declare class ManifestBuilder implements ManifestScope {
72
100
  readonly name: string;
73
101
  readonly description: string;
74
102
  private readonly _components;
103
+ private readonly _componentsToDelete;
75
104
  /**
76
105
  * @param props - Initialization properties.
77
106
  * @throws {Error} If `props.key` is empty or missing.
78
107
  */
79
108
  constructor(props: ManifestBuilderProps);
109
+ /**
110
+ * Parses an existing manifest JSON blob, installs it as the active load context,
111
+ * hydrates every known component, and returns a normal `ManifestBuilder`.
112
+ */
113
+ static loadFromExistingJson(source: ExistingManifestSource): ManifestBuilder;
114
+ /**
115
+ * Parses an existing manifest JSON blob and installs it as the active lazy-load context.
116
+ *
117
+ * After calling this, individual components can be loaded with
118
+ * `CustomObjectPageLayout.loadFromExisting(...)`, `Field.loadFromExisting(...)`, etc.
119
+ */
120
+ static useExistingJson(source: ExistingManifestSource): ExistingManifestContext;
80
121
  /**
81
122
  * @internal Scope hook invoked by child constructors. Components enter the
82
123
  * manifest here — there is no other path.
83
124
  */
84
125
  _register(component: ManifestComponent): void;
85
126
  /**
86
- * Returns the manifest as a plain object with `metadata` and a flat `components` array.
127
+ * Marks a component to be deleted when this manifest is installed.
87
128
  *
88
- * @returns `{ metadata: { key, name, description? }, components: Record<string, any>[] }`
129
+ * @param componentClass - Component class, e.g. `CustomObject`.
130
+ * @param identifier - Component identifier/key, such as an api_name or the component's identifier object.
131
+ * @returns This builder for chaining.
89
132
  */
90
- buildManifest(): {
91
- metadata: Record<string, any>;
92
- components: Record<string, any>[];
93
- };
133
+ markComponentForDeletion<TIdentifierInput>(componentClass: ManifestComponentClass<TIdentifierInput>, identifier: TIdentifierInput): this;
134
+ /**
135
+ * Returns the manifest as a plain object with `metadata`, a flat `components` array,
136
+ * and a `components_to_delete` array when deletions are registered.
137
+ *
138
+ * @returns `{ metadata: { key, name, description? }, components, components_to_delete? }`
139
+ */
140
+ buildManifest(): BuiltManifest;
94
141
  /**
95
142
  * Returns the flat list of all registered component dicts.
96
143
  *
97
144
  * @returns An array of wire-format component objects, in registration order.
98
145
  */
99
146
  componentsList(): Record<string, any>[];
147
+ /**
148
+ * Returns the flat list of component deletion references.
149
+ *
150
+ * @returns An array of component identifier objects, in registration order.
151
+ */
152
+ componentsToDeleteList(): ManifestComponentDeletion[];
100
153
  /**
101
154
  * Returns the full manifest as a pretty-printed JSON string.
102
155
  *
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-builder.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IAEvD;;;OAGG;gBACS,KAAK,EAAE,oBAAoB;IASvC;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAO7C;;;;OAIG;IACH,aAAa,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;KAAE;IAYrF;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAIvC;;;;;;;OAOG;IACH,OAAO,IAAI,MAAM;CAGlB"}
1
+ {"version":3,"file":"manifest-builder.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"OAAO,EAAE,uBAAuB,EAAE,KAAK,sBAAsB,EAAE;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,qBAAqB,GACrB,6BAA6B,GAC7B,yBAAyB,GACzB,2BAA2B,GAC3B,qCAAqC,GACrC,+BAA+B,GAC/B,UAAU,GACV,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,gBAAgB,GAAG,OAAO;IAChE,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAC9C,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,yBAAyB,CAAC;IAC9E,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,iBAAiB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACpE,oFAAoF;IACpF,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,yBAAyB,EAAE,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAmC;IAEvE;;;OAGG;gBACS,KAAK,EAAE,oBAAoB;IASvC;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe;IAI5E;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,uBAAuB;IAI/E;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAO7C;;;;;;OAMG;IACH,wBAAwB,CAAC,gBAAgB,EACvC,cAAc,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,EACxD,UAAU,EAAE,gBAAgB,GAC3B,IAAI;IAuBP;;;;;OAKG;IACH,aAAa,IAAI,aAAa;IAgB9B;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAIvC;;;;OAIG;IACH,sBAAsB,IAAI,yBAAyB,EAAE;IAIrD;;;;;;;OAOG;IACH,OAAO,IAAI,MAAM;CAGlB"}
@@ -1,3 +1,4 @@
1
+ import { ExistingManifestContext, type ExistingManifestSource } from "./existing-manifest-context.js";
1
2
  /**
2
3
  * Any object that can be included in a manifest.
3
4
  *
@@ -7,6 +8,25 @@
7
8
  export interface ManifestComponent {
8
9
  toDict(): Record<string, any>;
9
10
  }
11
+ /**
12
+ * Wire-level component types supported by the manifest builder.
13
+ */
14
+ export type ManifestComponentType = 'CUSTOM_APP' | 'CUSTOM_CATEGORY' | 'CUSTOM_OBJECT' | 'CUSTOM_OBJECT_FIELD' | 'CUSTOM_OBJECT_FIELD_SECTION' | 'CUSTOM_OBJECT_LIST_VIEW' | 'CUSTOM_OBJECT_PAGE_LAYOUT' | 'CUSTOM_OBJECT_RECORD_TRIGGERED_FLOW' | 'CUSTOM_OBJECT_VALIDATION_RULE' | 'FUNCTION' | 'SDUI_PAGE';
15
+ /**
16
+ * Static side of a manifest component class.
17
+ */
18
+ export interface ManifestComponentClass<TIdentifierInput = unknown> {
19
+ readonly componentType: ManifestComponentType;
20
+ toDeletionIdentifier(identifier: TIdentifierInput): ManifestComponentDeletion;
21
+ new (...args: any[]): ManifestComponent;
22
+ }
23
+ /**
24
+ * A manifest component reference that should be deleted during install.
25
+ */
26
+ export interface ManifestComponentDeletion extends Record<string, any> {
27
+ /** Wire-level component type, e.g. `'CUSTOM_OBJECT'` or `'CUSTOM_OBJECT_FIELD'`. */
28
+ type: ManifestComponentType;
29
+ }
10
30
  /**
11
31
  * A scope — anything that can accept child component registrations.
12
32
  *
@@ -41,6 +61,14 @@ export interface ManifestBuilderProps {
41
61
  */
42
62
  description?: string;
43
63
  }
64
+ /**
65
+ * Plain object returned by {@link ManifestBuilder.buildManifest}.
66
+ */
67
+ export interface BuiltManifest {
68
+ metadata: Record<string, any>;
69
+ components: Record<string, any>[];
70
+ components_to_delete?: ManifestComponentDeletion[];
71
+ }
44
72
  /**
45
73
  * Root container for a manifest — collects all components and serializes them to JSON.
46
74
  *
@@ -72,31 +100,56 @@ export declare class ManifestBuilder implements ManifestScope {
72
100
  readonly name: string;
73
101
  readonly description: string;
74
102
  private readonly _components;
103
+ private readonly _componentsToDelete;
75
104
  /**
76
105
  * @param props - Initialization properties.
77
106
  * @throws {Error} If `props.key` is empty or missing.
78
107
  */
79
108
  constructor(props: ManifestBuilderProps);
109
+ /**
110
+ * Parses an existing manifest JSON blob, installs it as the active load context,
111
+ * hydrates every known component, and returns a normal `ManifestBuilder`.
112
+ */
113
+ static loadFromExistingJson(source: ExistingManifestSource): ManifestBuilder;
114
+ /**
115
+ * Parses an existing manifest JSON blob and installs it as the active lazy-load context.
116
+ *
117
+ * After calling this, individual components can be loaded with
118
+ * `CustomObjectPageLayout.loadFromExisting(...)`, `Field.loadFromExisting(...)`, etc.
119
+ */
120
+ static useExistingJson(source: ExistingManifestSource): ExistingManifestContext;
80
121
  /**
81
122
  * @internal Scope hook invoked by child constructors. Components enter the
82
123
  * manifest here — there is no other path.
83
124
  */
84
125
  _register(component: ManifestComponent): void;
85
126
  /**
86
- * Returns the manifest as a plain object with `metadata` and a flat `components` array.
127
+ * Marks a component to be deleted when this manifest is installed.
87
128
  *
88
- * @returns `{ metadata: { key, name, description? }, components: Record<string, any>[] }`
129
+ * @param componentClass - Component class, e.g. `CustomObject`.
130
+ * @param identifier - Component identifier/key, such as an api_name or the component's identifier object.
131
+ * @returns This builder for chaining.
89
132
  */
90
- buildManifest(): {
91
- metadata: Record<string, any>;
92
- components: Record<string, any>[];
93
- };
133
+ markComponentForDeletion<TIdentifierInput>(componentClass: ManifestComponentClass<TIdentifierInput>, identifier: TIdentifierInput): this;
134
+ /**
135
+ * Returns the manifest as a plain object with `metadata`, a flat `components` array,
136
+ * and a `components_to_delete` array when deletions are registered.
137
+ *
138
+ * @returns `{ metadata: { key, name, description? }, components, components_to_delete? }`
139
+ */
140
+ buildManifest(): BuiltManifest;
94
141
  /**
95
142
  * Returns the flat list of all registered component dicts.
96
143
  *
97
144
  * @returns An array of wire-format component objects, in registration order.
98
145
  */
99
146
  componentsList(): Record<string, any>[];
147
+ /**
148
+ * Returns the flat list of component deletion references.
149
+ *
150
+ * @returns An array of component identifier objects, in registration order.
151
+ */
152
+ componentsToDeleteList(): ManifestComponentDeletion[];
100
153
  /**
101
154
  * Returns the full manifest as a pretty-printed JSON string.
102
155
  *
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IAEvD;;;OAGG;gBACS,KAAK,EAAE,oBAAoB;IASvC;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAO7C;;;;OAIG;IACH,aAAa,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;KAAE;IAYrF;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAIvC;;;;;;;OAOG;IACH,OAAO,IAAI,MAAM;CAGlB"}
1
+ {"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/manifest-builder.ts"],"names":[],"mappings":"OAAO,EAAE,uBAAuB,EAAE,KAAK,sBAAsB,EAAE;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,qBAAqB,GACrB,6BAA6B,GAC7B,yBAAyB,GACzB,2BAA2B,GAC3B,qCAAqC,GACrC,+BAA+B,GAC/B,UAAU,GACV,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,gBAAgB,GAAG,OAAO;IAChE,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAC9C,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,yBAAyB,CAAC;IAC9E,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,iBAAiB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACpE,oFAAoF;IACpF,IAAI,EAAE,qBAAqB,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,yBAAyB,EAAE,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAmC;IAEvE;;;OAGG;gBACS,KAAK,EAAE,oBAAoB;IASvC;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe;IAI5E;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,uBAAuB;IAI/E;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAO7C;;;;;;OAMG;IACH,wBAAwB,CAAC,gBAAgB,EACvC,cAAc,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,EACxD,UAAU,EAAE,gBAAgB,GAC3B,IAAI;IAuBP;;;;;OAKG;IACH,aAAa,IAAI,aAAa;IAgB9B;;;;OAIG;IACH,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;IAIvC;;;;OAIG;IACH,sBAAsB,IAAI,yBAAyB,EAAE;IAIrD;;;;;;;OAOG;IACH,OAAO,IAAI,MAAM;CAGlB"}