@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,365 @@
1
+ /**
2
+ * AUTO-GENERATED — component exports are generated from component-manifest.json
3
+ * Generated at: 2026-04-17T04:10:01.127Z
4
+ * Components: 128
5
+ *
6
+ * Do not edit manually. Run: npx tsx scripts/codegen-builder.ts
7
+ */
8
+
9
+ // --- Named exports (individual imports) ---
10
+
11
+ // State
12
+ export { createState, extractPath } from './state';
13
+ export type { StateProxy, StateRef, BindStateRef } from './state';
14
+
15
+ // Conditions
16
+ export { eq, neq, gt, gte, lt, lte, truthy, falsy, and, or } from './conditions';
17
+ export type { StateCondition, OrCondition, VisibilityCondition } from './conditions';
18
+
19
+ // Dynamic props
20
+ export { cond, template } from './props';
21
+ export type { CondRef, TemplateRef } from './props';
22
+
23
+ // Actions
24
+ export { set, push, remove, callFunction, nav, notify, validate, openModal, closeModal } from './actions';
25
+ export type { ActionBinding } from './actions';
26
+
27
+ // Components
28
+ export {
29
+ TextInput,
30
+ Select,
31
+ AppGroupSelect,
32
+ Checkbox,
33
+ CheckboxGroup,
34
+ Email,
35
+ Number,
36
+ Date,
37
+ DateRange,
38
+ DateInlineMulti,
39
+ Textarea,
40
+ Radio,
41
+ Phone,
42
+ Password,
43
+ Switch,
44
+ FileDrop,
45
+ TextAutoSuggest,
46
+ Currency,
47
+ WorkEmail,
48
+ Percentage,
49
+ SegmentedControl,
50
+ Time,
51
+ TimeRange,
52
+ Timezone,
53
+ Slider,
54
+ RangeSlider,
55
+ Masker,
56
+ DaySelector,
57
+ ColorPicker,
58
+ SelectableGroup,
59
+ Ssn,
60
+ Sin,
61
+ Signature,
62
+ Survey,
63
+ Tree,
64
+ TreeSelect,
65
+ File,
66
+ InputGroup,
67
+ Field,
68
+ ActionCard,
69
+ Alert,
70
+ Avatar,
71
+ Badge,
72
+ Chip,
73
+ Card,
74
+ ContentLoader,
75
+ Divider,
76
+ Icon,
77
+ Label,
78
+ ListItem,
79
+ Modal,
80
+ ModalFooter,
81
+ ProgressBar,
82
+ Skeleton,
83
+ Spinner,
84
+ Stepper,
85
+ TextClip,
86
+ TextSnippet,
87
+ Tip,
88
+ CheckList,
89
+ DistributionBar,
90
+ ImageViewer,
91
+ ObjectUI,
92
+ ObjectUITemplate,
93
+ ObjectUIHeader,
94
+ ObjectUIContent,
95
+ ObjectUIStats,
96
+ SnackBar,
97
+ Video,
98
+ AvatarList,
99
+ Image,
100
+ AtomsSeparator,
101
+ Carousel,
102
+ TableBasic,
103
+ LocationCard,
104
+ LoaderCard,
105
+ LayoutCard,
106
+ AppGroupLoader,
107
+ ChartLoader,
108
+ ReportLoader,
109
+ ReportShareLoader,
110
+ ReportViewerLoader,
111
+ SettingsLoader,
112
+ ChipGroup,
113
+ ModalCloseButton,
114
+ Status,
115
+ ApiError,
116
+ Circle,
117
+ CountDown,
118
+ Country,
119
+ ToggleableArrow,
120
+ TitleCaption,
121
+ AiIcon,
122
+ Breadcrumb,
123
+ Button,
124
+ ButtonGroup,
125
+ DraggableList,
126
+ Drawer,
127
+ Dropdown,
128
+ ExpansionPanel,
129
+ ExpansionPanelGroup,
130
+ FloatingButton,
131
+ IconButton,
132
+ ItemNavigator,
133
+ Link,
134
+ MenuList,
135
+ NestedList,
136
+ Paginate,
137
+ SelectableMenu,
138
+ ShowMore,
139
+ Tab,
140
+ Heading,
141
+ Text,
142
+ Box,
143
+ Grid,
144
+ HStack,
145
+ LabelGroup,
146
+ Layout,
147
+ PageContent,
148
+ PageHeader,
149
+ PageAppLogo,
150
+ PageFooter,
151
+ Pane,
152
+ Responsive,
153
+ SplitPane,
154
+ VStack,
155
+ CustomObjectGrid,
156
+ ObjectListView,
157
+ } from './components';
158
+ export type { SpecNode } from './components';
159
+
160
+ // Directives
161
+ export { visible, repeat, $item, $bindItem, $index } from './directives';
162
+ export type { ItemRef, BindItemRef, IndexRef } from './directives';
163
+
164
+ // Render
165
+ export { render } from './render';
166
+ export type { FlatElement, Spec } from './render';
167
+
168
+ // Component (stateful components with local state + lifecycle)
169
+ export { component } from './component';
170
+ export type { StateScope } from './component';
171
+
172
+ // --- Namespaced exports ---
173
+
174
+ import * as _conditions from './conditions';
175
+ import * as _actions from './actions';
176
+ import * as _components from './components';
177
+ import * as _directives from './directives';
178
+
179
+ export const conditions = {
180
+ eq: _conditions.eq,
181
+ neq: _conditions.neq,
182
+ gt: _conditions.gt,
183
+ gte: _conditions.gte,
184
+ lt: _conditions.lt,
185
+ lte: _conditions.lte,
186
+ truthy: _conditions.truthy,
187
+ falsy: _conditions.falsy,
188
+ and: _conditions.and,
189
+ or: _conditions.or,
190
+ };
191
+
192
+ export const actions = {
193
+ set: _actions.set,
194
+ push: _actions.push,
195
+ remove: _actions.remove,
196
+ callFunction: _actions.callFunction,
197
+ nav: _actions.nav,
198
+ notify: _actions.notify,
199
+ validate: _actions.validate,
200
+ openModal: _actions.openModal,
201
+ closeModal: _actions.closeModal,
202
+ };
203
+
204
+ export const components = {
205
+ TextInput: _components.TextInput,
206
+ Select: _components.Select,
207
+ AppGroupSelect: _components.AppGroupSelect,
208
+ Checkbox: _components.Checkbox,
209
+ CheckboxGroup: _components.CheckboxGroup,
210
+ Email: _components.Email,
211
+ Number: _components.Number,
212
+ Date: _components.Date,
213
+ DateRange: _components.DateRange,
214
+ DateInlineMulti: _components.DateInlineMulti,
215
+ Textarea: _components.Textarea,
216
+ Radio: _components.Radio,
217
+ Phone: _components.Phone,
218
+ Password: _components.Password,
219
+ Switch: _components.Switch,
220
+ FileDrop: _components.FileDrop,
221
+ TextAutoSuggest: _components.TextAutoSuggest,
222
+ Currency: _components.Currency,
223
+ WorkEmail: _components.WorkEmail,
224
+ Percentage: _components.Percentage,
225
+ SegmentedControl: _components.SegmentedControl,
226
+ Time: _components.Time,
227
+ TimeRange: _components.TimeRange,
228
+ Timezone: _components.Timezone,
229
+ Slider: _components.Slider,
230
+ RangeSlider: _components.RangeSlider,
231
+ Masker: _components.Masker,
232
+ DaySelector: _components.DaySelector,
233
+ ColorPicker: _components.ColorPicker,
234
+ SelectableGroup: _components.SelectableGroup,
235
+ Ssn: _components.Ssn,
236
+ Sin: _components.Sin,
237
+ Signature: _components.Signature,
238
+ Survey: _components.Survey,
239
+ Tree: _components.Tree,
240
+ TreeSelect: _components.TreeSelect,
241
+ File: _components.File,
242
+ InputGroup: _components.InputGroup,
243
+ Field: _components.Field,
244
+ ActionCard: _components.ActionCard,
245
+ Alert: _components.Alert,
246
+ Avatar: _components.Avatar,
247
+ Badge: _components.Badge,
248
+ Chip: _components.Chip,
249
+ Card: _components.Card,
250
+ ContentLoader: _components.ContentLoader,
251
+ Divider: _components.Divider,
252
+ Icon: _components.Icon,
253
+ Label: _components.Label,
254
+ ListItem: _components.ListItem,
255
+ Modal: _components.Modal,
256
+ ModalFooter: _components.ModalFooter,
257
+ ProgressBar: _components.ProgressBar,
258
+ Skeleton: _components.Skeleton,
259
+ Spinner: _components.Spinner,
260
+ Stepper: _components.Stepper,
261
+ TextClip: _components.TextClip,
262
+ TextSnippet: _components.TextSnippet,
263
+ Tip: _components.Tip,
264
+ CheckList: _components.CheckList,
265
+ DistributionBar: _components.DistributionBar,
266
+ ImageViewer: _components.ImageViewer,
267
+ ObjectUI: _components.ObjectUI,
268
+ ObjectUITemplate: _components.ObjectUITemplate,
269
+ ObjectUIHeader: _components.ObjectUIHeader,
270
+ ObjectUIContent: _components.ObjectUIContent,
271
+ ObjectUIStats: _components.ObjectUIStats,
272
+ SnackBar: _components.SnackBar,
273
+ Video: _components.Video,
274
+ AvatarList: _components.AvatarList,
275
+ Image: _components.Image,
276
+ AtomsSeparator: _components.AtomsSeparator,
277
+ Carousel: _components.Carousel,
278
+ TableBasic: _components.TableBasic,
279
+ LocationCard: _components.LocationCard,
280
+ LoaderCard: _components.LoaderCard,
281
+ LayoutCard: _components.LayoutCard,
282
+ AppGroupLoader: _components.AppGroupLoader,
283
+ ChartLoader: _components.ChartLoader,
284
+ ReportLoader: _components.ReportLoader,
285
+ ReportShareLoader: _components.ReportShareLoader,
286
+ ReportViewerLoader: _components.ReportViewerLoader,
287
+ SettingsLoader: _components.SettingsLoader,
288
+ ChipGroup: _components.ChipGroup,
289
+ ModalCloseButton: _components.ModalCloseButton,
290
+ Status: _components.Status,
291
+ ApiError: _components.ApiError,
292
+ Circle: _components.Circle,
293
+ CountDown: _components.CountDown,
294
+ Country: _components.Country,
295
+ ToggleableArrow: _components.ToggleableArrow,
296
+ TitleCaption: _components.TitleCaption,
297
+ AiIcon: _components.AiIcon,
298
+ Breadcrumb: _components.Breadcrumb,
299
+ Button: _components.Button,
300
+ ButtonGroup: _components.ButtonGroup,
301
+ DraggableList: _components.DraggableList,
302
+ Drawer: _components.Drawer,
303
+ Dropdown: _components.Dropdown,
304
+ ExpansionPanel: _components.ExpansionPanel,
305
+ ExpansionPanelGroup: _components.ExpansionPanelGroup,
306
+ FloatingButton: _components.FloatingButton,
307
+ IconButton: _components.IconButton,
308
+ ItemNavigator: _components.ItemNavigator,
309
+ Link: _components.Link,
310
+ MenuList: _components.MenuList,
311
+ NestedList: _components.NestedList,
312
+ Paginate: _components.Paginate,
313
+ SelectableMenu: _components.SelectableMenu,
314
+ ShowMore: _components.ShowMore,
315
+ Tab: _components.Tab,
316
+ Heading: _components.Heading,
317
+ Text: _components.Text,
318
+ Box: _components.Box,
319
+ Grid: _components.Grid,
320
+ HStack: _components.HStack,
321
+ LabelGroup: _components.LabelGroup,
322
+ Layout: _components.Layout,
323
+ PageContent: _components.PageContent,
324
+ PageHeader: _components.PageHeader,
325
+ PageAppLogo: _components.PageAppLogo,
326
+ PageFooter: _components.PageFooter,
327
+ Pane: _components.Pane,
328
+ Responsive: _components.Responsive,
329
+ SplitPane: _components.SplitPane,
330
+ VStack: _components.VStack,
331
+ CustomObjectGrid: _components.CustomObjectGrid,
332
+ ObjectListView: _components.ObjectListView,
333
+ };
334
+
335
+ export const directives = {
336
+ visible: _directives.visible,
337
+ repeat: _directives.repeat,
338
+ $item: _directives.$item,
339
+ $bindItem: _directives.$bindItem,
340
+ $index: _directives.$index,
341
+ };
342
+
343
+ // --- Default export (namespace object) ---
344
+
345
+ import { createState } from './state';
346
+ import { cond, template } from './props';
347
+ import { render } from './render';
348
+ import { visible, repeat } from './directives';
349
+ import { component } from './component';
350
+
351
+ const SDUI = {
352
+ createState,
353
+ render,
354
+ visible,
355
+ repeat,
356
+ cond,
357
+ component,
358
+ template,
359
+ components,
360
+ actions,
361
+ conditions,
362
+ directives,
363
+ };
364
+
365
+ export default SDUI;
@@ -0,0 +1,32 @@
1
+ import type { VisibilityCondition } from './conditions';
2
+ import { extractPath } from './state';
3
+
4
+ export interface CondRef {
5
+ $cond: VisibilityCondition;
6
+ $then: unknown;
7
+ $else: unknown;
8
+ }
9
+
10
+ export interface TemplateRef {
11
+ $template: string;
12
+ }
13
+
14
+ export function cond(condition: VisibilityCondition, thenValue: unknown, elseValue: unknown): CondRef {
15
+ return { $cond: condition, $then: thenValue, $else: elseValue };
16
+ }
17
+
18
+ export function template(strings: TemplateStringsArray, ...values: unknown[]): TemplateRef {
19
+ let result = '';
20
+ for (let i = 0; i < strings.length; i++) {
21
+ result += strings[i];
22
+ if (i < values.length) {
23
+ try {
24
+ const path = extractPath(values[i]);
25
+ result += `\${${path}}`;
26
+ } catch {
27
+ result += String(values[i]);
28
+ }
29
+ }
30
+ }
31
+ return { $template: result };
32
+ }
@@ -0,0 +1,58 @@
1
+ import type { SpecNode } from './components';
2
+ import type { ActionBinding } from './actions';
3
+
4
+ export interface FlatElement {
5
+ type: string;
6
+ props: Record<string, unknown>;
7
+ children: string[];
8
+ on?: Record<string, ActionBinding | ActionBinding[]>;
9
+ visible?: unknown;
10
+ watch?: Record<string, unknown>;
11
+ repeat?: { statePath: string; key?: string };
12
+ }
13
+
14
+ export interface Spec {
15
+ root: string;
16
+ elements: Record<string, FlatElement>;
17
+ state: Record<string, unknown>;
18
+ }
19
+
20
+ export function render(stateProxy: { $initialValues: Record<string, unknown> }, rootElement: SpecNode): Spec {
21
+ const elements: Record<string, FlatElement> = {};
22
+ const localStates: { path: string; initial: unknown }[] = [];
23
+ let counter = 0;
24
+
25
+ function flattenNode(node: SpecNode | null | undefined): string | null {
26
+ if (!node) return null;
27
+
28
+ // Collect local state registrations from component() wrappers
29
+ const registration = (node as any)._localStateRegistration;
30
+ if (registration) {
31
+ localStates.push(registration);
32
+ }
33
+
34
+ const id = `${node.type.toLowerCase()}_${counter++}`;
35
+ const childIds = node.children.map(flattenNode).filter((id): id is string => id !== null);
36
+
37
+ const element: FlatElement = { type: node.type, props: node.props, children: childIds };
38
+ if (node.visible !== undefined) element.visible = node.visible;
39
+ if (node.on) element.on = node.on;
40
+ if (node.watch) element.watch = node.watch;
41
+ if (node.repeat) element.repeat = node.repeat;
42
+
43
+ elements[id] = element;
44
+ return id;
45
+ }
46
+
47
+ const rootId = flattenNode(rootElement)!;
48
+
49
+ // Merge global state + local states from component() calls
50
+ const state: Record<string, unknown> = { ...stateProxy.$initialValues };
51
+ for (const { path, initial } of localStates) {
52
+ // path is like "/auto_xxx" — strip leading / for state key
53
+ const key = path.startsWith('/') ? path.slice(1) : path;
54
+ state[key] = initial;
55
+ }
56
+
57
+ return { root: rootId, elements, state };
58
+ }
@@ -0,0 +1,60 @@
1
+ // State proxy — creates deeply nested proxies that produce $state refs on access
2
+
3
+ export type StateRef = { $state: string };
4
+ export type BindStateRef = { $bindState: string };
5
+
6
+ // Deep proxy type — every property access returns another proxy (for s.teamData.team.name)
7
+ // This allows deep access regardless of the initial value (even null)
8
+ type DeepStateProxy = {
9
+ readonly [key: string]: DeepStateProxy;
10
+ } & { readonly $state: string; readonly $bind: BindStateRef; readonly $path: string };
11
+
12
+ export type StateProxy<T> = {
13
+ [K in keyof T]: T[K] extends Record<string, unknown> ? StateProxy<T[K]> & DeepStateProxy : DeepStateProxy;
14
+ } & DeepStateProxy & { readonly $initialValues: T };
15
+
16
+ const PROXY_MARKER = Symbol('stateProxy');
17
+ const INITIAL_VALUES = Symbol('initialValues');
18
+
19
+ function isStateProxy(value: unknown): boolean {
20
+ return typeof value === 'object' && value !== null && (value as any)[PROXY_MARKER] === true;
21
+ }
22
+
23
+ export function extractPath(ref: unknown): string {
24
+ if (isStateProxy(ref)) return (ref as any).$path;
25
+ if (typeof ref === 'object' && ref !== null && '$state' in ref) return (ref as any).$state;
26
+ // Support scope proxies from component() — they have $path as a getter
27
+ if (typeof ref === 'object' && ref !== null) {
28
+ try {
29
+ const p = (ref as any).$path;
30
+ if (typeof p === 'string') return p;
31
+ } catch {}
32
+ }
33
+ throw new Error('Expected a state proxy or { $state } ref');
34
+ }
35
+
36
+ function createProxy<T>(path: string, initialValues: T): StateProxy<T> {
37
+ const handler: ProxyHandler<object> = {
38
+ get(_target, prop) {
39
+ if (prop === PROXY_MARKER) return true;
40
+ if (prop === INITIAL_VALUES) return initialValues;
41
+ if (prop === '$initialValues') return initialValues;
42
+ if (prop === '$state') return path;
43
+ if (prop === '$bind') return { $bindState: path };
44
+ if (prop === '$path') return path;
45
+ // Support JSON serialization — toJSON returns { $state: path }
46
+ if (prop === 'toJSON') return () => ({ $state: path });
47
+ // For equality checks
48
+ if (prop === Symbol.toPrimitive) return () => `$state:${path}`;
49
+
50
+ const childPath = `${path}/${String(prop)}`;
51
+ return createProxy(childPath, undefined as any);
52
+ },
53
+ };
54
+
55
+ return new Proxy({} as any, handler);
56
+ }
57
+
58
+ export function createState<T extends Record<string, unknown>>(shape: T): StateProxy<T> {
59
+ return createProxy('', shape);
60
+ }
@@ -0,0 +1,115 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../core/resource';
4
+ import * as BusinessPartnersAPI from './business-partners';
5
+ import { APIPromise } from '../core/api-promise';
6
+ import { PageCursorURL, PagePromise } from '../core/pagination';
7
+ import { RequestOptions } from '../internal/request-options';
8
+ import { path } from '../internal/utils/path';
9
+
10
+ /**
11
+ * Workers who work or have worked at the company
12
+ */
13
+ export class CompanyLegalEntityWorkers extends APIResource {
14
+ /**
15
+ * A list of company-legal-entity-workers.
16
+ *
17
+ * - Requires: `API Tier 2`
18
+ * - Filterable fields: `status`, `company_entity_id`
19
+ * - Sortable fields: `id`, `created_at`, `updated_at`
20
+ */
21
+ list(
22
+ query: CompanyLegalEntityWorkerListParams | null | undefined = {},
23
+ options?: RequestOptions,
24
+ ): PagePromise<CompanyLegalEntityWorkerListResponsesPageCursorURL, CompanyLegalEntityWorkerListResponse> {
25
+ return this._client.getAPIList(
26
+ '/company-legal-entity-workers/',
27
+ PageCursorURL<CompanyLegalEntityWorkerListResponse>,
28
+ { query, ...options },
29
+ );
30
+ }
31
+
32
+ /**
33
+ * Retrieve a specific company-legal-entity-worker
34
+ */
35
+ retrieve(id: string, options?: RequestOptions): APIPromise<CompanyLegalEntityWorkerRetrieveResponse> {
36
+ return this._client.get(path`/company-legal-entity-workers/${id}/`, options);
37
+ }
38
+ }
39
+
40
+ export type CompanyLegalEntityWorkerListResponsesPageCursorURL =
41
+ PageCursorURL<CompanyLegalEntityWorkerListResponse>;
42
+
43
+ export interface CompanyLegalEntityWorkerListResponse {
44
+ /**
45
+ * Identifier field
46
+ */
47
+ id: string;
48
+
49
+ /**
50
+ * Record creation date
51
+ */
52
+ created_at: string;
53
+
54
+ /**
55
+ * Record update date
56
+ */
57
+ updated_at: string;
58
+
59
+ /**
60
+ * The worker's associated company legal entity (CER ID).
61
+ */
62
+ company_entity_id?: string;
63
+
64
+ /**
65
+ * The worker's status within the organization.
66
+ */
67
+ status?: 'INIT' | 'HIRED' | 'ACCEPTED' | 'ACTIVE' | 'TERMINATED';
68
+ }
69
+
70
+ /**
71
+ * Meta information for the response.
72
+ */
73
+ export interface CompanyLegalEntityWorkerRetrieveResponse extends BusinessPartnersAPI.Meta {
74
+ /**
75
+ * Identifier field
76
+ */
77
+ id: string;
78
+
79
+ /**
80
+ * Record creation date
81
+ */
82
+ created_at: string;
83
+
84
+ /**
85
+ * Record update date
86
+ */
87
+ updated_at: string;
88
+
89
+ /**
90
+ * The worker's associated company legal entity (CER ID).
91
+ */
92
+ company_entity_id?: string;
93
+
94
+ /**
95
+ * The worker's status within the organization.
96
+ */
97
+ status?: 'INIT' | 'HIRED' | 'ACCEPTED' | 'ACTIVE' | 'TERMINATED';
98
+ }
99
+
100
+ export interface CompanyLegalEntityWorkerListParams {
101
+ cursor?: string;
102
+
103
+ filter?: string;
104
+
105
+ order_by?: string;
106
+ }
107
+
108
+ export declare namespace CompanyLegalEntityWorkers {
109
+ export {
110
+ type CompanyLegalEntityWorkerListResponse as CompanyLegalEntityWorkerListResponse,
111
+ type CompanyLegalEntityWorkerRetrieveResponse as CompanyLegalEntityWorkerRetrieveResponse,
112
+ type CompanyLegalEntityWorkerListResponsesPageCursorURL as CompanyLegalEntityWorkerListResponsesPageCursorURL,
113
+ type CompanyLegalEntityWorkerListParams as CompanyLegalEntityWorkerListParams,
114
+ };
115
+ }
@@ -182,6 +182,11 @@ export namespace DraftHireCreateParams {
182
182
  */
183
183
  equity_vesting_schedule?: EmploymentInfo.EquityVestingSchedule;
184
184
 
185
+ /**
186
+ * Job family ID
187
+ */
188
+ job_family_id?: string;
189
+
185
190
  /**
186
191
  * Job title
187
192
  */
@@ -174,7 +174,24 @@ export interface FileCreateParams {
174
174
  /**
175
175
  * URLs for accessing the uploaded file after a successful upload
176
176
  */
177
- url_data?: unknown;
177
+ url_data?: FileCreateParams.URLData;
178
+ }
179
+
180
+ export namespace FileCreateParams {
181
+ /**
182
+ * URLs for accessing the uploaded file after a successful upload
183
+ */
184
+ export interface URLData {
185
+ /**
186
+ * CDN URL for previewing the uploaded file after upload completes
187
+ */
188
+ preview_url?: string;
189
+
190
+ /**
191
+ * S3 URL where the file is accessible after upload
192
+ */
193
+ s3_url?: string;
194
+ }
178
195
  }
179
196
 
180
197
  export declare namespace Files {
@@ -753,6 +753,7 @@ export namespace HeadcountPositionListResponse {
753
753
  | 'IN'
754
754
  | 'ID'
755
755
  | 'IQ'
756
+ | 'IR'
756
757
  | 'IE'
757
758
  | 'IM'
758
759
  | 'IL'
@@ -1623,6 +1624,7 @@ export namespace HeadcountPositionRetrieveResponse {
1623
1624
  | 'IN'
1624
1625
  | 'ID'
1625
1626
  | 'IQ'
1627
+ | 'IR'
1626
1628
  | 'IE'
1627
1629
  | 'IM'
1628
1630
  | 'IL'
@@ -33,6 +33,13 @@ export {
33
33
  type CandidateListResponsesPageCursorURL,
34
34
  } from './candidates';
35
35
  export { Companies, type Company, type CompanyListParams, type CompaniesPageCursorURL } from './companies';
36
+ export {
37
+ CompanyLegalEntityWorkers,
38
+ type CompanyLegalEntityWorkerListResponse,
39
+ type CompanyLegalEntityWorkerRetrieveResponse,
40
+ type CompanyLegalEntityWorkerListParams,
41
+ type CompanyLegalEntityWorkerListResponsesPageCursorURL,
42
+ } from './company-legal-entity-workers';
36
43
  export {
37
44
  CompensationBandsDetails,
38
45
  type CompensationBandsDetailListResponse,
@@ -238,6 +238,7 @@ export namespace LegalEntity {
238
238
  | 'IN'
239
239
  | 'ID'
240
240
  | 'IQ'
241
+ | 'IR'
241
242
  | 'IE'
242
243
  | 'IM'
243
244
  | 'IL'