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

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 (270) hide show
  1. package/client.d.mts +6 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +6 -0
  4. package/client.d.ts.map +1 -1
  5. package/client.js +6 -0
  6. package/client.js.map +1 -1
  7. package/client.mjs +6 -0
  8. package/client.mjs.map +1 -1
  9. package/examples/.keep +4 -0
  10. package/examples/manifest/dental-practice-management/dental-practice-management.ts +651 -0
  11. package/examples/manifest/dental-practice-management/manifest.json +1870 -0
  12. package/examples/manifest/gym-membership-management/gym-membership-management.ts +757 -0
  13. package/examples/manifest/gym-membership-management/manifest.json +1975 -0
  14. package/examples/sdui/sdui-crud-todo/rippling-function.ts +367 -0
  15. package/examples/sdui/sdui-crud-todo/sdui-crud-todo.ts +282 -0
  16. package/examples/sdui/sdui-showcase/rippling-function.ts +381 -0
  17. package/examples/sdui/sdui-showcase/sdui-showcase.ts +351 -0
  18. package/examples/sdui/sdui-tab-multi-view/rippling-function.ts +1061 -0
  19. package/examples/sdui/sdui-tab-multi-view/sdui-tab-multi-view.ts +924 -0
  20. package/examples/sdui/vote/rippling-function.ts +330 -0
  21. package/examples/sdui/vote/vote.ts +298 -0
  22. package/lib/manifest/app.d.mts +81 -13
  23. package/lib/manifest/app.d.mts.map +1 -1
  24. package/lib/manifest/app.d.ts +81 -13
  25. package/lib/manifest/app.d.ts.map +1 -1
  26. package/lib/manifest/app.js +37 -16
  27. package/lib/manifest/app.js.map +1 -1
  28. package/lib/manifest/app.mjs +37 -16
  29. package/lib/manifest/app.mjs.map +1 -1
  30. package/lib/manifest/category.d.mts +63 -7
  31. package/lib/manifest/category.d.mts.map +1 -1
  32. package/lib/manifest/category.d.ts +63 -7
  33. package/lib/manifest/category.d.ts.map +1 -1
  34. package/lib/manifest/category.js +45 -10
  35. package/lib/manifest/category.js.map +1 -1
  36. package/lib/manifest/category.mjs +43 -8
  37. package/lib/manifest/category.mjs.map +1 -1
  38. package/lib/manifest/custom-object-field-section.d.mts +56 -6
  39. package/lib/manifest/custom-object-field-section.d.mts.map +1 -1
  40. package/lib/manifest/custom-object-field-section.d.ts +56 -6
  41. package/lib/manifest/custom-object-field-section.d.ts.map +1 -1
  42. package/lib/manifest/custom-object-field-section.js +41 -14
  43. package/lib/manifest/custom-object-field-section.js.map +1 -1
  44. package/lib/manifest/custom-object-field-section.mjs +39 -12
  45. package/lib/manifest/custom-object-field-section.mjs.map +1 -1
  46. package/lib/manifest/custom-object-page-layout.d.mts +201 -41
  47. package/lib/manifest/custom-object-page-layout.d.mts.map +1 -1
  48. package/lib/manifest/custom-object-page-layout.d.ts +201 -41
  49. package/lib/manifest/custom-object-page-layout.d.ts.map +1 -1
  50. package/lib/manifest/custom-object-page-layout.js +76 -30
  51. package/lib/manifest/custom-object-page-layout.js.map +1 -1
  52. package/lib/manifest/custom-object-page-layout.mjs +74 -28
  53. package/lib/manifest/custom-object-page-layout.mjs.map +1 -1
  54. package/lib/manifest/custom-object.d.mts +128 -15
  55. package/lib/manifest/custom-object.d.mts.map +1 -1
  56. package/lib/manifest/custom-object.d.ts +128 -15
  57. package/lib/manifest/custom-object.d.ts.map +1 -1
  58. package/lib/manifest/custom-object.js +61 -26
  59. package/lib/manifest/custom-object.js.map +1 -1
  60. package/lib/manifest/custom-object.mjs +61 -26
  61. package/lib/manifest/custom-object.mjs.map +1 -1
  62. package/lib/manifest/field.d.mts +265 -54
  63. package/lib/manifest/field.d.mts.map +1 -1
  64. package/lib/manifest/field.d.ts +265 -54
  65. package/lib/manifest/field.d.ts.map +1 -1
  66. package/lib/manifest/field.js +100 -57
  67. package/lib/manifest/field.js.map +1 -1
  68. package/lib/manifest/field.mjs +100 -57
  69. package/lib/manifest/field.mjs.map +1 -1
  70. package/lib/manifest/list-view.d.mts +105 -14
  71. package/lib/manifest/list-view.d.mts.map +1 -1
  72. package/lib/manifest/list-view.d.ts +105 -14
  73. package/lib/manifest/list-view.d.ts.map +1 -1
  74. package/lib/manifest/list-view.js +50 -14
  75. package/lib/manifest/list-view.js.map +1 -1
  76. package/lib/manifest/list-view.mjs +48 -12
  77. package/lib/manifest/list-view.mjs.map +1 -1
  78. package/lib/manifest/manifest-builder.d.mts +77 -11
  79. package/lib/manifest/manifest-builder.d.mts.map +1 -1
  80. package/lib/manifest/manifest-builder.d.ts +77 -11
  81. package/lib/manifest/manifest-builder.d.ts.map +1 -1
  82. package/lib/manifest/manifest-builder.js +46 -24
  83. package/lib/manifest/manifest-builder.js.map +1 -1
  84. package/lib/manifest/manifest-builder.mjs +44 -22
  85. package/lib/manifest/manifest-builder.mjs.map +1 -1
  86. package/lib/manifest/manifest-function.d.mts +92 -12
  87. package/lib/manifest/manifest-function.d.mts.map +1 -1
  88. package/lib/manifest/manifest-function.d.ts +92 -12
  89. package/lib/manifest/manifest-function.d.ts.map +1 -1
  90. package/lib/manifest/manifest-function.js +40 -11
  91. package/lib/manifest/manifest-function.js.map +1 -1
  92. package/lib/manifest/manifest-function.mjs +38 -9
  93. package/lib/manifest/manifest-function.mjs.map +1 -1
  94. package/lib/manifest/rule.d.mts +94 -16
  95. package/lib/manifest/rule.d.mts.map +1 -1
  96. package/lib/manifest/rule.d.ts +94 -16
  97. package/lib/manifest/rule.d.ts.map +1 -1
  98. package/lib/manifest/rule.js +36 -15
  99. package/lib/manifest/rule.js.map +1 -1
  100. package/lib/manifest/rule.mjs +36 -15
  101. package/lib/manifest/rule.mjs.map +1 -1
  102. package/lib/manifest/sdui-page.d.mts +67 -11
  103. package/lib/manifest/sdui-page.d.mts.map +1 -1
  104. package/lib/manifest/sdui-page.d.ts +67 -11
  105. package/lib/manifest/sdui-page.d.ts.map +1 -1
  106. package/lib/manifest/sdui-page.js +44 -13
  107. package/lib/manifest/sdui-page.js.map +1 -1
  108. package/lib/manifest/sdui-page.mjs +42 -11
  109. package/lib/manifest/sdui-page.mjs.map +1 -1
  110. package/lib/manifest/validation.d.mts +87 -12
  111. package/lib/manifest/validation.d.mts.map +1 -1
  112. package/lib/manifest/validation.d.ts +87 -12
  113. package/lib/manifest/validation.d.ts.map +1 -1
  114. package/lib/manifest/validation.js +41 -15
  115. package/lib/manifest/validation.js.map +1 -1
  116. package/lib/manifest/validation.mjs +39 -13
  117. package/lib/manifest/validation.mjs.map +1 -1
  118. package/lib/sdui/actions.d.mts +25 -0
  119. package/lib/sdui/actions.d.mts.map +1 -0
  120. package/lib/sdui/actions.d.ts +25 -0
  121. package/lib/sdui/actions.d.ts.map +1 -0
  122. package/lib/sdui/actions.js +53 -0
  123. package/lib/sdui/actions.js.map +1 -0
  124. package/lib/sdui/actions.mjs +42 -0
  125. package/lib/sdui/actions.mjs.map +1 -0
  126. package/lib/sdui/component.d.mts +41 -0
  127. package/lib/sdui/component.d.mts.map +1 -0
  128. package/lib/sdui/component.d.ts +41 -0
  129. package/lib/sdui/component.d.ts.map +1 -0
  130. package/lib/sdui/component.js +95 -0
  131. package/lib/sdui/component.js.map +1 -0
  132. package/lib/sdui/component.mjs +91 -0
  133. package/lib/sdui/component.mjs.map +1 -0
  134. package/lib/sdui/components.d.mts +149 -0
  135. package/lib/sdui/components.d.mts.map +1 -0
  136. package/lib/sdui/components.d.ts +149 -0
  137. package/lib/sdui/components.d.ts.map +1 -0
  138. package/lib/sdui/components.js +303 -0
  139. package/lib/sdui/components.js.map +1 -0
  140. package/lib/sdui/components.mjs +298 -0
  141. package/lib/sdui/components.mjs.map +1 -0
  142. package/lib/sdui/conditions.d.mts +25 -0
  143. package/lib/sdui/conditions.d.mts.map +1 -0
  144. package/lib/sdui/conditions.d.ts +25 -0
  145. package/lib/sdui/conditions.d.ts.map +1 -0
  146. package/lib/sdui/conditions.js +47 -0
  147. package/lib/sdui/conditions.js.map +1 -0
  148. package/lib/sdui/conditions.mjs +35 -0
  149. package/lib/sdui/conditions.mjs.map +1 -0
  150. package/lib/sdui/directives.d.mts +18 -0
  151. package/lib/sdui/directives.d.mts.map +1 -0
  152. package/lib/sdui/directives.d.ts +18 -0
  153. package/lib/sdui/directives.d.ts.map +1 -0
  154. package/lib/sdui/directives.js +28 -0
  155. package/lib/sdui/directives.js.map +1 -0
  156. package/lib/sdui/directives.mjs +21 -0
  157. package/lib/sdui/directives.mjs.map +1 -0
  158. package/lib/sdui/index.d.mts +362 -0
  159. package/lib/sdui/index.d.mts.map +1 -0
  160. package/lib/sdui/index.d.ts +362 -0
  161. package/lib/sdui/index.d.ts.map +1 -0
  162. package/lib/sdui/index.js +375 -0
  163. package/lib/sdui/index.js.map +1 -0
  164. package/lib/sdui/index.mjs +199 -0
  165. package/lib/sdui/index.mjs.map +1 -0
  166. package/lib/sdui/props.d.mts +12 -0
  167. package/lib/sdui/props.d.mts.map +1 -0
  168. package/lib/sdui/props.d.ts +12 -0
  169. package/lib/sdui/props.d.ts.map +1 -0
  170. package/lib/sdui/props.js +25 -0
  171. package/lib/sdui/props.js.map +1 -0
  172. package/lib/sdui/props.mjs +21 -0
  173. package/lib/sdui/props.mjs.map +1 -0
  174. package/lib/sdui/render.d.mts +23 -0
  175. package/lib/sdui/render.d.mts.map +1 -0
  176. package/lib/sdui/render.d.ts +23 -0
  177. package/lib/sdui/render.d.ts.map +1 -0
  178. package/lib/sdui/render.js +40 -0
  179. package/lib/sdui/render.js.map +1 -0
  180. package/lib/sdui/render.mjs +37 -0
  181. package/lib/sdui/render.mjs.map +1 -0
  182. package/lib/sdui/state.d.mts +22 -0
  183. package/lib/sdui/state.d.mts.map +1 -0
  184. package/lib/sdui/state.d.ts +22 -0
  185. package/lib/sdui/state.d.ts.map +1 -0
  186. package/lib/sdui/state.js +57 -0
  187. package/lib/sdui/state.js.map +1 -0
  188. package/lib/sdui/state.mjs +53 -0
  189. package/lib/sdui/state.mjs.map +1 -0
  190. package/package.json +11 -1
  191. package/resources/company-legal-entity-workers.d.mts +79 -0
  192. package/resources/company-legal-entity-workers.d.mts.map +1 -0
  193. package/resources/company-legal-entity-workers.d.ts +79 -0
  194. package/resources/company-legal-entity-workers.d.ts.map +1 -0
  195. package/resources/company-legal-entity-workers.js +30 -0
  196. package/resources/company-legal-entity-workers.js.map +1 -0
  197. package/resources/company-legal-entity-workers.mjs +26 -0
  198. package/resources/company-legal-entity-workers.mjs.map +1 -0
  199. package/resources/draft-hires.d.mts +4 -0
  200. package/resources/draft-hires.d.mts.map +1 -1
  201. package/resources/draft-hires.d.ts +4 -0
  202. package/resources/draft-hires.d.ts.map +1 -1
  203. package/resources/files.d.mts +16 -1
  204. package/resources/files.d.mts.map +1 -1
  205. package/resources/files.d.ts +16 -1
  206. package/resources/files.d.ts.map +1 -1
  207. package/resources/headcount-positions.d.mts +2 -2
  208. package/resources/headcount-positions.d.mts.map +1 -1
  209. package/resources/headcount-positions.d.ts +2 -2
  210. package/resources/headcount-positions.d.ts.map +1 -1
  211. package/resources/index.d.mts +1 -0
  212. package/resources/index.d.mts.map +1 -1
  213. package/resources/index.d.ts +1 -0
  214. package/resources/index.d.ts.map +1 -1
  215. package/resources/index.js +4 -2
  216. package/resources/index.js.map +1 -1
  217. package/resources/index.mjs +1 -0
  218. package/resources/index.mjs.map +1 -1
  219. package/resources/legal-entities.d.mts +1 -1
  220. package/resources/legal-entities.d.mts.map +1 -1
  221. package/resources/legal-entities.d.ts +1 -1
  222. package/resources/legal-entities.d.ts.map +1 -1
  223. package/resources/location-factors.d.mts +2 -2
  224. package/resources/location-factors.d.mts.map +1 -1
  225. package/resources/location-factors.d.ts +2 -2
  226. package/resources/location-factors.d.ts.map +1 -1
  227. package/resources/shared.d.mts +1 -1
  228. package/resources/shared.d.mts.map +1 -1
  229. package/resources/shared.d.ts +1 -1
  230. package/resources/shared.d.ts.map +1 -1
  231. package/resources/workers.d.mts +2 -2
  232. package/resources/workers.d.mts.map +1 -1
  233. package/resources/workers.d.ts +2 -2
  234. package/resources/workers.d.ts.map +1 -1
  235. package/src/client.ts +20 -0
  236. package/src/lib/manifest/app.ts +81 -26
  237. package/src/lib/manifest/category.ts +63 -14
  238. package/src/lib/manifest/custom-object-field-section.ts +56 -17
  239. package/src/lib/manifest/custom-object-page-layout.ts +201 -66
  240. package/src/lib/manifest/custom-object.ts +128 -37
  241. package/src/lib/manifest/field.ts +265 -75
  242. package/src/lib/manifest/list-view.ts +105 -25
  243. package/src/lib/manifest/manifest-builder.ts +75 -32
  244. package/src/lib/manifest/manifest-function.ts +92 -22
  245. package/src/lib/manifest/rule.ts +95 -29
  246. package/src/lib/manifest/sdui-page.ts +67 -21
  247. package/src/lib/manifest/validation.ts +87 -24
  248. package/src/lib/sdui/actions.ts +58 -0
  249. package/src/lib/sdui/component.ts +122 -0
  250. package/src/lib/sdui/components.ts +308 -0
  251. package/src/lib/sdui/conditions.ts +59 -0
  252. package/src/lib/sdui/directives.ts +42 -0
  253. package/src/lib/sdui/index.ts +365 -0
  254. package/src/lib/sdui/props.ts +32 -0
  255. package/src/lib/sdui/render.ts +58 -0
  256. package/src/lib/sdui/state.ts +60 -0
  257. package/src/resources/company-legal-entity-workers.ts +115 -0
  258. package/src/resources/draft-hires.ts +5 -0
  259. package/src/resources/files.ts +18 -1
  260. package/src/resources/headcount-positions.ts +2 -0
  261. package/src/resources/index.ts +7 -0
  262. package/src/resources/legal-entities.ts +1 -0
  263. package/src/resources/location-factors.ts +2 -0
  264. package/src/resources/shared.ts +1 -0
  265. package/src/resources/workers.ts +2 -0
  266. package/src/version.ts +1 -1
  267. package/version.d.mts +1 -1
  268. package/version.d.ts +1 -1
  269. package/version.js +1 -1
  270. package/version.mjs +1 -1
@@ -0,0 +1,12 @@
1
+ import type { VisibilityCondition } from "./conditions.js";
2
+ export interface CondRef {
3
+ $cond: VisibilityCondition;
4
+ $then: unknown;
5
+ $else: unknown;
6
+ }
7
+ export interface TemplateRef {
8
+ $template: string;
9
+ }
10
+ export declare function cond(condition: VisibilityCondition, thenValue: unknown, elseValue: unknown): CondRef;
11
+ export declare function template(strings: TemplateStringsArray, ...values: unknown[]): TemplateRef;
12
+ //# sourceMappingURL=props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/lib/sdui/props.ts"],"names":[],"mappings":"OAAO,KAAK,EAAE,mBAAmB,EAAE;AAGnC,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,IAAI,CAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAEpG;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAczF"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cond = cond;
4
+ exports.template = template;
5
+ const state_1 = require("./state.js");
6
+ function cond(condition, thenValue, elseValue) {
7
+ return { $cond: condition, $then: thenValue, $else: elseValue };
8
+ }
9
+ function template(strings, ...values) {
10
+ let result = '';
11
+ for (let i = 0; i < strings.length; i++) {
12
+ result += strings[i];
13
+ if (i < values.length) {
14
+ try {
15
+ const path = (0, state_1.extractPath)(values[i]);
16
+ result += `\${${path}}`;
17
+ }
18
+ catch {
19
+ result += String(values[i]);
20
+ }
21
+ }
22
+ }
23
+ return { $template: result };
24
+ }
25
+ //# sourceMappingURL=props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/lib/sdui/props.ts"],"names":[],"mappings":";;AAaA,oBAEC;AAED,4BAcC;AA9BD,sCAAsC;AAYtC,SAAgB,IAAI,CAAC,SAA8B,EAAE,SAAkB,EAAE,SAAkB;IACzF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAClE,CAAC;AAED,SAAgB,QAAQ,CAAC,OAA6B,EAAE,GAAG,MAAiB;IAC1E,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,IAAI,MAAM,IAAI,GAAG,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { extractPath } from "./state.mjs";
2
+ export function cond(condition, thenValue, elseValue) {
3
+ return { $cond: condition, $then: thenValue, $else: elseValue };
4
+ }
5
+ export function template(strings, ...values) {
6
+ let result = '';
7
+ for (let i = 0; i < strings.length; i++) {
8
+ result += strings[i];
9
+ if (i < values.length) {
10
+ try {
11
+ const path = extractPath(values[i]);
12
+ result += `\${${path}}`;
13
+ }
14
+ catch {
15
+ result += String(values[i]);
16
+ }
17
+ }
18
+ }
19
+ return { $template: result };
20
+ }
21
+ //# sourceMappingURL=props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.mjs","sourceRoot":"","sources":["../../src/lib/sdui/props.ts"],"names":[],"mappings":"OACO,EAAE,WAAW,EAAE;AAYtB,MAAM,UAAU,IAAI,CAAC,SAA8B,EAAE,SAAkB,EAAE,SAAkB;IACzF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAA6B,EAAE,GAAG,MAAiB;IAC1E,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,IAAI,MAAM,IAAI,GAAG,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { SpecNode } from "./components.mjs";
2
+ import type { ActionBinding } from "./actions.mjs";
3
+ export interface FlatElement {
4
+ type: string;
5
+ props: Record<string, unknown>;
6
+ children: string[];
7
+ on?: Record<string, ActionBinding | ActionBinding[]>;
8
+ visible?: unknown;
9
+ watch?: Record<string, unknown>;
10
+ repeat?: {
11
+ statePath: string;
12
+ key?: string;
13
+ };
14
+ }
15
+ export interface Spec {
16
+ root: string;
17
+ elements: Record<string, FlatElement>;
18
+ state: Record<string, unknown>;
19
+ }
20
+ export declare function render(stateProxy: {
21
+ $initialValues: Record<string, unknown>;
22
+ }, rootElement: SpecNode): Spec;
23
+ //# sourceMappingURL=render.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.mts","sourceRoot":"","sources":["../../src/lib/sdui/render.ts"],"names":[],"mappings":"OAAO,KAAK,EAAE,QAAQ,EAAE;OACjB,KAAK,EAAE,aAAa,EAAE;AAE7B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,MAAM,CAAC,UAAU,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI,CAsC3G"}
@@ -0,0 +1,23 @@
1
+ import type { SpecNode } from "./components.js";
2
+ import type { ActionBinding } from "./actions.js";
3
+ export interface FlatElement {
4
+ type: string;
5
+ props: Record<string, unknown>;
6
+ children: string[];
7
+ on?: Record<string, ActionBinding | ActionBinding[]>;
8
+ visible?: unknown;
9
+ watch?: Record<string, unknown>;
10
+ repeat?: {
11
+ statePath: string;
12
+ key?: string;
13
+ };
14
+ }
15
+ export interface Spec {
16
+ root: string;
17
+ elements: Record<string, FlatElement>;
18
+ state: Record<string, unknown>;
19
+ }
20
+ export declare function render(stateProxy: {
21
+ $initialValues: Record<string, unknown>;
22
+ }, rootElement: SpecNode): Spec;
23
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/lib/sdui/render.ts"],"names":[],"mappings":"OAAO,KAAK,EAAE,QAAQ,EAAE;OACjB,KAAK,EAAE,aAAa,EAAE;AAE7B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,MAAM,CAAC,UAAU,EAAE;IAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI,CAsC3G"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.render = render;
4
+ function render(stateProxy, rootElement) {
5
+ const elements = {};
6
+ const localStates = [];
7
+ let counter = 0;
8
+ function flattenNode(node) {
9
+ if (!node)
10
+ return null;
11
+ // Collect local state registrations from component() wrappers
12
+ const registration = node._localStateRegistration;
13
+ if (registration) {
14
+ localStates.push(registration);
15
+ }
16
+ const id = `${node.type.toLowerCase()}_${counter++}`;
17
+ const childIds = node.children.map(flattenNode).filter((id) => id !== null);
18
+ const element = { type: node.type, props: node.props, children: childIds };
19
+ if (node.visible !== undefined)
20
+ element.visible = node.visible;
21
+ if (node.on)
22
+ element.on = node.on;
23
+ if (node.watch)
24
+ element.watch = node.watch;
25
+ if (node.repeat)
26
+ element.repeat = node.repeat;
27
+ elements[id] = element;
28
+ return id;
29
+ }
30
+ const rootId = flattenNode(rootElement);
31
+ // Merge global state + local states from component() calls
32
+ const state = { ...stateProxy.$initialValues };
33
+ for (const { path, initial } of localStates) {
34
+ // path is like "/auto_xxx" — strip leading / for state key
35
+ const key = path.startsWith('/') ? path.slice(1) : path;
36
+ state[key] = initial;
37
+ }
38
+ return { root: rootId, elements, state };
39
+ }
40
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/lib/sdui/render.ts"],"names":[],"mappings":";;AAmBA,wBAsCC;AAtCD,SAAgB,MAAM,CAAC,UAAuD,EAAE,WAAqB;IACnG,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,MAAM,WAAW,GAAyC,EAAE,CAAC;IAC7D,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,SAAS,WAAW,CAAC,IAAiC;QACpD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,8DAA8D;QAC9D,MAAM,YAAY,GAAI,IAAY,CAAC,uBAAuB,CAAC;QAC3D,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAE1F,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACxF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/D,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9C,QAAQ,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAE,CAAC;IAEzC,2DAA2D;IAC3D,MAAM,KAAK,GAA4B,EAAE,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IACxE,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC;QAC5C,2DAA2D;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,37 @@
1
+ export function render(stateProxy, rootElement) {
2
+ const elements = {};
3
+ const localStates = [];
4
+ let counter = 0;
5
+ function flattenNode(node) {
6
+ if (!node)
7
+ return null;
8
+ // Collect local state registrations from component() wrappers
9
+ const registration = node._localStateRegistration;
10
+ if (registration) {
11
+ localStates.push(registration);
12
+ }
13
+ const id = `${node.type.toLowerCase()}_${counter++}`;
14
+ const childIds = node.children.map(flattenNode).filter((id) => id !== null);
15
+ const element = { type: node.type, props: node.props, children: childIds };
16
+ if (node.visible !== undefined)
17
+ element.visible = node.visible;
18
+ if (node.on)
19
+ element.on = node.on;
20
+ if (node.watch)
21
+ element.watch = node.watch;
22
+ if (node.repeat)
23
+ element.repeat = node.repeat;
24
+ elements[id] = element;
25
+ return id;
26
+ }
27
+ const rootId = flattenNode(rootElement);
28
+ // Merge global state + local states from component() calls
29
+ const state = { ...stateProxy.$initialValues };
30
+ for (const { path, initial } of localStates) {
31
+ // path is like "/auto_xxx" — strip leading / for state key
32
+ const key = path.startsWith('/') ? path.slice(1) : path;
33
+ state[key] = initial;
34
+ }
35
+ return { root: rootId, elements, state };
36
+ }
37
+ //# sourceMappingURL=render.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.mjs","sourceRoot":"","sources":["../../src/lib/sdui/render.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,MAAM,CAAC,UAAuD,EAAE,WAAqB;IACnG,MAAM,QAAQ,GAAgC,EAAE,CAAC;IACjD,MAAM,WAAW,GAAyC,EAAE,CAAC;IAC7D,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,SAAS,WAAW,CAAC,IAAiC;QACpD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,8DAA8D;QAC9D,MAAM,YAAY,GAAI,IAAY,CAAC,uBAAuB,CAAC;QAC3D,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAE1F,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACxF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/D,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9C,QAAQ,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAE,CAAC;IAEzC,2DAA2D;IAC3D,MAAM,KAAK,GAA4B,EAAE,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IACxE,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC;QAC5C,2DAA2D;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type StateRef = {
2
+ $state: string;
3
+ };
4
+ export type BindStateRef = {
5
+ $bindState: string;
6
+ };
7
+ type DeepStateProxy = {
8
+ readonly [key: string]: DeepStateProxy;
9
+ } & {
10
+ readonly $state: string;
11
+ readonly $bind: BindStateRef;
12
+ readonly $path: string;
13
+ };
14
+ export type StateProxy<T> = {
15
+ [K in keyof T]: T[K] extends Record<string, unknown> ? StateProxy<T[K]> & DeepStateProxy : DeepStateProxy;
16
+ } & DeepStateProxy & {
17
+ readonly $initialValues: T;
18
+ };
19
+ export declare function extractPath(ref: unknown): string;
20
+ export declare function createState<T extends Record<string, unknown>>(shape: T): StateProxy<T>;
21
+ export {};
22
+ //# sourceMappingURL=state.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.mts","sourceRoot":"","sources":["../../src/lib/sdui/state.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1C,MAAM,MAAM,YAAY,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAIlD,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CACxC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,cAAc;CAC1G,GAAG,cAAc,GAAG;IAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAA;CAAE,CAAC;AASpD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAWhD;AAwBD,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAEtF"}
@@ -0,0 +1,22 @@
1
+ export type StateRef = {
2
+ $state: string;
3
+ };
4
+ export type BindStateRef = {
5
+ $bindState: string;
6
+ };
7
+ type DeepStateProxy = {
8
+ readonly [key: string]: DeepStateProxy;
9
+ } & {
10
+ readonly $state: string;
11
+ readonly $bind: BindStateRef;
12
+ readonly $path: string;
13
+ };
14
+ export type StateProxy<T> = {
15
+ [K in keyof T]: T[K] extends Record<string, unknown> ? StateProxy<T[K]> & DeepStateProxy : DeepStateProxy;
16
+ } & DeepStateProxy & {
17
+ readonly $initialValues: T;
18
+ };
19
+ export declare function extractPath(ref: unknown): string;
20
+ export declare function createState<T extends Record<string, unknown>>(shape: T): StateProxy<T>;
21
+ export {};
22
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/lib/sdui/state.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1C,MAAM,MAAM,YAAY,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAIlD,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CACxC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,cAAc;CAC1G,GAAG,cAAc,GAAG;IAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAA;CAAE,CAAC;AASpD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAWhD;AAwBD,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAEtF"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // State proxy — creates deeply nested proxies that produce $state refs on access
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.extractPath = extractPath;
5
+ exports.createState = createState;
6
+ const PROXY_MARKER = Symbol('stateProxy');
7
+ const INITIAL_VALUES = Symbol('initialValues');
8
+ function isStateProxy(value) {
9
+ return typeof value === 'object' && value !== null && value[PROXY_MARKER] === true;
10
+ }
11
+ function extractPath(ref) {
12
+ if (isStateProxy(ref))
13
+ return ref.$path;
14
+ if (typeof ref === 'object' && ref !== null && '$state' in ref)
15
+ return ref.$state;
16
+ // Support scope proxies from component() — they have $path as a getter
17
+ if (typeof ref === 'object' && ref !== null) {
18
+ try {
19
+ const p = ref.$path;
20
+ if (typeof p === 'string')
21
+ return p;
22
+ }
23
+ catch { }
24
+ }
25
+ throw new Error('Expected a state proxy or { $state } ref');
26
+ }
27
+ function createProxy(path, initialValues) {
28
+ const handler = {
29
+ get(_target, prop) {
30
+ if (prop === PROXY_MARKER)
31
+ return true;
32
+ if (prop === INITIAL_VALUES)
33
+ return initialValues;
34
+ if (prop === '$initialValues')
35
+ return initialValues;
36
+ if (prop === '$state')
37
+ return path;
38
+ if (prop === '$bind')
39
+ return { $bindState: path };
40
+ if (prop === '$path')
41
+ return path;
42
+ // Support JSON serialization — toJSON returns { $state: path }
43
+ if (prop === 'toJSON')
44
+ return () => ({ $state: path });
45
+ // For equality checks
46
+ if (prop === Symbol.toPrimitive)
47
+ return () => `$state:${path}`;
48
+ const childPath = `${path}/${String(prop)}`;
49
+ return createProxy(childPath, undefined);
50
+ },
51
+ };
52
+ return new Proxy({}, handler);
53
+ }
54
+ function createState(shape) {
55
+ return createProxy('', shape);
56
+ }
57
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/sdui/state.ts"],"names":[],"mappings":";AAAA,iFAAiF;;AAsBjF,kCAWC;AAwBD,kCAEC;AA5CD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAE/C,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAAa,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;AAC9F,CAAC;AAED,SAAgB,WAAW,CAAC,GAAY;IACtC,IAAI,YAAY,CAAC,GAAG,CAAC;QAAE,OAAQ,GAAW,CAAC,KAAK,CAAC;IACjD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAQ,GAAW,CAAC,MAAM,CAAC;IAC3F,uEAAuE;IACvE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,CAAC,GAAI,GAAW,CAAC,KAAK,CAAC;YAC7B,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAI,IAAY,EAAE,aAAgB;IACpD,MAAM,OAAO,GAAyB;QACpC,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,IAAI,IAAI,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC;YACvC,IAAI,IAAI,KAAK,cAAc;gBAAE,OAAO,aAAa,CAAC;YAClD,IAAI,IAAI,KAAK,gBAAgB;gBAAE,OAAO,aAAa,CAAC;YACpD,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACnC,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAClD,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC;YAClC,+DAA+D;YAC/D,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,sBAAsB;YACtB,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW;gBAAE,OAAO,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC;YAE/D,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,WAAW,CAAC,SAAS,EAAE,SAAgB,CAAC,CAAC;QAClD,CAAC;KACF,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,EAAS,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,WAAW,CAAoC,KAAQ;IACrE,OAAO,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,53 @@
1
+ // State proxy — creates deeply nested proxies that produce $state refs on access
2
+ const PROXY_MARKER = Symbol('stateProxy');
3
+ const INITIAL_VALUES = Symbol('initialValues');
4
+ function isStateProxy(value) {
5
+ return typeof value === 'object' && value !== null && value[PROXY_MARKER] === true;
6
+ }
7
+ export function extractPath(ref) {
8
+ if (isStateProxy(ref))
9
+ return ref.$path;
10
+ if (typeof ref === 'object' && ref !== null && '$state' in ref)
11
+ return ref.$state;
12
+ // Support scope proxies from component() — they have $path as a getter
13
+ if (typeof ref === 'object' && ref !== null) {
14
+ try {
15
+ const p = ref.$path;
16
+ if (typeof p === 'string')
17
+ return p;
18
+ }
19
+ catch { }
20
+ }
21
+ throw new Error('Expected a state proxy or { $state } ref');
22
+ }
23
+ function createProxy(path, initialValues) {
24
+ const handler = {
25
+ get(_target, prop) {
26
+ if (prop === PROXY_MARKER)
27
+ return true;
28
+ if (prop === INITIAL_VALUES)
29
+ return initialValues;
30
+ if (prop === '$initialValues')
31
+ return initialValues;
32
+ if (prop === '$state')
33
+ return path;
34
+ if (prop === '$bind')
35
+ return { $bindState: path };
36
+ if (prop === '$path')
37
+ return path;
38
+ // Support JSON serialization — toJSON returns { $state: path }
39
+ if (prop === 'toJSON')
40
+ return () => ({ $state: path });
41
+ // For equality checks
42
+ if (prop === Symbol.toPrimitive)
43
+ return () => `$state:${path}`;
44
+ const childPath = `${path}/${String(prop)}`;
45
+ return createProxy(childPath, undefined);
46
+ },
47
+ };
48
+ return new Proxy({}, handler);
49
+ }
50
+ export function createState(shape) {
51
+ return createProxy('', shape);
52
+ }
53
+ //# sourceMappingURL=state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.mjs","sourceRoot":"","sources":["../../src/lib/sdui/state.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAejF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAE/C,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAAa,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,YAAY,CAAC,GAAG,CAAC;QAAE,OAAQ,GAAW,CAAC,KAAK,CAAC;IACjD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAQ,GAAW,CAAC,MAAM,CAAC;IAC3F,uEAAuE;IACvE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,CAAC,GAAI,GAAW,CAAC,KAAK,CAAC;YAC7B,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAI,IAAY,EAAE,aAAgB;IACpD,MAAM,OAAO,GAAyB;QACpC,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,IAAI,IAAI,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC;YACvC,IAAI,IAAI,KAAK,cAAc;gBAAE,OAAO,aAAa,CAAC;YAClD,IAAI,IAAI,KAAK,gBAAgB;gBAAE,OAAO,aAAa,CAAC;YACpD,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACnC,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAClD,IAAI,IAAI,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC;YAClC,+DAA+D;YAC/D,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,sBAAsB;YACtB,IAAI,IAAI,KAAK,MAAM,CAAC,WAAW;gBAAE,OAAO,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC;YAE/D,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,WAAW,CAAC,SAAS,EAAE,SAAgB,CAAC,CAAC;QAClD,CAAC;KACF,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,EAAS,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,WAAW,CAAoC,KAAQ;IACrE,OAAO,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rippling/rippling-sdk",
3
- "version": "0.2.0-alpha.34",
3
+ "version": "0.2.0-alpha.36",
4
4
  "description": "The official TypeScript library for the Rippling SDK API",
5
5
  "author": "Rippling SDK <no-reply@rippling.com>",
6
6
  "types": "./index.d.ts",
@@ -85,6 +85,16 @@
85
85
  "./error.mjs": {
86
86
  "default": "./error.mjs"
87
87
  },
88
+ "./examples/*.mjs": {
89
+ "default": "./examples/*.mjs"
90
+ },
91
+ "./examples/*.js": {
92
+ "default": "./examples/*.js"
93
+ },
94
+ "./examples/*": {
95
+ "import": "./examples/*.mjs",
96
+ "require": "./examples/*.js"
97
+ },
88
98
  "./functions": {
89
99
  "import": "./functions.mjs",
90
100
  "require": "./functions.js"
@@ -0,0 +1,79 @@
1
+ import { APIResource } from "../core/resource.mjs";
2
+ import * as BusinessPartnersAPI from "./business-partners.mjs";
3
+ import { APIPromise } from "../core/api-promise.mjs";
4
+ import { PageCursorURL, PagePromise } from "../core/pagination.mjs";
5
+ import { RequestOptions } from "../internal/request-options.mjs";
6
+ /**
7
+ * Workers who work or have worked at the company
8
+ */
9
+ export declare class CompanyLegalEntityWorkers extends APIResource {
10
+ /**
11
+ * A list of company-legal-entity-workers.
12
+ *
13
+ * - Requires: `API Tier 2`
14
+ * - Filterable fields: `status`, `company_entity_id`
15
+ * - Sortable fields: `id`, `created_at`, `updated_at`
16
+ */
17
+ list(query?: CompanyLegalEntityWorkerListParams | null | undefined, options?: RequestOptions): PagePromise<CompanyLegalEntityWorkerListResponsesPageCursorURL, CompanyLegalEntityWorkerListResponse>;
18
+ /**
19
+ * Retrieve a specific company-legal-entity-worker
20
+ */
21
+ retrieve(id: string, options?: RequestOptions): APIPromise<CompanyLegalEntityWorkerRetrieveResponse>;
22
+ }
23
+ export type CompanyLegalEntityWorkerListResponsesPageCursorURL = PageCursorURL<CompanyLegalEntityWorkerListResponse>;
24
+ export interface CompanyLegalEntityWorkerListResponse {
25
+ /**
26
+ * Identifier field
27
+ */
28
+ id: string;
29
+ /**
30
+ * Record creation date
31
+ */
32
+ created_at: string;
33
+ /**
34
+ * Record update date
35
+ */
36
+ updated_at: string;
37
+ /**
38
+ * The worker's associated company legal entity (CER ID).
39
+ */
40
+ company_entity_id?: string;
41
+ /**
42
+ * The worker's status within the organization.
43
+ */
44
+ status?: 'INIT' | 'HIRED' | 'ACCEPTED' | 'ACTIVE' | 'TERMINATED';
45
+ }
46
+ /**
47
+ * Meta information for the response.
48
+ */
49
+ export interface CompanyLegalEntityWorkerRetrieveResponse extends BusinessPartnersAPI.Meta {
50
+ /**
51
+ * Identifier field
52
+ */
53
+ id: string;
54
+ /**
55
+ * Record creation date
56
+ */
57
+ created_at: string;
58
+ /**
59
+ * Record update date
60
+ */
61
+ updated_at: string;
62
+ /**
63
+ * The worker's associated company legal entity (CER ID).
64
+ */
65
+ company_entity_id?: string;
66
+ /**
67
+ * The worker's status within the organization.
68
+ */
69
+ status?: 'INIT' | 'HIRED' | 'ACCEPTED' | 'ACTIVE' | 'TERMINATED';
70
+ }
71
+ export interface CompanyLegalEntityWorkerListParams {
72
+ cursor?: string;
73
+ filter?: string;
74
+ order_by?: string;
75
+ }
76
+ export declare namespace CompanyLegalEntityWorkers {
77
+ export { type CompanyLegalEntityWorkerListResponse as CompanyLegalEntityWorkerListResponse, type CompanyLegalEntityWorkerRetrieveResponse as CompanyLegalEntityWorkerRetrieveResponse, type CompanyLegalEntityWorkerListResponsesPageCursorURL as CompanyLegalEntityWorkerListResponsesPageCursorURL, type CompanyLegalEntityWorkerListParams as CompanyLegalEntityWorkerListParams, };
78
+ }
79
+ //# sourceMappingURL=company-legal-entity-workers.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-legal-entity-workers.d.mts","sourceRoot":"","sources":["../src/resources/company-legal-entity-workers.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,mBAAmB;OACxB,EAAE,UAAU,EAAE;OACd,EAAE,aAAa,EAAE,WAAW,EAAE;OAC9B,EAAE,cAAc,EAAE;AAGzB;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,WAAW;IACxD;;;;;;OAMG;IACH,IAAI,CACF,KAAK,GAAE,kCAAkC,GAAG,IAAI,GAAG,SAAc,EACjE,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,kDAAkD,EAAE,oCAAoC,CAAC;IAQxG;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,wCAAwC,CAAC;CAGrG;AAED,MAAM,MAAM,kDAAkD,GAC5D,aAAa,CAAC,oCAAoC,CAAC,CAAC;AAEtD,MAAM,WAAW,oCAAoC;IACnD;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;CAClE;AAED;;GAEG;AACH,MAAM,WAAW,wCAAyC,SAAQ,mBAAmB,CAAC,IAAI;IACxF;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;CAClE;AAED,MAAM,WAAW,kCAAkC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,WAAW,yBAAyB,CAAC;IACjD,OAAO,EACL,KAAK,oCAAoC,IAAI,oCAAoC,EACjF,KAAK,wCAAwC,IAAI,wCAAwC,EACzF,KAAK,kDAAkD,IAAI,kDAAkD,EAC7G,KAAK,kCAAkC,IAAI,kCAAkC,GAC9E,CAAC;CACH"}
@@ -0,0 +1,79 @@
1
+ import { APIResource } from "../core/resource.js";
2
+ import * as BusinessPartnersAPI from "./business-partners.js";
3
+ import { APIPromise } from "../core/api-promise.js";
4
+ import { PageCursorURL, PagePromise } from "../core/pagination.js";
5
+ import { RequestOptions } from "../internal/request-options.js";
6
+ /**
7
+ * Workers who work or have worked at the company
8
+ */
9
+ export declare class CompanyLegalEntityWorkers extends APIResource {
10
+ /**
11
+ * A list of company-legal-entity-workers.
12
+ *
13
+ * - Requires: `API Tier 2`
14
+ * - Filterable fields: `status`, `company_entity_id`
15
+ * - Sortable fields: `id`, `created_at`, `updated_at`
16
+ */
17
+ list(query?: CompanyLegalEntityWorkerListParams | null | undefined, options?: RequestOptions): PagePromise<CompanyLegalEntityWorkerListResponsesPageCursorURL, CompanyLegalEntityWorkerListResponse>;
18
+ /**
19
+ * Retrieve a specific company-legal-entity-worker
20
+ */
21
+ retrieve(id: string, options?: RequestOptions): APIPromise<CompanyLegalEntityWorkerRetrieveResponse>;
22
+ }
23
+ export type CompanyLegalEntityWorkerListResponsesPageCursorURL = PageCursorURL<CompanyLegalEntityWorkerListResponse>;
24
+ export interface CompanyLegalEntityWorkerListResponse {
25
+ /**
26
+ * Identifier field
27
+ */
28
+ id: string;
29
+ /**
30
+ * Record creation date
31
+ */
32
+ created_at: string;
33
+ /**
34
+ * Record update date
35
+ */
36
+ updated_at: string;
37
+ /**
38
+ * The worker's associated company legal entity (CER ID).
39
+ */
40
+ company_entity_id?: string;
41
+ /**
42
+ * The worker's status within the organization.
43
+ */
44
+ status?: 'INIT' | 'HIRED' | 'ACCEPTED' | 'ACTIVE' | 'TERMINATED';
45
+ }
46
+ /**
47
+ * Meta information for the response.
48
+ */
49
+ export interface CompanyLegalEntityWorkerRetrieveResponse extends BusinessPartnersAPI.Meta {
50
+ /**
51
+ * Identifier field
52
+ */
53
+ id: string;
54
+ /**
55
+ * Record creation date
56
+ */
57
+ created_at: string;
58
+ /**
59
+ * Record update date
60
+ */
61
+ updated_at: string;
62
+ /**
63
+ * The worker's associated company legal entity (CER ID).
64
+ */
65
+ company_entity_id?: string;
66
+ /**
67
+ * The worker's status within the organization.
68
+ */
69
+ status?: 'INIT' | 'HIRED' | 'ACCEPTED' | 'ACTIVE' | 'TERMINATED';
70
+ }
71
+ export interface CompanyLegalEntityWorkerListParams {
72
+ cursor?: string;
73
+ filter?: string;
74
+ order_by?: string;
75
+ }
76
+ export declare namespace CompanyLegalEntityWorkers {
77
+ export { type CompanyLegalEntityWorkerListResponse as CompanyLegalEntityWorkerListResponse, type CompanyLegalEntityWorkerRetrieveResponse as CompanyLegalEntityWorkerRetrieveResponse, type CompanyLegalEntityWorkerListResponsesPageCursorURL as CompanyLegalEntityWorkerListResponsesPageCursorURL, type CompanyLegalEntityWorkerListParams as CompanyLegalEntityWorkerListParams, };
78
+ }
79
+ //# sourceMappingURL=company-legal-entity-workers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-legal-entity-workers.d.ts","sourceRoot":"","sources":["../src/resources/company-legal-entity-workers.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,mBAAmB;OACxB,EAAE,UAAU,EAAE;OACd,EAAE,aAAa,EAAE,WAAW,EAAE;OAC9B,EAAE,cAAc,EAAE;AAGzB;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,WAAW;IACxD;;;;;;OAMG;IACH,IAAI,CACF,KAAK,GAAE,kCAAkC,GAAG,IAAI,GAAG,SAAc,EACjE,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,kDAAkD,EAAE,oCAAoC,CAAC;IAQxG;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,wCAAwC,CAAC;CAGrG;AAED,MAAM,MAAM,kDAAkD,GAC5D,aAAa,CAAC,oCAAoC,CAAC,CAAC;AAEtD,MAAM,WAAW,oCAAoC;IACnD;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;CAClE;AAED;;GAEG;AACH,MAAM,WAAW,wCAAyC,SAAQ,mBAAmB,CAAC,IAAI;IACxF;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;CAClE;AAED,MAAM,WAAW,kCAAkC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,WAAW,yBAAyB,CAAC;IACjD,OAAO,EACL,KAAK,oCAAoC,IAAI,oCAAoC,EACjF,KAAK,wCAAwC,IAAI,wCAAwC,EACzF,KAAK,kDAAkD,IAAI,kDAAkD,EAC7G,KAAK,kCAAkC,IAAI,kCAAkC,GAC9E,CAAC;CACH"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CompanyLegalEntityWorkers = void 0;
5
+ const resource_1 = require("../core/resource.js");
6
+ const pagination_1 = require("../core/pagination.js");
7
+ const path_1 = require("../internal/utils/path.js");
8
+ /**
9
+ * Workers who work or have worked at the company
10
+ */
11
+ class CompanyLegalEntityWorkers extends resource_1.APIResource {
12
+ /**
13
+ * A list of company-legal-entity-workers.
14
+ *
15
+ * - Requires: `API Tier 2`
16
+ * - Filterable fields: `status`, `company_entity_id`
17
+ * - Sortable fields: `id`, `created_at`, `updated_at`
18
+ */
19
+ list(query = {}, options) {
20
+ return this._client.getAPIList('/company-legal-entity-workers/', (pagination_1.PageCursorURL), { query, ...options });
21
+ }
22
+ /**
23
+ * Retrieve a specific company-legal-entity-worker
24
+ */
25
+ retrieve(id, options) {
26
+ return this._client.get((0, path_1.path) `/company-legal-entity-workers/${id}/`, options);
27
+ }
28
+ }
29
+ exports.CompanyLegalEntityWorkers = CompanyLegalEntityWorkers;
30
+ //# sourceMappingURL=company-legal-entity-workers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-legal-entity-workers.js","sourceRoot":"","sources":["../src/resources/company-legal-entity-workers.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAG/C,sDAAgE;AAEhE,oDAA8C;AAE9C;;GAEG;AACH,MAAa,yBAA0B,SAAQ,sBAAW;IACxD;;;;;;OAMG;IACH,IAAI,CACF,QAA+D,EAAE,EACjE,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,gCAAgC,EAChC,CAAA,0BAAmD,CAAA,EACnD,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,iCAAiC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;CACF;AAzBD,8DAyBC"}