@aglyn/aglyn 1.0.0-beta.143

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 (963) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +11 -0
  3. package/package.json +66 -0
  4. package/src/index.d.ts +25 -0
  5. package/src/index.js +26 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/aglyn.d.ts +31 -0
  8. package/src/lib/aglyn.js +114 -0
  9. package/src/lib/aglyn.js.map +1 -0
  10. package/src/lib/app-utils/abuse-report.d.ts +193 -0
  11. package/src/lib/app-utils/abuse-report.js +321 -0
  12. package/src/lib/app-utils/abuse-report.js.map +1 -0
  13. package/src/lib/app-utils/accept-negotiation.d.ts +129 -0
  14. package/src/lib/app-utils/accept-negotiation.js +266 -0
  15. package/src/lib/app-utils/accept-negotiation.js.map +1 -0
  16. package/src/lib/app-utils/account-emails.d.ts +263 -0
  17. package/src/lib/app-utils/account-emails.js +264 -0
  18. package/src/lib/app-utils/account-emails.js.map +1 -0
  19. package/src/lib/app-utils/actions.d.ts +717 -0
  20. package/src/lib/app-utils/actions.js +1031 -0
  21. package/src/lib/app-utils/actions.js.map +1 -0
  22. package/src/lib/app-utils/activity-presenter.d.ts +152 -0
  23. package/src/lib/app-utils/activity-presenter.js +326 -0
  24. package/src/lib/app-utils/activity-presenter.js.map +1 -0
  25. package/src/lib/app-utils/advertising-tag-mounts.d.ts +133 -0
  26. package/src/lib/app-utils/advertising-tag-mounts.js +118 -0
  27. package/src/lib/app-utils/advertising-tag-mounts.js.map +1 -0
  28. package/src/lib/app-utils/advertising-tags.d.ts +307 -0
  29. package/src/lib/app-utils/advertising-tags.js +525 -0
  30. package/src/lib/app-utils/advertising-tags.js.map +1 -0
  31. package/src/lib/app-utils/agent-api-catalog.d.ts +94 -0
  32. package/src/lib/app-utils/agent-api-catalog.js +106 -0
  33. package/src/lib/app-utils/agent-api-catalog.js.map +1 -0
  34. package/src/lib/app-utils/agent-openapi.d.ts +103 -0
  35. package/src/lib/app-utils/agent-openapi.js +1128 -0
  36. package/src/lib/app-utils/agent-openapi.js.map +1 -0
  37. package/src/lib/app-utils/analytics-beacon.d.ts +154 -0
  38. package/src/lib/app-utils/analytics-beacon.js +152 -0
  39. package/src/lib/app-utils/analytics-beacon.js.map +1 -0
  40. package/src/lib/app-utils/analytics-environment.d.ts +133 -0
  41. package/src/lib/app-utils/analytics-environment.js +152 -0
  42. package/src/lib/app-utils/analytics-environment.js.map +1 -0
  43. package/src/lib/app-utils/analytics-events.d.ts +744 -0
  44. package/src/lib/app-utils/analytics-events.js +650 -0
  45. package/src/lib/app-utils/analytics-events.js.map +1 -0
  46. package/src/lib/app-utils/analytics-link-clicks.d.ts +102 -0
  47. package/src/lib/app-utils/analytics-link-clicks.js +267 -0
  48. package/src/lib/app-utils/analytics-link-clicks.js.map +1 -0
  49. package/src/lib/app-utils/analytics-path-key.d.ts +46 -0
  50. package/src/lib/app-utils/analytics-path-key.js +46 -0
  51. package/src/lib/app-utils/analytics-path-key.js.map +1 -0
  52. package/src/lib/app-utils/api-adapter.d.ts +47 -0
  53. package/src/lib/app-utils/api-adapter.js +367 -0
  54. package/src/lib/app-utils/api-adapter.js.map +1 -0
  55. package/src/lib/app-utils/api-idempotency.d.ts +169 -0
  56. package/src/lib/app-utils/api-idempotency.js +213 -0
  57. package/src/lib/app-utils/api-idempotency.js.map +1 -0
  58. package/src/lib/app-utils/api-plugins.d.ts +210 -0
  59. package/src/lib/app-utils/api-plugins.js +221 -0
  60. package/src/lib/app-utils/api-plugins.js.map +1 -0
  61. package/src/lib/app-utils/assist-credits.d.ts +482 -0
  62. package/src/lib/app-utils/assist-credits.js +509 -0
  63. package/src/lib/app-utils/assist-credits.js.map +1 -0
  64. package/src/lib/app-utils/attribution-attribute.d.ts +34 -0
  65. package/src/lib/app-utils/attribution-attribute.js +34 -0
  66. package/src/lib/app-utils/attribution-attribute.js.map +1 -0
  67. package/src/lib/app-utils/attribution-guard.d.ts +130 -0
  68. package/src/lib/app-utils/attribution-guard.js +410 -0
  69. package/src/lib/app-utils/attribution-guard.js.map +1 -0
  70. package/src/lib/app-utils/author-css.d.ts +123 -0
  71. package/src/lib/app-utils/author-css.js +275 -0
  72. package/src/lib/app-utils/author-css.js.map +1 -0
  73. package/src/lib/app-utils/author-html-markdown.d.ts +31 -0
  74. package/src/lib/app-utils/author-html-markdown.js +497 -0
  75. package/src/lib/app-utils/author-html-markdown.js.map +1 -0
  76. package/src/lib/app-utils/author-html.d.ts +135 -0
  77. package/src/lib/app-utils/author-html.js +1037 -0
  78. package/src/lib/app-utils/author-html.js.map +1 -0
  79. package/src/lib/app-utils/automation-placeholders.d.ts +72 -0
  80. package/src/lib/app-utils/automation-placeholders.js +207 -0
  81. package/src/lib/app-utils/automation-placeholders.js.map +1 -0
  82. package/src/lib/app-utils/bandwidth-cap.d.ts +183 -0
  83. package/src/lib/app-utils/bandwidth-cap.js +193 -0
  84. package/src/lib/app-utils/bandwidth-cap.js.map +1 -0
  85. package/src/lib/app-utils/binding-token-catalog.d.ts +82 -0
  86. package/src/lib/app-utils/binding-token-catalog.js +293 -0
  87. package/src/lib/app-utils/binding-token-catalog.js.map +1 -0
  88. package/src/lib/app-utils/binding-tokens.d.ts +157 -0
  89. package/src/lib/app-utils/binding-tokens.js +251 -0
  90. package/src/lib/app-utils/binding-tokens.js.map +1 -0
  91. package/src/lib/app-utils/breadcrumb-json-ld.d.ts +57 -0
  92. package/src/lib/app-utils/breadcrumb-json-ld.js +67 -0
  93. package/src/lib/app-utils/breadcrumb-json-ld.js.map +1 -0
  94. package/src/lib/app-utils/campaign-attribution.d.ts +117 -0
  95. package/src/lib/app-utils/campaign-attribution.js +162 -0
  96. package/src/lib/app-utils/campaign-attribution.js.map +1 -0
  97. package/src/lib/app-utils/campaign-forwarding.d.ts +220 -0
  98. package/src/lib/app-utils/campaign-forwarding.js +332 -0
  99. package/src/lib/app-utils/campaign-forwarding.js.map +1 -0
  100. package/src/lib/app-utils/campaign-membership.d.ts +109 -0
  101. package/src/lib/app-utils/campaign-membership.js +176 -0
  102. package/src/lib/app-utils/campaign-membership.js.map +1 -0
  103. package/src/lib/app-utils/campaign-touch.d.ts +206 -0
  104. package/src/lib/app-utils/campaign-touch.js +326 -0
  105. package/src/lib/app-utils/campaign-touch.js.map +1 -0
  106. package/src/lib/app-utils/child-contract-compose.d.ts +28 -0
  107. package/src/lib/app-utils/child-contract-compose.js +140 -0
  108. package/src/lib/app-utils/child-contract-compose.js.map +1 -0
  109. package/src/lib/app-utils/child-contract.d.ts +129 -0
  110. package/src/lib/app-utils/child-contract.js +153 -0
  111. package/src/lib/app-utils/child-contract.js.map +1 -0
  112. package/src/lib/app-utils/collection-delete.d.ts +113 -0
  113. package/src/lib/app-utils/collection-delete.js +120 -0
  114. package/src/lib/app-utils/collection-delete.js.map +1 -0
  115. package/src/lib/app-utils/collection-entries.d.ts +833 -0
  116. package/src/lib/app-utils/collection-entries.js +1285 -0
  117. package/src/lib/app-utils/collection-entries.js.map +1 -0
  118. package/src/lib/app-utils/collection-entry-date.d.ts +129 -0
  119. package/src/lib/app-utils/collection-entry-date.js +183 -0
  120. package/src/lib/app-utils/collection-entry-date.js.map +1 -0
  121. package/src/lib/app-utils/collection-kind.d.ts +55 -0
  122. package/src/lib/app-utils/collection-kind.js +69 -0
  123. package/src/lib/app-utils/collection-kind.js.map +1 -0
  124. package/src/lib/app-utils/collection-slug.d.ts +79 -0
  125. package/src/lib/app-utils/collection-slug.js +70 -0
  126. package/src/lib/app-utils/collection-slug.js.map +1 -0
  127. package/src/lib/app-utils/compose-layout-nodes.d.ts +147 -0
  128. package/src/lib/app-utils/compose-layout-nodes.js +261 -0
  129. package/src/lib/app-utils/compose-layout-nodes.js.map +1 -0
  130. package/src/lib/app-utils/compose-layout-props.d.ts +71 -0
  131. package/src/lib/app-utils/compose-layout-props.js +61 -0
  132. package/src/lib/app-utils/compose-layout-props.js.map +1 -0
  133. package/src/lib/app-utils/compose-reusable-components.d.ts +504 -0
  134. package/src/lib/app-utils/compose-reusable-components.js +1366 -0
  135. package/src/lib/app-utils/compose-reusable-components.js.map +1 -0
  136. package/src/lib/app-utils/compress.d.ts +35 -0
  137. package/src/lib/app-utils/compress.js +38 -0
  138. package/src/lib/app-utils/compress.js.map +1 -0
  139. package/src/lib/app-utils/consent-banner-ui.d.ts +226 -0
  140. package/src/lib/app-utils/consent-banner-ui.js +583 -0
  141. package/src/lib/app-utils/consent-banner-ui.js.map +1 -0
  142. package/src/lib/app-utils/consent-groups.d.ts +189 -0
  143. package/src/lib/app-utils/consent-groups.js +219 -0
  144. package/src/lib/app-utils/consent-groups.js.map +1 -0
  145. package/src/lib/app-utils/consent-preferences-dialog.d.ts +58 -0
  146. package/src/lib/app-utils/consent-preferences-dialog.js +106 -0
  147. package/src/lib/app-utils/consent-preferences-dialog.js.map +1 -0
  148. package/src/lib/app-utils/console-record-links.d.ts +163 -0
  149. package/src/lib/app-utils/console-record-links.js +178 -0
  150. package/src/lib/app-utils/console-record-links.js.map +1 -0
  151. package/src/lib/app-utils/console-routes.d.ts +658 -0
  152. package/src/lib/app-utils/console-routes.js +489 -0
  153. package/src/lib/app-utils/console-routes.js.map +1 -0
  154. package/src/lib/app-utils/console-widget-slot-context.d.ts +46 -0
  155. package/src/lib/app-utils/console-widget-slot-context.js +23 -0
  156. package/src/lib/app-utils/console-widget-slot-context.js.map +1 -0
  157. package/src/lib/app-utils/contact-custom-fields.d.ts +191 -0
  158. package/src/lib/app-utils/contact-custom-fields.js +349 -0
  159. package/src/lib/app-utils/contact-custom-fields.js.map +1 -0
  160. package/src/lib/app-utils/contact-holder.d.ts +52 -0
  161. package/src/lib/app-utils/contact-holder.js +98 -0
  162. package/src/lib/app-utils/contact-holder.js.map +1 -0
  163. package/src/lib/app-utils/contact-merge.d.ts +136 -0
  164. package/src/lib/app-utils/contact-merge.js +379 -0
  165. package/src/lib/app-utils/contact-merge.js.map +1 -0
  166. package/src/lib/app-utils/contacts.d.ts +554 -0
  167. package/src/lib/app-utils/contacts.js +401 -0
  168. package/src/lib/app-utils/contacts.js.map +1 -0
  169. package/src/lib/app-utils/content-author-profile.d.ts +68 -0
  170. package/src/lib/app-utils/content-author-profile.js +118 -0
  171. package/src/lib/app-utils/content-author-profile.js.map +1 -0
  172. package/src/lib/app-utils/content-authors.d.ts +662 -0
  173. package/src/lib/app-utils/content-authors.js +771 -0
  174. package/src/lib/app-utils/content-authors.js.map +1 -0
  175. package/src/lib/app-utils/content-schema-type.d.ts +81 -0
  176. package/src/lib/app-utils/content-schema-type.js +87 -0
  177. package/src/lib/app-utils/content-schema-type.js.map +1 -0
  178. package/src/lib/app-utils/contexts.d.ts +35 -0
  179. package/src/lib/app-utils/contexts.js +35 -0
  180. package/src/lib/app-utils/contexts.js.map +1 -0
  181. package/src/lib/app-utils/create-resource-uid.d.ts +18 -0
  182. package/src/lib/app-utils/create-resource-uid.js +23 -0
  183. package/src/lib/app-utils/create-resource-uid.js.map +1 -0
  184. package/src/lib/app-utils/crm-booking.d.ts +75 -0
  185. package/src/lib/app-utils/crm-booking.js +133 -0
  186. package/src/lib/app-utils/crm-booking.js.map +1 -0
  187. package/src/lib/app-utils/crm-csv.d.ts +232 -0
  188. package/src/lib/app-utils/crm-csv.js +432 -0
  189. package/src/lib/app-utils/crm-csv.js.map +1 -0
  190. package/src/lib/app-utils/crm-digest.d.ts +179 -0
  191. package/src/lib/app-utils/crm-digest.js +271 -0
  192. package/src/lib/app-utils/crm-digest.js.map +1 -0
  193. package/src/lib/app-utils/crm-email-templates.d.ts +172 -0
  194. package/src/lib/app-utils/crm-email-templates.js +382 -0
  195. package/src/lib/app-utils/crm-email-templates.js.map +1 -0
  196. package/src/lib/app-utils/crm-inbound.d.ts +245 -0
  197. package/src/lib/app-utils/crm-inbound.js +407 -0
  198. package/src/lib/app-utils/crm-inbound.js.map +1 -0
  199. package/src/lib/app-utils/crm-kinds.d.ts +73 -0
  200. package/src/lib/app-utils/crm-kinds.js +92 -0
  201. package/src/lib/app-utils/crm-kinds.js.map +1 -0
  202. package/src/lib/app-utils/crm-next-activity.d.ts +107 -0
  203. package/src/lib/app-utils/crm-next-activity.js +140 -0
  204. package/src/lib/app-utils/crm-next-activity.js.map +1 -0
  205. package/src/lib/app-utils/crm-reports.d.ts +479 -0
  206. package/src/lib/app-utils/crm-reports.js +680 -0
  207. package/src/lib/app-utils/crm-reports.js.map +1 -0
  208. package/src/lib/app-utils/crm-task-reminders.d.ts +129 -0
  209. package/src/lib/app-utils/crm-task-reminders.js +139 -0
  210. package/src/lib/app-utils/crm-task-reminders.js.map +1 -0
  211. package/src/lib/app-utils/crm.d.ts +1546 -0
  212. package/src/lib/app-utils/crm.js +1814 -0
  213. package/src/lib/app-utils/crm.js.map +1 -0
  214. package/src/lib/app-utils/csp-report.d.ts +84 -0
  215. package/src/lib/app-utils/csp-report.js +177 -0
  216. package/src/lib/app-utils/csp-report.js.map +1 -0
  217. package/src/lib/app-utils/csv-import.d.ts +192 -0
  218. package/src/lib/app-utils/csv-import.js +279 -0
  219. package/src/lib/app-utils/csv-import.js.map +1 -0
  220. package/src/lib/app-utils/dataset-csv.d.ts +109 -0
  221. package/src/lib/app-utils/dataset-csv.js +235 -0
  222. package/src/lib/app-utils/dataset-csv.js.map +1 -0
  223. package/src/lib/app-utils/dataset-models.d.ts +194 -0
  224. package/src/lib/app-utils/dataset-models.js +409 -0
  225. package/src/lib/app-utils/dataset-models.js.map +1 -0
  226. package/src/lib/app-utils/dataset-query.d.ts +57 -0
  227. package/src/lib/app-utils/dataset-query.js +126 -0
  228. package/src/lib/app-utils/dataset-query.js.map +1 -0
  229. package/src/lib/app-utils/datasets.d.ts +136 -0
  230. package/src/lib/app-utils/datasets.js +177 -0
  231. package/src/lib/app-utils/datasets.js.map +1 -0
  232. package/src/lib/app-utils/decompress.d.ts +36 -0
  233. package/src/lib/app-utils/decompress.js +32 -0
  234. package/src/lib/app-utils/decompress.js.map +1 -0
  235. package/src/lib/app-utils/dedicated-sending-domain.d.ts +47 -0
  236. package/src/lib/app-utils/dedicated-sending-domain.js +114 -0
  237. package/src/lib/app-utils/dedicated-sending-domain.js.map +1 -0
  238. package/src/lib/app-utils/deferred-image.d.ts +86 -0
  239. package/src/lib/app-utils/deferred-image.js +83 -0
  240. package/src/lib/app-utils/deferred-image.js.map +1 -0
  241. package/src/lib/app-utils/definition-canvas-tree.d.ts +61 -0
  242. package/src/lib/app-utils/definition-canvas-tree.js +126 -0
  243. package/src/lib/app-utils/definition-canvas-tree.js.map +1 -0
  244. package/src/lib/app-utils/deployment-shape.d.ts +167 -0
  245. package/src/lib/app-utils/deployment-shape.js +238 -0
  246. package/src/lib/app-utils/deployment-shape.js.map +1 -0
  247. package/src/lib/app-utils/detect-template-placeholders.d.ts +30 -0
  248. package/src/lib/app-utils/detect-template-placeholders.js +53 -0
  249. package/src/lib/app-utils/detect-template-placeholders.js.map +1 -0
  250. package/src/lib/app-utils/dmca-counter-notice.d.ts +185 -0
  251. package/src/lib/app-utils/dmca-counter-notice.js +277 -0
  252. package/src/lib/app-utils/dmca-counter-notice.js.map +1 -0
  253. package/src/lib/app-utils/docs-deflection.d.ts +156 -0
  254. package/src/lib/app-utils/docs-deflection.js +547 -0
  255. package/src/lib/app-utils/docs-deflection.js.map +1 -0
  256. package/src/lib/app-utils/docs-help.d.ts +57 -0
  257. package/src/lib/app-utils/docs-help.generated.d.ts +303 -0
  258. package/src/lib/app-utils/docs-help.generated.js +867 -0
  259. package/src/lib/app-utils/docs-help.generated.js.map +1 -0
  260. package/src/lib/app-utils/docs-help.js +46 -0
  261. package/src/lib/app-utils/docs-help.js.map +1 -0
  262. package/src/lib/app-utils/docs-index.generated.d.ts +29 -0
  263. package/src/lib/app-utils/docs-index.generated.js +8388 -0
  264. package/src/lib/app-utils/docs-index.generated.js.map +1 -0
  265. package/src/lib/app-utils/docs-retrieval.d.ts +67 -0
  266. package/src/lib/app-utils/docs-retrieval.js +188 -0
  267. package/src/lib/app-utils/docs-retrieval.js.map +1 -0
  268. package/src/lib/app-utils/document-landmark.d.ts +50 -0
  269. package/src/lib/app-utils/document-landmark.js +100 -0
  270. package/src/lib/app-utils/document-landmark.js.map +1 -0
  271. package/src/lib/app-utils/duplicate-resource.d.ts +101 -0
  272. package/src/lib/app-utils/duplicate-resource.js +206 -0
  273. package/src/lib/app-utils/duplicate-resource.js.map +1 -0
  274. package/src/lib/app-utils/dynamic-list-rule.d.ts +471 -0
  275. package/src/lib/app-utils/dynamic-list-rule.js +914 -0
  276. package/src/lib/app-utils/dynamic-list-rule.js.map +1 -0
  277. package/src/lib/app-utils/element-animation.d.ts +200 -0
  278. package/src/lib/app-utils/element-animation.js +233 -0
  279. package/src/lib/app-utils/element-animation.js.map +1 -0
  280. package/src/lib/app-utils/element-hidden-style.d.ts +46 -0
  281. package/src/lib/app-utils/element-hidden-style.js +48 -0
  282. package/src/lib/app-utils/element-hidden-style.js.map +1 -0
  283. package/src/lib/app-utils/element-ui.d.ts +243 -0
  284. package/src/lib/app-utils/element-ui.js +459 -0
  285. package/src/lib/app-utils/element-ui.js.map +1 -0
  286. package/src/lib/app-utils/email-starter-policy.d.ts +160 -0
  287. package/src/lib/app-utils/email-starter-policy.js +327 -0
  288. package/src/lib/app-utils/email-starter-policy.js.map +1 -0
  289. package/src/lib/app-utils/email-topics.d.ts +310 -0
  290. package/src/lib/app-utils/email-topics.js +336 -0
  291. package/src/lib/app-utils/email-topics.js.map +1 -0
  292. package/src/lib/app-utils/enabled-plugins-context.d.ts +100 -0
  293. package/src/lib/app-utils/enabled-plugins-context.js +113 -0
  294. package/src/lib/app-utils/enabled-plugins-context.js.map +1 -0
  295. package/src/lib/app-utils/ensure-canvas-root.d.ts +38 -0
  296. package/src/lib/app-utils/ensure-canvas-root.js +61 -0
  297. package/src/lib/app-utils/ensure-canvas-root.js.map +1 -0
  298. package/src/lib/app-utils/entity-picker-context.d.ts +199 -0
  299. package/src/lib/app-utils/entity-picker-context.js +93 -0
  300. package/src/lib/app-utils/entity-picker-context.js.map +1 -0
  301. package/src/lib/app-utils/error-beacon.d.ts +107 -0
  302. package/src/lib/app-utils/error-beacon.js +296 -0
  303. package/src/lib/app-utils/error-beacon.js.map +1 -0
  304. package/src/lib/app-utils/expand-repeatables.d.ts +172 -0
  305. package/src/lib/app-utils/expand-repeatables.js +299 -0
  306. package/src/lib/app-utils/expand-repeatables.js.map +1 -0
  307. package/src/lib/app-utils/foreign-script.d.ts +82 -0
  308. package/src/lib/app-utils/foreign-script.js +102 -0
  309. package/src/lib/app-utils/foreign-script.js.map +1 -0
  310. package/src/lib/app-utils/form-abuse-ceiling.d.ts +146 -0
  311. package/src/lib/app-utils/form-abuse-ceiling.js +158 -0
  312. package/src/lib/app-utils/form-abuse-ceiling.js.map +1 -0
  313. package/src/lib/app-utils/form-contract.d.ts +198 -0
  314. package/src/lib/app-utils/form-contract.js +282 -0
  315. package/src/lib/app-utils/form-contract.js.map +1 -0
  316. package/src/lib/app-utils/form-dataset-binding.d.ts +50 -0
  317. package/src/lib/app-utils/form-dataset-binding.js +74 -0
  318. package/src/lib/app-utils/form-dataset-binding.js.map +1 -0
  319. package/src/lib/app-utils/forms.d.ts +727 -0
  320. package/src/lib/app-utils/forms.js +777 -0
  321. package/src/lib/app-utils/forms.js.map +1 -0
  322. package/src/lib/app-utils/functions.d.ts +188 -0
  323. package/src/lib/app-utils/functions.js +529 -0
  324. package/src/lib/app-utils/functions.js.map +1 -0
  325. package/src/lib/app-utils/guarded-version-save.d.ts +91 -0
  326. package/src/lib/app-utils/guarded-version-save.js +131 -0
  327. package/src/lib/app-utils/guarded-version-save.js.map +1 -0
  328. package/src/lib/app-utils/health-report.d.ts +1766 -0
  329. package/src/lib/app-utils/health-report.js +2072 -0
  330. package/src/lib/app-utils/health-report.js.map +1 -0
  331. package/src/lib/app-utils/host-naming.d.ts +135 -0
  332. package/src/lib/app-utils/host-naming.js +188 -0
  333. package/src/lib/app-utils/host-naming.js.map +1 -0
  334. package/src/lib/app-utils/host-permissions.d.ts +76 -0
  335. package/src/lib/app-utils/host-permissions.js +119 -0
  336. package/src/lib/app-utils/host-permissions.js.map +1 -0
  337. package/src/lib/app-utils/host-tokens.d.ts +228 -0
  338. package/src/lib/app-utils/host-tokens.js +304 -0
  339. package/src/lib/app-utils/host-tokens.js.map +1 -0
  340. package/src/lib/app-utils/idp-profile.d.ts +83 -0
  341. package/src/lib/app-utils/idp-profile.js +268 -0
  342. package/src/lib/app-utils/idp-profile.js.map +1 -0
  343. package/src/lib/app-utils/image-upload-types.d.ts +49 -0
  344. package/src/lib/app-utils/image-upload-types.js +86 -0
  345. package/src/lib/app-utils/image-upload-types.js.map +1 -0
  346. package/src/lib/app-utils/index.d.ts +18 -0
  347. package/src/lib/app-utils/index.js +23 -0
  348. package/src/lib/app-utils/index.js.map +1 -0
  349. package/src/lib/app-utils/internal-traffic.d.ts +197 -0
  350. package/src/lib/app-utils/internal-traffic.js +288 -0
  351. package/src/lib/app-utils/internal-traffic.js.map +1 -0
  352. package/src/lib/app-utils/lineal-order.d.ts +62 -0
  353. package/src/lib/app-utils/lineal-order.js +65 -0
  354. package/src/lib/app-utils/lineal-order.js.map +1 -0
  355. package/src/lib/app-utils/link-references.d.ts +36 -0
  356. package/src/lib/app-utils/link-references.js +89 -0
  357. package/src/lib/app-utils/link-references.js.map +1 -0
  358. package/src/lib/app-utils/link-target-search-context.d.ts +123 -0
  359. package/src/lib/app-utils/link-target-search-context.js +221 -0
  360. package/src/lib/app-utils/link-target-search-context.js.map +1 -0
  361. package/src/lib/app-utils/list-assignment-policy.d.ts +169 -0
  362. package/src/lib/app-utils/list-assignment-policy.js +170 -0
  363. package/src/lib/app-utils/list-assignment-policy.js.map +1 -0
  364. package/src/lib/app-utils/list-import.d.ts +158 -0
  365. package/src/lib/app-utils/list-import.js +332 -0
  366. package/src/lib/app-utils/list-import.js.map +1 -0
  367. package/src/lib/app-utils/llms-txt.d.ts +104 -0
  368. package/src/lib/app-utils/llms-txt.js +144 -0
  369. package/src/lib/app-utils/llms-txt.js.map +1 -0
  370. package/src/lib/app-utils/local-storage-budget.d.ts +75 -0
  371. package/src/lib/app-utils/local-storage-budget.js +153 -0
  372. package/src/lib/app-utils/local-storage-budget.js.map +1 -0
  373. package/src/lib/app-utils/lockdown.d.ts +698 -0
  374. package/src/lib/app-utils/lockdown.js +929 -0
  375. package/src/lib/app-utils/lockdown.js.map +1 -0
  376. package/src/lib/app-utils/margin-utilization.d.ts +267 -0
  377. package/src/lib/app-utils/margin-utilization.js +351 -0
  378. package/src/lib/app-utils/margin-utilization.js.map +1 -0
  379. package/src/lib/app-utils/markdown-lite.d.ts +297 -0
  380. package/src/lib/app-utils/markdown-lite.js +705 -0
  381. package/src/lib/app-utils/markdown-lite.js.map +1 -0
  382. package/src/lib/app-utils/marketing-consent.d.ts +704 -0
  383. package/src/lib/app-utils/marketing-consent.js +783 -0
  384. package/src/lib/app-utils/marketing-consent.js.map +1 -0
  385. package/src/lib/app-utils/marketplace-listing-visibility.d.ts +120 -0
  386. package/src/lib/app-utils/marketplace-listing-visibility.js +139 -0
  387. package/src/lib/app-utils/marketplace-listing-visibility.js.map +1 -0
  388. package/src/lib/app-utils/marketplace-overrides.d.ts +271 -0
  389. package/src/lib/app-utils/marketplace-overrides.js +462 -0
  390. package/src/lib/app-utils/marketplace-overrides.js.map +1 -0
  391. package/src/lib/app-utils/marketplace-provenance.d.ts +150 -0
  392. package/src/lib/app-utils/marketplace-provenance.js +136 -0
  393. package/src/lib/app-utils/marketplace-provenance.js.map +1 -0
  394. package/src/lib/app-utils/marketplace-theme.d.ts +237 -0
  395. package/src/lib/app-utils/marketplace-theme.js +525 -0
  396. package/src/lib/app-utils/marketplace-theme.js.map +1 -0
  397. package/src/lib/app-utils/marketplace-update-state.d.ts +119 -0
  398. package/src/lib/app-utils/marketplace-update-state.js +132 -0
  399. package/src/lib/app-utils/marketplace-update-state.js.map +1 -0
  400. package/src/lib/app-utils/marketplace-verification.d.ts +95 -0
  401. package/src/lib/app-utils/marketplace-verification.js +81 -0
  402. package/src/lib/app-utils/marketplace-verification.js.map +1 -0
  403. package/src/lib/app-utils/measure-node-map.d.ts +76 -0
  404. package/src/lib/app-utils/measure-node-map.js +111 -0
  405. package/src/lib/app-utils/measure-node-map.js.map +1 -0
  406. package/src/lib/app-utils/media-alt.d.ts +55 -0
  407. package/src/lib/app-utils/media-alt.js +58 -0
  408. package/src/lib/app-utils/media-alt.js.map +1 -0
  409. package/src/lib/app-utils/media-asset-facts.d.ts +125 -0
  410. package/src/lib/app-utils/media-asset-facts.js +467 -0
  411. package/src/lib/app-utils/media-asset-facts.js.map +1 -0
  412. package/src/lib/app-utils/media-cdn-scope.d.ts +65 -0
  413. package/src/lib/app-utils/media-cdn-scope.js +75 -0
  414. package/src/lib/app-utils/media-cdn-scope.js.map +1 -0
  415. package/src/lib/app-utils/media-folders.d.ts +161 -0
  416. package/src/lib/app-utils/media-folders.js +230 -0
  417. package/src/lib/app-utils/media-folders.js.map +1 -0
  418. package/src/lib/app-utils/media-metadata.d.ts +277 -0
  419. package/src/lib/app-utils/media-metadata.js +388 -0
  420. package/src/lib/app-utils/media-metadata.js.map +1 -0
  421. package/src/lib/app-utils/media-picker-context.d.ts +93 -0
  422. package/src/lib/app-utils/media-picker-context.js +26 -0
  423. package/src/lib/app-utils/media-picker-context.js.map +1 -0
  424. package/src/lib/app-utils/media-quarantine.d.ts +247 -0
  425. package/src/lib/app-utils/media-quarantine.js +323 -0
  426. package/src/lib/app-utils/media-quarantine.js.map +1 -0
  427. package/src/lib/app-utils/media-ref.d.ts +661 -0
  428. package/src/lib/app-utils/media-ref.js +1055 -0
  429. package/src/lib/app-utils/media-ref.js.map +1 -0
  430. package/src/lib/app-utils/media-takedown-reach.d.ts +126 -0
  431. package/src/lib/app-utils/media-takedown-reach.js +143 -0
  432. package/src/lib/app-utils/media-takedown-reach.js.map +1 -0
  433. package/src/lib/app-utils/member-email-aliases.d.ts +180 -0
  434. package/src/lib/app-utils/member-email-aliases.js +217 -0
  435. package/src/lib/app-utils/member-email-aliases.js.map +1 -0
  436. package/src/lib/app-utils/merge-node-sx.d.ts +47 -0
  437. package/src/lib/app-utils/merge-node-sx.js +123 -0
  438. package/src/lib/app-utils/merge-node-sx.js.map +1 -0
  439. package/src/lib/app-utils/name-match.d.ts +155 -0
  440. package/src/lib/app-utils/name-match.js +175 -0
  441. package/src/lib/app-utils/name-match.js.map +1 -0
  442. package/src/lib/app-utils/name-search.d.ts +117 -0
  443. package/src/lib/app-utils/name-search.js +145 -0
  444. package/src/lib/app-utils/name-search.js.map +1 -0
  445. package/src/lib/app-utils/node-capabilities.d.ts +85 -0
  446. package/src/lib/app-utils/node-capabilities.js +88 -0
  447. package/src/lib/app-utils/node-capabilities.js.map +1 -0
  448. package/src/lib/app-utils/node-definition-sanitizer.d.ts +164 -0
  449. package/src/lib/app-utils/node-definition-sanitizer.js +402 -0
  450. package/src/lib/app-utils/node-definition-sanitizer.js.map +1 -0
  451. package/src/lib/app-utils/node-identity.d.ts +47 -0
  452. package/src/lib/app-utils/node-identity.js +50 -0
  453. package/src/lib/app-utils/node-identity.js.map +1 -0
  454. package/src/lib/app-utils/node-interactions.d.ts +102 -0
  455. package/src/lib/app-utils/node-interactions.js +192 -0
  456. package/src/lib/app-utils/node-interactions.js.map +1 -0
  457. package/src/lib/app-utils/node-url-policy.d.ts +54 -0
  458. package/src/lib/app-utils/node-url-policy.js +72 -0
  459. package/src/lib/app-utils/node-url-policy.js.map +1 -0
  460. package/src/lib/app-utils/notifications.d.ts +71 -0
  461. package/src/lib/app-utils/notifications.js +101 -0
  462. package/src/lib/app-utils/notifications.js.map +1 -0
  463. package/src/lib/app-utils/onboarding-deep-link.d.ts +120 -0
  464. package/src/lib/app-utils/onboarding-deep-link.js +142 -0
  465. package/src/lib/app-utils/onboarding-deep-link.js.map +1 -0
  466. package/src/lib/app-utils/operator-identity.d.ts +207 -0
  467. package/src/lib/app-utils/operator-identity.js +186 -0
  468. package/src/lib/app-utils/operator-identity.js.map +1 -0
  469. package/src/lib/app-utils/org-billing-doc.d.ts +231 -0
  470. package/src/lib/app-utils/org-billing-doc.js +238 -0
  471. package/src/lib/app-utils/org-billing-doc.js.map +1 -0
  472. package/src/lib/app-utils/org-override-reason.d.ts +100 -0
  473. package/src/lib/app-utils/org-override-reason.js +116 -0
  474. package/src/lib/app-utils/org-override-reason.js.map +1 -0
  475. package/src/lib/app-utils/org-permissions.d.ts +194 -0
  476. package/src/lib/app-utils/org-permissions.js +357 -0
  477. package/src/lib/app-utils/org-permissions.js.map +1 -0
  478. package/src/lib/app-utils/org-roles.d.ts +72 -0
  479. package/src/lib/app-utils/org-roles.js +131 -0
  480. package/src/lib/app-utils/org-roles.js.map +1 -0
  481. package/src/lib/app-utils/organizations.d.ts +407 -0
  482. package/src/lib/app-utils/organizations.js +511 -0
  483. package/src/lib/app-utils/organizations.js.map +1 -0
  484. package/src/lib/app-utils/page-header-actions-context.d.ts +83 -0
  485. package/src/lib/app-utils/page-header-actions-context.js +58 -0
  486. package/src/lib/app-utils/page-header-actions-context.js.map +1 -0
  487. package/src/lib/app-utils/page-header-record-context.d.ts +80 -0
  488. package/src/lib/app-utils/page-header-record-context.js +64 -0
  489. package/src/lib/app-utils/page-header-record-context.js.map +1 -0
  490. package/src/lib/app-utils/page-markdown.d.ts +103 -0
  491. package/src/lib/app-utils/page-markdown.js +385 -0
  492. package/src/lib/app-utils/page-markdown.js.map +1 -0
  493. package/src/lib/app-utils/paid-media-source.d.ts +90 -0
  494. package/src/lib/app-utils/paid-media-source.js +184 -0
  495. package/src/lib/app-utils/paid-media-source.js.map +1 -0
  496. package/src/lib/app-utils/palette-sx.d.ts +34 -0
  497. package/src/lib/app-utils/palette-sx.js +150 -0
  498. package/src/lib/app-utils/palette-sx.js.map +1 -0
  499. package/src/lib/app-utils/password-policy.d.ts +47 -0
  500. package/src/lib/app-utils/password-policy.js +46 -0
  501. package/src/lib/app-utils/password-policy.js.map +1 -0
  502. package/src/lib/app-utils/payments-configured.d.ts +84 -0
  503. package/src/lib/app-utils/payments-configured.js +88 -0
  504. package/src/lib/app-utils/payments-configured.js.map +1 -0
  505. package/src/lib/app-utils/person-erasure.d.ts +126 -0
  506. package/src/lib/app-utils/person-erasure.js +121 -0
  507. package/src/lib/app-utils/person-erasure.js.map +1 -0
  508. package/src/lib/app-utils/person-key.d.ts +32 -0
  509. package/src/lib/app-utils/person-key.js +62 -0
  510. package/src/lib/app-utils/person-key.js.map +1 -0
  511. package/src/lib/app-utils/plan-entitlements.d.ts +2756 -0
  512. package/src/lib/app-utils/plan-entitlements.js +4085 -0
  513. package/src/lib/app-utils/plan-entitlements.js.map +1 -0
  514. package/src/lib/app-utils/platform-ad-conversions.d.ts +122 -0
  515. package/src/lib/app-utils/platform-ad-conversions.js +174 -0
  516. package/src/lib/app-utils/platform-ad-conversions.js.map +1 -0
  517. package/src/lib/app-utils/platform-advertising-tags.d.ts +139 -0
  518. package/src/lib/app-utils/platform-advertising-tags.js +203 -0
  519. package/src/lib/app-utils/platform-advertising-tags.js.map +1 -0
  520. package/src/lib/app-utils/platform-brand.d.ts +151 -0
  521. package/src/lib/app-utils/platform-brand.js +175 -0
  522. package/src/lib/app-utils/platform-brand.js.map +1 -0
  523. package/src/lib/app-utils/platform-consent-default.d.ts +142 -0
  524. package/src/lib/app-utils/platform-consent-default.js +295 -0
  525. package/src/lib/app-utils/platform-consent-default.js.map +1 -0
  526. package/src/lib/app-utils/platform-marketing-consent.d.ts +151 -0
  527. package/src/lib/app-utils/platform-marketing-consent.js +182 -0
  528. package/src/lib/app-utils/platform-marketing-consent.js.map +1 -0
  529. package/src/lib/app-utils/platform-marketing-host.d.ts +33 -0
  530. package/src/lib/app-utils/platform-marketing-host.js +97 -0
  531. package/src/lib/app-utils/platform-marketing-host.js.map +1 -0
  532. package/src/lib/app-utils/platform-visitor-consent.d.ts +252 -0
  533. package/src/lib/app-utils/platform-visitor-consent.js +533 -0
  534. package/src/lib/app-utils/platform-visitor-consent.js.map +1 -0
  535. package/src/lib/app-utils/plugin-api-cross-origin.d.ts +61 -0
  536. package/src/lib/app-utils/plugin-api-cross-origin.js +202 -0
  537. package/src/lib/app-utils/plugin-api-cross-origin.js.map +1 -0
  538. package/src/lib/app-utils/plugin-api-rate-limit.d.ts +192 -0
  539. package/src/lib/app-utils/plugin-api-rate-limit.js +270 -0
  540. package/src/lib/app-utils/plugin-api-rate-limit.js.map +1 -0
  541. package/src/lib/app-utils/plugin-artifact-path.d.ts +32 -0
  542. package/src/lib/app-utils/plugin-artifact-path.js +33 -0
  543. package/src/lib/app-utils/plugin-artifact-path.js.map +1 -0
  544. package/src/lib/app-utils/plugin-bundle-checks.d.ts +148 -0
  545. package/src/lib/app-utils/plugin-bundle-checks.js +989 -0
  546. package/src/lib/app-utils/plugin-bundle-checks.js.map +1 -0
  547. package/src/lib/app-utils/plugin-manifest.d.ts +516 -0
  548. package/src/lib/app-utils/plugin-manifest.js +687 -0
  549. package/src/lib/app-utils/plugin-manifest.js.map +1 -0
  550. package/src/lib/app-utils/published-legal-pages.d.ts +71 -0
  551. package/src/lib/app-utils/published-legal-pages.js +90 -0
  552. package/src/lib/app-utils/published-legal-pages.js.map +1 -0
  553. package/src/lib/app-utils/publisher-agreement.d.ts +254 -0
  554. package/src/lib/app-utils/publisher-agreement.js +274 -0
  555. package/src/lib/app-utils/publisher-agreement.js.map +1 -0
  556. package/src/lib/app-utils/publisher-attestation.d.ts +99 -0
  557. package/src/lib/app-utils/publisher-attestation.js +158 -0
  558. package/src/lib/app-utils/publisher-attestation.js.map +1 -0
  559. package/src/lib/app-utils/recipient-email-render.d.ts +216 -0
  560. package/src/lib/app-utils/recipient-email-render.js +221 -0
  561. package/src/lib/app-utils/recipient-email-render.js.map +1 -0
  562. package/src/lib/app-utils/redispatch-caught-error.d.ts +38 -0
  563. package/src/lib/app-utils/redispatch-caught-error.js +46 -0
  564. package/src/lib/app-utils/redispatch-caught-error.js.map +1 -0
  565. package/src/lib/app-utils/registering-plugin.d.ts +19 -0
  566. package/src/lib/app-utils/registering-plugin.js +38 -0
  567. package/src/lib/app-utils/registering-plugin.js.map +1 -0
  568. package/src/lib/app-utils/release-flags.d.ts +283 -0
  569. package/src/lib/app-utils/release-flags.js +518 -0
  570. package/src/lib/app-utils/release-flags.js.map +1 -0
  571. package/src/lib/app-utils/repair-canvas-nodes.d.ts +130 -0
  572. package/src/lib/app-utils/repair-canvas-nodes.js +298 -0
  573. package/src/lib/app-utils/repair-canvas-nodes.js.map +1 -0
  574. package/src/lib/app-utils/repeat-infringer.d.ts +166 -0
  575. package/src/lib/app-utils/repeat-infringer.js +188 -0
  576. package/src/lib/app-utils/repeat-infringer.js.map +1 -0
  577. package/src/lib/app-utils/repeat-sources.d.ts +115 -0
  578. package/src/lib/app-utils/repeat-sources.js +86 -0
  579. package/src/lib/app-utils/repeat-sources.js.map +1 -0
  580. package/src/lib/app-utils/request-geo.d.ts +114 -0
  581. package/src/lib/app-utils/request-geo.js +247 -0
  582. package/src/lib/app-utils/request-geo.js.map +1 -0
  583. package/src/lib/app-utils/request-ip.d.ts +213 -0
  584. package/src/lib/app-utils/request-ip.js +344 -0
  585. package/src/lib/app-utils/request-ip.js.map +1 -0
  586. package/src/lib/app-utils/resolve-named-tokens.d.ts +26 -0
  587. package/src/lib/app-utils/resolve-named-tokens.js +59 -0
  588. package/src/lib/app-utils/resolve-named-tokens.js.map +1 -0
  589. package/src/lib/app-utils/responsive-typography-sx.d.ts +77 -0
  590. package/src/lib/app-utils/responsive-typography-sx.js +122 -0
  591. package/src/lib/app-utils/responsive-typography-sx.js.map +1 -0
  592. package/src/lib/app-utils/reusable-component-keys.d.ts +135 -0
  593. package/src/lib/app-utils/reusable-component-keys.js +140 -0
  594. package/src/lib/app-utils/reusable-component-keys.js.map +1 -0
  595. package/src/lib/app-utils/reusable-prop-values.d.ts +199 -0
  596. package/src/lib/app-utils/reusable-prop-values.js +494 -0
  597. package/src/lib/app-utils/reusable-prop-values.js.map +1 -0
  598. package/src/lib/app-utils/safe-json-ld.d.ts +29 -0
  599. package/src/lib/app-utils/safe-json-ld.js +37 -0
  600. package/src/lib/app-utils/safe-json-ld.js.map +1 -0
  601. package/src/lib/app-utils/sanitize-svg.d.ts +55 -0
  602. package/src/lib/app-utils/sanitize-svg.js +460 -0
  603. package/src/lib/app-utils/sanitize-svg.js.map +1 -0
  604. package/src/lib/app-utils/scheme-sx.d.ts +84 -0
  605. package/src/lib/app-utils/scheme-sx.js +148 -0
  606. package/src/lib/app-utils/scheme-sx.js.map +1 -0
  607. package/src/lib/app-utils/scope-tokens.d.ts +249 -0
  608. package/src/lib/app-utils/scope-tokens.js +331 -0
  609. package/src/lib/app-utils/scope-tokens.js.map +1 -0
  610. package/src/lib/app-utils/screen-link-context-value.d.ts +57 -0
  611. package/src/lib/app-utils/screen-link-context-value.js +43 -0
  612. package/src/lib/app-utils/screen-link-context-value.js.map +1 -0
  613. package/src/lib/app-utils/screen-link-context.d.ts +185 -0
  614. package/src/lib/app-utils/screen-link-context.js +304 -0
  615. package/src/lib/app-utils/screen-link-context.js.map +1 -0
  616. package/src/lib/app-utils/screen-link-value.d.ts +269 -0
  617. package/src/lib/app-utils/screen-link-value.js +384 -0
  618. package/src/lib/app-utils/screen-link-value.js.map +1 -0
  619. package/src/lib/app-utils/screen-route.d.ts +669 -0
  620. package/src/lib/app-utils/screen-route.js +751 -0
  621. package/src/lib/app-utils/screen-route.js.map +1 -0
  622. package/src/lib/app-utils/screen-seo-fields.d.ts +37 -0
  623. package/src/lib/app-utils/screen-seo-fields.js +42 -0
  624. package/src/lib/app-utils/screen-seo-fields.js.map +1 -0
  625. package/src/lib/app-utils/search-indexing.d.ts +162 -0
  626. package/src/lib/app-utils/search-indexing.js +207 -0
  627. package/src/lib/app-utils/search-indexing.js.map +1 -0
  628. package/src/lib/app-utils/seo-listing-fields.d.ts +70 -0
  629. package/src/lib/app-utils/seo-listing-fields.js +75 -0
  630. package/src/lib/app-utils/seo-listing-fields.js.map +1 -0
  631. package/src/lib/app-utils/seo-locale.d.ts +119 -0
  632. package/src/lib/app-utils/seo-locale.js +133 -0
  633. package/src/lib/app-utils/seo-locale.js.map +1 -0
  634. package/src/lib/app-utils/seo-title-variables.d.ts +149 -0
  635. package/src/lib/app-utils/seo-title-variables.js +190 -0
  636. package/src/lib/app-utils/seo-title-variables.js.map +1 -0
  637. package/src/lib/app-utils/seo-title.d.ts +70 -0
  638. package/src/lib/app-utils/seo-title.js +117 -0
  639. package/src/lib/app-utils/seo-title.js.map +1 -0
  640. package/src/lib/app-utils/server.d.ts +174 -0
  641. package/src/lib/app-utils/server.js +314 -0
  642. package/src/lib/app-utils/server.js.map +1 -0
  643. package/src/lib/app-utils/site-context.d.ts +106 -0
  644. package/src/lib/app-utils/site-context.js +100 -0
  645. package/src/lib/app-utils/site-context.js.map +1 -0
  646. package/src/lib/app-utils/sitemap.d.ts +117 -0
  647. package/src/lib/app-utils/sitemap.js +183 -0
  648. package/src/lib/app-utils/sitemap.js.map +1 -0
  649. package/src/lib/app-utils/social-image.d.ts +112 -0
  650. package/src/lib/app-utils/social-image.js +191 -0
  651. package/src/lib/app-utils/social-image.js.map +1 -0
  652. package/src/lib/app-utils/starter-templates.d.ts +99 -0
  653. package/src/lib/app-utils/starter-templates.js +579 -0
  654. package/src/lib/app-utils/starter-templates.js.map +1 -0
  655. package/src/lib/app-utils/stored-nodes.d.ts +120 -0
  656. package/src/lib/app-utils/stored-nodes.js +174 -0
  657. package/src/lib/app-utils/stored-nodes.js.map +1 -0
  658. package/src/lib/app-utils/strip-undefined.d.ts +59 -0
  659. package/src/lib/app-utils/strip-undefined.js +95 -0
  660. package/src/lib/app-utils/strip-undefined.js.map +1 -0
  661. package/src/lib/app-utils/stripe-deployment-mode.d.ts +47 -0
  662. package/src/lib/app-utils/stripe-deployment-mode.js +70 -0
  663. package/src/lib/app-utils/stripe-deployment-mode.js.map +1 -0
  664. package/src/lib/app-utils/support-tiers.d.ts +108 -0
  665. package/src/lib/app-utils/support-tiers.js +201 -0
  666. package/src/lib/app-utils/support-tiers.js.map +1 -0
  667. package/src/lib/app-utils/timezone-geo-hint.d.ts +36 -0
  668. package/src/lib/app-utils/timezone-geo-hint.js +180 -0
  669. package/src/lib/app-utils/timezone-geo-hint.js.map +1 -0
  670. package/src/lib/app-utils/upload-cors.d.ts +155 -0
  671. package/src/lib/app-utils/upload-cors.js +254 -0
  672. package/src/lib/app-utils/upload-cors.js.map +1 -0
  673. package/src/lib/app-utils/upload-inspection.d.ts +159 -0
  674. package/src/lib/app-utils/upload-inspection.js +539 -0
  675. package/src/lib/app-utils/upload-inspection.js.map +1 -0
  676. package/src/lib/app-utils/url-slug.d.ts +40 -0
  677. package/src/lib/app-utils/url-slug.js +42 -0
  678. package/src/lib/app-utils/url-slug.js.map +1 -0
  679. package/src/lib/app-utils/usage-budget.d.ts +429 -0
  680. package/src/lib/app-utils/usage-budget.js +421 -0
  681. package/src/lib/app-utils/usage-budget.js.map +1 -0
  682. package/src/lib/app-utils/variables.d.ts +96 -0
  683. package/src/lib/app-utils/variables.js +233 -0
  684. package/src/lib/app-utils/variables.js.map +1 -0
  685. package/src/lib/app-utils/video-asset-facts.d.ts +61 -0
  686. package/src/lib/app-utils/video-asset-facts.js +70 -0
  687. package/src/lib/app-utils/video-asset-facts.js.map +1 -0
  688. package/src/lib/app-utils/video-object.d.ts +89 -0
  689. package/src/lib/app-utils/video-object.js +245 -0
  690. package/src/lib/app-utils/video-object.js.map +1 -0
  691. package/src/lib/app-utils/visitor-consent.d.ts +757 -0
  692. package/src/lib/app-utils/visitor-consent.js +981 -0
  693. package/src/lib/app-utils/visitor-consent.js.map +1 -0
  694. package/src/lib/app-utils/visitor-record-ceiling.d.ts +223 -0
  695. package/src/lib/app-utils/visitor-record-ceiling.js +215 -0
  696. package/src/lib/app-utils/visitor-record-ceiling.js.map +1 -0
  697. package/src/lib/app-utils/web-vitals-rum.d.ts +53 -0
  698. package/src/lib/app-utils/web-vitals-rum.js +278 -0
  699. package/src/lib/app-utils/web-vitals-rum.js.map +1 -0
  700. package/src/lib/app-utils/webhook-delivery.d.ts +324 -0
  701. package/src/lib/app-utils/webhook-delivery.js +413 -0
  702. package/src/lib/app-utils/webhook-delivery.js.map +1 -0
  703. package/src/lib/app-utils/where-used.d.ts +57 -0
  704. package/src/lib/app-utils/where-used.js +59 -0
  705. package/src/lib/app-utils/where-used.js.map +1 -0
  706. package/src/lib/app-utils/wistia-embed.d.ts +86 -0
  707. package/src/lib/app-utils/wistia-embed.js +119 -0
  708. package/src/lib/app-utils/wistia-embed.js.map +1 -0
  709. package/src/lib/app-utils/workflows.d.ts +136 -0
  710. package/src/lib/app-utils/workflows.js +346 -0
  711. package/src/lib/app-utils/workflows.js.map +1 -0
  712. package/src/lib/canvas-manager/canvas-manager-tree.d.ts +109 -0
  713. package/src/lib/canvas-manager/canvas-manager-tree.js +139 -0
  714. package/src/lib/canvas-manager/canvas-manager-tree.js.map +1 -0
  715. package/src/lib/canvas-manager/canvas-manager.d.ts +549 -0
  716. package/src/lib/canvas-manager/canvas-manager.js +1311 -0
  717. package/src/lib/canvas-manager/canvas-manager.js.map +1 -0
  718. package/src/lib/canvas-manager/index.d.ts +20 -0
  719. package/src/lib/canvas-manager/index.js +21 -0
  720. package/src/lib/canvas-manager/index.js.map +1 -0
  721. package/src/lib/canvas-manager/stores/index.d.ts +17 -0
  722. package/src/lib/canvas-manager/stores/index.js +18 -0
  723. package/src/lib/canvas-manager/stores/index.js.map +1 -0
  724. package/src/lib/canvas-manager/stores/node.store.d.ts +30 -0
  725. package/src/lib/canvas-manager/stores/node.store.js +45 -0
  726. package/src/lib/canvas-manager/stores/node.store.js.map +1 -0
  727. package/src/lib/components-manager/components-manager.d.ts +56 -0
  728. package/src/lib/components-manager/components-manager.js +191 -0
  729. package/src/lib/components-manager/components-manager.js.map +1 -0
  730. package/src/lib/components-manager/index.d.ts +18 -0
  731. package/src/lib/components-manager/index.js +19 -0
  732. package/src/lib/components-manager/index.js.map +1 -0
  733. package/src/lib/emit-manager/emit-manager.d.ts +56 -0
  734. package/src/lib/emit-manager/emit-manager.js +60 -0
  735. package/src/lib/emit-manager/emit-manager.js.map +1 -0
  736. package/src/lib/emit-manager/index.d.ts +18 -0
  737. package/src/lib/emit-manager/index.js +19 -0
  738. package/src/lib/emit-manager/index.js.map +1 -0
  739. package/src/lib/foundation/constants/_internal.d.ts +18 -0
  740. package/src/lib/foundation/constants/_internal.js +62 -0
  741. package/src/lib/foundation/constants/_internal.js.map +1 -0
  742. package/src/lib/foundation/constants/app.d.ts +23 -0
  743. package/src/lib/foundation/constants/app.js +25 -0
  744. package/src/lib/foundation/constants/app.js.map +1 -0
  745. package/src/lib/foundation/constants/canvas.d.ts +18 -0
  746. package/src/lib/foundation/constants/canvas.js +18 -0
  747. package/src/lib/foundation/constants/canvas.js.map +1 -0
  748. package/src/lib/foundation/constants/components.d.ts +54 -0
  749. package/src/lib/foundation/constants/components.js +61 -0
  750. package/src/lib/foundation/constants/components.js.map +1 -0
  751. package/src/lib/foundation/constants/shared.d.ts +50 -0
  752. package/src/lib/foundation/constants/shared.js +49 -0
  753. package/src/lib/foundation/constants/shared.js.map +1 -0
  754. package/src/lib/foundation/constants/symbol.d.ts +63 -0
  755. package/src/lib/foundation/constants/symbol.js +75 -0
  756. package/src/lib/foundation/constants/symbol.js.map +1 -0
  757. package/src/lib/foundation/definitions/components.types.d.ts +372 -0
  758. package/src/lib/foundation/definitions/components.types.js +180 -0
  759. package/src/lib/foundation/definitions/components.types.js.map +1 -0
  760. package/src/lib/foundation/definitions/contact.types.d.ts +73 -0
  761. package/src/lib/foundation/definitions/contact.types.js +107 -0
  762. package/src/lib/foundation/definitions/contact.types.js.map +1 -0
  763. package/src/lib/foundation/definitions/host-content-collections.d.ts +137 -0
  764. package/src/lib/foundation/definitions/host-content-collections.js +219 -0
  765. package/src/lib/foundation/definitions/host-content-collections.js.map +1 -0
  766. package/src/lib/foundation/definitions/org-billing.types.d.ts +1361 -0
  767. package/src/lib/foundation/definitions/org-billing.types.js +77 -0
  768. package/src/lib/foundation/definitions/org-billing.types.js.map +1 -0
  769. package/src/lib/foundation/definitions/organization.types.d.ts +307 -0
  770. package/src/lib/foundation/definitions/organization.types.js +42 -0
  771. package/src/lib/foundation/definitions/organization.types.js.map +1 -0
  772. package/src/lib/foundation/definitions/platform.types.d.ts +1326 -0
  773. package/src/lib/foundation/definitions/platform.types.js +124 -0
  774. package/src/lib/foundation/definitions/platform.types.js.map +1 -0
  775. package/src/lib/foundation/definitions/property-kinds.d.ts +189 -0
  776. package/src/lib/foundation/definitions/property-kinds.js +565 -0
  777. package/src/lib/foundation/definitions/property-kinds.js.map +1 -0
  778. package/src/lib/foundation/definitions/shared.d.ts +23 -0
  779. package/src/lib/foundation/definitions/shared.js +18 -0
  780. package/src/lib/foundation/definitions/shared.js.map +1 -0
  781. package/src/lib/foundation/definitions/write-deny-coverage.util.d.ts +249 -0
  782. package/src/lib/foundation/definitions/write-deny-coverage.util.js +499 -0
  783. package/src/lib/foundation/definitions/write-deny-coverage.util.js.map +1 -0
  784. package/src/lib/foundation/index.d.ts +32 -0
  785. package/src/lib/foundation/index.js +67 -0
  786. package/src/lib/foundation/index.js.map +1 -0
  787. package/src/lib/lifecycle.d.ts +24 -0
  788. package/src/lib/lifecycle.js +39 -0
  789. package/src/lib/lifecycle.js.map +1 -0
  790. package/src/lib/mst/common.d.ts +17 -0
  791. package/src/lib/mst/common.js +23 -0
  792. package/src/lib/mst/common.js.map +1 -0
  793. package/src/lib/mst/index.d.ts +19 -0
  794. package/src/lib/mst/index.js +20 -0
  795. package/src/lib/mst/index.js.map +1 -0
  796. package/src/lib/mst/json.d.ts +22 -0
  797. package/src/lib/mst/json.js +23 -0
  798. package/src/lib/mst/json.js.map +1 -0
  799. package/src/lib/mst/types.d.ts +20 -0
  800. package/src/lib/mst/types.js +18 -0
  801. package/src/lib/mst/types.js.map +1 -0
  802. package/src/lib/plugin-manager/billing-webhook-hooks.d.ts +77 -0
  803. package/src/lib/plugin-manager/billing-webhook-hooks.js +55 -0
  804. package/src/lib/plugin-manager/billing-webhook-hooks.js.map +1 -0
  805. package/src/lib/plugin-manager/commerce-zone-props.d.ts +172 -0
  806. package/src/lib/plugin-manager/commerce-zone-props.js +31 -0
  807. package/src/lib/plugin-manager/commerce-zone-props.js.map +1 -0
  808. package/src/lib/plugin-manager/custom-fields.d.ts +60 -0
  809. package/src/lib/plugin-manager/custom-fields.js +39 -0
  810. package/src/lib/plugin-manager/custom-fields.js.map +1 -0
  811. package/src/lib/plugin-manager/editor-sessions.d.ts +109 -0
  812. package/src/lib/plugin-manager/editor-sessions.js +137 -0
  813. package/src/lib/plugin-manager/editor-sessions.js.map +1 -0
  814. package/src/lib/plugin-manager/enabled-plugins.d.ts +438 -0
  815. package/src/lib/plugin-manager/enabled-plugins.js +403 -0
  816. package/src/lib/plugin-manager/enabled-plugins.js.map +1 -0
  817. package/src/lib/plugin-manager/feature-plugins.d.ts +1314 -0
  818. package/src/lib/plugin-manager/feature-plugins.js +609 -0
  819. package/src/lib/plugin-manager/feature-plugins.js.map +1 -0
  820. package/src/lib/plugin-manager/first-party-plugins.generated.d.ts +11 -0
  821. package/src/lib/plugin-manager/first-party-plugins.generated.js +149 -0
  822. package/src/lib/plugin-manager/first-party-plugins.generated.js.map +1 -0
  823. package/src/lib/plugin-manager/index.d.ts +42 -0
  824. package/src/lib/plugin-manager/index.js +46 -0
  825. package/src/lib/plugin-manager/index.js.map +1 -0
  826. package/src/lib/plugin-manager/install-presets.d.ts +93 -0
  827. package/src/lib/plugin-manager/install-presets.js +86 -0
  828. package/src/lib/plugin-manager/install-presets.js.map +1 -0
  829. package/src/lib/plugin-manager/media-delivery-provider.d.ts +124 -0
  830. package/src/lib/plugin-manager/media-delivery-provider.js +53 -0
  831. package/src/lib/plugin-manager/media-delivery-provider.js.map +1 -0
  832. package/src/lib/plugin-manager/order-fulfilment.d.ts +142 -0
  833. package/src/lib/plugin-manager/order-fulfilment.js +104 -0
  834. package/src/lib/plugin-manager/order-fulfilment.js.map +1 -0
  835. package/src/lib/plugin-manager/plugin-activity-actions.d.ts +122 -0
  836. package/src/lib/plugin-manager/plugin-activity-actions.js +140 -0
  837. package/src/lib/plugin-manager/plugin-activity-actions.js.map +1 -0
  838. package/src/lib/plugin-manager/plugin-bridge.d.ts +98 -0
  839. package/src/lib/plugin-manager/plugin-bridge.js +154 -0
  840. package/src/lib/plugin-manager/plugin-bridge.js.map +1 -0
  841. package/src/lib/plugin-manager/plugin-config.d.ts +148 -0
  842. package/src/lib/plugin-manager/plugin-config.js +228 -0
  843. package/src/lib/plugin-manager/plugin-config.js.map +1 -0
  844. package/src/lib/plugin-manager/plugin-console-crons.d.ts +139 -0
  845. package/src/lib/plugin-manager/plugin-console-crons.js +177 -0
  846. package/src/lib/plugin-manager/plugin-console-crons.js.map +1 -0
  847. package/src/lib/plugin-manager/plugin-contact-capture.d.ts +220 -0
  848. package/src/lib/plugin-manager/plugin-contact-capture.js +89 -0
  849. package/src/lib/plugin-manager/plugin-contact-capture.js.map +1 -0
  850. package/src/lib/plugin-manager/plugin-contributions.d.ts +244 -0
  851. package/src/lib/plugin-manager/plugin-contributions.js +283 -0
  852. package/src/lib/plugin-manager/plugin-contributions.js.map +1 -0
  853. package/src/lib/plugin-manager/plugin-entitlement-keys.d.ts +169 -0
  854. package/src/lib/plugin-manager/plugin-entitlement-keys.js +84 -0
  855. package/src/lib/plugin-manager/plugin-entitlement-keys.js.map +1 -0
  856. package/src/lib/plugin-manager/plugin-entitlements.d.ts +181 -0
  857. package/src/lib/plugin-manager/plugin-entitlements.js +188 -0
  858. package/src/lib/plugin-manager/plugin-entitlements.js.map +1 -0
  859. package/src/lib/plugin-manager/plugin-events.d.ts +145 -0
  860. package/src/lib/plugin-manager/plugin-events.js +79 -0
  861. package/src/lib/plugin-manager/plugin-events.js.map +1 -0
  862. package/src/lib/plugin-manager/plugin-figures.d.ts +251 -0
  863. package/src/lib/plugin-manager/plugin-figures.js +252 -0
  864. package/src/lib/plugin-manager/plugin-figures.js.map +1 -0
  865. package/src/lib/plugin-manager/plugin-host-collections.d.ts +146 -0
  866. package/src/lib/plugin-manager/plugin-host-collections.js +116 -0
  867. package/src/lib/plugin-manager/plugin-host-collections.js.map +1 -0
  868. package/src/lib/plugin-manager/plugin-jobs.d.ts +130 -0
  869. package/src/lib/plugin-manager/plugin-jobs.js +182 -0
  870. package/src/lib/plugin-manager/plugin-jobs.js.map +1 -0
  871. package/src/lib/plugin-manager/plugin-loader.d.ts +86 -0
  872. package/src/lib/plugin-manager/plugin-loader.js +223 -0
  873. package/src/lib/plugin-manager/plugin-loader.js.map +1 -0
  874. package/src/lib/plugin-manager/plugin-manager.d.ts +95 -0
  875. package/src/lib/plugin-manager/plugin-manager.js +343 -0
  876. package/src/lib/plugin-manager/plugin-manager.js.map +1 -0
  877. package/src/lib/plugin-manager/plugin-metered-lines.d.ts +97 -0
  878. package/src/lib/plugin-manager/plugin-metered-lines.js +123 -0
  879. package/src/lib/plugin-manager/plugin-metered-lines.js.map +1 -0
  880. package/src/lib/plugin-manager/plugin-org-erasure.d.ts +52 -0
  881. package/src/lib/plugin-manager/plugin-org-erasure.js +100 -0
  882. package/src/lib/plugin-manager/plugin-org-erasure.js.map +1 -0
  883. package/src/lib/plugin-manager/plugin-permissions.d.ts +69 -0
  884. package/src/lib/plugin-manager/plugin-permissions.js +77 -0
  885. package/src/lib/plugin-manager/plugin-permissions.js.map +1 -0
  886. package/src/lib/plugin-manager/plugin-person-erasure.d.ts +58 -0
  887. package/src/lib/plugin-manager/plugin-person-erasure.js +109 -0
  888. package/src/lib/plugin-manager/plugin-person-erasure.js.map +1 -0
  889. package/src/lib/plugin-manager/plugin-record-cards.d.ts +99 -0
  890. package/src/lib/plugin-manager/plugin-record-cards.js +59 -0
  891. package/src/lib/plugin-manager/plugin-record-cards.js.map +1 -0
  892. package/src/lib/plugin-manager/plugin-record-facts.d.ts +111 -0
  893. package/src/lib/plugin-manager/plugin-record-facts.js +51 -0
  894. package/src/lib/plugin-manager/plugin-record-facts.js.map +1 -0
  895. package/src/lib/plugin-manager/plugin-record-routes.d.ts +129 -0
  896. package/src/lib/plugin-manager/plugin-record-routes.js +93 -0
  897. package/src/lib/plugin-manager/plugin-record-routes.js.map +1 -0
  898. package/src/lib/plugin-manager/plugin-record-timeline.d.ts +147 -0
  899. package/src/lib/plugin-manager/plugin-record-timeline.js +39 -0
  900. package/src/lib/plugin-manager/plugin-record-timeline.js.map +1 -0
  901. package/src/lib/plugin-manager/plugin-resource-drafts.d.ts +137 -0
  902. package/src/lib/plugin-manager/plugin-resource-drafts.js +51 -0
  903. package/src/lib/plugin-manager/plugin-resource-drafts.js.map +1 -0
  904. package/src/lib/plugin-manager/plugin-services.d.ts +94 -0
  905. package/src/lib/plugin-manager/plugin-services.js +153 -0
  906. package/src/lib/plugin-manager/plugin-services.js.map +1 -0
  907. package/src/lib/plugin-manager/plugin-styles-ui.d.ts +71 -0
  908. package/src/lib/plugin-manager/plugin-styles-ui.js +80 -0
  909. package/src/lib/plugin-manager/plugin-styles-ui.js.map +1 -0
  910. package/src/lib/plugin-manager/plugin-styles.d.ts +176 -0
  911. package/src/lib/plugin-manager/plugin-styles.js +186 -0
  912. package/src/lib/plugin-manager/plugin-styles.js.map +1 -0
  913. package/src/lib/plugin-manager/plugin-subprocessors.d.ts +135 -0
  914. package/src/lib/plugin-manager/plugin-subprocessors.js +129 -0
  915. package/src/lib/plugin-manager/plugin-subprocessors.js.map +1 -0
  916. package/src/lib/plugin-manager/plugin-tax-profile.d.ts +84 -0
  917. package/src/lib/plugin-manager/plugin-tax-profile.js +39 -0
  918. package/src/lib/plugin-manager/plugin-tax-profile.js.map +1 -0
  919. package/src/lib/plugin-manager/plugin-user-erasure.d.ts +53 -0
  920. package/src/lib/plugin-manager/plugin-user-erasure.js +84 -0
  921. package/src/lib/plugin-manager/plugin-user-erasure.js.map +1 -0
  922. package/src/lib/plugin-manager/plugin-zones.d.ts +121 -0
  923. package/src/lib/plugin-manager/plugin-zones.js +74 -0
  924. package/src/lib/plugin-manager/plugin-zones.js.map +1 -0
  925. package/src/lib/plugin-manager/realm-plugins.d.ts +112 -0
  926. package/src/lib/plugin-manager/realm-plugins.js +196 -0
  927. package/src/lib/plugin-manager/realm-plugins.js.map +1 -0
  928. package/src/lib/plugin-manager/realm-server.d.ts +54 -0
  929. package/src/lib/plugin-manager/realm-server.js +88 -0
  930. package/src/lib/plugin-manager/realm-server.js.map +1 -0
  931. package/src/lib/plugin-manager/record-zone-props.d.ts +126 -0
  932. package/src/lib/plugin-manager/record-zone-props.js +31 -0
  933. package/src/lib/plugin-manager/record-zone-props.js.map +1 -0
  934. package/src/lib/plugin-manager/site-page-hooks.d.ts +102 -0
  935. package/src/lib/plugin-manager/site-page-hooks.js +114 -0
  936. package/src/lib/plugin-manager/site-page-hooks.js.map +1 -0
  937. package/src/lib/plugin-manager/site-runtime.d.ts +57 -0
  938. package/src/lib/plugin-manager/site-runtime.js +25 -0
  939. package/src/lib/plugin-manager/site-runtime.js.map +1 -0
  940. package/src/lib/plugin-manager/usage-alert-contributors.d.ts +115 -0
  941. package/src/lib/plugin-manager/usage-alert-contributors.js +106 -0
  942. package/src/lib/plugin-manager/usage-alert-contributors.js.map +1 -0
  943. package/src/lib/types/ast.d.ts +199 -0
  944. package/src/lib/types/ast.js +20 -0
  945. package/src/lib/types/ast.js.map +1 -0
  946. package/src/lib/types/index.d.ts +20 -0
  947. package/src/lib/types/index.js +21 -0
  948. package/src/lib/types/index.js.map +1 -0
  949. package/src/lib/types/nodes.d.ts +608 -0
  950. package/src/lib/types/nodes.js +28 -0
  951. package/src/lib/types/nodes.js.map +1 -0
  952. package/src/lib/types/routing.d.ts +17 -0
  953. package/src/lib/types/routing.js +18 -0
  954. package/src/lib/types/routing.js.map +1 -0
  955. package/src/lib/types/screen.d.ts +23 -0
  956. package/src/lib/types/screen.js +18 -0
  957. package/src/lib/types/screen.js.map +1 -0
  958. package/src/lib/utils.d.ts +25 -0
  959. package/src/lib/utils.js +42 -0
  960. package/src/lib/utils.js.map +1 -0
  961. package/src/server.d.ts +37 -0
  962. package/src/server.js +55 -0
  963. package/src/server.js.map +1 -0
@@ -0,0 +1,261 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */ import { _ as _extends } from "@swc/helpers/_/_extends";
17
+ import { NODE_ROOT_ID } from "../canvas-manager/canvas-manager.js";
18
+ import { COMPONENT_NODE_ID_PREFIX } from "./reusable-component-keys.js";
19
+ import { mergeNodeSx } from "./merge-node-sx.js";
20
+ /** Persisted component id of the layout content outlet (plugins-mui). */ export const LAYOUT_SLOT_COMPONENT_ID = 'layoutSlot';
21
+ /**
22
+ * Prefix applied to layout node ids during composition so they can never
23
+ * collide with screen node ids (layout ids repeat across every bound
24
+ * screen).
25
+ */ export const LAYOUT_NODE_ID_PREFIX = 'layout__';
26
+ /**
27
+ * How many layouts deep a chain may nest (AGL-703).
28
+ *
29
+ * A layout can render inside another layout, so the chain is walked rather
30
+ * than read once. This bounds it: a cycle is already refused at both write
31
+ * time and resolution time, and this is the belt to that pair of braces —
32
+ * a hand-edited document must not be able to hang a render.
33
+ */ export const MAX_LAYOUT_CHAIN_DEPTH = 5;
34
+ /**
35
+ * Namespace for one level of the layout chain (AGL-703).
36
+ *
37
+ * Depth 1 — the layout a screen names directly — keeps the original
38
+ * `layout__` exactly. Every interaction authored before nesting existed
39
+ * stores raw canvas ids that {@link normalizeLeafId} matches against this
40
+ * prefix, so changing it would silently break them. Outer levels take
41
+ * `layout2__`, `layout3__`, … which is what keeps a grandparent layout's
42
+ * node ids from colliding with its child's: without a per-level namespace,
43
+ * two layouts in one chain sharing a node id would collapse into one node.
44
+ */ export function layoutNodeIdPrefix(depth = 1) {
45
+ return depth <= 1 ? LAYOUT_NODE_ID_PREFIX : `layout${depth}__`;
46
+ }
47
+ /** Every namespace a composed tree can carry, outermost depth first. */ export const LAYOUT_NODE_ID_PREFIXES = Array.from({
48
+ length: MAX_LAYOUT_CHAIN_DEPTH
49
+ }, (_unused, index)=>layoutNodeIdPrefix(index + 1));
50
+ /**
51
+ * Whether a composed node id came from the LAYOUT chain rather than from the
52
+ * screen (AGL-1871).
53
+ *
54
+ * Composition namespaces ids by origin and nothing else does: a layout node
55
+ * is `layout__{id}` (`layout2__` … `layout5__` further up the chain, see
56
+ * {@link layoutNodeIdPrefix}) while a screen node keeps its raw canvas id. A
57
+ * reusable component grafted onto either one wears its host's id inside its
58
+ * own namespace — the marketing nav really ships as
59
+ * `cmp__layout__52Ef-3t6yd___R91yATrXH` — so the graft prefixes are peeled
60
+ * before the origin is read, and a graft nested in a graft peels the same way.
61
+ *
62
+ * A raw canvas id cannot collide with this: nanoid emits a single token with
63
+ * no `__` boundary in it, so `layout__` can only be a prefix that composition
64
+ * put there.
65
+ */ export function isLayoutComposedNodeId(id) {
66
+ let value = String(id != null ? id : '');
67
+ while(value.startsWith(COMPONENT_NODE_ID_PREFIX)){
68
+ value = value.slice(COMPONENT_NODE_ID_PREFIX.length);
69
+ }
70
+ return LAYOUT_NODE_ID_PREFIXES.some((prefix)=>value.startsWith(prefix));
71
+ }
72
+ /**
73
+ * Whether a composed tree contains anything the SCREEN put there (AGL-1871).
74
+ *
75
+ * `composeLayoutAndScreenNodes` always answers with a populated map when the
76
+ * host has a layout, because the layout chrome is in it whether or not the
77
+ * screen contributed a single node. So "compose returned nodes" is not the
78
+ * same question as "this screen has a page on it", and code that treats the
79
+ * two as one renders a header and a footer around nothing.
80
+ *
81
+ * That is not hypothetical. Measured on `aglyn.com` 2026-08-23, the published
82
+ * *"Not found (404)"* screen composed to **297 nodes, every one of them layout
83
+ * chrome**, with the `layoutSlot` holding an empty child list — the screen was
84
+ * routed, published and completely empty. The 404 boundary read the 297 as
85
+ * "the site has a designed 404", declined its own fallback, and every unmatched
86
+ * URL on the site served branding wrapped around a blank page.
87
+ *
88
+ * The root node is not evidence — composition synthesizes one for an empty
89
+ * screen — so it is excluded.
90
+ */ export function hasScreenAuthoredNodes(nodes) {
91
+ if (!nodes) return false;
92
+ for (const id of Object.keys(nodes)){
93
+ if (id === NODE_ROOT_ID) continue;
94
+ if (!isLayoutComposedNodeId(id)) return true;
95
+ }
96
+ return false;
97
+ }
98
+ function prefixLayoutId(id, prefix) {
99
+ return id === NODE_ROOT_ID ? id : `${prefix}${id}`;
100
+ }
101
+ function prefixChildIds(nodes, prefix) {
102
+ if (!Array.isArray(nodes)) return nodes;
103
+ return nodes.map((id)=>typeof id === 'string' ? prefixLayoutId(id, prefix) : id);
104
+ }
105
+ /**
106
+ * Grafts a screen's nodes into its layout's LayoutSlot, producing one
107
+ * normalized node map rooted at the layout root.
108
+ *
109
+ * - Layout node ids are namespaced with {@link LAYOUT_NODE_ID_PREFIX} (the
110
+ * root id excepted) to avoid collisions with screen ids.
111
+ * - The screen root's children are appended to the slot's own children and
112
+ * repointed at the slot. Slot children shouldn't normally exist, but
113
+ * designers do land chrome inside the slot — rendering it above the
114
+ * screen content preserves their intent instead of silently dropping it.
115
+ * - Inputs are never mutated. Without layout nodes — or when the layout has
116
+ * no slot — the screen nodes are returned unchanged so a stale or broken
117
+ * layout can't take a published screen down.
118
+ */ export function composeLayoutAndScreenNodes(layoutNodes, screenNodes, /** Position in the layout chain; 1 = the layout the screen names. */ depth = 1) {
119
+ var _composed_slotId, _composed_slotId1;
120
+ if (!layoutNodes || !layoutNodes[NODE_ROOT_ID]) return screenNodes;
121
+ const slotEntry = Object.entries(layoutNodes).find(([, node])=>(node == null ? void 0 : node.componentId) === LAYOUT_SLOT_COMPONENT_ID);
122
+ if (!slotEntry) return screenNodes;
123
+ const prefix = layoutNodeIdPrefix(depth);
124
+ const composed = {};
125
+ for (const [id, node] of Object.entries(layoutNodes)){
126
+ var _node_$id;
127
+ const nextId = prefixLayoutId(id, prefix);
128
+ composed[nextId] = _extends({}, node, {
129
+ // Early seeds stored roots without $id or componentId, letting the
130
+ // canvas assign fallbacks — trust the map key so root identity stays
131
+ // canonical, and pin the root to a plain container so production
132
+ // renderers (which have no canvas defaults) can resolve it.
133
+ $id: id === NODE_ROOT_ID ? NODE_ROOT_ID : prefixLayoutId((_node_$id = node.$id) != null ? _node_$id : id, prefix)
134
+ }, id === NODE_ROOT_ID && !node.componentId && {
135
+ componentId: 'div'
136
+ }, node.parentId != null && {
137
+ parentId: prefixLayoutId(node.parentId, prefix)
138
+ }, node.nodes != null && {
139
+ nodes: prefixChildIds(node.nodes, prefix)
140
+ });
141
+ }
142
+ const slotId = prefixLayoutId(slotEntry[0], prefix);
143
+ const screenRoot = screenNodes[NODE_ROOT_ID];
144
+ const screenRootChildIds = Array.isArray(screenRoot == null ? void 0 : screenRoot.nodes) ? [
145
+ ...screenRoot.nodes
146
+ ] : [];
147
+ const slotChildIds = Array.isArray((_composed_slotId = composed[slotId]) == null ? void 0 : _composed_slotId.nodes) ? composed[slotId].nodes : [];
148
+ // The screen root is DROPPED — its children reparent to the slot — so
149
+ // whatever was styled on it has to land somewhere or it is simply lost.
150
+ // It was: a background painted on the `Document` layer showed in the
151
+ // besigner (which renders the screen alone, root included) and never on the
152
+ // published page, where the layout root is the only root and the screen's
153
+ // was gone. The slot is where those children now live, so it is where the
154
+ // screen root's own styling belongs — the same node, one composition later.
155
+ //
156
+ // Slot first, screen root after: a screen may override the layout's own
157
+ // styling of the region it fills, which is the direction of intent
158
+ // everywhere else composition merges (a component instance over its
159
+ // definition, AGL-1306).
160
+ const mergedSlotSx = mergeNodeSx((_composed_slotId1 = composed[slotId]) == null ? void 0 : _composed_slotId1.sx, screenRoot == null ? void 0 : screenRoot.sx);
161
+ // `className` is on the canvas node, not on the structural type this
162
+ // function is generic over, so it is read through a narrow cast rather than
163
+ // by widening the signature.
164
+ const classNameOf = (node)=>node == null ? void 0 : node.className;
165
+ const mergedSlotClassName = [
166
+ classNameOf(composed[slotId]),
167
+ classNameOf(screenRoot)
168
+ ].filter(Boolean).join(' ') || undefined;
169
+ composed[slotId] = _extends({}, composed[slotId], {
170
+ nodes: [
171
+ ...slotChildIds,
172
+ ...screenRootChildIds
173
+ ]
174
+ }, mergedSlotSx == null ? {} : {
175
+ sx: mergedSlotSx
176
+ }, mergedSlotClassName ? {
177
+ className: mergedSlotClassName
178
+ } : {});
179
+ for (const [id, node] of Object.entries(screenNodes)){
180
+ if (id === NODE_ROOT_ID) continue;
181
+ const isTopLevel = (node == null ? void 0 : node.parentId) === NODE_ROOT_ID;
182
+ composed[id] = isTopLevel ? _extends({}, node, {
183
+ parentId: slotId
184
+ }) : node;
185
+ }
186
+ // Top-level screen nodes may rely on child arrays alone (no parentId).
187
+ for (const childId of screenRootChildIds){
188
+ const node = composed[childId];
189
+ if (node && node.parentId !== slotId) {
190
+ composed[childId] = _extends({}, node, {
191
+ parentId: slotId
192
+ });
193
+ }
194
+ }
195
+ return composed;
196
+ }
197
+ /**
198
+ * Grafts a screen through a CHAIN of layouts, innermost first (AGL-703).
199
+ *
200
+ * `layoutNodesChain[0]` is the layout the screen names, `[1]` is that
201
+ * layout's own layout, and so on outward. Each step drops the previous
202
+ * result into the next layout's slot, so the outermost layout ends up as
203
+ * the root — the same relationship a screen has always had with its layout,
204
+ * applied one more time.
205
+ *
206
+ * A layout with no slot is skipped rather than fatal, and skipping it does
207
+ * not strand the layouts outside it: the accumulated tree simply passes
208
+ * through. That matches the single-layout behaviour, where a broken layout
209
+ * degrades to the bare screen instead of taking a published page down.
210
+ *
211
+ * Cycles are refused before this point (see `resolveLayoutChainIds`), and
212
+ * the chain is capped at {@link MAX_LAYOUT_CHAIN_DEPTH} regardless.
213
+ */ export function composeLayoutChainAndScreenNodes(layoutNodesChain, screenNodes) {
214
+ let composed = screenNodes;
215
+ const chain = layoutNodesChain.slice(0, MAX_LAYOUT_CHAIN_DEPTH);
216
+ for (const [index, layoutNodes] of chain.entries()){
217
+ composed = composeLayoutAndScreenNodes(layoutNodes, composed, index + 1);
218
+ }
219
+ return composed;
220
+ }
221
+ /**
222
+ * Walks a layout's ancestry into a flat chain, innermost first (AGL-703).
223
+ *
224
+ * `parentOf` returns the layout a given layout renders inside, or undefined
225
+ * at the top. The walk stops on:
226
+ *
227
+ * - **self-reference** — a layout naming itself, which is the case worth
228
+ * naming out loud because it is the easy mistake to make;
229
+ * - **any repeat** — A → B → A would otherwise recurse forever, and a
230
+ * guard that only catches self-reference would miss it;
231
+ * - **depth** — {@link MAX_LAYOUT_CHAIN_DEPTH}.
232
+ *
233
+ * Stopping (rather than throwing) is deliberate: a cycle in stored data
234
+ * should render the layouts up to the repeat, not blank the site.
235
+ */ export function resolveLayoutChainIds(layoutId, parentOf) {
236
+ const chain = [];
237
+ const seen = new Set();
238
+ let current = layoutId ? String(layoutId) : undefined;
239
+ while(current && !seen.has(current) && chain.length < MAX_LAYOUT_CHAIN_DEPTH){
240
+ chain.push(current);
241
+ seen.add(current);
242
+ const parent = parentOf(current);
243
+ current = parent ? String(parent) : undefined;
244
+ }
245
+ return chain;
246
+ }
247
+ /**
248
+ * Whether `candidateParentId` may be set as `layoutId`'s parent layout.
249
+ *
250
+ * Refuses self-reference and any candidate that already has this layout
251
+ * somewhere above it — picking one would close a loop. This is the
252
+ * write-time half; `resolveLayoutChainIds` stays defensive anyway, because
253
+ * a document can be edited by something that never called this.
254
+ */ export function canNestLayout(layoutId, candidateParentId, parentOf) {
255
+ if (!layoutId || !candidateParentId) return false;
256
+ if (layoutId === candidateParentId) return false;
257
+ return !resolveLayoutChainIds(candidateParentId, parentOf).includes(layoutId);
258
+ }
259
+ export default composeLayoutAndScreenNodes;
260
+
261
+ //# sourceMappingURL=compose-layout-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/compose-layout-nodes.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { AglynNodeSchema, NodeId } from '../foundation'\nimport { NODE_ROOT_ID } from '../canvas-manager/canvas-manager'\nimport { COMPONENT_NODE_ID_PREFIX } from './reusable-component-keys'\nimport { mergeNodeSx } from './merge-node-sx'\n\n/** Persisted component id of the layout content outlet (plugins-mui). */\nexport const LAYOUT_SLOT_COMPONENT_ID = 'layoutSlot'\n\n/**\n * Prefix applied to layout node ids during composition so they can never\n * collide with screen node ids (layout ids repeat across every bound\n * screen).\n */\nexport const LAYOUT_NODE_ID_PREFIX = 'layout__'\n\n/**\n * How many layouts deep a chain may nest (AGL-703).\n *\n * A layout can render inside another layout, so the chain is walked rather\n * than read once. This bounds it: a cycle is already refused at both write\n * time and resolution time, and this is the belt to that pair of braces —\n * a hand-edited document must not be able to hang a render.\n */\nexport const MAX_LAYOUT_CHAIN_DEPTH = 5\n\n/**\n * Namespace for one level of the layout chain (AGL-703).\n *\n * Depth 1 — the layout a screen names directly — keeps the original\n * `layout__` exactly. Every interaction authored before nesting existed\n * stores raw canvas ids that {@link normalizeLeafId} matches against this\n * prefix, so changing it would silently break them. Outer levels take\n * `layout2__`, `layout3__`, … which is what keeps a grandparent layout's\n * node ids from colliding with its child's: without a per-level namespace,\n * two layouts in one chain sharing a node id would collapse into one node.\n */\nexport function layoutNodeIdPrefix(depth = 1): string {\n return depth <= 1 ? LAYOUT_NODE_ID_PREFIX : `layout${depth}__`\n}\n\n/** Every namespace a composed tree can carry, outermost depth first. */\nexport const LAYOUT_NODE_ID_PREFIXES = Array.from(\n { length: MAX_LAYOUT_CHAIN_DEPTH },\n (_unused, index) => layoutNodeIdPrefix(index + 1),\n)\n\n/**\n * Whether a composed node id came from the LAYOUT chain rather than from the\n * screen (AGL-1871).\n *\n * Composition namespaces ids by origin and nothing else does: a layout node\n * is `layout__{id}` (`layout2__` … `layout5__` further up the chain, see\n * {@link layoutNodeIdPrefix}) while a screen node keeps its raw canvas id. A\n * reusable component grafted onto either one wears its host's id inside its\n * own namespace — the marketing nav really ships as\n * `cmp__layout__52Ef-3t6yd___R91yATrXH` — so the graft prefixes are peeled\n * before the origin is read, and a graft nested in a graft peels the same way.\n *\n * A raw canvas id cannot collide with this: nanoid emits a single token with\n * no `__` boundary in it, so `layout__` can only be a prefix that composition\n * put there.\n */\nexport function isLayoutComposedNodeId(id: string | undefined | null): boolean {\n let value = String(id ?? '')\n while (value.startsWith(COMPONENT_NODE_ID_PREFIX)) {\n value = value.slice(COMPONENT_NODE_ID_PREFIX.length)\n }\n return LAYOUT_NODE_ID_PREFIXES.some((prefix) => value.startsWith(prefix))\n}\n\n/**\n * Whether a composed tree contains anything the SCREEN put there (AGL-1871).\n *\n * `composeLayoutAndScreenNodes` always answers with a populated map when the\n * host has a layout, because the layout chrome is in it whether or not the\n * screen contributed a single node. So \"compose returned nodes\" is not the\n * same question as \"this screen has a page on it\", and code that treats the\n * two as one renders a header and a footer around nothing.\n *\n * That is not hypothetical. Measured on `aglyn.com` 2026-08-23, the published\n * *\"Not found (404)\"* screen composed to **297 nodes, every one of them layout\n * chrome**, with the `layoutSlot` holding an empty child list — the screen was\n * routed, published and completely empty. The 404 boundary read the 297 as\n * \"the site has a designed 404\", declined its own fallback, and every unmatched\n * URL on the site served branding wrapped around a blank page.\n *\n * The root node is not evidence — composition synthesizes one for an empty\n * screen — so it is excluded.\n */\nexport function hasScreenAuthoredNodes(\n nodes: Record<string, unknown> | null | undefined,\n): boolean {\n if (!nodes) return false\n for (const id of Object.keys(nodes)) {\n if (id === NODE_ROOT_ID) continue\n if (!isLayoutComposedNodeId(id)) return true\n }\n return false\n}\n\ntype NormalizedNodes<N extends AglynNodeSchema> = Record<NodeId, N>\n\nfunction prefixLayoutId(id: NodeId, prefix: string): NodeId {\n return id === NODE_ROOT_ID ? id : `${prefix}${id}`\n}\n\nfunction prefixChildIds(nodes: AglynNodeSchema['nodes'], prefix: string) {\n if (!Array.isArray(nodes)) return nodes\n return (nodes as NodeId[]).map((id) =>\n typeof id === 'string' ? prefixLayoutId(id, prefix) : id,\n )\n}\n\n/**\n * Grafts a screen's nodes into its layout's LayoutSlot, producing one\n * normalized node map rooted at the layout root.\n *\n * - Layout node ids are namespaced with {@link LAYOUT_NODE_ID_PREFIX} (the\n * root id excepted) to avoid collisions with screen ids.\n * - The screen root's children are appended to the slot's own children and\n * repointed at the slot. Slot children shouldn't normally exist, but\n * designers do land chrome inside the slot — rendering it above the\n * screen content preserves their intent instead of silently dropping it.\n * - Inputs are never mutated. Without layout nodes — or when the layout has\n * no slot — the screen nodes are returned unchanged so a stale or broken\n * layout can't take a published screen down.\n */\nexport function composeLayoutAndScreenNodes<\n N extends AglynNodeSchema = AglynNodeSchema,\n>(\n layoutNodes: NormalizedNodes<N> | undefined,\n screenNodes: NormalizedNodes<N>,\n /** Position in the layout chain; 1 = the layout the screen names. */\n depth = 1,\n): NormalizedNodes<N> {\n if (!layoutNodes || !layoutNodes[NODE_ROOT_ID]) return screenNodes\n\n const slotEntry = Object.entries(layoutNodes).find(\n ([, node]) => node?.componentId === LAYOUT_SLOT_COMPONENT_ID,\n )\n if (!slotEntry) return screenNodes\n\n const prefix = layoutNodeIdPrefix(depth)\n const composed: NormalizedNodes<N> = {}\n\n for (const [id, node] of Object.entries(layoutNodes)) {\n const nextId = prefixLayoutId(id, prefix)\n composed[nextId] = {\n ...node,\n // Early seeds stored roots without $id or componentId, letting the\n // canvas assign fallbacks — trust the map key so root identity stays\n // canonical, and pin the root to a plain container so production\n // renderers (which have no canvas defaults) can resolve it.\n $id:\n id === NODE_ROOT_ID\n ? NODE_ROOT_ID\n : prefixLayoutId(node.$id ?? id, prefix),\n ...(id === NODE_ROOT_ID &&\n !node.componentId && { componentId: 'div' as N['componentId'] }),\n ...(node.parentId != null && {\n parentId: prefixLayoutId(node.parentId, prefix),\n }),\n ...(node.nodes != null && { nodes: prefixChildIds(node.nodes, prefix) }),\n }\n }\n\n const slotId = prefixLayoutId(slotEntry[0], prefix)\n const screenRoot = screenNodes[NODE_ROOT_ID]\n const screenRootChildIds = Array.isArray(screenRoot?.nodes)\n ? ([...screenRoot.nodes] as NodeId[])\n : []\n const slotChildIds = Array.isArray(composed[slotId]?.nodes)\n ? (composed[slotId].nodes as NodeId[])\n : []\n\n // The screen root is DROPPED — its children reparent to the slot — so\n // whatever was styled on it has to land somewhere or it is simply lost.\n // It was: a background painted on the `Document` layer showed in the\n // besigner (which renders the screen alone, root included) and never on the\n // published page, where the layout root is the only root and the screen's\n // was gone. The slot is where those children now live, so it is where the\n // screen root's own styling belongs — the same node, one composition later.\n //\n // Slot first, screen root after: a screen may override the layout's own\n // styling of the region it fills, which is the direction of intent\n // everywhere else composition merges (a component instance over its\n // definition, AGL-1306).\n const mergedSlotSx = mergeNodeSx(composed[slotId]?.sx, screenRoot?.sx)\n // `className` is on the canvas node, not on the structural type this\n // function is generic over, so it is read through a narrow cast rather than\n // by widening the signature.\n const classNameOf = (node: N | undefined): string | undefined =>\n (node as { className?: string } | undefined)?.className\n const mergedSlotClassName =\n [classNameOf(composed[slotId]), classNameOf(screenRoot)]\n .filter(Boolean)\n .join(' ') || undefined\n composed[slotId] = {\n ...composed[slotId],\n nodes: [...slotChildIds, ...screenRootChildIds],\n ...(mergedSlotSx == null ? {} : { sx: mergedSlotSx as N['sx'] }),\n ...(mergedSlotClassName ? { className: mergedSlotClassName } : {}),\n }\n\n for (const [id, node] of Object.entries(screenNodes)) {\n if (id === NODE_ROOT_ID) continue\n const isTopLevel = node?.parentId === NODE_ROOT_ID\n composed[id] = isTopLevel ? { ...node, parentId: slotId } : node\n }\n // Top-level screen nodes may rely on child arrays alone (no parentId).\n for (const childId of screenRootChildIds) {\n const node = composed[childId]\n if (node && node.parentId !== slotId) {\n composed[childId] = { ...node, parentId: slotId }\n }\n }\n\n return composed\n}\n\n/**\n * Grafts a screen through a CHAIN of layouts, innermost first (AGL-703).\n *\n * `layoutNodesChain[0]` is the layout the screen names, `[1]` is that\n * layout's own layout, and so on outward. Each step drops the previous\n * result into the next layout's slot, so the outermost layout ends up as\n * the root — the same relationship a screen has always had with its layout,\n * applied one more time.\n *\n * A layout with no slot is skipped rather than fatal, and skipping it does\n * not strand the layouts outside it: the accumulated tree simply passes\n * through. That matches the single-layout behaviour, where a broken layout\n * degrades to the bare screen instead of taking a published page down.\n *\n * Cycles are refused before this point (see `resolveLayoutChainIds`), and\n * the chain is capped at {@link MAX_LAYOUT_CHAIN_DEPTH} regardless.\n */\nexport function composeLayoutChainAndScreenNodes<\n N extends AglynNodeSchema = AglynNodeSchema,\n>(\n layoutNodesChain: Array<NormalizedNodes<N> | undefined>,\n screenNodes: NormalizedNodes<N>,\n): NormalizedNodes<N> {\n let composed = screenNodes\n const chain = layoutNodesChain.slice(0, MAX_LAYOUT_CHAIN_DEPTH)\n for (const [index, layoutNodes] of chain.entries()) {\n composed = composeLayoutAndScreenNodes(layoutNodes, composed, index + 1)\n }\n return composed\n}\n\n/**\n * Walks a layout's ancestry into a flat chain, innermost first (AGL-703).\n *\n * `parentOf` returns the layout a given layout renders inside, or undefined\n * at the top. The walk stops on:\n *\n * - **self-reference** — a layout naming itself, which is the case worth\n * naming out loud because it is the easy mistake to make;\n * - **any repeat** — A → B → A would otherwise recurse forever, and a\n * guard that only catches self-reference would miss it;\n * - **depth** — {@link MAX_LAYOUT_CHAIN_DEPTH}.\n *\n * Stopping (rather than throwing) is deliberate: a cycle in stored data\n * should render the layouts up to the repeat, not blank the site.\n */\nexport function resolveLayoutChainIds(\n layoutId: string | undefined | null,\n parentOf: (layoutId: string) => string | undefined | null,\n): string[] {\n const chain: string[] = []\n const seen = new Set<string>()\n let current = layoutId ? String(layoutId) : undefined\n while (current && !seen.has(current) && chain.length < MAX_LAYOUT_CHAIN_DEPTH) {\n chain.push(current)\n seen.add(current)\n const parent = parentOf(current)\n current = parent ? String(parent) : undefined\n }\n return chain\n}\n\n/**\n * Whether `candidateParentId` may be set as `layoutId`'s parent layout.\n *\n * Refuses self-reference and any candidate that already has this layout\n * somewhere above it — picking one would close a loop. This is the\n * write-time half; `resolveLayoutChainIds` stays defensive anyway, because\n * a document can be edited by something that never called this.\n */\nexport function canNestLayout(\n layoutId: string,\n candidateParentId: string,\n parentOf: (layoutId: string) => string | undefined | null,\n): boolean {\n if (!layoutId || !candidateParentId) return false\n if (layoutId === candidateParentId) return false\n return !resolveLayoutChainIds(candidateParentId, parentOf).includes(layoutId)\n}\n\nexport default composeLayoutAndScreenNodes\n"],"names":["NODE_ROOT_ID","COMPONENT_NODE_ID_PREFIX","mergeNodeSx","LAYOUT_SLOT_COMPONENT_ID","LAYOUT_NODE_ID_PREFIX","MAX_LAYOUT_CHAIN_DEPTH","layoutNodeIdPrefix","depth","LAYOUT_NODE_ID_PREFIXES","Array","from","length","_unused","index","isLayoutComposedNodeId","id","value","String","startsWith","slice","some","prefix","hasScreenAuthoredNodes","nodes","Object","keys","prefixLayoutId","prefixChildIds","isArray","map","composeLayoutAndScreenNodes","layoutNodes","screenNodes","composed","slotEntry","entries","find","node","componentId","nextId","$id","parentId","slotId","screenRoot","screenRootChildIds","slotChildIds","mergedSlotSx","sx","classNameOf","className","mergedSlotClassName","filter","Boolean","join","undefined","isTopLevel","childId","composeLayoutChainAndScreenNodes","layoutNodesChain","chain","resolveLayoutChainIds","layoutId","parentOf","seen","Set","current","has","push","add","parent","canNestLayout","candidateParentId","includes"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC;AAGD,SAASA,YAAY,QAAQ,sCAAkC;AAC/D,SAASC,wBAAwB,QAAQ,+BAA2B;AACpE,SAASC,WAAW,QAAQ,qBAAiB;AAE7C,uEAAuE,GACvE,OAAO,MAAMC,2BAA2B,aAAY;AAEpD;;;;CAIC,GACD,OAAO,MAAMC,wBAAwB,WAAU;AAE/C;;;;;;;CAOC,GACD,OAAO,MAAMC,yBAAyB,EAAC;AAEvC;;;;;;;;;;CAUC,GACD,OAAO,SAASC,mBAAmBC,QAAQ,CAAC;IAC1C,OAAOA,SAAS,IAAIH,wBAAwB,CAAC,MAAM,EAAEG,MAAM,EAAE,CAAC;AAChE;AAEA,sEAAsE,GACtE,OAAO,MAAMC,0BAA0BC,MAAMC,IAAI,CAC/C;IAAEC,QAAQN;AAAuB,GACjC,CAACO,SAASC,QAAUP,mBAAmBO,QAAQ,IAChD;AAED;;;;;;;;;;;;;;;CAeC,GACD,OAAO,SAASC,uBAAuBC,EAA6B;IAClE,IAAIC,QAAQC,OAAOF,aAAAA,KAAM;IACzB,MAAOC,MAAME,UAAU,CAACjB,0BAA2B;QACjDe,QAAQA,MAAMG,KAAK,CAAClB,yBAAyBU,MAAM;IACrD;IACA,OAAOH,wBAAwBY,IAAI,CAAC,CAACC,SAAWL,MAAME,UAAU,CAACG;AACnE;AAEA;;;;;;;;;;;;;;;;;;CAkBC,GACD,OAAO,SAASC,uBACdC,KAAiD;IAEjD,IAAI,CAACA,OAAO,OAAO;IACnB,KAAK,MAAMR,MAAMS,OAAOC,IAAI,CAACF,OAAQ;QACnC,IAAIR,OAAOf,cAAc;QACzB,IAAI,CAACc,uBAAuBC,KAAK,OAAO;IAC1C;IACA,OAAO;AACT;AAIA,SAASW,eAAeX,EAAU,EAAEM,MAAc;IAChD,OAAON,OAAOf,eAAee,KAAK,GAAGM,SAASN,IAAI;AACpD;AAEA,SAASY,eAAeJ,KAA+B,EAAEF,MAAc;IACrE,IAAI,CAACZ,MAAMmB,OAAO,CAACL,QAAQ,OAAOA;IAClC,OAAO,AAACA,MAAmBM,GAAG,CAAC,CAACd,KAC9B,OAAOA,OAAO,WAAWW,eAAeX,IAAIM,UAAUN;AAE1D;AAEA;;;;;;;;;;;;;CAaC,GACD,OAAO,SAASe,4BAGdC,WAA2C,EAC3CC,WAA+B,EAC/B,mEAAmE,GACnEzB,QAAQ,CAAC;QAsC0B0B,kBAgBFA;IApDjC,IAAI,CAACF,eAAe,CAACA,WAAW,CAAC/B,aAAa,EAAE,OAAOgC;IAEvD,MAAME,YAAYV,OAAOW,OAAO,CAACJ,aAAaK,IAAI,CAChD,CAAC,GAAGC,KAAK,GAAKA,CAAAA,wBAAAA,KAAMC,WAAW,MAAKnC;IAEtC,IAAI,CAAC+B,WAAW,OAAOF;IAEvB,MAAMX,SAASf,mBAAmBC;IAClC,MAAM0B,WAA+B,CAAC;IAEtC,KAAK,MAAM,CAAClB,IAAIsB,KAAK,IAAIb,OAAOW,OAAO,CAACJ,aAAc;YAW7BM;QAVvB,MAAME,SAASb,eAAeX,IAAIM;QAClCY,QAAQ,CAACM,OAAO,GAAG,aACdF;YACH,mEAAmE;YACnE,qEAAqE;YACrE,iEAAiE;YACjE,4DAA4D;YAC5DG,KACEzB,OAAOf,eACHA,eACA0B,gBAAeW,YAAAA,KAAKG,GAAG,YAARH,YAAYtB,IAAIM;WACjCN,OAAOf,gBACT,CAACqC,KAAKC,WAAW,IAAI;YAAEA,aAAa;QAA0B,GAC5DD,KAAKI,QAAQ,IAAI,QAAQ;YAC3BA,UAAUf,eAAeW,KAAKI,QAAQ,EAAEpB;QAC1C,GACIgB,KAAKd,KAAK,IAAI,QAAQ;YAAEA,OAAOI,eAAeU,KAAKd,KAAK,EAAEF;QAAQ;IAE1E;IAEA,MAAMqB,SAAShB,eAAeQ,SAAS,CAAC,EAAE,EAAEb;IAC5C,MAAMsB,aAAaX,WAAW,CAAChC,aAAa;IAC5C,MAAM4C,qBAAqBnC,MAAMmB,OAAO,CAACe,8BAAAA,WAAYpB,KAAK,IACrD;WAAIoB,WAAWpB,KAAK;KAAC,GACtB,EAAE;IACN,MAAMsB,eAAepC,MAAMmB,OAAO,EAACK,mBAAAA,QAAQ,CAACS,OAAO,qBAAhBT,iBAAkBV,KAAK,IACrDU,QAAQ,CAACS,OAAO,CAACnB,KAAK,GACvB,EAAE;IAEN,sEAAsE;IACtE,wEAAwE;IACxE,qEAAqE;IACrE,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,EAAE;IACF,wEAAwE;IACxE,mEAAmE;IACnE,oEAAoE;IACpE,yBAAyB;IACzB,MAAMuB,eAAe5C,aAAY+B,oBAAAA,QAAQ,CAACS,OAAO,qBAAhBT,kBAAkBc,EAAE,EAAEJ,8BAAAA,WAAYI,EAAE;IACrE,qEAAqE;IACrE,4EAA4E;IAC5E,6BAA6B;IAC7B,MAAMC,cAAc,CAACX,OAClBA,wBAAD,AAACA,KAA6CY,SAAS;IACzD,MAAMC,sBACJ;QAACF,YAAYf,QAAQ,CAACS,OAAO;QAAGM,YAAYL;KAAY,CACrDQ,MAAM,CAACC,SACPC,IAAI,CAAC,QAAQC;IAClBrB,QAAQ,CAACS,OAAO,GAAG,aACdT,QAAQ,CAACS,OAAO;QACnBnB,OAAO;eAAIsB;eAAiBD;SAAmB;OAC3CE,gBAAgB,OAAO,CAAC,IAAI;QAAEC,IAAID;IAAwB,GAC1DI,sBAAsB;QAAED,WAAWC;IAAoB,IAAI,CAAC;IAGlE,KAAK,MAAM,CAACnC,IAAIsB,KAAK,IAAIb,OAAOW,OAAO,CAACH,aAAc;QACpD,IAAIjB,OAAOf,cAAc;QACzB,MAAMuD,aAAalB,CAAAA,wBAAAA,KAAMI,QAAQ,MAAKzC;QACtCiC,QAAQ,CAAClB,GAAG,GAAGwC,aAAa,aAAKlB;YAAMI,UAAUC;aAAWL;IAC9D;IACA,uEAAuE;IACvE,KAAK,MAAMmB,WAAWZ,mBAAoB;QACxC,MAAMP,OAAOJ,QAAQ,CAACuB,QAAQ;QAC9B,IAAInB,QAAQA,KAAKI,QAAQ,KAAKC,QAAQ;YACpCT,QAAQ,CAACuB,QAAQ,GAAG,aAAKnB;gBAAMI,UAAUC;;QAC3C;IACF;IAEA,OAAOT;AACT;AAEA;;;;;;;;;;;;;;;;CAgBC,GACD,OAAO,SAASwB,iCAGdC,gBAAuD,EACvD1B,WAA+B;IAE/B,IAAIC,WAAWD;IACf,MAAM2B,QAAQD,iBAAiBvC,KAAK,CAAC,GAAGd;IACxC,KAAK,MAAM,CAACQ,OAAOkB,YAAY,IAAI4B,MAAMxB,OAAO,GAAI;QAClDF,WAAWH,4BAA4BC,aAAaE,UAAUpB,QAAQ;IACxE;IACA,OAAOoB;AACT;AAEA;;;;;;;;;;;;;;CAcC,GACD,OAAO,SAAS2B,sBACdC,QAAmC,EACnCC,QAAyD;IAEzD,MAAMH,QAAkB,EAAE;IAC1B,MAAMI,OAAO,IAAIC;IACjB,IAAIC,UAAUJ,WAAW5C,OAAO4C,YAAYP;IAC5C,MAAOW,WAAW,CAACF,KAAKG,GAAG,CAACD,YAAYN,MAAMhD,MAAM,GAAGN,uBAAwB;QAC7EsD,MAAMQ,IAAI,CAACF;QACXF,KAAKK,GAAG,CAACH;QACT,MAAMI,SAASP,SAASG;QACxBA,UAAUI,SAASpD,OAAOoD,UAAUf;IACtC;IACA,OAAOK;AACT;AAEA;;;;;;;CAOC,GACD,OAAO,SAASW,cACdT,QAAgB,EAChBU,iBAAyB,EACzBT,QAAyD;IAEzD,IAAI,CAACD,YAAY,CAACU,mBAAmB,OAAO;IAC5C,IAAIV,aAAaU,mBAAmB,OAAO;IAC3C,OAAO,CAACX,sBAAsBW,mBAAmBT,UAAUU,QAAQ,CAACX;AACtE;AAEA,eAAe/B,4BAA2B"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import type { AglynNodeSchema, NodeId, ReusableComponentProp } from '../foundation';
18
+ /**
19
+ * Layout properties (AGL-2893): a shared layout declares properties exactly as
20
+ * a reusable component does, binds its own nodes to them with `{{prop.*}}`,
21
+ * and each screen rendering inside it sets the values.
22
+ *
23
+ * The values are applied to each layout's OWN nodes before the screen is
24
+ * grafted into its slot, so a `{{prop.*}}` the screen's own copy happens to
25
+ * contain is never touched, and a component the layout places receives the
26
+ * values it is handed before it is grafted.
27
+ */
28
+ type NormalizedNodes<N extends AglynNodeSchema> = Record<NodeId, N>;
29
+ /**
30
+ * Screen-version key holding the screen's values for the layouts it renders
31
+ * inside, beside the `layoutId` binding. Persisted in screen version documents
32
+ * — never rename.
33
+ */
34
+ export declare const SCREEN_LAYOUT_PROP_VALUES_KEY = "layoutPropValues";
35
+ /** One layout of a screen's chain, as composition reads it. */
36
+ export interface LayoutChainEntry<N extends AglynNodeSchema = AglynNodeSchema> {
37
+ /** The layout document's id, which a screen's values are keyed by. */
38
+ layoutId?: string | null;
39
+ /** The published version's nodes. */
40
+ nodes?: NormalizedNodes<N> | null;
41
+ /** The published version's declared properties. */
42
+ props?: ReusableComponentProp[] | null;
43
+ }
44
+ /**
45
+ * A screen's values for one layout of its chain, or `undefined` where it set
46
+ * none. Anything that is not a map of values is read as none.
47
+ */
48
+ export declare function layoutPropValuesFor(layoutPropValues: unknown, layoutId: string | null | undefined): Record<string, unknown> | undefined;
49
+ /**
50
+ * A layout's nodes with its declared properties applied for one screen: each
51
+ * `{{prop.*}}` takes the screen's value or the property's default, a field
52
+ * bound to one property receives the value its kind holds, and the parts the
53
+ * screen hides (`hideIf` / `hideUnless`) are pruned — the sequence a reusable
54
+ * component's graft runs, over the layout's root.
55
+ *
56
+ * A layout with no root is returned as it is, for the reason
57
+ * `composeLayoutAndScreenNodes` gives: a broken layout degrades to the bare
58
+ * screen rather than taking a page down.
59
+ */
60
+ export declare function applyLayoutProps<N extends AglynNodeSchema = AglynNodeSchema>(nodes: NormalizedNodes<N> | null | undefined, props: ReusableComponentProp[] | null | undefined, values: Readonly<Record<string, unknown>> | null | undefined): NormalizedNodes<N> | undefined;
61
+ /**
62
+ * A screen grafted through its whole layout chain, innermost first, with each
63
+ * layout's properties applied from the screen's values for that layout
64
+ * (`layoutPropValues`, keyed by layout id).
65
+ *
66
+ * The one composition the published page, the besigner's Preview and its
67
+ * layout chrome all run, so none of them can disagree about which value a
68
+ * layout renders with.
69
+ */
70
+ export declare function composeLayoutChainWithProps<N extends AglynNodeSchema = AglynNodeSchema>(chain: ReadonlyArray<LayoutChainEntry<N> | null | undefined>, screenNodes: NormalizedNodes<N>, layoutPropValues?: unknown): NormalizedNodes<N>;
71
+ export default composeLayoutChainWithProps;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */ import { NODE_ROOT_ID } from "../canvas-manager/canvas-manager.js";
17
+ import { composeLayoutChainAndScreenNodes } from "./compose-layout-nodes.js";
18
+ import { applyDeclaredProps } from "./compose-reusable-components.js";
19
+ /**
20
+ * Screen-version key holding the screen's values for the layouts it renders
21
+ * inside, beside the `layoutId` binding. Persisted in screen version documents
22
+ * — never rename.
23
+ */ export const SCREEN_LAYOUT_PROP_VALUES_KEY = 'layoutPropValues';
24
+ /**
25
+ * A screen's values for one layout of its chain, or `undefined` where it set
26
+ * none. Anything that is not a map of values is read as none.
27
+ */ export function layoutPropValuesFor(layoutPropValues, layoutId) {
28
+ if (!layoutId || !layoutPropValues || typeof layoutPropValues !== 'object') {
29
+ return undefined;
30
+ }
31
+ const values = layoutPropValues[layoutId];
32
+ return values && typeof values === 'object' && !Array.isArray(values) ? values : undefined;
33
+ }
34
+ /**
35
+ * A layout's nodes with its declared properties applied for one screen: each
36
+ * `{{prop.*}}` takes the screen's value or the property's default, a field
37
+ * bound to one property receives the value its kind holds, and the parts the
38
+ * screen hides (`hideIf` / `hideUnless`) are pruned — the sequence a reusable
39
+ * component's graft runs, over the layout's root.
40
+ *
41
+ * A layout with no root is returned as it is, for the reason
42
+ * `composeLayoutAndScreenNodes` gives: a broken layout degrades to the bare
43
+ * screen rather than taking a page down.
44
+ */ export function applyLayoutProps(nodes, props, values) {
45
+ if (!nodes || !nodes[NODE_ROOT_ID]) return nodes != null ? nodes : undefined;
46
+ return applyDeclaredProps(nodes, props, values, NODE_ROOT_ID);
47
+ }
48
+ /**
49
+ * A screen grafted through its whole layout chain, innermost first, with each
50
+ * layout's properties applied from the screen's values for that layout
51
+ * (`layoutPropValues`, keyed by layout id).
52
+ *
53
+ * The one composition the published page, the besigner's Preview and its
54
+ * layout chrome all run, so none of them can disagree about which value a
55
+ * layout renders with.
56
+ */ export function composeLayoutChainWithProps(chain, screenNodes, layoutPropValues) {
57
+ return composeLayoutChainAndScreenNodes(chain.map((entry)=>applyLayoutProps(entry == null ? void 0 : entry.nodes, entry == null ? void 0 : entry.props, layoutPropValuesFor(layoutPropValues, entry == null ? void 0 : entry.layoutId))), screenNodes);
58
+ }
59
+ export default composeLayoutChainWithProps;
60
+
61
+ //# sourceMappingURL=compose-layout-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/aglyn/src/lib/app-utils/compose-layout-props.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n AglynNodeSchema,\n NodeId,\n ReusableComponentProp,\n} from '../foundation'\nimport { NODE_ROOT_ID } from '../canvas-manager/canvas-manager'\nimport { composeLayoutChainAndScreenNodes } from './compose-layout-nodes'\nimport { applyDeclaredProps } from './compose-reusable-components'\n\n/**\n * Layout properties (AGL-2893): a shared layout declares properties exactly as\n * a reusable component does, binds its own nodes to them with `{{prop.*}}`,\n * and each screen rendering inside it sets the values.\n *\n * The values are applied to each layout's OWN nodes before the screen is\n * grafted into its slot, so a `{{prop.*}}` the screen's own copy happens to\n * contain is never touched, and a component the layout places receives the\n * values it is handed before it is grafted.\n */\n\ntype NormalizedNodes<N extends AglynNodeSchema> = Record<NodeId, N>\n\n/**\n * Screen-version key holding the screen's values for the layouts it renders\n * inside, beside the `layoutId` binding. Persisted in screen version documents\n * — never rename.\n */\nexport const SCREEN_LAYOUT_PROP_VALUES_KEY = 'layoutPropValues'\n\n/** One layout of a screen's chain, as composition reads it. */\nexport interface LayoutChainEntry<N extends AglynNodeSchema = AglynNodeSchema> {\n /** The layout document's id, which a screen's values are keyed by. */\n layoutId?: string | null\n /** The published version's nodes. */\n nodes?: NormalizedNodes<N> | null\n /** The published version's declared properties. */\n props?: ReusableComponentProp[] | null\n}\n\n/**\n * A screen's values for one layout of its chain, or `undefined` where it set\n * none. Anything that is not a map of values is read as none.\n */\nexport function layoutPropValuesFor(\n layoutPropValues: unknown,\n layoutId: string | null | undefined,\n): Record<string, unknown> | undefined {\n if (!layoutId || !layoutPropValues || typeof layoutPropValues !== 'object') {\n return undefined\n }\n const values = (layoutPropValues as Record<string, unknown>)[layoutId]\n return values && typeof values === 'object' && !Array.isArray(values)\n ? (values as Record<string, unknown>)\n : undefined\n}\n\n/**\n * A layout's nodes with its declared properties applied for one screen: each\n * `{{prop.*}}` takes the screen's value or the property's default, a field\n * bound to one property receives the value its kind holds, and the parts the\n * screen hides (`hideIf` / `hideUnless`) are pruned — the sequence a reusable\n * component's graft runs, over the layout's root.\n *\n * A layout with no root is returned as it is, for the reason\n * `composeLayoutAndScreenNodes` gives: a broken layout degrades to the bare\n * screen rather than taking a page down.\n */\nexport function applyLayoutProps<N extends AglynNodeSchema = AglynNodeSchema>(\n nodes: NormalizedNodes<N> | null | undefined,\n props: ReusableComponentProp[] | null | undefined,\n values: Readonly<Record<string, unknown>> | null | undefined,\n): NormalizedNodes<N> | undefined {\n if (!nodes || !nodes[NODE_ROOT_ID]) return nodes ?? undefined\n return applyDeclaredProps(nodes, props, values, NODE_ROOT_ID)\n}\n\n/**\n * A screen grafted through its whole layout chain, innermost first, with each\n * layout's properties applied from the screen's values for that layout\n * (`layoutPropValues`, keyed by layout id).\n *\n * The one composition the published page, the besigner's Preview and its\n * layout chrome all run, so none of them can disagree about which value a\n * layout renders with.\n */\nexport function composeLayoutChainWithProps<\n N extends AglynNodeSchema = AglynNodeSchema,\n>(\n chain: ReadonlyArray<LayoutChainEntry<N> | null | undefined>,\n screenNodes: NormalizedNodes<N>,\n layoutPropValues?: unknown,\n): NormalizedNodes<N> {\n return composeLayoutChainAndScreenNodes(\n chain.map((entry) =>\n applyLayoutProps(\n entry?.nodes,\n entry?.props,\n layoutPropValuesFor(layoutPropValues, entry?.layoutId),\n ),\n ),\n screenNodes,\n )\n}\n\nexport default composeLayoutChainWithProps\n"],"names":["NODE_ROOT_ID","composeLayoutChainAndScreenNodes","applyDeclaredProps","SCREEN_LAYOUT_PROP_VALUES_KEY","layoutPropValuesFor","layoutPropValues","layoutId","undefined","values","Array","isArray","applyLayoutProps","nodes","props","composeLayoutChainWithProps","chain","screenNodes","map","entry"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAOD,SAASA,YAAY,QAAQ,sCAAkC;AAC/D,SAASC,gCAAgC,QAAQ,4BAAwB;AACzE,SAASC,kBAAkB,QAAQ,mCAA+B;AAelE;;;;CAIC,GACD,OAAO,MAAMC,gCAAgC,mBAAkB;AAY/D;;;CAGC,GACD,OAAO,SAASC,oBACdC,gBAAyB,EACzBC,QAAmC;IAEnC,IAAI,CAACA,YAAY,CAACD,oBAAoB,OAAOA,qBAAqB,UAAU;QAC1E,OAAOE;IACT;IACA,MAAMC,SAAS,AAACH,gBAA4C,CAACC,SAAS;IACtE,OAAOE,UAAU,OAAOA,WAAW,YAAY,CAACC,MAAMC,OAAO,CAACF,UACzDA,SACDD;AACN;AAEA;;;;;;;;;;CAUC,GACD,OAAO,SAASI,iBACdC,KAA4C,EAC5CC,KAAiD,EACjDL,MAA4D;IAE5D,IAAI,CAACI,SAAS,CAACA,KAAK,CAACZ,aAAa,EAAE,OAAOY,gBAAAA,QAASL;IACpD,OAAOL,mBAAmBU,OAAOC,OAAOL,QAAQR;AAClD;AAEA;;;;;;;;CAQC,GACD,OAAO,SAASc,4BAGdC,KAA4D,EAC5DC,WAA+B,EAC/BX,gBAA0B;IAE1B,OAAOJ,iCACLc,MAAME,GAAG,CAAC,CAACC,QACTP,iBACEO,yBAAAA,MAAON,KAAK,EACZM,yBAAAA,MAAOL,KAAK,EACZT,oBAAoBC,kBAAkBa,yBAAAA,MAAOZ,QAAQ,KAGzDU;AAEJ;AAEA,eAAeF,4BAA2B"}