@rippling/rippling-sdk 0.2.0-alpha.48 → 0.2.0-alpha.50

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 (553) hide show
  1. package/api-promise.d.mts +1 -0
  2. package/api-promise.d.mts.map +1 -1
  3. package/api-promise.d.ts +1 -0
  4. package/api-promise.d.ts.map +1 -1
  5. package/api-promise.mjs +1 -0
  6. package/api-promise.mjs.map +1 -1
  7. package/client.d.mts.map +1 -1
  8. package/client.d.ts.map +1 -1
  9. package/client.mjs.map +1 -1
  10. package/core/api-promise.d.mts.map +1 -1
  11. package/core/api-promise.d.ts.map +1 -1
  12. package/core/api-promise.mjs.map +1 -1
  13. package/core/error.mjs.map +1 -1
  14. package/core/pagination.d.mts.map +1 -1
  15. package/core/pagination.d.ts.map +1 -1
  16. package/core/pagination.mjs.map +1 -1
  17. package/core/resource.d.mts.map +1 -1
  18. package/core/resource.d.ts.map +1 -1
  19. package/core/uploads.d.mts.map +1 -1
  20. package/core/uploads.d.ts.map +1 -1
  21. package/core/uploads.mjs.map +1 -1
  22. package/error.d.mts +1 -0
  23. package/error.d.mts.map +1 -1
  24. package/error.d.ts +1 -0
  25. package/error.d.ts.map +1 -1
  26. package/error.mjs +1 -0
  27. package/error.mjs.map +1 -1
  28. package/examples/manifest/dental-practice-management/dental-practice-management.ts +18 -41
  29. package/examples/manifest/dental-practice-management/functions/chair-schedule.ts +31 -0
  30. package/examples/manifest/dental-practice-management/functions/operatory-list.ts +31 -0
  31. package/examples/manifest/dental-practice-management/functions/patient-list.ts +31 -0
  32. package/examples/manifest/dental-practice-management/functions/treatment-plan-list.ts +31 -0
  33. package/examples/manifest/dental-practice-management/manifest.json +22 -19
  34. package/examples/manifest/existing-manifest-mutations/existing-manifest-mutations.ts +3 -0
  35. package/examples/manifest/gym-membership-management/functions/check-in-desk.ts +31 -0
  36. package/examples/manifest/gym-membership-management/functions/member-list.ts +31 -0
  37. package/examples/manifest/gym-membership-management/functions/today-schedule.ts +31 -0
  38. package/examples/manifest/gym-membership-management/functions/trainer-list.ts +31 -0
  39. package/examples/manifest/gym-membership-management/gym-membership-management.ts +28 -41
  40. package/examples/manifest/gym-membership-management/manifest.json +22 -19
  41. package/examples/manifest/simple-todo-app/functions/todo-list.ts +31 -0
  42. package/examples/manifest/simple-todo-app/manifest.json +429 -0
  43. package/examples/manifest/simple-todo-app/simple-todo-app.ts +167 -0
  44. package/examples/sdui/sdui-crud-todo/rippling-function.ts +14 -23
  45. package/examples/sdui/sdui-showcase/rippling-function.ts +8 -23
  46. package/examples/sdui/sdui-tab-multi-view/rippling-function.ts +276 -295
  47. package/examples/sdui/vote/rippling-function.ts +10 -25
  48. package/index.d.mts.map +1 -1
  49. package/index.d.ts.map +1 -1
  50. package/index.mjs.map +1 -1
  51. package/internal/detect-platform.mjs.map +1 -1
  52. package/internal/headers.mjs.map +1 -1
  53. package/internal/parse.d.mts.map +1 -1
  54. package/internal/parse.d.ts.map +1 -1
  55. package/internal/parse.mjs.map +1 -1
  56. package/internal/request-options.d.mts.map +1 -1
  57. package/internal/request-options.d.ts.map +1 -1
  58. package/internal/shims.d.mts +6 -0
  59. package/internal/shims.d.mts.map +1 -1
  60. package/internal/shims.d.ts +6 -0
  61. package/internal/shims.d.ts.map +1 -1
  62. package/internal/to-file.d.mts.map +1 -1
  63. package/internal/to-file.d.ts.map +1 -1
  64. package/internal/to-file.mjs.map +1 -1
  65. package/internal/tslib.js +4 -0
  66. package/internal/types.d.mts +4 -4
  67. package/internal/types.d.mts.map +1 -1
  68. package/internal/types.d.ts +4 -4
  69. package/internal/types.d.ts.map +1 -1
  70. package/internal/uploads.d.mts.map +1 -1
  71. package/internal/uploads.d.ts.map +1 -1
  72. package/internal/uploads.mjs.map +1 -1
  73. package/internal/utils/base64.mjs.map +1 -1
  74. package/internal/utils/log.d.mts.map +1 -1
  75. package/internal/utils/log.d.ts.map +1 -1
  76. package/internal/utils/log.mjs.map +1 -1
  77. package/internal/utils/path.mjs.map +1 -1
  78. package/internal/utils/query.mjs.map +1 -1
  79. package/internal/utils/values.mjs.map +1 -1
  80. package/internal/utils.d.mts.map +1 -1
  81. package/internal/utils.d.ts.map +1 -1
  82. package/internal/utils.mjs.map +1 -1
  83. package/lib/manifest/_existing-component-fields.d.mts +1 -0
  84. package/lib/manifest/_existing-component-fields.d.mts.map +1 -1
  85. package/lib/manifest/_existing-component-fields.d.ts +1 -0
  86. package/lib/manifest/_existing-component-fields.d.ts.map +1 -1
  87. package/lib/manifest/_existing-component-fields.js +5 -0
  88. package/lib/manifest/_existing-component-fields.js.map +1 -1
  89. package/lib/manifest/_existing-component-fields.mjs +4 -0
  90. package/lib/manifest/_existing-component-fields.mjs.map +1 -1
  91. package/lib/manifest/app.d.mts +2 -2
  92. package/lib/manifest/app.d.mts.map +1 -1
  93. package/lib/manifest/app.d.ts +2 -2
  94. package/lib/manifest/app.d.ts.map +1 -1
  95. package/lib/manifest/app.js +2 -3
  96. package/lib/manifest/app.js.map +1 -1
  97. package/lib/manifest/app.mjs +3 -4
  98. package/lib/manifest/app.mjs.map +1 -1
  99. package/lib/manifest/category.d.mts.map +1 -1
  100. package/lib/manifest/category.d.ts.map +1 -1
  101. package/lib/manifest/category.js +1 -3
  102. package/lib/manifest/category.js.map +1 -1
  103. package/lib/manifest/category.mjs +2 -4
  104. package/lib/manifest/category.mjs.map +1 -1
  105. package/lib/manifest/custom-object-field-section.d.mts.map +1 -1
  106. package/lib/manifest/custom-object-field-section.d.ts.map +1 -1
  107. package/lib/manifest/custom-object-field-section.mjs.map +1 -1
  108. package/lib/manifest/custom-object-page-layout.d.mts +148 -34
  109. package/lib/manifest/custom-object-page-layout.d.mts.map +1 -1
  110. package/lib/manifest/custom-object-page-layout.d.ts +148 -34
  111. package/lib/manifest/custom-object-page-layout.d.ts.map +1 -1
  112. package/lib/manifest/custom-object-page-layout.js +61 -18
  113. package/lib/manifest/custom-object-page-layout.js.map +1 -1
  114. package/lib/manifest/custom-object-page-layout.mjs +61 -18
  115. package/lib/manifest/custom-object-page-layout.mjs.map +1 -1
  116. package/lib/manifest/custom-object.d.mts +3 -3
  117. package/lib/manifest/custom-object.d.mts.map +1 -1
  118. package/lib/manifest/custom-object.d.ts +3 -3
  119. package/lib/manifest/custom-object.d.ts.map +1 -1
  120. package/lib/manifest/custom-object.js +3 -4
  121. package/lib/manifest/custom-object.js.map +1 -1
  122. package/lib/manifest/custom-object.mjs +4 -5
  123. package/lib/manifest/custom-object.mjs.map +1 -1
  124. package/lib/manifest/existing-manifest-context.d.mts.map +1 -1
  125. package/lib/manifest/existing-manifest-context.d.ts.map +1 -1
  126. package/lib/manifest/existing-manifest-context.js +1 -3
  127. package/lib/manifest/existing-manifest-context.js.map +1 -1
  128. package/lib/manifest/existing-manifest-context.mjs +2 -4
  129. package/lib/manifest/existing-manifest-context.mjs.map +1 -1
  130. package/lib/manifest/field.d.mts +5 -5
  131. package/lib/manifest/field.d.mts.map +1 -1
  132. package/lib/manifest/field.d.ts +5 -5
  133. package/lib/manifest/field.d.ts.map +1 -1
  134. package/lib/manifest/field.js +4 -5
  135. package/lib/manifest/field.js.map +1 -1
  136. package/lib/manifest/field.mjs +5 -6
  137. package/lib/manifest/field.mjs.map +1 -1
  138. package/lib/manifest/index.d.mts +1 -1
  139. package/lib/manifest/index.d.mts.map +1 -1
  140. package/lib/manifest/index.d.ts +1 -1
  141. package/lib/manifest/index.d.ts.map +1 -1
  142. package/lib/manifest/index.js.map +1 -1
  143. package/lib/manifest/index.mjs.map +1 -1
  144. package/lib/manifest/list-view.d.mts +2 -2
  145. package/lib/manifest/list-view.d.mts.map +1 -1
  146. package/lib/manifest/list-view.d.ts +2 -2
  147. package/lib/manifest/list-view.d.ts.map +1 -1
  148. package/lib/manifest/list-view.js +2 -4
  149. package/lib/manifest/list-view.js.map +1 -1
  150. package/lib/manifest/list-view.mjs +3 -5
  151. package/lib/manifest/list-view.mjs.map +1 -1
  152. package/lib/manifest/manifest-builder.d.mts +3 -3
  153. package/lib/manifest/manifest-builder.d.mts.map +1 -1
  154. package/lib/manifest/manifest-builder.d.ts +3 -3
  155. package/lib/manifest/manifest-builder.d.ts.map +1 -1
  156. package/lib/manifest/manifest-builder.js +3 -5
  157. package/lib/manifest/manifest-builder.js.map +1 -1
  158. package/lib/manifest/manifest-builder.mjs +3 -5
  159. package/lib/manifest/manifest-builder.mjs.map +1 -1
  160. package/lib/manifest/manifest-function.d.mts +4 -5
  161. package/lib/manifest/manifest-function.d.mts.map +1 -1
  162. package/lib/manifest/manifest-function.d.ts +4 -5
  163. package/lib/manifest/manifest-function.d.ts.map +1 -1
  164. package/lib/manifest/manifest-function.js +5 -8
  165. package/lib/manifest/manifest-function.js.map +1 -1
  166. package/lib/manifest/manifest-function.mjs +6 -9
  167. package/lib/manifest/manifest-function.mjs.map +1 -1
  168. package/lib/manifest/rule.d.mts +2 -2
  169. package/lib/manifest/rule.d.mts.map +1 -1
  170. package/lib/manifest/rule.d.ts +2 -2
  171. package/lib/manifest/rule.d.ts.map +1 -1
  172. package/lib/manifest/rule.js +2 -4
  173. package/lib/manifest/rule.js.map +1 -1
  174. package/lib/manifest/rule.mjs +3 -5
  175. package/lib/manifest/rule.mjs.map +1 -1
  176. package/lib/manifest/sdui-page.d.mts +2 -2
  177. package/lib/manifest/sdui-page.d.mts.map +1 -1
  178. package/lib/manifest/sdui-page.d.ts +2 -2
  179. package/lib/manifest/sdui-page.d.ts.map +1 -1
  180. package/lib/manifest/sdui-page.js +2 -4
  181. package/lib/manifest/sdui-page.js.map +1 -1
  182. package/lib/manifest/sdui-page.mjs +3 -5
  183. package/lib/manifest/sdui-page.mjs.map +1 -1
  184. package/lib/manifest/validation.d.mts.map +1 -1
  185. package/lib/manifest/validation.d.ts.map +1 -1
  186. package/lib/manifest/validation.mjs.map +1 -1
  187. package/lib/manifest.d.mts +2 -0
  188. package/lib/manifest.d.mts.map +1 -0
  189. package/lib/manifest.d.ts +2 -0
  190. package/lib/manifest.d.ts.map +1 -0
  191. package/lib/manifest.js +5 -0
  192. package/lib/manifest.js.map +1 -0
  193. package/lib/manifest.mjs +2 -0
  194. package/lib/manifest.mjs.map +1 -0
  195. package/lib/sdui/actions.mjs.map +1 -1
  196. package/lib/sdui/component.d.mts.map +1 -1
  197. package/lib/sdui/component.d.ts.map +1 -1
  198. package/lib/sdui/components.d.mts +100 -211
  199. package/lib/sdui/components.d.mts.map +1 -1
  200. package/lib/sdui/components.d.ts +100 -211
  201. package/lib/sdui/components.d.ts.map +1 -1
  202. package/lib/sdui/components.js +96 -182
  203. package/lib/sdui/components.js.map +1 -1
  204. package/lib/sdui/components.mjs +93 -178
  205. package/lib/sdui/components.mjs.map +1 -1
  206. package/lib/sdui/conditions.mjs.map +1 -1
  207. package/lib/sdui/directives.d.mts.map +1 -1
  208. package/lib/sdui/directives.d.ts.map +1 -1
  209. package/lib/sdui/directives.mjs.map +1 -1
  210. package/lib/sdui/index.d.mts +12 -52
  211. package/lib/sdui/index.d.mts.map +1 -1
  212. package/lib/sdui/index.d.ts +12 -52
  213. package/lib/sdui/index.d.ts.map +1 -1
  214. package/lib/sdui/index.js +10 -50
  215. package/lib/sdui/index.js.map +1 -1
  216. package/lib/sdui/index.mjs +16 -25
  217. package/lib/sdui/index.mjs.map +1 -1
  218. package/lib/sdui/propTypes.d.mts +3156 -3515
  219. package/lib/sdui/propTypes.d.mts.map +1 -1
  220. package/lib/sdui/propTypes.d.ts +3156 -3515
  221. package/lib/sdui/propTypes.d.ts.map +1 -1
  222. package/lib/sdui/propTypes.js +1 -1
  223. package/lib/sdui/propTypes.mjs +1 -1
  224. package/lib/sdui/props.d.mts.map +1 -1
  225. package/lib/sdui/props.d.ts.map +1 -1
  226. package/lib/sdui/props.mjs.map +1 -1
  227. package/lib/sdui/render.d.mts.map +1 -1
  228. package/lib/sdui/render.d.ts.map +1 -1
  229. package/lib/sdui.d.mts +3 -0
  230. package/lib/sdui.d.mts.map +1 -0
  231. package/lib/sdui.d.ts +3 -0
  232. package/lib/sdui.d.ts.map +1 -0
  233. package/lib/sdui.js +8 -0
  234. package/lib/sdui.js.map +1 -0
  235. package/lib/sdui.mjs +3 -0
  236. package/lib/sdui.mjs.map +1 -0
  237. package/package.json +1 -1
  238. package/pagination.d.mts +1 -0
  239. package/pagination.d.mts.map +1 -1
  240. package/pagination.d.ts +1 -0
  241. package/pagination.d.ts.map +1 -1
  242. package/pagination.mjs +1 -0
  243. package/pagination.mjs.map +1 -1
  244. package/resource.d.mts +1 -0
  245. package/resource.d.mts.map +1 -1
  246. package/resource.d.ts +1 -0
  247. package/resource.d.ts.map +1 -1
  248. package/resource.mjs +1 -0
  249. package/resource.mjs.map +1 -1
  250. package/resources/business-partner-groups.d.mts.map +1 -1
  251. package/resources/business-partner-groups.d.ts.map +1 -1
  252. package/resources/business-partner-groups.mjs.map +1 -1
  253. package/resources/business-partners.d.mts.map +1 -1
  254. package/resources/business-partners.d.ts.map +1 -1
  255. package/resources/business-partners.mjs.map +1 -1
  256. package/resources/candidate-applications.d.mts.map +1 -1
  257. package/resources/candidate-applications.d.ts.map +1 -1
  258. package/resources/candidate-applications.mjs.map +1 -1
  259. package/resources/candidates.d.mts.map +1 -1
  260. package/resources/candidates.d.ts.map +1 -1
  261. package/resources/candidates.mjs.map +1 -1
  262. package/resources/companies.d.mts.map +1 -1
  263. package/resources/companies.d.ts.map +1 -1
  264. package/resources/companies.mjs.map +1 -1
  265. package/resources/company-legal-entities.d.mts.map +1 -1
  266. package/resources/company-legal-entities.d.ts.map +1 -1
  267. package/resources/company-legal-entities.mjs.map +1 -1
  268. package/resources/company-legal-entity-workers.d.mts.map +1 -1
  269. package/resources/company-legal-entity-workers.d.ts.map +1 -1
  270. package/resources/company-legal-entity-workers.mjs.map +1 -1
  271. package/resources/compensation-bands-details.d.mts.map +1 -1
  272. package/resources/compensation-bands-details.d.ts.map +1 -1
  273. package/resources/compensation-bands-details.mjs.map +1 -1
  274. package/resources/compensations.d.mts.map +1 -1
  275. package/resources/compensations.d.ts.map +1 -1
  276. package/resources/compensations.mjs.map +1 -1
  277. package/resources/custom-apps.d.mts.map +1 -1
  278. package/resources/custom-apps.d.ts.map +1 -1
  279. package/resources/custom-apps.mjs.map +1 -1
  280. package/resources/custom-fields.d.mts.map +1 -1
  281. package/resources/custom-fields.d.ts.map +1 -1
  282. package/resources/custom-fields.mjs.map +1 -1
  283. package/resources/custom-objects/custom-objects.d.mts.map +1 -1
  284. package/resources/custom-objects/custom-objects.d.ts.map +1 -1
  285. package/resources/custom-objects/custom-objects.mjs.map +1 -1
  286. package/resources/custom-objects/fields.d.mts.map +1 -1
  287. package/resources/custom-objects/fields.d.ts.map +1 -1
  288. package/resources/custom-objects/fields.mjs.map +1 -1
  289. package/resources/custom-objects/index.d.mts.map +1 -1
  290. package/resources/custom-objects/index.d.ts.map +1 -1
  291. package/resources/custom-objects/index.mjs.map +1 -1
  292. package/resources/custom-objects/records.d.mts.map +1 -1
  293. package/resources/custom-objects/records.d.ts.map +1 -1
  294. package/resources/custom-objects/records.mjs.map +1 -1
  295. package/resources/custom-objects.d.mts.map +1 -1
  296. package/resources/custom-objects.d.ts.map +1 -1
  297. package/resources/custom-objects.mjs.map +1 -1
  298. package/resources/custom-pages.d.mts.map +1 -1
  299. package/resources/custom-pages.d.ts.map +1 -1
  300. package/resources/custom-pages.mjs.map +1 -1
  301. package/resources/custom-settings.d.mts.map +1 -1
  302. package/resources/custom-settings.d.ts.map +1 -1
  303. package/resources/custom-settings.mjs.map +1 -1
  304. package/resources/departments.d.mts.map +1 -1
  305. package/resources/departments.d.ts.map +1 -1
  306. package/resources/departments.mjs.map +1 -1
  307. package/resources/draft-hires.d.mts.map +1 -1
  308. package/resources/draft-hires.d.ts.map +1 -1
  309. package/resources/draft-hires.mjs.map +1 -1
  310. package/resources/earning-types.d.mts.map +1 -1
  311. package/resources/earning-types.d.ts.map +1 -1
  312. package/resources/earning-types.mjs.map +1 -1
  313. package/resources/earnings-inputs.d.mts.map +1 -1
  314. package/resources/earnings-inputs.d.ts.map +1 -1
  315. package/resources/earnings-inputs.mjs.map +1 -1
  316. package/resources/employment-types.d.mts.map +1 -1
  317. package/resources/employment-types.d.ts.map +1 -1
  318. package/resources/employment-types.mjs.map +1 -1
  319. package/resources/entitlements.d.mts.map +1 -1
  320. package/resources/entitlements.d.ts.map +1 -1
  321. package/resources/entitlements.mjs.map +1 -1
  322. package/resources/files.d.mts.map +1 -1
  323. package/resources/files.d.ts.map +1 -1
  324. package/resources/files.mjs.map +1 -1
  325. package/resources/functions/deployments.d.mts.map +1 -1
  326. package/resources/functions/deployments.d.ts.map +1 -1
  327. package/resources/functions/deployments.mjs.map +1 -1
  328. package/resources/functions/executions.d.mts.map +1 -1
  329. package/resources/functions/executions.d.ts.map +1 -1
  330. package/resources/functions/executions.mjs.map +1 -1
  331. package/resources/functions/functions.d.mts.map +1 -1
  332. package/resources/functions/functions.d.ts.map +1 -1
  333. package/resources/functions/functions.mjs.map +1 -1
  334. package/resources/functions/index.d.mts.map +1 -1
  335. package/resources/functions/index.d.ts.map +1 -1
  336. package/resources/functions/index.mjs.map +1 -1
  337. package/resources/functions.d.mts.map +1 -1
  338. package/resources/functions.d.ts.map +1 -1
  339. package/resources/functions.mjs.map +1 -1
  340. package/resources/headcount-positions.d.mts.map +1 -1
  341. package/resources/headcount-positions.d.ts.map +1 -1
  342. package/resources/headcount-positions.mjs.map +1 -1
  343. package/resources/headcount-priorities.d.mts.map +1 -1
  344. package/resources/headcount-priorities.d.ts.map +1 -1
  345. package/resources/headcount-priorities.mjs.map +1 -1
  346. package/resources/index.d.mts.map +1 -1
  347. package/resources/index.d.ts.map +1 -1
  348. package/resources/index.mjs.map +1 -1
  349. package/resources/job-assignments.d.mts.map +1 -1
  350. package/resources/job-assignments.d.ts.map +1 -1
  351. package/resources/job-assignments.mjs.map +1 -1
  352. package/resources/job-codes.d.mts.map +1 -1
  353. package/resources/job-codes.d.ts.map +1 -1
  354. package/resources/job-codes.mjs.map +1 -1
  355. package/resources/job-dimensions.d.mts.map +1 -1
  356. package/resources/job-dimensions.d.ts.map +1 -1
  357. package/resources/job-dimensions.mjs.map +1 -1
  358. package/resources/job-functions.d.mts.map +1 -1
  359. package/resources/job-functions.d.ts.map +1 -1
  360. package/resources/job-functions.mjs.map +1 -1
  361. package/resources/job-pay-rate-exceptions.d.mts.map +1 -1
  362. package/resources/job-pay-rate-exceptions.d.ts.map +1 -1
  363. package/resources/job-pay-rate-exceptions.mjs.map +1 -1
  364. package/resources/job-requisitions-write.d.mts.map +1 -1
  365. package/resources/job-requisitions-write.d.ts.map +1 -1
  366. package/resources/job-requisitions-write.mjs.map +1 -1
  367. package/resources/job-requisitions.d.mts.map +1 -1
  368. package/resources/job-requisitions.d.ts.map +1 -1
  369. package/resources/job-requisitions.mjs.map +1 -1
  370. package/resources/kiosk-badges.d.mts.map +1 -1
  371. package/resources/kiosk-badges.d.ts.map +1 -1
  372. package/resources/kiosk-badges.mjs.map +1 -1
  373. package/resources/leave-accruals.d.mts.map +1 -1
  374. package/resources/leave-accruals.d.ts.map +1 -1
  375. package/resources/leave-accruals.mjs.map +1 -1
  376. package/resources/leave-balances.d.mts.map +1 -1
  377. package/resources/leave-balances.d.ts.map +1 -1
  378. package/resources/leave-balances.mjs.map +1 -1
  379. package/resources/leave-requests.d.mts.map +1 -1
  380. package/resources/leave-requests.d.ts.map +1 -1
  381. package/resources/leave-requests.mjs.map +1 -1
  382. package/resources/leave-types.d.mts.map +1 -1
  383. package/resources/leave-types.d.ts.map +1 -1
  384. package/resources/leave-types.mjs.map +1 -1
  385. package/resources/legal-entities.d.mts.map +1 -1
  386. package/resources/legal-entities.d.ts.map +1 -1
  387. package/resources/legal-entities.mjs.map +1 -1
  388. package/resources/levels.d.mts.map +1 -1
  389. package/resources/levels.d.ts.map +1 -1
  390. package/resources/levels.mjs.map +1 -1
  391. package/resources/location-factors.d.mts.map +1 -1
  392. package/resources/location-factors.d.ts.map +1 -1
  393. package/resources/location-factors.mjs.map +1 -1
  394. package/resources/metadata/components.d.mts.map +1 -1
  395. package/resources/metadata/components.d.ts.map +1 -1
  396. package/resources/metadata/components.mjs.map +1 -1
  397. package/resources/metadata/index.d.mts.map +1 -1
  398. package/resources/metadata/index.d.ts.map +1 -1
  399. package/resources/metadata/index.mjs.map +1 -1
  400. package/resources/metadata/metadata.d.mts.map +1 -1
  401. package/resources/metadata/metadata.d.ts.map +1 -1
  402. package/resources/metadata/metadata.mjs.map +1 -1
  403. package/resources/metadata/summary.d.mts.map +1 -1
  404. package/resources/metadata/summary.d.ts.map +1 -1
  405. package/resources/metadata/summary.mjs.map +1 -1
  406. package/resources/metadata/types.d.mts.map +1 -1
  407. package/resources/metadata/types.d.ts.map +1 -1
  408. package/resources/metadata/types.mjs.map +1 -1
  409. package/resources/metadata.d.mts.map +1 -1
  410. package/resources/metadata.d.ts.map +1 -1
  411. package/resources/metadata.mjs.map +1 -1
  412. package/resources/object-categories.d.mts.map +1 -1
  413. package/resources/object-categories.d.ts.map +1 -1
  414. package/resources/object-categories.mjs.map +1 -1
  415. package/resources/payroll-runs/index.d.mts.map +1 -1
  416. package/resources/payroll-runs/index.d.ts.map +1 -1
  417. package/resources/payroll-runs/index.mjs.map +1 -1
  418. package/resources/payroll-runs/payroll-runs.d.mts.map +1 -1
  419. package/resources/payroll-runs/payroll-runs.d.ts.map +1 -1
  420. package/resources/payroll-runs/payroll-runs.mjs.map +1 -1
  421. package/resources/payroll-runs/worker-payroll-records.d.mts.map +1 -1
  422. package/resources/payroll-runs/worker-payroll-records.d.ts.map +1 -1
  423. package/resources/payroll-runs/worker-payroll-records.mjs.map +1 -1
  424. package/resources/payroll-runs.d.mts.map +1 -1
  425. package/resources/payroll-runs.d.ts.map +1 -1
  426. package/resources/payroll-runs.mjs.map +1 -1
  427. package/resources/platform-capabilities.d.mts.map +1 -1
  428. package/resources/platform-capabilities.d.ts.map +1 -1
  429. package/resources/platform-capabilities.mjs.map +1 -1
  430. package/resources/report-runs.d.mts.map +1 -1
  431. package/resources/report-runs.d.ts.map +1 -1
  432. package/resources/report-runs.mjs.map +1 -1
  433. package/resources/reports/available-filters.d.mts.map +1 -1
  434. package/resources/reports/available-filters.d.ts.map +1 -1
  435. package/resources/reports/available-filters.mjs.map +1 -1
  436. package/resources/reports/index.d.mts.map +1 -1
  437. package/resources/reports/index.d.ts.map +1 -1
  438. package/resources/reports/index.mjs.map +1 -1
  439. package/resources/reports/reports.d.mts.map +1 -1
  440. package/resources/reports/reports.d.ts.map +1 -1
  441. package/resources/reports/reports.mjs.map +1 -1
  442. package/resources/reports.d.mts.map +1 -1
  443. package/resources/reports.d.ts.map +1 -1
  444. package/resources/reports.mjs.map +1 -1
  445. package/resources/schedules.d.mts.map +1 -1
  446. package/resources/schedules.d.ts.map +1 -1
  447. package/resources/schedules.mjs.map +1 -1
  448. package/resources/shared.d.mts.map +1 -1
  449. package/resources/shared.d.ts.map +1 -1
  450. package/resources/shift-assignments.d.mts.map +1 -1
  451. package/resources/shift-assignments.d.ts.map +1 -1
  452. package/resources/shift-assignments.mjs.map +1 -1
  453. package/resources/shift-inputs.d.mts.map +1 -1
  454. package/resources/shift-inputs.d.ts.map +1 -1
  455. package/resources/shift-inputs.mjs.map +1 -1
  456. package/resources/shiftassignments.d.mts.map +1 -1
  457. package/resources/shiftassignments.d.ts.map +1 -1
  458. package/resources/shiftassignments.mjs.map +1 -1
  459. package/resources/sso-me.d.mts.map +1 -1
  460. package/resources/sso-me.d.ts.map +1 -1
  461. package/resources/sso-me.mjs.map +1 -1
  462. package/resources/supergroups/exclusion-members.d.mts.map +1 -1
  463. package/resources/supergroups/exclusion-members.d.ts.map +1 -1
  464. package/resources/supergroups/exclusion-members.mjs.map +1 -1
  465. package/resources/supergroups/inclusion-members.d.mts.map +1 -1
  466. package/resources/supergroups/inclusion-members.d.ts.map +1 -1
  467. package/resources/supergroups/inclusion-members.mjs.map +1 -1
  468. package/resources/supergroups/index.d.mts.map +1 -1
  469. package/resources/supergroups/index.d.ts.map +1 -1
  470. package/resources/supergroups/index.mjs.map +1 -1
  471. package/resources/supergroups/members.d.mts.map +1 -1
  472. package/resources/supergroups/members.d.ts.map +1 -1
  473. package/resources/supergroups/members.mjs.map +1 -1
  474. package/resources/supergroups/supergroups.d.mts.map +1 -1
  475. package/resources/supergroups/supergroups.d.ts.map +1 -1
  476. package/resources/supergroups/supergroups.mjs.map +1 -1
  477. package/resources/supergroups.d.mts.map +1 -1
  478. package/resources/supergroups.d.ts.map +1 -1
  479. package/resources/supergroups.mjs.map +1 -1
  480. package/resources/teams.d.mts.map +1 -1
  481. package/resources/teams.d.ts.map +1 -1
  482. package/resources/teams.mjs.map +1 -1
  483. package/resources/time-cards.d.mts.map +1 -1
  484. package/resources/time-cards.d.ts.map +1 -1
  485. package/resources/time-cards.mjs.map +1 -1
  486. package/resources/time-entries.d.mts.map +1 -1
  487. package/resources/time-entries.d.ts.map +1 -1
  488. package/resources/time-entries.mjs.map +1 -1
  489. package/resources/titles.d.mts.map +1 -1
  490. package/resources/titles.d.ts.map +1 -1
  491. package/resources/titles.mjs.map +1 -1
  492. package/resources/tracks.d.mts.map +1 -1
  493. package/resources/tracks.d.ts.map +1 -1
  494. package/resources/tracks.mjs.map +1 -1
  495. package/resources/unassigned-shifts.d.mts.map +1 -1
  496. package/resources/unassigned-shifts.d.ts.map +1 -1
  497. package/resources/unassigned-shifts.mjs.map +1 -1
  498. package/resources/unassignedshifts.d.mts.map +1 -1
  499. package/resources/unassignedshifts.d.ts.map +1 -1
  500. package/resources/unassignedshifts.mjs.map +1 -1
  501. package/resources/users.d.mts.map +1 -1
  502. package/resources/users.d.ts.map +1 -1
  503. package/resources/users.mjs.map +1 -1
  504. package/resources/work-locations.d.mts.map +1 -1
  505. package/resources/work-locations.d.ts.map +1 -1
  506. package/resources/work-locations.mjs.map +1 -1
  507. package/resources/workers.d.mts +1 -1
  508. package/resources/workers.d.mts.map +1 -1
  509. package/resources/workers.d.ts +1 -1
  510. package/resources/workers.d.ts.map +1 -1
  511. package/resources/workers.js +1 -1
  512. package/resources/workers.mjs +1 -1
  513. package/resources/workers.mjs.map +1 -1
  514. package/resources/workflow-action-executions.d.mts.map +1 -1
  515. package/resources/workflow-action-executions.d.ts.map +1 -1
  516. package/resources/workflow-action-executions.mjs.map +1 -1
  517. package/resources.d.mts.map +1 -1
  518. package/resources.d.ts.map +1 -1
  519. package/resources.mjs.map +1 -1
  520. package/src/lib/manifest/_existing-component-fields.ts +9 -0
  521. package/src/lib/manifest/app.ts +6 -6
  522. package/src/lib/manifest/category.ts +2 -4
  523. package/src/lib/manifest/custom-object-page-layout.ts +294 -79
  524. package/src/lib/manifest/custom-object.ts +7 -7
  525. package/src/lib/manifest/existing-manifest-context.ts +6 -4
  526. package/src/lib/manifest/field.ts +13 -9
  527. package/src/lib/manifest/index.ts +27 -0
  528. package/src/lib/manifest/list-view.ts +6 -5
  529. package/src/lib/manifest/manifest-builder.ts +5 -7
  530. package/src/lib/manifest/manifest-function.ts +8 -9
  531. package/src/lib/manifest/rule.ts +6 -6
  532. package/src/lib/manifest/sdui-page.ts +5 -7
  533. package/src/lib/manifest.ts +1 -0
  534. package/src/lib/sdui/components.ts +181 -332
  535. package/src/lib/sdui/index.ts +13 -93
  536. package/src/lib/sdui/propTypes.ts +3509 -3892
  537. package/src/lib/sdui.ts +2 -0
  538. package/src/resources/workers.ts +1 -1
  539. package/src/version.ts +1 -1
  540. package/uploads.d.mts +1 -0
  541. package/uploads.d.mts.map +1 -1
  542. package/uploads.d.ts +1 -0
  543. package/uploads.d.ts.map +1 -1
  544. package/uploads.mjs +1 -0
  545. package/uploads.mjs.map +1 -1
  546. package/version.d.mts +1 -1
  547. package/version.d.ts +1 -1
  548. package/version.js +1 -1
  549. package/version.mjs +1 -1
  550. package/examples/sdui/sdui-crud-todo/sdui-crud-todo.ts +0 -282
  551. package/examples/sdui/sdui-showcase/sdui-showcase.ts +0 -346
  552. package/examples/sdui/sdui-tab-multi-view/sdui-tab-multi-view.ts +0 -914
  553. package/examples/sdui/vote/vote.ts +0 -294
@@ -1,7 +1,7 @@
1
1
  import { Category } from './category';
2
2
  import { getExistingManifestContext, type ExistingManifestContextOptions } from './existing-manifest-context';
3
3
  import type { ManifestComponent, ManifestComponentDeletion, ManifestScope } from './manifest-builder';
4
- import { requireStringComponentField } from './_existing-component-fields';
4
+ import { optionalStringComponentField, requireStringComponentField } from './_existing-component-fields';
5
5
 
6
6
  // ────────────────────────────────────────────────────────────────────────
7
7
  // Platform-managed standard fields — mirrors
@@ -199,9 +199,9 @@ export interface CustomObjectProps {
199
199
  /**
200
200
  * Human-readable description of what this entity represents.
201
201
  *
202
- * Optional. @default null
202
+ * Required.
203
203
  */
204
- description?: string | null;
204
+ description: string;
205
205
  /**
206
206
  * Icon shown next to the object name in the Rippling UI.
207
207
  *
@@ -301,7 +301,7 @@ export interface CustomObjectProps {
301
301
  * `owner_role`, `created_by`, and `last_modified_by` (all `Employee` references),
302
302
  * plus `name`, `created_at`, `updated_at`, `external_id`, and `id`. For any
303
303
  * "the employee responsible for this record" semantics, consider using
304
- * `owner_role` rather than adding a new {@link LookupField} targeting `'role'`.
304
+ * `owner_role` rather than adding a new {@link LookupField} targeting `'Employee'`.
305
305
  * `owner_role` drives Rippling's record-level permissions, so a parallel field
306
306
  * can fragment ownership and complicate the permission story.
307
307
  */
@@ -319,7 +319,7 @@ export class CustomObject implements ManifestScope {
319
319
  private readonly _apiName: string;
320
320
  private readonly _name: string;
321
321
  private readonly _category: Category;
322
- private _description: string | null | undefined;
322
+ private _description: string;
323
323
  private _icon: IconConfig | null | undefined;
324
324
  private _pluralLabel: string | null | undefined;
325
325
  private _nameFieldDetails: Record<string, any> | null | undefined;
@@ -379,8 +379,8 @@ export class CustomObject implements ManifestScope {
379
379
  apiName: requireStringComponentField(component, 'api_name', CustomObject.componentType),
380
380
  name: requireStringComponentField(component, 'name', CustomObject.componentType),
381
381
  category: resolveCategory(categoryApiName),
382
+ description: optionalStringComponentField(component, 'description'),
382
383
  };
383
- if (component['description'] !== undefined) props.description = component['description'];
384
384
  if (component['plural_label'] !== undefined) props.pluralLabel = component['plural_label'];
385
385
  if (component['name_field_details'] !== undefined) {
386
386
  props.nameFieldDetails = component['name_field_details'];
@@ -436,7 +436,7 @@ export class CustomObject implements ManifestScope {
436
436
  type: CustomObject.componentType,
437
437
  api_name: this._apiName,
438
438
  name: this._name,
439
- description: this._description ?? null,
439
+ description: this._description,
440
440
  category_api_name: this._category.getApiName(),
441
441
  };
442
442
  if (this._icon != null) {
@@ -10,7 +10,11 @@ import { ManifestFunction } from './manifest-function';
10
10
  import { Rule } from './rule';
11
11
  import { SduiPage } from './sdui-page';
12
12
  import { Validation } from './validation';
13
- import { requireObjectComponentField, requireStringComponentField } from './_existing-component-fields';
13
+ import {
14
+ optionalStringComponentField,
15
+ requireObjectComponentField,
16
+ requireStringComponentField,
17
+ } from './_existing-component-fields';
14
18
 
15
19
  export interface ExistingManifest {
16
20
  metadata?: Record<string, any>;
@@ -145,10 +149,8 @@ export class ExistingManifestContext {
145
149
  const props = {
146
150
  key,
147
151
  name: typeof metadata['name'] === 'string' ? metadata['name'] : key,
152
+ description: optionalStringComponentField(metadata, 'description'),
148
153
  };
149
- if (typeof metadata['description'] === 'string') {
150
- (props as Record<string, any>)['description'] = metadata['description'];
151
- }
152
154
  this.builder = new ManifestBuilder(props);
153
155
  }
154
156
  return this.builder;
@@ -9,7 +9,11 @@ import type { CustomObject } from './custom-object';
9
9
  import { CustomObjectFieldSection } from './custom-object-field-section';
10
10
  import { getExistingManifestContext, type ExistingManifestContextOptions } from './existing-manifest-context';
11
11
  import type { ManifestComponentDeletion } from './manifest-builder';
12
- import { requireObjectComponentField, requireStringComponentField } from './_existing-component-fields';
12
+ import {
13
+ optionalStringComponentField,
14
+ requireObjectComponentField,
15
+ requireStringComponentField,
16
+ } from './_existing-component-fields';
13
17
 
14
18
  export interface CustomObjectFieldDeletionIdentifier {
15
19
  customObjectApiName: string;
@@ -70,7 +74,7 @@ function cloneJson<T>(value: T): T {
70
74
  interface CommonFieldProps {
71
75
  apiName: string;
72
76
  displayName: string;
73
- description?: string;
77
+ description: string;
74
78
  section: CustomObjectFieldSection;
75
79
  }
76
80
 
@@ -86,7 +90,7 @@ export interface FieldProps {
86
90
  // props under `exactOptionalPropertyTypes`.
87
91
  fieldType?: FieldType | undefined;
88
92
  dataType?: Record<string, any> | undefined;
89
- description?: string | null | undefined;
93
+ description: string;
90
94
  required?: boolean | null | undefined;
91
95
  unique?: boolean | null | undefined;
92
96
  indexed?: boolean | null | undefined;
@@ -237,7 +241,7 @@ export class Field {
237
241
  private readonly _fieldDisplayName: string;
238
242
  private readonly _customObjectApiName: string;
239
243
  private readonly _dataType: Record<string, any>;
240
- private readonly _description: string | null;
244
+ private readonly _description: string;
241
245
  private readonly _isRequired: boolean | null;
242
246
  private readonly _isUnique: boolean | null;
243
247
  private readonly _isIndexed: boolean | null;
@@ -267,7 +271,7 @@ export class Field {
267
271
  if (props.options != null) dt['options_list'] = [...props.options];
268
272
  this._dataType = dt;
269
273
 
270
- this._description = props.description ?? null;
274
+ this._description = props.description;
271
275
  this._isRequired = props.required ?? null;
272
276
  this._isUnique = props.unique ?? null;
273
277
  this._isIndexed = props.indexed ?? null;
@@ -302,8 +306,8 @@ export class Field {
302
306
  apiName: requireStringComponentField(component, 'field_api_name', Field.componentType),
303
307
  displayName: requireStringComponentField(component, 'field_display_name', Field.componentType),
304
308
  dataType: cloneJson(requireObjectComponentField(component, 'data_type', Field.componentType)),
309
+ description: optionalStringComponentField(component, 'description'),
305
310
  } as FieldProps;
306
- if (component['description'] !== undefined) props.description = component['description'];
307
311
  if (component['is_required'] !== undefined) props.required = component['is_required'];
308
312
  if (component['is_unique'] !== undefined) props.unique = component['is_unique'];
309
313
  if (component['is_indexed'] !== undefined) props.indexed = component['is_indexed'];
@@ -717,7 +721,7 @@ export class FileField extends Field {
717
721
  export interface LookupFieldProps extends CommonFieldProps {
718
722
  /**
719
723
  * The object this field points to. Pass a live {@link CustomObject} instance,
720
- * or a raw api_name string for native Rippling models (e.g. `'role'`).
724
+ * or a raw api_name string for native Rippling models (e.g. `'Employee'`).
721
725
  *
722
726
  * Required.
723
727
  */
@@ -740,11 +744,11 @@ export interface LookupFieldProps extends CommonFieldProps {
740
744
  *
741
745
  * @remarks
742
746
  * **For "the employee responsible for this record" semantics, consider the built-in
743
- * `owner_role` standard field instead of a new `LookupField` to `'role'`.** Every
747
+ * `owner_role` standard field instead of a new `LookupField` to `'Employee'`.** Every
744
748
  * `CustomObject` ships with `owner_role` (an Employee reference) plus `created_by`
745
749
  * and `last_modified_by`. `owner_role` drives Rippling's record-level permissions,
746
750
  * so a parallel custom employee field can fragment ownership and complicate the
747
- * permission story. Consider a new `LookupField` to `'role'` when you need a
751
+ * permission story. Consider a new `LookupField` to `'Employee'` when you need a
748
752
  * *second*, non-owner employee reference (e.g. an "approver", a "manager on record").
749
753
  */
750
754
  export class LookupField extends Field {
@@ -35,28 +35,55 @@ export {
35
35
  type AddPageLayoutFieldsOptions,
36
36
  type AddPageLayoutSectionOptions,
37
37
  type AddPageLayoutTabOptions,
38
+ type BlueprintKey,
39
+ type CanvasCompositionId,
40
+ type CanvasSection,
41
+ type CustomObjectCustomSectionComponentKey,
38
42
  type CustomObjectPageLayoutLoadFromExistingOptions,
39
43
  type CustomObjectPageLayoutProps,
44
+ type CustomSection,
40
45
  type CustomTab,
46
+ type FieldMovementOption,
47
+ type FieldRqlName,
41
48
  type FieldsSection,
42
49
  type HeaderEdits,
50
+ type HeaderButtonKey,
51
+ type HeaderFieldKey,
52
+ type JsonObject,
53
+ type JsonPrimitive,
54
+ type JsonValue,
55
+ type LayoutApiName,
43
56
  type NewHeaderField,
57
+ type ObjectRqlName,
44
58
  type PageLayoutDeletionIdentifier,
45
59
  type PageLayoutMutationPosition,
46
60
  type PageLayoutSection,
61
+ type PageLayoutSectionOptions,
47
62
  type PageLayoutTab,
63
+ type RelatedFieldSection,
64
+ type RelatedObjectRqlName,
65
+ type RelatedObjectSection,
48
66
  type RemoveHeaderFieldOptions,
49
67
  type RemovePageLayoutFieldOptions,
50
68
  type RemovePageLayoutSectionOptions,
51
69
  type RemovePageLayoutTabOptions,
70
+ type ReportsSection,
71
+ type ReportsSectionItem,
72
+ type ResizableLayoutPosition,
52
73
  type SectionField,
74
+ type SectionFieldDefaultValue,
75
+ type SectionFieldInput,
53
76
  type SectionFieldOptions,
54
77
  type SectionFieldRef,
55
78
  type SectionFieldsLayout,
79
+ type SectionKey,
80
+ type SectionMovementOption,
56
81
  type SystemHeaderFieldEdit,
57
82
  type SystemSectionEdit,
58
83
  type SystemTabEdit,
84
+ type TabKey,
59
85
  type TabEdits,
86
+ type TabLayout,
60
87
  type TabWithSections,
61
88
  type VisibilityCondition,
62
89
  type VisibilityConditions,
@@ -4,6 +4,7 @@ import { getExistingManifestContext, type ExistingManifestContextOptions } from
4
4
  import type { Field } from './field';
5
5
  import type { ManifestComponentDeletion } from './manifest-builder';
6
6
  import {
7
+ optionalStringComponentField,
7
8
  requireArrayComponentField,
8
9
  requireBooleanComponentField,
9
10
  requireStringComponentField,
@@ -74,9 +75,9 @@ export interface ListViewDefProps {
74
75
  /**
75
76
  * Human-readable description of this view.
76
77
  *
77
- * Optional. @default null
78
+ * Required.
78
79
  */
79
- description?: string;
80
+ description: string;
80
81
  /**
81
82
  * Per-column configuration overrides keyed by field API name.
82
83
  *
@@ -151,7 +152,7 @@ export class ListViewDef {
151
152
  private readonly _orderBy: Field | undefined;
152
153
  private readonly _sortOrder: SortOrder | undefined;
153
154
  private readonly _objectScope: ObjectScope | undefined;
154
- private readonly _description: string | undefined;
155
+ private readonly _description: string;
155
156
  private readonly _columnConfig: Record<string, ListViewColumnConfig> | undefined;
156
157
  private readonly _rqlFilter: string | undefined;
157
158
 
@@ -198,12 +199,12 @@ export class ListViewDef {
198
199
  const props: ListViewDefProps = {
199
200
  viewId: requireStringComponentField(component, 'view_id', ListViewDef.componentType),
200
201
  name: requireStringComponentField(component, 'name', ListViewDef.componentType),
202
+ description: optionalStringComponentField(component, 'description'),
201
203
  fields: requireArrayComponentField<string>(component, 'fields', ListViewDef.componentType).map(
202
204
  (fieldApiName: string) => resolveField(fieldApiName),
203
205
  ),
204
206
  isPublic: requireBooleanComponentField(component, 'public', ListViewDef.componentType),
205
207
  };
206
- if (component['description'] !== undefined) props.description = component['description'];
207
208
  if (component['object_scope'] !== undefined) props.objectScope = component['object_scope'];
208
209
  if (component['sort_order'] !== undefined) props.sortOrder = component['sort_order'];
209
210
  if (component['column_config'] !== undefined) props.columnConfig = component['column_config'];
@@ -240,8 +241,8 @@ export class ListViewDef {
240
241
  name: this._name,
241
242
  public: this._isPublic,
242
243
  fields: this._fields.map((f) => f.getApiName()),
244
+ description: this._description,
243
245
  };
244
- if (this._description != null) d['description'] = this._description;
245
246
  if (this._objectScope != null) d['object_scope'] = this._objectScope;
246
247
  if (this._sortOrder != null) d['sort_order'] = this._sortOrder;
247
248
  if (this._orderBy != null) d['order_by'] = this._orderBy.getApiName();
@@ -74,9 +74,9 @@ export interface ManifestBuilderProps {
74
74
  /**
75
75
  * Human-readable description of what this manifest contains.
76
76
  *
77
- * Optional.
77
+ * Required.
78
78
  */
79
- description?: string;
79
+ description: string;
80
80
  }
81
81
 
82
82
  /**
@@ -131,7 +131,7 @@ export class ManifestBuilder implements ManifestScope {
131
131
  }
132
132
  this.key = props.key;
133
133
  this.name = props.name || props.key;
134
- this.description = props.description ?? '';
134
+ this.description = props.description;
135
135
  }
136
136
 
137
137
  /**
@@ -200,16 +200,14 @@ export class ManifestBuilder implements ManifestScope {
200
200
  * Returns the manifest as a plain object with `metadata`, a flat `components` array,
201
201
  * and a `components_to_delete` array when deletions are registered.
202
202
  *
203
- * @returns `{ metadata: { key, name, description? }, components, components_to_delete? }`
203
+ * @returns `{ metadata: { key, name, description }, components, components_to_delete? }`
204
204
  */
205
205
  buildManifest(): BuiltManifest {
206
206
  const metadata: Record<string, any> = {
207
207
  key: this.key,
208
208
  name: this.name,
209
+ description: this.description,
209
210
  };
210
- if (this.description) {
211
- metadata['description'] = this.description;
212
- }
213
211
  const components = this._components.map((c) => c.toDict());
214
212
  const manifest: BuiltManifest = { metadata, components };
215
213
  if (this._componentsToDelete.length > 0) {
@@ -1,6 +1,6 @@
1
1
  import { getExistingManifestContext, type ExistingManifestContextOptions } from './existing-manifest-context';
2
2
  import type { ManifestComponentDeletion, ManifestScope } from './manifest-builder';
3
- import { requireStringComponentField } from './_existing-component-fields';
3
+ import { optionalStringComponentField, requireStringComponentField } from './_existing-component-fields';
4
4
 
5
5
  /**
6
6
  * Initialization properties for {@link ManifestFunction}.
@@ -27,9 +27,9 @@ export interface ManifestFunctionProps {
27
27
  /**
28
28
  * Human-readable description of what this function does.
29
29
  *
30
- * Optional. @default `''`
30
+ * Required.
31
31
  */
32
- description?: string;
32
+ description: string;
33
33
  /**
34
34
  * NPM package dependencies as a `{ packageName: versionRange }` map
35
35
  * (e.g. `{ '@rippling/rippling-sdk': '^0.2.0' }`).
@@ -65,8 +65,8 @@ export interface ManifestFunctionProps {
65
65
  *
66
66
  * Functions have two primary uses:
67
67
  * 1. **Authoring SDUI for Custom Apps** — the function returns an SDUI spec
68
- * (built with `@rippling/sdui-builder`) that renders as a page tab. Wrap the
69
- * function in an {@link SduiPage} and reference it from an {@link App}.
68
+ * (built with `@rippling/rippling-sdk/lib/sdui`) that renders as a page tab.
69
+ * Wrap the function in an {@link SduiPage} and reference it from an {@link App}.
70
70
  * 2. **Workflow / event handlers** — functions invoked from rules, automations,
71
71
  * or callbacks that do not render UI.
72
72
  *
@@ -83,7 +83,6 @@ export interface ManifestFunctionProps {
83
83
  * code: handlerSource,
84
84
  * dependencies: {
85
85
  * '@rippling/rippling-sdk': '^0.2.0-alpha.33',
86
- * '@rippling/sdui-builder': '^0.1.0',
87
86
  * },
88
87
  * isAsync: false,
89
88
  * });
@@ -118,7 +117,7 @@ export class ManifestFunction {
118
117
  this._apiName = props.apiName;
119
118
  this._name = props.name;
120
119
  this._code = props.code ?? '';
121
- this._description = props.description ?? '';
120
+ this._description = props.description;
122
121
  this._dependencies = props.dependencies;
123
122
  this._deploymentOptions = props.deploymentOptions;
124
123
  this._allowedDomains = props.allowedDomains;
@@ -138,9 +137,9 @@ export class ManifestFunction {
138
137
  const props: ManifestFunctionProps = {
139
138
  apiName: requireStringComponentField(component, 'api_name', ManifestFunction.componentType),
140
139
  name: requireStringComponentField(component, 'name', ManifestFunction.componentType),
140
+ description: optionalStringComponentField(component, 'description'),
141
141
  };
142
142
  if (component['code_draft'] !== undefined) props.code = component['code_draft'];
143
- if (component['description'] !== undefined) props.description = component['description'];
144
143
  if (component['dependencies'] !== undefined) props.dependencies = component['dependencies'];
145
144
  if (component['deployment_options'] !== undefined) {
146
145
  props.deploymentOptions = component['deployment_options'];
@@ -167,8 +166,8 @@ export class ManifestFunction {
167
166
  type: ManifestFunction.componentType,
168
167
  name: this._name,
169
168
  api_name: this._apiName,
169
+ description: this._description,
170
170
  };
171
- if (this._description) component['description'] = this._description;
172
171
  if (this._code) component['code_draft'] = this._code;
173
172
  if (this._dependencies != null) component['dependencies'] = this._dependencies;
174
173
  if (this._deploymentOptions != null) component['deployment_options'] = this._deploymentOptions;
@@ -3,7 +3,7 @@ import type { CustomObject } from './custom-object';
3
3
  import { getExistingManifestContext, type ExistingManifestContextOptions } from './existing-manifest-context';
4
4
  import type { Field } from './field';
5
5
  import type { ManifestComponentDeletion } from './manifest-builder';
6
- import { requireStringComponentField } from './_existing-component-fields';
6
+ import { optionalStringComponentField, requireStringComponentField } from './_existing-component-fields';
7
7
 
8
8
  export interface RuleDeletionIdentifier {
9
9
  flowId: string;
@@ -75,9 +75,9 @@ export interface RuleProps {
75
75
  /**
76
76
  * Internal description of this rule (for developer reference only).
77
77
  *
78
- * Optional. @default null
78
+ * Required.
79
79
  */
80
- description?: string;
80
+ description: string;
81
81
  /**
82
82
  * Actions to run when the rule fires. Each action sets one field to a fixed value
83
83
  * or RQL formula result.
@@ -154,7 +154,7 @@ export class Rule {
154
154
  private readonly _triggerType: TriggerType;
155
155
  private readonly _rqlCondition: string | undefined;
156
156
  private readonly _updateTriggerType: UpdateTriggerType | undefined;
157
- private readonly _description: string | undefined;
157
+ private readonly _description: string;
158
158
  private readonly _actions: RuleAction[];
159
159
 
160
160
  /**
@@ -197,6 +197,7 @@ export class Rule {
197
197
  flowId: requireStringComponentField(component, 'flow_id', Rule.componentType),
198
198
  flowName: requireStringComponentField(component, 'flow_name', Rule.componentType),
199
199
  triggerType: requireStringComponentField(component, 'trigger_type', Rule.componentType) as TriggerType,
200
+ description: optionalStringComponentField(component, 'description'),
200
201
  actions: (component['actions'] ?? []).map((action: Record<string, any>): RuleAction => {
201
202
  const out: RuleAction = {
202
203
  targetField: resolveField(action['target_field']),
@@ -206,7 +207,6 @@ export class Rule {
206
207
  return out;
207
208
  }),
208
209
  };
209
- if (component['description'] !== undefined) props.description = component['description'];
210
210
  if (component['rql_condition'] !== undefined) props.rqlCondition = component['rql_condition'];
211
211
  if (component['update_trigger_type'] !== undefined) {
212
212
  props.updateTriggerType = component['update_trigger_type'];
@@ -241,8 +241,8 @@ export class Rule {
241
241
  flow_id: this._flowId,
242
242
  flow_name: this._flowName,
243
243
  trigger_type: this._triggerType,
244
+ description: this._description,
244
245
  };
245
- if (this._description != null) component['description'] = this._description;
246
246
  if (this._updateTriggerType != null) component['update_trigger_type'] = this._updateTriggerType;
247
247
  if (this._rqlCondition != null) component['rql_condition'] = this._rqlCondition;
248
248
  if (this._actions.length > 0) component['actions'] = this._actions.map(actionToDict);
@@ -1,7 +1,7 @@
1
1
  import { getExistingManifestContext, type ExistingManifestContextOptions } from './existing-manifest-context';
2
2
  import type { ManifestFunction } from './manifest-function';
3
3
  import type { ManifestComponentDeletion, ManifestScope } from './manifest-builder';
4
- import { requireStringComponentField } from './_existing-component-fields';
4
+ import { optionalStringComponentField, requireStringComponentField } from './_existing-component-fields';
5
5
 
6
6
  /**
7
7
  * Initialization properties for {@link SduiPage}.
@@ -29,9 +29,9 @@ export interface SduiPageProps {
29
29
  /**
30
30
  * Human-readable description of what this page shows.
31
31
  *
32
- * Optional. @default `''`
32
+ * Required.
33
33
  */
34
- description?: string;
34
+ description: string;
35
35
  }
36
36
 
37
37
  /**
@@ -92,7 +92,7 @@ export class SduiPage {
92
92
  this._sduiPageId = props.sduiPageId;
93
93
  this._name = props.name;
94
94
  this._functionApiName = typeof props.function === 'string' ? props.function : props.function.getApiName();
95
- this._description = props.description ?? '';
95
+ this._description = props.description;
96
96
  scope._register(this);
97
97
  }
98
98
 
@@ -118,10 +118,8 @@ export class SduiPage {
118
118
  sduiPageId: requireStringComponentField(component, 'sdui_page_id', SduiPage.componentType),
119
119
  name: requireStringComponentField(component, 'name', SduiPage.componentType),
120
120
  function: resolveFunction(functionApiName),
121
+ description: optionalStringComponentField(component, 'description'),
121
122
  };
122
- if (component['description'] !== undefined) {
123
- props.description = component['description'];
124
- }
125
123
  return new SduiPage(scope, props);
126
124
  }
127
125
 
@@ -0,0 +1 @@
1
+ export * from './manifest/index';