@rippling/rippling-sdk 0.2.0-alpha.34 → 0.2.0-alpha.35

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 (230) hide show
  1. package/lib/manifest/app.d.mts +81 -13
  2. package/lib/manifest/app.d.mts.map +1 -1
  3. package/lib/manifest/app.d.ts +81 -13
  4. package/lib/manifest/app.d.ts.map +1 -1
  5. package/lib/manifest/app.js +37 -16
  6. package/lib/manifest/app.js.map +1 -1
  7. package/lib/manifest/app.mjs +37 -16
  8. package/lib/manifest/app.mjs.map +1 -1
  9. package/lib/manifest/category.d.mts +63 -7
  10. package/lib/manifest/category.d.mts.map +1 -1
  11. package/lib/manifest/category.d.ts +63 -7
  12. package/lib/manifest/category.d.ts.map +1 -1
  13. package/lib/manifest/category.js +45 -10
  14. package/lib/manifest/category.js.map +1 -1
  15. package/lib/manifest/category.mjs +43 -8
  16. package/lib/manifest/category.mjs.map +1 -1
  17. package/lib/manifest/custom-object-field-section.d.mts +56 -6
  18. package/lib/manifest/custom-object-field-section.d.mts.map +1 -1
  19. package/lib/manifest/custom-object-field-section.d.ts +56 -6
  20. package/lib/manifest/custom-object-field-section.d.ts.map +1 -1
  21. package/lib/manifest/custom-object-field-section.js +41 -14
  22. package/lib/manifest/custom-object-field-section.js.map +1 -1
  23. package/lib/manifest/custom-object-field-section.mjs +39 -12
  24. package/lib/manifest/custom-object-field-section.mjs.map +1 -1
  25. package/lib/manifest/custom-object-page-layout.d.mts +201 -41
  26. package/lib/manifest/custom-object-page-layout.d.mts.map +1 -1
  27. package/lib/manifest/custom-object-page-layout.d.ts +201 -41
  28. package/lib/manifest/custom-object-page-layout.d.ts.map +1 -1
  29. package/lib/manifest/custom-object-page-layout.js +76 -30
  30. package/lib/manifest/custom-object-page-layout.js.map +1 -1
  31. package/lib/manifest/custom-object-page-layout.mjs +74 -28
  32. package/lib/manifest/custom-object-page-layout.mjs.map +1 -1
  33. package/lib/manifest/custom-object.d.mts +128 -15
  34. package/lib/manifest/custom-object.d.mts.map +1 -1
  35. package/lib/manifest/custom-object.d.ts +128 -15
  36. package/lib/manifest/custom-object.d.ts.map +1 -1
  37. package/lib/manifest/custom-object.js +61 -26
  38. package/lib/manifest/custom-object.js.map +1 -1
  39. package/lib/manifest/custom-object.mjs +61 -26
  40. package/lib/manifest/custom-object.mjs.map +1 -1
  41. package/lib/manifest/field.d.mts +265 -54
  42. package/lib/manifest/field.d.mts.map +1 -1
  43. package/lib/manifest/field.d.ts +265 -54
  44. package/lib/manifest/field.d.ts.map +1 -1
  45. package/lib/manifest/field.js +100 -57
  46. package/lib/manifest/field.js.map +1 -1
  47. package/lib/manifest/field.mjs +100 -57
  48. package/lib/manifest/field.mjs.map +1 -1
  49. package/lib/manifest/list-view.d.mts +105 -14
  50. package/lib/manifest/list-view.d.mts.map +1 -1
  51. package/lib/manifest/list-view.d.ts +105 -14
  52. package/lib/manifest/list-view.d.ts.map +1 -1
  53. package/lib/manifest/list-view.js +50 -14
  54. package/lib/manifest/list-view.js.map +1 -1
  55. package/lib/manifest/list-view.mjs +48 -12
  56. package/lib/manifest/list-view.mjs.map +1 -1
  57. package/lib/manifest/manifest-builder.d.mts +77 -11
  58. package/lib/manifest/manifest-builder.d.mts.map +1 -1
  59. package/lib/manifest/manifest-builder.d.ts +77 -11
  60. package/lib/manifest/manifest-builder.d.ts.map +1 -1
  61. package/lib/manifest/manifest-builder.js +46 -24
  62. package/lib/manifest/manifest-builder.js.map +1 -1
  63. package/lib/manifest/manifest-builder.mjs +44 -22
  64. package/lib/manifest/manifest-builder.mjs.map +1 -1
  65. package/lib/manifest/manifest-function.d.mts +92 -12
  66. package/lib/manifest/manifest-function.d.mts.map +1 -1
  67. package/lib/manifest/manifest-function.d.ts +92 -12
  68. package/lib/manifest/manifest-function.d.ts.map +1 -1
  69. package/lib/manifest/manifest-function.js +40 -11
  70. package/lib/manifest/manifest-function.js.map +1 -1
  71. package/lib/manifest/manifest-function.mjs +38 -9
  72. package/lib/manifest/manifest-function.mjs.map +1 -1
  73. package/lib/manifest/rule.d.mts +94 -16
  74. package/lib/manifest/rule.d.mts.map +1 -1
  75. package/lib/manifest/rule.d.ts +94 -16
  76. package/lib/manifest/rule.d.ts.map +1 -1
  77. package/lib/manifest/rule.js +36 -15
  78. package/lib/manifest/rule.js.map +1 -1
  79. package/lib/manifest/rule.mjs +36 -15
  80. package/lib/manifest/rule.mjs.map +1 -1
  81. package/lib/manifest/sdui-page.d.mts +67 -11
  82. package/lib/manifest/sdui-page.d.mts.map +1 -1
  83. package/lib/manifest/sdui-page.d.ts +67 -11
  84. package/lib/manifest/sdui-page.d.ts.map +1 -1
  85. package/lib/manifest/sdui-page.js +44 -13
  86. package/lib/manifest/sdui-page.js.map +1 -1
  87. package/lib/manifest/sdui-page.mjs +42 -11
  88. package/lib/manifest/sdui-page.mjs.map +1 -1
  89. package/lib/manifest/validation.d.mts +87 -12
  90. package/lib/manifest/validation.d.mts.map +1 -1
  91. package/lib/manifest/validation.d.ts +87 -12
  92. package/lib/manifest/validation.d.ts.map +1 -1
  93. package/lib/manifest/validation.js +41 -15
  94. package/lib/manifest/validation.js.map +1 -1
  95. package/lib/manifest/validation.mjs +39 -13
  96. package/lib/manifest/validation.mjs.map +1 -1
  97. package/lib/sdui/actions.d.mts +25 -0
  98. package/lib/sdui/actions.d.mts.map +1 -0
  99. package/lib/sdui/actions.d.ts +25 -0
  100. package/lib/sdui/actions.d.ts.map +1 -0
  101. package/lib/sdui/actions.js +53 -0
  102. package/lib/sdui/actions.js.map +1 -0
  103. package/lib/sdui/actions.mjs +42 -0
  104. package/lib/sdui/actions.mjs.map +1 -0
  105. package/lib/sdui/component.d.mts +41 -0
  106. package/lib/sdui/component.d.mts.map +1 -0
  107. package/lib/sdui/component.d.ts +41 -0
  108. package/lib/sdui/component.d.ts.map +1 -0
  109. package/lib/sdui/component.js +95 -0
  110. package/lib/sdui/component.js.map +1 -0
  111. package/lib/sdui/component.mjs +91 -0
  112. package/lib/sdui/component.mjs.map +1 -0
  113. package/lib/sdui/components.d.mts +149 -0
  114. package/lib/sdui/components.d.mts.map +1 -0
  115. package/lib/sdui/components.d.ts +149 -0
  116. package/lib/sdui/components.d.ts.map +1 -0
  117. package/lib/sdui/components.js +303 -0
  118. package/lib/sdui/components.js.map +1 -0
  119. package/lib/sdui/components.mjs +298 -0
  120. package/lib/sdui/components.mjs.map +1 -0
  121. package/lib/sdui/conditions.d.mts +25 -0
  122. package/lib/sdui/conditions.d.mts.map +1 -0
  123. package/lib/sdui/conditions.d.ts +25 -0
  124. package/lib/sdui/conditions.d.ts.map +1 -0
  125. package/lib/sdui/conditions.js +47 -0
  126. package/lib/sdui/conditions.js.map +1 -0
  127. package/lib/sdui/conditions.mjs +35 -0
  128. package/lib/sdui/conditions.mjs.map +1 -0
  129. package/lib/sdui/directives.d.mts +18 -0
  130. package/lib/sdui/directives.d.mts.map +1 -0
  131. package/lib/sdui/directives.d.ts +18 -0
  132. package/lib/sdui/directives.d.ts.map +1 -0
  133. package/lib/sdui/directives.js +28 -0
  134. package/lib/sdui/directives.js.map +1 -0
  135. package/lib/sdui/directives.mjs +21 -0
  136. package/lib/sdui/directives.mjs.map +1 -0
  137. package/lib/sdui/index.d.mts +362 -0
  138. package/lib/sdui/index.d.mts.map +1 -0
  139. package/lib/sdui/index.d.ts +362 -0
  140. package/lib/sdui/index.d.ts.map +1 -0
  141. package/lib/sdui/index.js +375 -0
  142. package/lib/sdui/index.js.map +1 -0
  143. package/lib/sdui/index.mjs +199 -0
  144. package/lib/sdui/index.mjs.map +1 -0
  145. package/lib/sdui/props.d.mts +12 -0
  146. package/lib/sdui/props.d.mts.map +1 -0
  147. package/lib/sdui/props.d.ts +12 -0
  148. package/lib/sdui/props.d.ts.map +1 -0
  149. package/lib/sdui/props.js +25 -0
  150. package/lib/sdui/props.js.map +1 -0
  151. package/lib/sdui/props.mjs +21 -0
  152. package/lib/sdui/props.mjs.map +1 -0
  153. package/lib/sdui/render.d.mts +23 -0
  154. package/lib/sdui/render.d.mts.map +1 -0
  155. package/lib/sdui/render.d.ts +23 -0
  156. package/lib/sdui/render.d.ts.map +1 -0
  157. package/lib/sdui/render.js +40 -0
  158. package/lib/sdui/render.js.map +1 -0
  159. package/lib/sdui/render.mjs +37 -0
  160. package/lib/sdui/render.mjs.map +1 -0
  161. package/lib/sdui/state.d.mts +22 -0
  162. package/lib/sdui/state.d.mts.map +1 -0
  163. package/lib/sdui/state.d.ts +22 -0
  164. package/lib/sdui/state.d.ts.map +1 -0
  165. package/lib/sdui/state.js +57 -0
  166. package/lib/sdui/state.js.map +1 -0
  167. package/lib/sdui/state.mjs +53 -0
  168. package/lib/sdui/state.mjs.map +1 -0
  169. package/package.json +1 -1
  170. package/resources/draft-hires.d.mts +4 -0
  171. package/resources/draft-hires.d.mts.map +1 -1
  172. package/resources/draft-hires.d.ts +4 -0
  173. package/resources/draft-hires.d.ts.map +1 -1
  174. package/resources/files.d.mts +16 -1
  175. package/resources/files.d.mts.map +1 -1
  176. package/resources/files.d.ts +16 -1
  177. package/resources/files.d.ts.map +1 -1
  178. package/resources/headcount-positions.d.mts +2 -2
  179. package/resources/headcount-positions.d.mts.map +1 -1
  180. package/resources/headcount-positions.d.ts +2 -2
  181. package/resources/headcount-positions.d.ts.map +1 -1
  182. package/resources/legal-entities.d.mts +1 -1
  183. package/resources/legal-entities.d.mts.map +1 -1
  184. package/resources/legal-entities.d.ts +1 -1
  185. package/resources/legal-entities.d.ts.map +1 -1
  186. package/resources/location-factors.d.mts +2 -2
  187. package/resources/location-factors.d.mts.map +1 -1
  188. package/resources/location-factors.d.ts +2 -2
  189. package/resources/location-factors.d.ts.map +1 -1
  190. package/resources/shared.d.mts +1 -1
  191. package/resources/shared.d.mts.map +1 -1
  192. package/resources/shared.d.ts +1 -1
  193. package/resources/shared.d.ts.map +1 -1
  194. package/resources/workers.d.mts +2 -2
  195. package/resources/workers.d.mts.map +1 -1
  196. package/resources/workers.d.ts +2 -2
  197. package/resources/workers.d.ts.map +1 -1
  198. package/src/lib/manifest/app.ts +81 -26
  199. package/src/lib/manifest/category.ts +63 -14
  200. package/src/lib/manifest/custom-object-field-section.ts +56 -17
  201. package/src/lib/manifest/custom-object-page-layout.ts +201 -66
  202. package/src/lib/manifest/custom-object.ts +128 -37
  203. package/src/lib/manifest/field.ts +265 -75
  204. package/src/lib/manifest/list-view.ts +105 -25
  205. package/src/lib/manifest/manifest-builder.ts +75 -32
  206. package/src/lib/manifest/manifest-function.ts +92 -22
  207. package/src/lib/manifest/rule.ts +95 -29
  208. package/src/lib/manifest/sdui-page.ts +67 -21
  209. package/src/lib/manifest/validation.ts +87 -24
  210. package/src/lib/sdui/actions.ts +58 -0
  211. package/src/lib/sdui/component.ts +122 -0
  212. package/src/lib/sdui/components.ts +308 -0
  213. package/src/lib/sdui/conditions.ts +59 -0
  214. package/src/lib/sdui/directives.ts +42 -0
  215. package/src/lib/sdui/index.ts +365 -0
  216. package/src/lib/sdui/props.ts +32 -0
  217. package/src/lib/sdui/render.ts +58 -0
  218. package/src/lib/sdui/state.ts +60 -0
  219. package/src/resources/draft-hires.ts +5 -0
  220. package/src/resources/files.ts +18 -1
  221. package/src/resources/headcount-positions.ts +2 -0
  222. package/src/resources/legal-entities.ts +1 -0
  223. package/src/resources/location-factors.ts +2 -0
  224. package/src/resources/shared.ts +1 -0
  225. package/src/resources/workers.ts +2 -0
  226. package/src/version.ts +1 -1
  227. package/version.d.mts +1 -1
  228. package/version.d.ts +1 -1
  229. package/version.js +1 -1
  230. package/version.mjs +1 -1
@@ -2,29 +2,86 @@ import { CustomObject } from "./custom-object.mjs";
2
2
  import type { ManifestScope } from "./manifest-builder.mjs";
3
3
  import { SduiPage } from "./sdui-page.mjs";
4
4
  /**
5
- * A single page entry in an App:
6
- * - `CustomObject` → object page, tab `api_name = co.getApiName()`
7
- * - `SduiPage` → SDUI page, tab `api_name = page.getSduiPageId()`
5
+ * A single page entry in an {@link App}.
6
+ *
7
+ * - Pass a {@link CustomObject} to create an object-page tab.
8
+ * - Pass an {@link SduiPage} to create a custom SDUI surface tab.
8
9
  */
9
10
  export type AppPage = CustomObject | SduiPage;
11
+ /**
12
+ * S3 icon reference for an {@link App}.
13
+ */
10
14
  export interface AppIcon {
15
+ /** S3 bucket holding the icon asset. */
11
16
  s3Bucket: string;
17
+ /** S3 key (path) within `s3Bucket`. */
12
18
  s3Key: string;
13
19
  }
20
+ /**
21
+ * Initialization properties for {@link App}.
22
+ */
14
23
  export interface AppProps {
15
- /** Required. App api_name. */
24
+ /**
25
+ * Unique identifier for this app (e.g. `'gym_membership_management_app'`).
26
+ *
27
+ * Required.
28
+ */
16
29
  apiName: string;
17
- /** Required. Display name. */
30
+ /**
31
+ * Display name shown as the app title in the Rippling UI.
32
+ *
33
+ * Required.
34
+ */
18
35
  name: string;
19
- /** Optional. App description. @default null */
36
+ /**
37
+ * Human-readable description of what this app does.
38
+ *
39
+ * Optional. @default null
40
+ */
20
41
  description?: string;
21
- /** Optional. App type. @default 'custom' */
42
+ /**
43
+ * App type discriminator.
44
+ *
45
+ * Optional. @default `'custom'`
46
+ */
22
47
  appType?: string;
23
- /** Optional. S3 icon reference. @default null */
48
+ /**
49
+ * S3 icon for this app.
50
+ *
51
+ * Optional. @default null
52
+ */
24
53
  icon?: AppIcon;
25
- /** Optional. Pages shown as tabs in the App; order is preserved. @default [] */
54
+ /**
55
+ * Pages shown as tabs in the app. Pass {@link CustomObject} instances for object-page
56
+ * tabs and {@link SduiPage} instances for custom SDUI surfaces. Tab order matches
57
+ * the array order.
58
+ *
59
+ * Optional. @default `[]`
60
+ */
26
61
  pages?: AppPage[];
27
62
  }
63
+ /**
64
+ * Defines a Rippling app and registers it with the manifest.
65
+ *
66
+ * An app is the top-level navigation container. It groups one or more pages —
67
+ * either custom-object record pages or SDUI surfaces — as tabs visible to users.
68
+ * You would normally define the app last in your manifest file, after all objects,
69
+ * functions, and SDUI pages have been declared.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * new App(manifest, {
74
+ * apiName: 'gym_membership_management_app',
75
+ * name: 'Gym Membership Management',
76
+ * description: 'Members, trainers, schedules, and check-in',
77
+ * appType: 'custom',
78
+ * pages: [memberObj, trainerObj, sessionObj, todaySchedulePage, checkInDeskPage],
79
+ * });
80
+ * ```
81
+ *
82
+ * @see {@link CustomObject} — object-page tab source.
83
+ * @see {@link SduiPage} — SDUI surface tab source.
84
+ */
28
85
  export declare class App {
29
86
  private readonly _apiName;
30
87
  private readonly _name;
@@ -33,13 +90,24 @@ export declare class App {
33
90
  private readonly _icon;
34
91
  /** Wire-format pages, resolved eagerly at construction. */
35
92
  private readonly _pages;
36
- /** Build a new app and auto-register with `scope`; resolves page refs eagerly. */
93
+ /**
94
+ * @param scope - The manifest to register this app with.
95
+ * @param props - Initialization properties.
96
+ */
37
97
  constructor(scope: ManifestScope, props: AppProps);
38
- /** Backend api_name for this app. */
98
+ /**
99
+ * Returns the api_name of this app (e.g. `'gym_membership_management_app'`).
100
+ */
39
101
  getApiName(): string;
40
- /** Display name shown in the UI. */
102
+ /**
103
+ * Returns the display name of this app.
104
+ */
41
105
  getName(): string;
42
- /** Serialize to the backend `CUSTOM_APP` wire shape; omits unset optional fields. */
106
+ /**
107
+ * Serializes this app to the wire format consumed by the manifest install endpoint.
108
+ *
109
+ * @returns A plain object with `type: 'CUSTOM_APP'`. Optional fields are omitted when unset.
110
+ */
43
111
  toDict(): Record<string, any>;
44
112
  }
45
113
  //# sourceMappingURL=app.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAaO,EAAE,YAAY,EAAE;OAChB,KAAK,EAAE,aAAa,EAAE;OACtB,EAAE,QAAQ,EAAE;AAEnB;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAoBD,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C,kFAAkF;gBACtE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ;IAUjD,qCAAqC;IACrC,UAAU,IAAI,MAAM;IAIpB,oCAAoC;IACpC,OAAO,IAAI,MAAM;IAIjB,qFAAqF;IACrF,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAc9B"}
1
+ {"version":3,"file":"app.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAAE,YAAY,EAAE;OAChB,KAAK,EAAE,aAAa,EAAE;OACtB,EAAE,QAAQ,EAAE;AAEnB;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C;;;OAGG;gBACS,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ;IAUjD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAc9B"}
@@ -2,29 +2,86 @@ import { CustomObject } from "./custom-object.js";
2
2
  import type { ManifestScope } from "./manifest-builder.js";
3
3
  import { SduiPage } from "./sdui-page.js";
4
4
  /**
5
- * A single page entry in an App:
6
- * - `CustomObject` → object page, tab `api_name = co.getApiName()`
7
- * - `SduiPage` → SDUI page, tab `api_name = page.getSduiPageId()`
5
+ * A single page entry in an {@link App}.
6
+ *
7
+ * - Pass a {@link CustomObject} to create an object-page tab.
8
+ * - Pass an {@link SduiPage} to create a custom SDUI surface tab.
8
9
  */
9
10
  export type AppPage = CustomObject | SduiPage;
11
+ /**
12
+ * S3 icon reference for an {@link App}.
13
+ */
10
14
  export interface AppIcon {
15
+ /** S3 bucket holding the icon asset. */
11
16
  s3Bucket: string;
17
+ /** S3 key (path) within `s3Bucket`. */
12
18
  s3Key: string;
13
19
  }
20
+ /**
21
+ * Initialization properties for {@link App}.
22
+ */
14
23
  export interface AppProps {
15
- /** Required. App api_name. */
24
+ /**
25
+ * Unique identifier for this app (e.g. `'gym_membership_management_app'`).
26
+ *
27
+ * Required.
28
+ */
16
29
  apiName: string;
17
- /** Required. Display name. */
30
+ /**
31
+ * Display name shown as the app title in the Rippling UI.
32
+ *
33
+ * Required.
34
+ */
18
35
  name: string;
19
- /** Optional. App description. @default null */
36
+ /**
37
+ * Human-readable description of what this app does.
38
+ *
39
+ * Optional. @default null
40
+ */
20
41
  description?: string;
21
- /** Optional. App type. @default 'custom' */
42
+ /**
43
+ * App type discriminator.
44
+ *
45
+ * Optional. @default `'custom'`
46
+ */
22
47
  appType?: string;
23
- /** Optional. S3 icon reference. @default null */
48
+ /**
49
+ * S3 icon for this app.
50
+ *
51
+ * Optional. @default null
52
+ */
24
53
  icon?: AppIcon;
25
- /** Optional. Pages shown as tabs in the App; order is preserved. @default [] */
54
+ /**
55
+ * Pages shown as tabs in the app. Pass {@link CustomObject} instances for object-page
56
+ * tabs and {@link SduiPage} instances for custom SDUI surfaces. Tab order matches
57
+ * the array order.
58
+ *
59
+ * Optional. @default `[]`
60
+ */
26
61
  pages?: AppPage[];
27
62
  }
63
+ /**
64
+ * Defines a Rippling app and registers it with the manifest.
65
+ *
66
+ * An app is the top-level navigation container. It groups one or more pages —
67
+ * either custom-object record pages or SDUI surfaces — as tabs visible to users.
68
+ * You would normally define the app last in your manifest file, after all objects,
69
+ * functions, and SDUI pages have been declared.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * new App(manifest, {
74
+ * apiName: 'gym_membership_management_app',
75
+ * name: 'Gym Membership Management',
76
+ * description: 'Members, trainers, schedules, and check-in',
77
+ * appType: 'custom',
78
+ * pages: [memberObj, trainerObj, sessionObj, todaySchedulePage, checkInDeskPage],
79
+ * });
80
+ * ```
81
+ *
82
+ * @see {@link CustomObject} — object-page tab source.
83
+ * @see {@link SduiPage} — SDUI surface tab source.
84
+ */
28
85
  export declare class App {
29
86
  private readonly _apiName;
30
87
  private readonly _name;
@@ -33,13 +90,24 @@ export declare class App {
33
90
  private readonly _icon;
34
91
  /** Wire-format pages, resolved eagerly at construction. */
35
92
  private readonly _pages;
36
- /** Build a new app and auto-register with `scope`; resolves page refs eagerly. */
93
+ /**
94
+ * @param scope - The manifest to register this app with.
95
+ * @param props - Initialization properties.
96
+ */
37
97
  constructor(scope: ManifestScope, props: AppProps);
38
- /** Backend api_name for this app. */
98
+ /**
99
+ * Returns the api_name of this app (e.g. `'gym_membership_management_app'`).
100
+ */
39
101
  getApiName(): string;
40
- /** Display name shown in the UI. */
102
+ /**
103
+ * Returns the display name of this app.
104
+ */
41
105
  getName(): string;
42
- /** Serialize to the backend `CUSTOM_APP` wire shape; omits unset optional fields. */
106
+ /**
107
+ * Serializes this app to the wire format consumed by the manifest install endpoint.
108
+ *
109
+ * @returns A plain object with `type: 'CUSTOM_APP'`. Optional fields are omitted when unset.
110
+ */
43
111
  toDict(): Record<string, any>;
44
112
  }
45
113
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAaO,EAAE,YAAY,EAAE;OAChB,KAAK,EAAE,aAAa,EAAE;OACtB,EAAE,QAAQ,EAAE;AAEnB;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAoBD,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C,kFAAkF;gBACtE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ;IAUjD,qCAAqC;IACrC,UAAU,IAAI,MAAM;IAIpB,oCAAoC;IACpC,OAAO,IAAI,MAAM;IAIjB,qFAAqF;IACrF,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAc9B"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAAE,YAAY,EAAE;OAChB,KAAK,EAAE,aAAa,EAAE;OACtB,EAAE,QAAQ,EAAE;AAEnB;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C;;;OAGG;gBACS,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ;IAUjD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAc9B"}
@@ -1,16 +1,4 @@
1
1
  "use strict";
2
- /*
3
- * The contents of this file were inserted manually and are not generated by Stainless.
4
- *
5
- * Unity App definitions that group pages for navigation.
6
- * Backend schema: CUSTOM_APP (v2)
7
- *
8
- * Pages are declared at construction as a flat array of live refs — pass a
9
- * `CustomObject` for an object-page tab, or an `SduiPage` for a custom SDUI
10
- * surface. The tab `api_name` is derived from the ref's own identifier.
11
- * External refs (e.g. native-model `employee`, or an externally-authored
12
- * SDUI page) are not supported yet; add when a real case appears.
13
- */
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.App = void 0;
16
4
  const custom_object_1 = require("./custom-object.js");
@@ -32,8 +20,33 @@ function resolvePage(entry) {
32
20
  };
33
21
  }
34
22
  }
23
+ /**
24
+ * Defines a Rippling app and registers it with the manifest.
25
+ *
26
+ * An app is the top-level navigation container. It groups one or more pages —
27
+ * either custom-object record pages or SDUI surfaces — as tabs visible to users.
28
+ * You would normally define the app last in your manifest file, after all objects,
29
+ * functions, and SDUI pages have been declared.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * new App(manifest, {
34
+ * apiName: 'gym_membership_management_app',
35
+ * name: 'Gym Membership Management',
36
+ * description: 'Members, trainers, schedules, and check-in',
37
+ * appType: 'custom',
38
+ * pages: [memberObj, trainerObj, sessionObj, todaySchedulePage, checkInDeskPage],
39
+ * });
40
+ * ```
41
+ *
42
+ * @see {@link CustomObject} — object-page tab source.
43
+ * @see {@link SduiPage} — SDUI surface tab source.
44
+ */
35
45
  class App {
36
- /** Build a new app and auto-register with `scope`; resolves page refs eagerly. */
46
+ /**
47
+ * @param scope - The manifest to register this app with.
48
+ * @param props - Initialization properties.
49
+ */
37
50
  constructor(scope, props) {
38
51
  this._apiName = props.apiName;
39
52
  this._name = props.name;
@@ -43,15 +56,23 @@ class App {
43
56
  this._pages = (props.pages ?? []).map(resolvePage);
44
57
  scope._register(this);
45
58
  }
46
- /** Backend api_name for this app. */
59
+ /**
60
+ * Returns the api_name of this app (e.g. `'gym_membership_management_app'`).
61
+ */
47
62
  getApiName() {
48
63
  return this._apiName;
49
64
  }
50
- /** Display name shown in the UI. */
65
+ /**
66
+ * Returns the display name of this app.
67
+ */
51
68
  getName() {
52
69
  return this._name;
53
70
  }
54
- /** Serialize to the backend `CUSTOM_APP` wire shape; omits unset optional fields. */
71
+ /**
72
+ * Serializes this app to the wire format consumed by the manifest install endpoint.
73
+ *
74
+ * @returns A plain object with `type: 'CUSTOM_APP'`. Optional fields are omitted when unset.
75
+ */
55
76
  toDict() {
56
77
  const component = {
57
78
  type: 'CUSTOM_APP',
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,sDAA+C;AA+B/C,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,4BAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,aAAa;YACxB,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAa,GAAG;IASd,kFAAkF;IAClF,YAAY,KAAoB,EAAE,KAAe;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,qCAAqC;IACrC,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,oCAAoC;IACpC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,qFAAqF;IACrF,MAAM;QACJ,MAAM,SAAS,GAAwB;YACrC,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA7CD,kBA6CC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":";;;AAAA,sDAA+C;AAkE/C,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,4BAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,aAAa;YACxB,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,GAAG;IASd;;;OAGG;IACH,YAAY,KAAoB,EAAE,KAAe;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,SAAS,GAAwB;YACrC,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAxDD,kBAwDC"}
@@ -1,15 +1,3 @@
1
- /*
2
- * The contents of this file were inserted manually and are not generated by Stainless.
3
- *
4
- * Unity App definitions that group pages for navigation.
5
- * Backend schema: CUSTOM_APP (v2)
6
- *
7
- * Pages are declared at construction as a flat array of live refs — pass a
8
- * `CustomObject` for an object-page tab, or an `SduiPage` for a custom SDUI
9
- * surface. The tab `api_name` is derived from the ref's own identifier.
10
- * External refs (e.g. native-model `employee`, or an externally-authored
11
- * SDUI page) are not supported yet; add when a real case appears.
12
- */
13
1
  import { CustomObject } from "./custom-object.mjs";
14
2
  function resolvePage(entry) {
15
3
  if (entry instanceof CustomObject) {
@@ -29,8 +17,33 @@ function resolvePage(entry) {
29
17
  };
30
18
  }
31
19
  }
20
+ /**
21
+ * Defines a Rippling app and registers it with the manifest.
22
+ *
23
+ * An app is the top-level navigation container. It groups one or more pages —
24
+ * either custom-object record pages or SDUI surfaces — as tabs visible to users.
25
+ * You would normally define the app last in your manifest file, after all objects,
26
+ * functions, and SDUI pages have been declared.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * new App(manifest, {
31
+ * apiName: 'gym_membership_management_app',
32
+ * name: 'Gym Membership Management',
33
+ * description: 'Members, trainers, schedules, and check-in',
34
+ * appType: 'custom',
35
+ * pages: [memberObj, trainerObj, sessionObj, todaySchedulePage, checkInDeskPage],
36
+ * });
37
+ * ```
38
+ *
39
+ * @see {@link CustomObject} — object-page tab source.
40
+ * @see {@link SduiPage} — SDUI surface tab source.
41
+ */
32
42
  export class App {
33
- /** Build a new app and auto-register with `scope`; resolves page refs eagerly. */
43
+ /**
44
+ * @param scope - The manifest to register this app with.
45
+ * @param props - Initialization properties.
46
+ */
34
47
  constructor(scope, props) {
35
48
  this._apiName = props.apiName;
36
49
  this._name = props.name;
@@ -40,15 +53,23 @@ export class App {
40
53
  this._pages = (props.pages ?? []).map(resolvePage);
41
54
  scope._register(this);
42
55
  }
43
- /** Backend api_name for this app. */
56
+ /**
57
+ * Returns the api_name of this app (e.g. `'gym_membership_management_app'`).
58
+ */
44
59
  getApiName() {
45
60
  return this._apiName;
46
61
  }
47
- /** Display name shown in the UI. */
62
+ /**
63
+ * Returns the display name of this app.
64
+ */
48
65
  getName() {
49
66
  return this._name;
50
67
  }
51
- /** Serialize to the backend `CUSTOM_APP` wire shape; omits unset optional fields. */
68
+ /**
69
+ * Serializes this app to the wire format consumed by the manifest install endpoint.
70
+ *
71
+ * @returns A plain object with `type: 'CUSTOM_APP'`. Optional fields are omitted when unset.
72
+ */
52
73
  toDict() {
53
74
  const component = {
54
75
  type: 'CUSTOM_APP',
@@ -1 +1 @@
1
- {"version":3,"file":"app.mjs","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;OAEI,EAAE,YAAY,EAAE;AA+BvB,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,aAAa;YACxB,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG;IASd,kFAAkF;IAClF,YAAY,KAAoB,EAAE,KAAe;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,qCAAqC;IACrC,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,oCAAoC;IACpC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,qFAAqF;IACrF,MAAM;QACJ,MAAM,SAAS,GAAwB;YACrC,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"app.mjs","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAAE,YAAY,EAAE;AAkEvB,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,aAAa;YACxB,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,GAAG;IASd;;;OAGG;IACH,YAAY,KAAoB,EAAE,KAAe;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,SAAS,GAAwB;YACrC,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1,23 +1,79 @@
1
1
  import type { ManifestScope } from "./manifest-builder.mjs";
2
+ /**
3
+ * Initialization properties for {@link Category}.
4
+ */
2
5
  export interface CategoryProps {
3
- /** Required. Unique API name (e.g. `'finance__c'`). */
6
+ /**
7
+ * Unique identifier for this category (e.g. `'gym__c'`). Must end with `__c`.
8
+ *
9
+ * Required.
10
+ */
4
11
  apiName: string;
5
- /** Required. Display name shown in the UI. */
12
+ /**
13
+ * Display name shown in the Rippling UI (e.g. `'Gym'`).
14
+ *
15
+ * Required.
16
+ */
6
17
  name: string;
7
- /** Optional. Description. Pass `null` explicitly for "no description". @default null */
18
+ /**
19
+ * Human-readable description of what this category groups.
20
+ *
21
+ * Optional. @default null
22
+ */
8
23
  description?: string | null;
9
24
  }
25
+ /**
26
+ * Defines a category and registers it with the manifest.
27
+ *
28
+ * A category is the navigation grouping that organizes related custom objects
29
+ * in the Rippling sidebar. You would normally define one category per domain,
30
+ * then pass it (or its api_name string) to each {@link CustomObject} in that domain.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const manifest = new ManifestBuilder({
35
+ * key: 'gym_membership_management',
36
+ * name: 'Gym Membership Management',
37
+ * });
38
+ *
39
+ * const gymCategory = new Category(manifest, {
40
+ * apiName: 'gym__c',
41
+ * name: 'Gym',
42
+ * description: 'Memberships, staff, schedules, and attendance',
43
+ * });
44
+ *
45
+ * // Pass the instance to any CustomObject in this domain:
46
+ * const memberObj = new CustomObject(manifest, {
47
+ * apiName: 'gym_member__c',
48
+ * name: 'Member',
49
+ * category: gymCategory,
50
+ * });
51
+ * ```
52
+ *
53
+ * @see {@link CustomObject} — references this category via instance or api_name string.
54
+ */
10
55
  export declare class Category {
11
56
  private readonly _apiName;
12
57
  private readonly _name;
13
58
  private readonly _description;
14
- /** Build a new category and auto-register with `scope` (usually a `ManifestBuilder`). */
59
+ /**
60
+ * @param scope - The manifest to register this category with.
61
+ * @param props - Initialization properties.
62
+ */
15
63
  constructor(scope: ManifestScope, props: CategoryProps);
16
- /** Backend api_name used as this category's identifier. */
64
+ /**
65
+ * Returns the api_name of this category (e.g. `'gym__c'`).
66
+ */
17
67
  getApiName(): string;
18
- /** Display name shown in the UI. */
68
+ /**
69
+ * Returns the display name of this category (e.g. `'Gym'`).
70
+ */
19
71
  getName(): string;
20
- /** Serialize to the backend `CUSTOM_CATEGORY` wire shape. */
72
+ /**
73
+ * Serializes this category to the wire format consumed by the manifest install endpoint.
74
+ *
75
+ * @returns A plain object with `type: 'CUSTOM_CATEGORY'` and all configured fields.
76
+ */
21
77
  toDict(): Record<string, any>;
22
78
  }
23
79
  //# sourceMappingURL=category.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"OAOO,KAAK,EAAE,aAAa,EAAE;AAE7B,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C,yFAAyF;gBAC7E,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAOtD,2DAA2D;IAC3D,UAAU,IAAI,MAAM;IAIpB,oCAAoC;IACpC,OAAO,IAAI,MAAM;IAIjB,6DAA6D;IAC7D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}
1
+ {"version":3,"file":"category.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"OAAO,KAAK,EAAE,aAAa,EAAE;AAE7B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C;;;OAGG;gBACS,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAOtD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}
@@ -1,23 +1,79 @@
1
1
  import type { ManifestScope } from "./manifest-builder.js";
2
+ /**
3
+ * Initialization properties for {@link Category}.
4
+ */
2
5
  export interface CategoryProps {
3
- /** Required. Unique API name (e.g. `'finance__c'`). */
6
+ /**
7
+ * Unique identifier for this category (e.g. `'gym__c'`). Must end with `__c`.
8
+ *
9
+ * Required.
10
+ */
4
11
  apiName: string;
5
- /** Required. Display name shown in the UI. */
12
+ /**
13
+ * Display name shown in the Rippling UI (e.g. `'Gym'`).
14
+ *
15
+ * Required.
16
+ */
6
17
  name: string;
7
- /** Optional. Description. Pass `null` explicitly for "no description". @default null */
18
+ /**
19
+ * Human-readable description of what this category groups.
20
+ *
21
+ * Optional. @default null
22
+ */
8
23
  description?: string | null;
9
24
  }
25
+ /**
26
+ * Defines a category and registers it with the manifest.
27
+ *
28
+ * A category is the navigation grouping that organizes related custom objects
29
+ * in the Rippling sidebar. You would normally define one category per domain,
30
+ * then pass it (or its api_name string) to each {@link CustomObject} in that domain.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const manifest = new ManifestBuilder({
35
+ * key: 'gym_membership_management',
36
+ * name: 'Gym Membership Management',
37
+ * });
38
+ *
39
+ * const gymCategory = new Category(manifest, {
40
+ * apiName: 'gym__c',
41
+ * name: 'Gym',
42
+ * description: 'Memberships, staff, schedules, and attendance',
43
+ * });
44
+ *
45
+ * // Pass the instance to any CustomObject in this domain:
46
+ * const memberObj = new CustomObject(manifest, {
47
+ * apiName: 'gym_member__c',
48
+ * name: 'Member',
49
+ * category: gymCategory,
50
+ * });
51
+ * ```
52
+ *
53
+ * @see {@link CustomObject} — references this category via instance or api_name string.
54
+ */
10
55
  export declare class Category {
11
56
  private readonly _apiName;
12
57
  private readonly _name;
13
58
  private readonly _description;
14
- /** Build a new category and auto-register with `scope` (usually a `ManifestBuilder`). */
59
+ /**
60
+ * @param scope - The manifest to register this category with.
61
+ * @param props - Initialization properties.
62
+ */
15
63
  constructor(scope: ManifestScope, props: CategoryProps);
16
- /** Backend api_name used as this category's identifier. */
64
+ /**
65
+ * Returns the api_name of this category (e.g. `'gym__c'`).
66
+ */
17
67
  getApiName(): string;
18
- /** Display name shown in the UI. */
68
+ /**
69
+ * Returns the display name of this category (e.g. `'Gym'`).
70
+ */
19
71
  getName(): string;
20
- /** Serialize to the backend `CUSTOM_CATEGORY` wire shape. */
72
+ /**
73
+ * Serializes this category to the wire format consumed by the manifest install endpoint.
74
+ *
75
+ * @returns A plain object with `type: 'CUSTOM_CATEGORY'` and all configured fields.
76
+ */
21
77
  toDict(): Record<string, any>;
22
78
  }
23
79
  //# sourceMappingURL=category.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"OAOO,KAAK,EAAE,aAAa,EAAE;AAE7B,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C,yFAAyF;gBAC7E,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAOtD,2DAA2D;IAC3D,UAAU,IAAI,MAAM;IAIpB,oCAAoC;IACpC,OAAO,IAAI,MAAM;IAIjB,6DAA6D;IAC7D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}
1
+ {"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"OAAO,KAAK,EAAE,aAAa,EAAE;AAE7B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C;;;OAGG;gBACS,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAOtD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}