@ketvietlab/ketsuite 0.1.29 → 0.1.31

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 (781) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/modules/account_backend/index.js +0 -6
  3. package/dist/modules/account_backend/index.js.map +1 -1
  4. package/dist/modules/account_backend/screens/account-defaults.d.ts.map +1 -1
  5. package/dist/modules/account_backend/screens/account-defaults.js +1 -1
  6. package/dist/modules/account_backend/screens/account-defaults.js.map +1 -1
  7. package/dist/modules/account_backend/screens/account-form.d.ts.map +1 -1
  8. package/dist/modules/account_backend/screens/account-form.js +3 -1
  9. package/dist/modules/account_backend/screens/account-form.js.map +1 -1
  10. package/dist/modules/account_backend/screens/accounts-list.d.ts.map +1 -1
  11. package/dist/modules/account_backend/screens/accounts-list.js +1 -1
  12. package/dist/modules/account_backend/screens/accounts-list.js.map +1 -1
  13. package/dist/modules/account_backend/screens/customer-invoice-form.d.ts.map +1 -1
  14. package/dist/modules/account_backend/screens/customer-invoice-form.js +1 -1
  15. package/dist/modules/account_backend/screens/customer-invoice-form.js.map +1 -1
  16. package/dist/modules/account_backend/screens/customer-invoices-list.d.ts.map +1 -1
  17. package/dist/modules/account_backend/screens/customer-invoices-list.js +1 -1
  18. package/dist/modules/account_backend/screens/customer-invoices-list.js.map +1 -1
  19. package/dist/modules/account_backend/screens/journal-entries-list.d.ts.map +1 -1
  20. package/dist/modules/account_backend/screens/journal-entries-list.js +1 -1
  21. package/dist/modules/account_backend/screens/journal-entries-list.js.map +1 -1
  22. package/dist/modules/account_backend/screens/journal-entry-create.d.ts.map +1 -1
  23. package/dist/modules/account_backend/screens/journal-entry-create.js +1 -1
  24. package/dist/modules/account_backend/screens/journal-entry-create.js.map +1 -1
  25. package/dist/modules/account_backend/screens/journal-form.d.ts.map +1 -1
  26. package/dist/modules/account_backend/screens/journal-form.js +3 -3
  27. package/dist/modules/account_backend/screens/journal-form.js.map +1 -1
  28. package/dist/modules/account_backend/screens/journals-list.d.ts.map +1 -1
  29. package/dist/modules/account_backend/screens/journals-list.js +1 -1
  30. package/dist/modules/account_backend/screens/journals-list.js.map +1 -1
  31. package/dist/modules/account_backend/screens/move-detail.d.ts.map +1 -1
  32. package/dist/modules/account_backend/screens/move-detail.js +3 -1
  33. package/dist/modules/account_backend/screens/move-detail.js.map +1 -1
  34. package/dist/modules/account_backend/screens/opening-balances.d.ts.map +1 -1
  35. package/dist/modules/account_backend/screens/opening-balances.js +2 -2
  36. package/dist/modules/account_backend/screens/opening-balances.js.map +1 -1
  37. package/dist/modules/account_backend/screens/overview.js +4 -2
  38. package/dist/modules/account_backend/screens/overview.js.map +1 -1
  39. package/dist/modules/account_backend/screens/payment-form.d.ts.map +1 -1
  40. package/dist/modules/account_backend/screens/payment-form.js +1 -1
  41. package/dist/modules/account_backend/screens/payment-form.js.map +1 -1
  42. package/dist/modules/account_backend/screens/payment-term-form.d.ts.map +1 -1
  43. package/dist/modules/account_backend/screens/payment-term-form.js +4 -2
  44. package/dist/modules/account_backend/screens/payment-term-form.js.map +1 -1
  45. package/dist/modules/account_backend/screens/payment-terms-list.d.ts.map +1 -1
  46. package/dist/modules/account_backend/screens/payment-terms-list.js +1 -1
  47. package/dist/modules/account_backend/screens/payment-terms-list.js.map +1 -1
  48. package/dist/modules/account_backend/screens/payments-list.d.ts.map +1 -1
  49. package/dist/modules/account_backend/screens/payments-list.js +1 -1
  50. package/dist/modules/account_backend/screens/payments-list.js.map +1 -1
  51. package/dist/modules/account_backend/screens/period-closes.d.ts.map +1 -1
  52. package/dist/modules/account_backend/screens/period-closes.js +1 -1
  53. package/dist/modules/account_backend/screens/period-closes.js.map +1 -1
  54. package/dist/modules/account_backend/screens/tax-form.d.ts.map +1 -1
  55. package/dist/modules/account_backend/screens/tax-form.js +3 -1
  56. package/dist/modules/account_backend/screens/tax-form.js.map +1 -1
  57. package/dist/modules/account_backend/screens/taxes-list.d.ts.map +1 -1
  58. package/dist/modules/account_backend/screens/taxes-list.js +1 -1
  59. package/dist/modules/account_backend/screens/taxes-list.js.map +1 -1
  60. package/dist/modules/account_backend/screens/vendor-bill-form.d.ts.map +1 -1
  61. package/dist/modules/account_backend/screens/vendor-bill-form.js +1 -1
  62. package/dist/modules/account_backend/screens/vendor-bill-form.js.map +1 -1
  63. package/dist/modules/account_backend/screens/vendor-bills-list.d.ts.map +1 -1
  64. package/dist/modules/account_backend/screens/vendor-bills-list.js +1 -1
  65. package/dist/modules/account_backend/screens/vendor-bills-list.js.map +1 -1
  66. package/dist/modules/account_partner_backend/screens/accounting-terms.d.ts.map +1 -1
  67. package/dist/modules/account_partner_backend/screens/accounting-terms.js +1 -1
  68. package/dist/modules/account_partner_backend/screens/accounting-terms.js.map +1 -1
  69. package/dist/modules/activity_backend/index.d.ts.map +1 -1
  70. package/dist/modules/activity_backend/index.js +0 -2
  71. package/dist/modules/activity_backend/index.js.map +1 -1
  72. package/dist/modules/activity_backend/screens/activities-list.d.ts.map +1 -1
  73. package/dist/modules/activity_backend/screens/activities-list.js +1 -1
  74. package/dist/modules/activity_backend/screens/activities-list.js.map +1 -1
  75. package/dist/modules/address_backend/index.d.ts.map +1 -1
  76. package/dist/modules/address_backend/index.js +0 -2
  77. package/dist/modules/address_backend/index.js.map +1 -1
  78. package/dist/modules/address_backend/screens/catalogs-list.d.ts.map +1 -1
  79. package/dist/modules/address_backend/screens/catalogs-list.js +1 -1
  80. package/dist/modules/address_backend/screens/catalogs-list.js.map +1 -1
  81. package/dist/modules/attendance_backend/screens/credentials.d.ts.map +1 -1
  82. package/dist/modules/attendance_backend/screens/credentials.js +1 -1
  83. package/dist/modules/attendance_backend/screens/credentials.js.map +1 -1
  84. package/dist/modules/attendance_backend/screens/period.d.ts.map +1 -1
  85. package/dist/modules/attendance_backend/screens/period.js +1 -1
  86. package/dist/modules/attendance_backend/screens/period.js.map +1 -1
  87. package/dist/modules/backend/current-company.d.ts +4 -0
  88. package/dist/modules/backend/current-company.d.ts.map +1 -0
  89. package/dist/modules/backend/current-company.js +27 -0
  90. package/dist/modules/backend/current-company.js.map +1 -0
  91. package/dist/modules/backend/design/client/backend-shell.d.mts +2 -2
  92. package/dist/modules/backend/design/client/backend-shell.d.mts.map +1 -1
  93. package/dist/modules/backend/design/client/backend-shell.mjs +1 -1
  94. package/dist/modules/backend/design/client/backend-shell.mjs.map +4 -4
  95. package/dist/modules/backend/design/client/ket-table.d.mts +2 -2
  96. package/dist/modules/backend/design/client/ket-table.d.mts.map +1 -1
  97. package/dist/modules/backend/design/client/ket-table.mjs +1 -1
  98. package/dist/modules/backend/design/client/ket-table.mjs.map +3 -3
  99. package/dist/modules/backend/design/client/search-filter.d.mts +2 -2
  100. package/dist/modules/backend/design/client/search-filter.d.mts.map +1 -1
  101. package/dist/modules/backend/design/client/search-filter.mjs +1 -1
  102. package/dist/modules/backend/design/client/search-filter.mjs.map +3 -3
  103. package/dist/modules/backend/design/content.css +5 -5
  104. package/dist/modules/backend/design/controls.css +10 -36
  105. package/dist/modules/backend/design/forms.css +33 -188
  106. package/dist/modules/backend/design/lists.css +1 -50
  107. package/dist/modules/backend/index.d.ts +1 -0
  108. package/dist/modules/backend/index.d.ts.map +1 -1
  109. package/dist/modules/backend/index.js +1 -0
  110. package/dist/modules/backend/index.js.map +1 -1
  111. package/dist/modules/backend/optional-read.d.ts +4 -0
  112. package/dist/modules/backend/optional-read.d.ts.map +1 -0
  113. package/dist/modules/backend/optional-read.js +7 -0
  114. package/dist/modules/backend/optional-read.js.map +1 -0
  115. package/dist/modules/company_backend/index.d.ts.map +1 -1
  116. package/dist/modules/company_backend/index.js +0 -2
  117. package/dist/modules/company_backend/index.js.map +1 -1
  118. package/dist/modules/company_backend/screens/branch-form.d.ts.map +1 -1
  119. package/dist/modules/company_backend/screens/branch-form.js +3 -1
  120. package/dist/modules/company_backend/screens/branch-form.js.map +1 -1
  121. package/dist/modules/company_backend/screens/companies-list.d.ts.map +1 -1
  122. package/dist/modules/company_backend/screens/companies-list.js +1 -1
  123. package/dist/modules/company_backend/screens/companies-list.js.map +1 -1
  124. package/dist/modules/company_backend/screens/company-form.d.ts.map +1 -1
  125. package/dist/modules/company_backend/screens/company-form.js +1 -3
  126. package/dist/modules/company_backend/screens/company-form.js.map +1 -1
  127. package/dist/modules/company_backend/screens/context.d.ts.map +1 -1
  128. package/dist/modules/company_backend/screens/context.js +1 -1
  129. package/dist/modules/company_backend/screens/context.js.map +1 -1
  130. package/dist/modules/company_backend/screens/hierarchy.d.ts.map +1 -1
  131. package/dist/modules/company_backend/screens/hierarchy.js +1 -1
  132. package/dist/modules/company_backend/screens/hierarchy.js.map +1 -1
  133. package/dist/modules/crm_backend/client/crm-case-modal.d.mts +8 -8
  134. package/dist/modules/crm_backend/client/crm-case-modal.d.mts.map +1 -1
  135. package/dist/modules/crm_backend/client/crm-case-modal.mjs +1 -1
  136. package/dist/modules/crm_backend/client/crm-case-modal.mjs.map +3 -3
  137. package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts +55 -55
  138. package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts.map +1 -1
  139. package/dist/modules/crm_backend/client/crm-configuration-modal.mjs +1 -1
  140. package/dist/modules/crm_backend/client/crm-configuration-modal.mjs.map +3 -3
  141. package/dist/modules/crm_backend/messages.d.ts +0 -10
  142. package/dist/modules/crm_backend/messages.d.ts.map +1 -1
  143. package/dist/modules/crm_backend/messages.js +0 -10
  144. package/dist/modules/crm_backend/messages.js.map +1 -1
  145. package/dist/modules/crm_backend/screens/activity-planner.d.ts.map +1 -1
  146. package/dist/modules/crm_backend/screens/activity-planner.js +1 -1
  147. package/dist/modules/crm_backend/screens/activity-planner.js.map +1 -1
  148. package/dist/modules/crm_backend/screens/case-create.d.ts.map +1 -1
  149. package/dist/modules/crm_backend/screens/case-create.js +1 -1
  150. package/dist/modules/crm_backend/screens/case-create.js.map +1 -1
  151. package/dist/modules/crm_backend/screens/case-detail.d.ts.map +1 -1
  152. package/dist/modules/crm_backend/screens/case-detail.js +2 -2
  153. package/dist/modules/crm_backend/screens/case-detail.js.map +1 -1
  154. package/dist/modules/crm_backend/screens/cases-list.d.ts.map +1 -1
  155. package/dist/modules/crm_backend/screens/cases-list.js +1 -1
  156. package/dist/modules/crm_backend/screens/cases-list.js.map +1 -1
  157. package/dist/modules/crm_backend/screens/configuration.d.ts.map +1 -1
  158. package/dist/modules/crm_backend/screens/configuration.js +1 -1
  159. package/dist/modules/crm_backend/screens/configuration.js.map +1 -1
  160. package/dist/modules/crm_backend/screens/leaderboard.d.ts.map +1 -1
  161. package/dist/modules/crm_backend/screens/leaderboard.js +1 -1
  162. package/dist/modules/crm_backend/screens/leaderboard.js.map +1 -1
  163. package/dist/modules/crm_backend/screens/pipeline.d.ts.map +1 -1
  164. package/dist/modules/crm_backend/screens/pipeline.js +1 -1
  165. package/dist/modules/crm_backend/screens/pipeline.js.map +1 -1
  166. package/dist/modules/flow/domain/command-check.d.ts +3 -0
  167. package/dist/modules/flow/domain/command-check.d.ts.map +1 -0
  168. package/dist/modules/flow/domain/command-check.js +9 -0
  169. package/dist/modules/flow/domain/command-check.js.map +1 -0
  170. package/dist/modules/flow/domain/command.d.ts +33 -0
  171. package/dist/modules/flow/domain/command.d.ts.map +1 -0
  172. package/dist/modules/flow/domain/command.js +35 -0
  173. package/dist/modules/flow/domain/command.js.map +1 -0
  174. package/dist/modules/flow/domain/issue-bulk.d.ts +50 -0
  175. package/dist/modules/flow/domain/issue-bulk.d.ts.map +1 -0
  176. package/dist/modules/flow/domain/issue-bulk.js +97 -0
  177. package/dist/modules/flow/domain/issue-bulk.js.map +1 -0
  178. package/dist/modules/flow/domain/issue-dependency.d.ts +19 -0
  179. package/dist/modules/flow/domain/issue-dependency.d.ts.map +1 -0
  180. package/dist/modules/flow/domain/issue-dependency.js +59 -0
  181. package/dist/modules/flow/domain/issue-dependency.js.map +1 -0
  182. package/dist/modules/flow/domain/issue-discussion.d.ts +52 -0
  183. package/dist/modules/flow/domain/issue-discussion.d.ts.map +1 -0
  184. package/dist/modules/flow/domain/issue-discussion.js +114 -0
  185. package/dist/modules/flow/domain/issue-discussion.js.map +1 -0
  186. package/dist/modules/flow/domain/issue-transfer.d.ts +62 -0
  187. package/dist/modules/flow/domain/issue-transfer.d.ts.map +1 -0
  188. package/dist/modules/flow/domain/issue-transfer.js +171 -0
  189. package/dist/modules/flow/domain/issue-transfer.js.map +1 -0
  190. package/dist/modules/flow/domain/issue-validation.d.ts +68 -0
  191. package/dist/modules/flow/domain/issue-validation.d.ts.map +1 -0
  192. package/dist/modules/flow/domain/issue-validation.js +136 -0
  193. package/dist/modules/flow/domain/issue-validation.js.map +1 -0
  194. package/dist/modules/flow/domain/issue-write.d.ts +118 -0
  195. package/dist/modules/flow/domain/issue-write.d.ts.map +1 -0
  196. package/dist/modules/flow/domain/issue-write.js +372 -0
  197. package/dist/modules/flow/domain/issue-write.js.map +1 -0
  198. package/dist/modules/flow/domain/sprint-lifecycle.d.ts +61 -0
  199. package/dist/modules/flow/domain/sprint-lifecycle.d.ts.map +1 -0
  200. package/dist/modules/flow/domain/sprint-lifecycle.js +145 -0
  201. package/dist/modules/flow/domain/sprint-lifecycle.js.map +1 -0
  202. package/dist/modules/flow/functions/board.d.ts +7 -0
  203. package/dist/modules/flow/functions/board.d.ts.map +1 -0
  204. package/dist/modules/flow/functions/board.js +59 -0
  205. package/dist/modules/flow/functions/board.js.map +1 -0
  206. package/dist/modules/flow/functions/column.d.ts +8 -0
  207. package/dist/modules/flow/functions/column.d.ts.map +1 -0
  208. package/dist/modules/flow/functions/column.js +64 -0
  209. package/dist/modules/flow/functions/column.js.map +1 -0
  210. package/dist/modules/flow/functions/effects.d.ts +21 -0
  211. package/dist/modules/flow/functions/effects.d.ts.map +1 -0
  212. package/dist/modules/flow/functions/effects.js +96 -0
  213. package/dist/modules/flow/functions/effects.js.map +1 -0
  214. package/dist/modules/flow/functions/entity-save.d.ts +4 -0
  215. package/dist/modules/flow/functions/entity-save.d.ts.map +1 -0
  216. package/dist/modules/flow/functions/entity-save.js +60 -0
  217. package/dist/modules/flow/functions/entity-save.js.map +1 -0
  218. package/dist/modules/flow/functions/epic.d.ts +26 -0
  219. package/dist/modules/flow/functions/epic.d.ts.map +1 -0
  220. package/dist/modules/flow/functions/epic.js +151 -0
  221. package/dist/modules/flow/functions/epic.js.map +1 -0
  222. package/dist/modules/flow/functions/field.d.ts +9 -0
  223. package/dist/modules/flow/functions/field.d.ts.map +1 -0
  224. package/dist/modules/flow/functions/field.js +117 -0
  225. package/dist/modules/flow/functions/field.js.map +1 -0
  226. package/dist/modules/flow/functions/index.d.ts +5 -0
  227. package/dist/modules/flow/functions/index.d.ts.map +1 -0
  228. package/dist/modules/flow/functions/index.js +42 -0
  229. package/dist/modules/flow/functions/index.js.map +1 -0
  230. package/dist/modules/flow/functions/issue-batch.d.ts +6 -0
  231. package/dist/modules/flow/functions/issue-batch.d.ts.map +1 -0
  232. package/dist/modules/flow/functions/issue-batch.js +149 -0
  233. package/dist/modules/flow/functions/issue-batch.js.map +1 -0
  234. package/dist/modules/flow/functions/issue-dependency.d.ts +8 -0
  235. package/dist/modules/flow/functions/issue-dependency.d.ts.map +1 -0
  236. package/dist/modules/flow/functions/issue-dependency.js +54 -0
  237. package/dist/modules/flow/functions/issue-dependency.js.map +1 -0
  238. package/dist/modules/flow/functions/issue-discussion.d.ts +6 -0
  239. package/dist/modules/flow/functions/issue-discussion.d.ts.map +1 -0
  240. package/dist/modules/flow/functions/issue-discussion.js +86 -0
  241. package/dist/modules/flow/functions/issue-discussion.js.map +1 -0
  242. package/dist/modules/flow/functions/issue-read.d.ts +18 -0
  243. package/dist/modules/flow/functions/issue-read.d.ts.map +1 -0
  244. package/dist/modules/flow/functions/issue-read.js +159 -0
  245. package/dist/modules/flow/functions/issue-read.js.map +1 -0
  246. package/dist/modules/flow/functions/issue-write.d.ts +9 -0
  247. package/dist/modules/flow/functions/issue-write.d.ts.map +1 -0
  248. package/dist/modules/flow/functions/issue-write.js +149 -0
  249. package/dist/modules/flow/functions/issue-write.js.map +1 -0
  250. package/dist/modules/flow/functions/issueType.d.ts +8 -0
  251. package/dist/modules/flow/functions/issueType.d.ts.map +1 -0
  252. package/dist/modules/flow/functions/issueType.js +66 -0
  253. package/dist/modules/flow/functions/issueType.js.map +1 -0
  254. package/dist/modules/flow/functions/page.d.ts +22 -0
  255. package/dist/modules/flow/functions/page.d.ts.map +1 -0
  256. package/dist/modules/flow/functions/page.js +202 -0
  257. package/dist/modules/flow/functions/page.js.map +1 -0
  258. package/dist/modules/flow/functions/project.d.ts +26 -0
  259. package/dist/modules/flow/functions/project.d.ts.map +1 -0
  260. package/dist/modules/flow/functions/project.js +381 -0
  261. package/dist/modules/flow/functions/project.js.map +1 -0
  262. package/dist/modules/flow/functions/sprint.d.ts +17 -0
  263. package/dist/modules/flow/functions/sprint.d.ts.map +1 -0
  264. package/dist/modules/flow/functions/sprint.js +173 -0
  265. package/dist/modules/flow/functions/sprint.js.map +1 -0
  266. package/dist/modules/flow/functions/tag.d.ts +14 -0
  267. package/dist/modules/flow/functions/tag.d.ts.map +1 -0
  268. package/dist/modules/flow/functions/tag.js +88 -0
  269. package/dist/modules/flow/functions/tag.js.map +1 -0
  270. package/dist/modules/flow/index.d.ts +8 -2
  271. package/dist/modules/flow/index.d.ts.map +1 -1
  272. package/dist/modules/flow/index.js +7 -2
  273. package/dist/modules/flow/index.js.map +1 -1
  274. package/dist/modules/flow/pages.d.ts +1 -1
  275. package/dist/modules/flow/pages.d.ts.map +1 -1
  276. package/dist/modules/flow/pages.js +1 -1
  277. package/dist/modules/flow/pages.js.map +1 -1
  278. package/dist/modules/flow/queries/calendar.d.ts +21 -0
  279. package/dist/modules/flow/queries/calendar.d.ts.map +1 -0
  280. package/dist/modules/flow/queries/calendar.js +31 -0
  281. package/dist/modules/flow/queries/calendar.js.map +1 -0
  282. package/dist/modules/flow/queries/issue-dependencies.d.ts +17 -0
  283. package/dist/modules/flow/queries/issue-dependencies.d.ts.map +1 -0
  284. package/dist/modules/flow/queries/issue-dependencies.js +46 -0
  285. package/dist/modules/flow/queries/issue-dependencies.js.map +1 -0
  286. package/dist/modules/flow/queries/issue-followers.d.ts +6 -0
  287. package/dist/modules/flow/queries/issue-followers.d.ts.map +1 -0
  288. package/dist/modules/flow/queries/issue-followers.js +18 -0
  289. package/dist/modules/flow/queries/issue-followers.js.map +1 -0
  290. package/dist/modules/flow/queries/issue-list.d.ts +153 -0
  291. package/dist/modules/flow/queries/issue-list.d.ts.map +1 -0
  292. package/dist/modules/flow/queries/issue-list.js +439 -0
  293. package/dist/modules/flow/queries/issue-list.js.map +1 -0
  294. package/dist/modules/flow/queries/options.d.ts +4 -0
  295. package/dist/modules/flow/queries/options.d.ts.map +1 -0
  296. package/dist/modules/flow/queries/options.js +13 -0
  297. package/dist/modules/flow/queries/options.js.map +1 -0
  298. package/dist/modules/flow/queries/progress.d.ts +24 -0
  299. package/dist/modules/flow/queries/progress.d.ts.map +1 -0
  300. package/dist/modules/flow/queries/progress.js +54 -0
  301. package/dist/modules/flow/queries/progress.js.map +1 -0
  302. package/dist/modules/flow/queries/project-list.d.ts +4 -0
  303. package/dist/modules/flow/queries/project-list.d.ts.map +1 -0
  304. package/dist/modules/flow/queries/project-list.js +19 -0
  305. package/dist/modules/flow/queries/project-list.js.map +1 -0
  306. package/dist/modules/flow_backend/messages.d.ts +1 -2
  307. package/dist/modules/flow_backend/messages.d.ts.map +1 -1
  308. package/dist/modules/flow_backend/messages.js +0 -2
  309. package/dist/modules/flow_backend/messages.js.map +1 -1
  310. package/dist/modules/flow_backend/routes.js +1 -1
  311. package/dist/modules/flow_backend/routes.js.map +1 -1
  312. package/dist/modules/flow_backend/screens/all-epics.d.ts.map +1 -1
  313. package/dist/modules/flow_backend/screens/all-epics.js +1 -1
  314. package/dist/modules/flow_backend/screens/all-epics.js.map +1 -1
  315. package/dist/modules/flow_backend/screens/all-pages.d.ts.map +1 -1
  316. package/dist/modules/flow_backend/screens/all-pages.js +1 -1
  317. package/dist/modules/flow_backend/screens/all-pages.js.map +1 -1
  318. package/dist/modules/flow_backend/screens/epic-detail.js +1 -1
  319. package/dist/modules/flow_backend/screens/epic-detail.js.map +1 -1
  320. package/dist/modules/flow_backend/screens/gantt.d.ts.map +1 -1
  321. package/dist/modules/flow_backend/screens/gantt.js +1 -1
  322. package/dist/modules/flow_backend/screens/gantt.js.map +1 -1
  323. package/dist/modules/flow_backend/screens/issue-detail.js +2 -1
  324. package/dist/modules/flow_backend/screens/issue-detail.js.map +1 -1
  325. package/dist/modules/flow_backend/screens/issues.d.ts.map +1 -1
  326. package/dist/modules/flow_backend/screens/issues.js +1 -1
  327. package/dist/modules/flow_backend/screens/issues.js.map +1 -1
  328. package/dist/modules/flow_backend/screens/map.js +1 -1
  329. package/dist/modules/flow_backend/screens/map.js.map +1 -1
  330. package/dist/modules/flow_backend/screens/my-work.d.ts.map +1 -1
  331. package/dist/modules/flow_backend/screens/my-work.js +1 -1
  332. package/dist/modules/flow_backend/screens/my-work.js.map +1 -1
  333. package/dist/modules/flow_backend/screens/page-detail.js +1 -1
  334. package/dist/modules/flow_backend/screens/page-detail.js.map +1 -1
  335. package/dist/modules/flow_backend/screens/project-create.d.ts.map +1 -1
  336. package/dist/modules/flow_backend/screens/project-create.js +1 -1
  337. package/dist/modules/flow_backend/screens/project-create.js.map +1 -1
  338. package/dist/modules/flow_backend/screens/project-pages.d.ts.map +1 -1
  339. package/dist/modules/flow_backend/screens/project-pages.js +1 -1
  340. package/dist/modules/flow_backend/screens/project-pages.js.map +1 -1
  341. package/dist/modules/flow_backend/screens/projects-list.d.ts.map +1 -1
  342. package/dist/modules/flow_backend/screens/projects-list.js +1 -1
  343. package/dist/modules/flow_backend/screens/projects-list.js.map +1 -1
  344. package/dist/modules/flow_backend/screens/sprints.d.ts.map +1 -1
  345. package/dist/modules/flow_backend/screens/sprints.js +1 -1
  346. package/dist/modules/flow_backend/screens/sprints.js.map +1 -1
  347. package/dist/modules/flow_staff_channel/channel-routes.js +1 -1
  348. package/dist/modules/flow_staff_channel/channel-routes.js.map +1 -1
  349. package/dist/modules/hospitality_billing/messages.d.ts.map +1 -1
  350. package/dist/modules/hospitality_billing/messages.js +0 -2
  351. package/dist/modules/hospitality_billing/messages.js.map +1 -1
  352. package/dist/modules/hospitality_billing/screens/billing.d.ts.map +1 -1
  353. package/dist/modules/hospitality_billing/screens/billing.js +1 -1
  354. package/dist/modules/hospitality_billing/screens/billing.js.map +1 -1
  355. package/dist/modules/hospitality_billing/screens/page-frame.d.ts +1 -2
  356. package/dist/modules/hospitality_billing/screens/page-frame.d.ts.map +1 -1
  357. package/dist/modules/hospitality_billing/screens/page-frame.js +1 -1
  358. package/dist/modules/hospitality_billing/screens/page-frame.js.map +1 -1
  359. package/dist/modules/hospitality_core/messages.js +2 -2
  360. package/dist/modules/hospitality_core/messages.js.map +1 -1
  361. package/dist/modules/hospitality_core/screens/check-out-prep.d.ts.map +1 -1
  362. package/dist/modules/hospitality_core/screens/check-out-prep.js +1 -1
  363. package/dist/modules/hospitality_core/screens/check-out-prep.js.map +1 -1
  364. package/dist/modules/hospitality_core/screens/front-desk.d.ts.map +1 -1
  365. package/dist/modules/hospitality_core/screens/front-desk.js +40 -40
  366. package/dist/modules/hospitality_core/screens/front-desk.js.map +1 -1
  367. package/dist/modules/hospitality_core/screens/page-frame.d.ts +2 -3
  368. package/dist/modules/hospitality_core/screens/page-frame.d.ts.map +1 -1
  369. package/dist/modules/hospitality_core/screens/page-frame.js +3 -3
  370. package/dist/modules/hospitality_core/screens/page-frame.js.map +1 -1
  371. package/dist/modules/hospitality_core/screens/tape-chart.d.ts.map +1 -1
  372. package/dist/modules/hospitality_core/screens/tape-chart.js +3 -12
  373. package/dist/modules/hospitality_core/screens/tape-chart.js.map +1 -1
  374. package/dist/modules/hr_backend/screens/employee-form.d.ts.map +1 -1
  375. package/dist/modules/hr_backend/screens/employee-form.js +1 -1
  376. package/dist/modules/hr_backend/screens/employee-form.js.map +1 -1
  377. package/dist/modules/hr_backend/screens/leaves-list.d.ts.map +1 -1
  378. package/dist/modules/hr_backend/screens/leaves-list.js +1 -1
  379. package/dist/modules/hr_backend/screens/leaves-list.js.map +1 -1
  380. package/dist/modules/livedoc/islands.d.ts +9 -0
  381. package/dist/modules/livedoc/islands.d.ts.map +1 -1
  382. package/dist/modules/loyalty_backend/messages.d.ts +0 -10
  383. package/dist/modules/loyalty_backend/messages.d.ts.map +1 -1
  384. package/dist/modules/loyalty_backend/messages.js +0 -10
  385. package/dist/modules/loyalty_backend/messages.js.map +1 -1
  386. package/dist/modules/loyalty_backend/screens/index.d.ts.map +1 -1
  387. package/dist/modules/loyalty_backend/screens/index.js +5 -5
  388. package/dist/modules/loyalty_backend/screens/index.js.map +1 -1
  389. package/dist/modules/loyalty_backend/screens/page-frame.d.ts +2 -3
  390. package/dist/modules/loyalty_backend/screens/page-frame.d.ts.map +1 -1
  391. package/dist/modules/loyalty_backend/screens/page-frame.js +2 -2
  392. package/dist/modules/loyalty_backend/screens/page-frame.js.map +1 -1
  393. package/dist/modules/mail_backend/index.d.ts.map +1 -1
  394. package/dist/modules/mail_backend/index.js +0 -2
  395. package/dist/modules/mail_backend/index.js.map +1 -1
  396. package/dist/modules/mail_backend/screens/inbox-list.d.ts.map +1 -1
  397. package/dist/modules/mail_backend/screens/inbox-list.js +1 -1
  398. package/dist/modules/mail_backend/screens/inbox-list.js.map +1 -1
  399. package/dist/modules/mail_inbound_backend/index.d.ts.map +1 -1
  400. package/dist/modules/mail_inbound_backend/index.js +0 -2
  401. package/dist/modules/mail_inbound_backend/index.js.map +1 -1
  402. package/dist/modules/mail_inbound_backend/screens/inbound-list.d.ts.map +1 -1
  403. package/dist/modules/mail_inbound_backend/screens/inbound-list.js +1 -1
  404. package/dist/modules/mail_inbound_backend/screens/inbound-list.js.map +1 -1
  405. package/dist/modules/mail_transport_backend/index.d.ts.map +1 -1
  406. package/dist/modules/mail_transport_backend/index.js +0 -2
  407. package/dist/modules/mail_transport_backend/index.js.map +1 -1
  408. package/dist/modules/mail_transport_backend/screens/outbox-list.d.ts.map +1 -1
  409. package/dist/modules/mail_transport_backend/screens/outbox-list.js +1 -1
  410. package/dist/modules/mail_transport_backend/screens/outbox-list.js.map +1 -1
  411. package/dist/modules/manufacturing_backend/screens/order-execution.d.ts.map +1 -1
  412. package/dist/modules/manufacturing_backend/screens/order-execution.js +1 -1
  413. package/dist/modules/manufacturing_backend/screens/order-execution.js.map +1 -1
  414. package/dist/modules/oauth_backend/messages.d.ts +0 -4
  415. package/dist/modules/oauth_backend/messages.d.ts.map +1 -1
  416. package/dist/modules/oauth_backend/messages.js +0 -4
  417. package/dist/modules/oauth_backend/messages.js.map +1 -1
  418. package/dist/modules/oauth_backend/screens/index.d.ts.map +1 -1
  419. package/dist/modules/oauth_backend/screens/index.js +5 -5
  420. package/dist/modules/oauth_backend/screens/index.js.map +1 -1
  421. package/dist/modules/partner_backend/screens/form.d.ts.map +1 -1
  422. package/dist/modules/partner_backend/screens/form.js +3 -1
  423. package/dist/modules/partner_backend/screens/form.js.map +1 -1
  424. package/dist/modules/partner_backend/screens/list.d.ts.map +1 -1
  425. package/dist/modules/partner_backend/screens/list.js +1 -1
  426. package/dist/modules/partner_backend/screens/list.js.map +1 -1
  427. package/dist/modules/partner_backend/screens/new.d.ts.map +1 -1
  428. package/dist/modules/partner_backend/screens/new.js +1 -1
  429. package/dist/modules/partner_backend/screens/new.js.map +1 -1
  430. package/dist/modules/pricing_backend/index.js +0 -2
  431. package/dist/modules/pricing_backend/index.js.map +1 -1
  432. package/dist/modules/pricing_backend/screens/pricelist-detail.d.ts.map +1 -1
  433. package/dist/modules/pricing_backend/screens/pricelist-detail.js +1 -1
  434. package/dist/modules/pricing_backend/screens/pricelist-detail.js.map +1 -1
  435. package/dist/modules/pricing_backend/screens/pricelists-list.d.ts.map +1 -1
  436. package/dist/modules/pricing_backend/screens/pricelists-list.js +1 -1
  437. package/dist/modules/pricing_backend/screens/pricelists-list.js.map +1 -1
  438. package/dist/modules/product_backend/client/attribute-modal.d.mts +5 -5
  439. package/dist/modules/product_backend/client/attribute-modal.d.mts.map +1 -1
  440. package/dist/modules/product_backend/client/attribute-modal.mjs +1 -1
  441. package/dist/modules/product_backend/client/attribute-modal.mjs.map +3 -3
  442. package/dist/modules/product_backend/client/product-modal.d.mts +8 -8
  443. package/dist/modules/product_backend/client/product-modal.d.mts.map +1 -1
  444. package/dist/modules/product_backend/client/product-modal.mjs +1 -1
  445. package/dist/modules/product_backend/client/product-modal.mjs.map +3 -3
  446. package/dist/modules/product_backend/client/variant-editor.d.mts +3 -3
  447. package/dist/modules/product_backend/client/variant-editor.d.mts.map +1 -1
  448. package/dist/modules/product_backend/client/variant-editor.mjs +1 -1
  449. package/dist/modules/product_backend/client/variant-editor.mjs.map +3 -3
  450. package/dist/modules/product_backend/screens/detail.d.ts.map +1 -1
  451. package/dist/modules/product_backend/screens/detail.js +3 -2
  452. package/dist/modules/product_backend/screens/detail.js.map +1 -1
  453. package/dist/modules/product_backend/screens/variant.d.ts.map +1 -1
  454. package/dist/modules/product_backend/screens/variant.js +3 -2
  455. package/dist/modules/product_backend/screens/variant.js.map +1 -1
  456. package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts +185 -0
  457. package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts.map +1 -0
  458. package/dist/modules/purchase_backend/client/purchase-order-modal.mjs +2 -0
  459. package/dist/modules/purchase_backend/client/purchase-order-modal.mjs.map +7 -0
  460. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts +52 -0
  461. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts.map +1 -0
  462. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs +2 -0
  463. package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs.map +7 -0
  464. package/dist/modules/purchase_backend/index.js +83 -14
  465. package/dist/modules/purchase_backend/index.js.map +1 -1
  466. package/dist/modules/purchase_backend/modal/context.d.ts +4 -0
  467. package/dist/modules/purchase_backend/modal/context.d.ts.map +1 -0
  468. package/dist/modules/purchase_backend/modal/context.js +94 -0
  469. package/dist/modules/purchase_backend/modal/context.js.map +1 -0
  470. package/dist/modules/purchase_backend/modal/order-modal-view.d.ts +18 -0
  471. package/dist/modules/purchase_backend/modal/order-modal-view.d.ts.map +1 -0
  472. package/dist/modules/purchase_backend/modal/order-modal-view.js +290 -0
  473. package/dist/modules/purchase_backend/modal/order-modal-view.js.map +1 -0
  474. package/dist/modules/purchase_backend/modal/pricelist-context.d.ts +3 -0
  475. package/dist/modules/purchase_backend/modal/pricelist-context.d.ts.map +1 -0
  476. package/dist/modules/purchase_backend/modal/pricelist-context.js +36 -0
  477. package/dist/modules/purchase_backend/modal/pricelist-context.js.map +1 -0
  478. package/dist/modules/purchase_backend/modal/pricelist-view.d.ts +12 -0
  479. package/dist/modules/purchase_backend/modal/pricelist-view.d.ts.map +1 -0
  480. package/dist/modules/purchase_backend/modal/pricelist-view.js +78 -0
  481. package/dist/modules/purchase_backend/modal/pricelist-view.js.map +1 -0
  482. package/dist/modules/purchase_backend/screens/order-detail.d.ts.map +1 -1
  483. package/dist/modules/purchase_backend/screens/order-detail.js +4 -2
  484. package/dist/modules/purchase_backend/screens/order-detail.js.map +1 -1
  485. package/dist/modules/purchase_backend/screens/overview.d.ts +5 -0
  486. package/dist/modules/purchase_backend/screens/overview.d.ts.map +1 -1
  487. package/dist/modules/purchase_backend/screens/overview.js +27 -6
  488. package/dist/modules/purchase_backend/screens/overview.js.map +1 -1
  489. package/dist/modules/purchase_backend/screens/rfq-create.d.ts.map +1 -1
  490. package/dist/modules/purchase_backend/screens/rfq-create.js +1 -1
  491. package/dist/modules/purchase_backend/screens/rfq-create.js.map +1 -1
  492. package/dist/modules/purchase_backend/screens/rfqs-list.d.ts +1 -1
  493. package/dist/modules/purchase_backend/screens/rfqs-list.d.ts.map +1 -1
  494. package/dist/modules/purchase_backend/screens/rfqs-list.js +1 -1
  495. package/dist/modules/purchase_backend/screens/rfqs-list.js.map +1 -1
  496. package/dist/modules/purchase_backend/screens/vendor-pricelist-create.d.ts.map +1 -1
  497. package/dist/modules/purchase_backend/screens/vendor-pricelist-create.js +1 -1
  498. package/dist/modules/purchase_backend/screens/vendor-pricelist-create.js.map +1 -1
  499. package/dist/modules/purchase_backend/screens/vendor-pricelists-list.d.ts +2 -1
  500. package/dist/modules/purchase_backend/screens/vendor-pricelists-list.d.ts.map +1 -1
  501. package/dist/modules/purchase_backend/screens/vendor-pricelists-list.js +2 -2
  502. package/dist/modules/purchase_backend/screens/vendor-pricelists-list.js.map +1 -1
  503. package/dist/modules/purchase_backend/search.d.ts +1 -1
  504. package/dist/modules/sale/functions/line-edit.d.ts +4 -0
  505. package/dist/modules/sale/functions/line-edit.d.ts.map +1 -0
  506. package/dist/modules/sale/functions/line-edit.js +120 -0
  507. package/dist/modules/sale/functions/line-edit.js.map +1 -0
  508. package/dist/modules/sale/index.d.ts.map +1 -1
  509. package/dist/modules/sale/index.js +16 -1
  510. package/dist/modules/sale/index.js.map +1 -1
  511. package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts +53 -0
  512. package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts.map +1 -0
  513. package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs +2 -0
  514. package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs.map +7 -0
  515. package/dist/modules/sale_backend/client/sale-order-modal.d.mts +161 -0
  516. package/dist/modules/sale_backend/client/sale-order-modal.d.mts.map +1 -0
  517. package/dist/modules/sale_backend/client/sale-order-modal.mjs +2 -0
  518. package/dist/modules/sale_backend/client/sale-order-modal.mjs.map +7 -0
  519. package/dist/modules/sale_backend/index.js +81 -20
  520. package/dist/modules/sale_backend/index.js.map +1 -1
  521. package/dist/modules/sale_backend/modal/context.d.ts +4 -0
  522. package/dist/modules/sale_backend/modal/context.d.ts.map +1 -0
  523. package/dist/modules/sale_backend/modal/context.js +94 -0
  524. package/dist/modules/sale_backend/modal/context.js.map +1 -0
  525. package/dist/modules/sale_backend/modal/order-modal-view.d.ts +18 -0
  526. package/dist/modules/sale_backend/modal/order-modal-view.d.ts.map +1 -0
  527. package/dist/modules/sale_backend/modal/order-modal-view.js +289 -0
  528. package/dist/modules/sale_backend/modal/order-modal-view.js.map +1 -0
  529. package/dist/modules/sale_backend/modal/policy-context.d.ts +3 -0
  530. package/dist/modules/sale_backend/modal/policy-context.d.ts.map +1 -0
  531. package/dist/modules/sale_backend/modal/policy-context.js +26 -0
  532. package/dist/modules/sale_backend/modal/policy-context.js.map +1 -0
  533. package/dist/modules/sale_backend/modal/policy-view.d.ts +11 -0
  534. package/dist/modules/sale_backend/modal/policy-view.d.ts.map +1 -0
  535. package/dist/modules/sale_backend/modal/policy-view.js +70 -0
  536. package/dist/modules/sale_backend/modal/policy-view.js.map +1 -0
  537. package/dist/modules/sale_backend/screens/invoicing-policies-list.d.ts +1 -1
  538. package/dist/modules/sale_backend/screens/invoicing-policies-list.d.ts.map +1 -1
  539. package/dist/modules/sale_backend/screens/invoicing-policies-list.js +1 -1
  540. package/dist/modules/sale_backend/screens/invoicing-policies-list.js.map +1 -1
  541. package/dist/modules/sale_backend/screens/invoicing-policy-create.d.ts.map +1 -1
  542. package/dist/modules/sale_backend/screens/invoicing-policy-create.js +1 -1
  543. package/dist/modules/sale_backend/screens/invoicing-policy-create.js.map +1 -1
  544. package/dist/modules/sale_backend/screens/order-detail.d.ts.map +1 -1
  545. package/dist/modules/sale_backend/screens/order-detail.js +3 -1
  546. package/dist/modules/sale_backend/screens/order-detail.js.map +1 -1
  547. package/dist/modules/sale_backend/screens/overview.d.ts +3 -0
  548. package/dist/modules/sale_backend/screens/overview.d.ts.map +1 -1
  549. package/dist/modules/sale_backend/screens/overview.js +22 -14
  550. package/dist/modules/sale_backend/screens/overview.js.map +1 -1
  551. package/dist/modules/sale_backend/screens/quotation-create.d.ts.map +1 -1
  552. package/dist/modules/sale_backend/screens/quotation-create.js +1 -1
  553. package/dist/modules/sale_backend/screens/quotation-create.js.map +1 -1
  554. package/dist/modules/sale_backend/screens/quotations-list.d.ts +1 -1
  555. package/dist/modules/sale_backend/screens/quotations-list.d.ts.map +1 -1
  556. package/dist/modules/sale_backend/screens/quotations-list.js +1 -1
  557. package/dist/modules/sale_backend/screens/quotations-list.js.map +1 -1
  558. package/dist/modules/sale_backend/screens/sales-orders-list.d.ts.map +1 -1
  559. package/dist/modules/sale_backend/screens/sales-orders-list.js +1 -1
  560. package/dist/modules/sale_backend/screens/sales-orders-list.js.map +1 -1
  561. package/dist/modules/stock/functions/inventory-preview.d.ts +4 -0
  562. package/dist/modules/stock/functions/inventory-preview.d.ts.map +1 -0
  563. package/dist/modules/stock/functions/inventory-preview.js +68 -0
  564. package/dist/modules/stock/functions/inventory-preview.js.map +1 -0
  565. package/dist/modules/stock/index.d.ts.map +1 -1
  566. package/dist/modules/stock/index.js +14 -1
  567. package/dist/modules/stock/index.js.map +1 -1
  568. package/dist/modules/stock_backend/client/inventory-count-modal.d.mts +60 -0
  569. package/dist/modules/stock_backend/client/inventory-count-modal.d.mts.map +1 -0
  570. package/dist/modules/stock_backend/client/inventory-count-modal.mjs +2 -0
  571. package/dist/modules/stock_backend/client/inventory-count-modal.mjs.map +7 -0
  572. package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts +105 -0
  573. package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts.map +1 -0
  574. package/dist/modules/stock_backend/client/stock-configuration-modal.mjs +2 -0
  575. package/dist/modules/stock_backend/client/stock-configuration-modal.mjs.map +7 -0
  576. package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts +130 -0
  577. package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts.map +1 -0
  578. package/dist/modules/stock_backend/client/stock-transfer-modal.mjs +2 -0
  579. package/dist/modules/stock_backend/client/stock-transfer-modal.mjs.map +7 -0
  580. package/dist/modules/stock_backend/functions/index.d.ts +10 -0
  581. package/dist/modules/stock_backend/functions/index.d.ts.map +1 -0
  582. package/dist/modules/stock_backend/functions/index.js +20 -0
  583. package/dist/modules/stock_backend/functions/index.js.map +1 -0
  584. package/dist/modules/stock_backend/functions.d.ts +1 -9
  585. package/dist/modules/stock_backend/functions.d.ts.map +1 -1
  586. package/dist/modules/stock_backend/functions.js +1 -18
  587. package/dist/modules/stock_backend/functions.js.map +1 -1
  588. package/dist/modules/stock_backend/index.js +52 -0
  589. package/dist/modules/stock_backend/index.js.map +1 -1
  590. package/dist/modules/stock_backend/islands.d.ts +8 -0
  591. package/dist/modules/stock_backend/islands.d.ts.map +1 -1
  592. package/dist/modules/stock_backend/islands.js +41 -0
  593. package/dist/modules/stock_backend/islands.js.map +1 -1
  594. package/dist/modules/stock_backend/modal/configuration-context.d.ts +3 -0
  595. package/dist/modules/stock_backend/modal/configuration-context.d.ts.map +1 -0
  596. package/dist/modules/stock_backend/modal/configuration-context.js +65 -0
  597. package/dist/modules/stock_backend/modal/configuration-context.js.map +1 -0
  598. package/dist/modules/stock_backend/modal/configuration-view.d.ts +21 -0
  599. package/dist/modules/stock_backend/modal/configuration-view.d.ts.map +1 -0
  600. package/dist/modules/stock_backend/modal/configuration-view.js +201 -0
  601. package/dist/modules/stock_backend/modal/configuration-view.js.map +1 -0
  602. package/dist/modules/stock_backend/modal/configuration.d.ts +20 -0
  603. package/dist/modules/stock_backend/modal/configuration.d.ts.map +1 -0
  604. package/dist/modules/stock_backend/modal/configuration.js +117 -0
  605. package/dist/modules/stock_backend/modal/configuration.js.map +1 -0
  606. package/dist/modules/stock_backend/modal/inventory-context.d.ts +3 -0
  607. package/dist/modules/stock_backend/modal/inventory-context.d.ts.map +1 -0
  608. package/dist/modules/stock_backend/modal/inventory-context.js +37 -0
  609. package/dist/modules/stock_backend/modal/inventory-context.js.map +1 -0
  610. package/dist/modules/stock_backend/modal/inventory-view.d.ts +14 -0
  611. package/dist/modules/stock_backend/modal/inventory-view.d.ts.map +1 -0
  612. package/dist/modules/stock_backend/modal/inventory-view.js +142 -0
  613. package/dist/modules/stock_backend/modal/inventory-view.js.map +1 -0
  614. package/dist/modules/stock_backend/modal/transfer-context.d.ts +3 -0
  615. package/dist/modules/stock_backend/modal/transfer-context.d.ts.map +1 -0
  616. package/dist/modules/stock_backend/modal/transfer-context.js +54 -0
  617. package/dist/modules/stock_backend/modal/transfer-context.js.map +1 -0
  618. package/dist/modules/stock_backend/modal/transfer-view.d.ts +15 -0
  619. package/dist/modules/stock_backend/modal/transfer-view.d.ts.map +1 -0
  620. package/dist/modules/stock_backend/modal/transfer-view.js +252 -0
  621. package/dist/modules/stock_backend/modal/transfer-view.js.map +1 -0
  622. package/dist/modules/stock_backend/routes.d.ts.map +1 -1
  623. package/dist/modules/stock_backend/routes.js +117 -34
  624. package/dist/modules/stock_backend/routes.js.map +1 -1
  625. package/dist/modules/stock_backend/screens/forecast.d.ts.map +1 -1
  626. package/dist/modules/stock_backend/screens/forecast.js +5 -32
  627. package/dist/modules/stock_backend/screens/forecast.js.map +1 -1
  628. package/dist/modules/stock_backend/screens/inventory.d.ts +3 -1
  629. package/dist/modules/stock_backend/screens/inventory.d.ts.map +1 -1
  630. package/dist/modules/stock_backend/screens/inventory.js +27 -74
  631. package/dist/modules/stock_backend/screens/inventory.js.map +1 -1
  632. package/dist/modules/stock_backend/screens/location-create.d.ts.map +1 -1
  633. package/dist/modules/stock_backend/screens/location-create.js +1 -1
  634. package/dist/modules/stock_backend/screens/location-create.js.map +1 -1
  635. package/dist/modules/stock_backend/screens/locations-list.d.ts +1 -1
  636. package/dist/modules/stock_backend/screens/locations-list.d.ts.map +1 -1
  637. package/dist/modules/stock_backend/screens/locations-list.js +1 -1
  638. package/dist/modules/stock_backend/screens/locations-list.js.map +1 -1
  639. package/dist/modules/stock_backend/screens/lot-create.d.ts.map +1 -1
  640. package/dist/modules/stock_backend/screens/lot-create.js +1 -1
  641. package/dist/modules/stock_backend/screens/lot-create.js.map +1 -1
  642. package/dist/modules/stock_backend/screens/lot-detail.d.ts.map +1 -1
  643. package/dist/modules/stock_backend/screens/lot-detail.js +3 -2
  644. package/dist/modules/stock_backend/screens/lot-detail.js.map +1 -1
  645. package/dist/modules/stock_backend/screens/lots-list.d.ts +1 -1
  646. package/dist/modules/stock_backend/screens/lots-list.d.ts.map +1 -1
  647. package/dist/modules/stock_backend/screens/lots-list.js +1 -1
  648. package/dist/modules/stock_backend/screens/lots-list.js.map +1 -1
  649. package/dist/modules/stock_backend/screens/overview.d.ts +9 -0
  650. package/dist/modules/stock_backend/screens/overview.d.ts.map +1 -0
  651. package/dist/modules/stock_backend/screens/overview.js +38 -0
  652. package/dist/modules/stock_backend/screens/overview.js.map +1 -0
  653. package/dist/modules/stock_backend/screens/picking-type-create.d.ts.map +1 -1
  654. package/dist/modules/stock_backend/screens/picking-type-create.js +1 -1
  655. package/dist/modules/stock_backend/screens/picking-type-create.js.map +1 -1
  656. package/dist/modules/stock_backend/screens/picking-types-list.d.ts +1 -1
  657. package/dist/modules/stock_backend/screens/picking-types-list.d.ts.map +1 -1
  658. package/dist/modules/stock_backend/screens/picking-types-list.js +1 -1
  659. package/dist/modules/stock_backend/screens/picking-types-list.js.map +1 -1
  660. package/dist/modules/stock_backend/screens/replenishment-create.d.ts.map +1 -1
  661. package/dist/modules/stock_backend/screens/replenishment-create.js +1 -1
  662. package/dist/modules/stock_backend/screens/replenishment-create.js.map +1 -1
  663. package/dist/modules/stock_backend/screens/replenishment-list.d.ts +2 -2
  664. package/dist/modules/stock_backend/screens/replenishment-list.d.ts.map +1 -1
  665. package/dist/modules/stock_backend/screens/replenishment-list.js +2 -2
  666. package/dist/modules/stock_backend/screens/replenishment-list.js.map +1 -1
  667. package/dist/modules/stock_backend/screens/stock-route-create.d.ts.map +1 -1
  668. package/dist/modules/stock_backend/screens/stock-route-create.js +1 -1
  669. package/dist/modules/stock_backend/screens/stock-route-create.js.map +1 -1
  670. package/dist/modules/stock_backend/screens/stock-route-detail.js +2 -1
  671. package/dist/modules/stock_backend/screens/stock-route-detail.js.map +1 -1
  672. package/dist/modules/stock_backend/screens/stock-routes-list.d.ts +1 -1
  673. package/dist/modules/stock_backend/screens/stock-routes-list.d.ts.map +1 -1
  674. package/dist/modules/stock_backend/screens/stock-routes-list.js +1 -1
  675. package/dist/modules/stock_backend/screens/stock-routes-list.js.map +1 -1
  676. package/dist/modules/stock_backend/screens/transfer-create.d.ts.map +1 -1
  677. package/dist/modules/stock_backend/screens/transfer-create.js +1 -1
  678. package/dist/modules/stock_backend/screens/transfer-create.js.map +1 -1
  679. package/dist/modules/stock_backend/screens/transfer-detail.d.ts.map +1 -1
  680. package/dist/modules/stock_backend/screens/transfer-detail.js +3 -2
  681. package/dist/modules/stock_backend/screens/transfer-detail.js.map +1 -1
  682. package/dist/modules/stock_backend/screens/transfers-list.d.ts +1 -1
  683. package/dist/modules/stock_backend/screens/transfers-list.d.ts.map +1 -1
  684. package/dist/modules/stock_backend/screens/transfers-list.js +1 -1
  685. package/dist/modules/stock_backend/screens/transfers-list.js.map +1 -1
  686. package/dist/modules/stock_backend/screens/warehouse-create.d.ts.map +1 -1
  687. package/dist/modules/stock_backend/screens/warehouse-create.js +1 -1
  688. package/dist/modules/stock_backend/screens/warehouse-create.js.map +1 -1
  689. package/dist/modules/stock_backend/screens/warehouses-list.d.ts +1 -1
  690. package/dist/modules/stock_backend/screens/warehouses-list.d.ts.map +1 -1
  691. package/dist/modules/stock_backend/screens/warehouses-list.js +1 -1
  692. package/dist/modules/stock_backend/screens/warehouses-list.js.map +1 -1
  693. package/dist/modules/stock_backend/search.d.ts +29 -0
  694. package/dist/modules/stock_backend/search.d.ts.map +1 -1
  695. package/dist/modules/stock_backend/search.js +22 -0
  696. package/dist/modules/stock_backend/search.js.map +1 -1
  697. package/dist/modules/user_backend/client/access-policy-modal.d.mts +4 -4
  698. package/dist/modules/user_backend/client/access-policy-modal.d.mts.map +1 -1
  699. package/dist/modules/user_backend/client/access-policy-modal.mjs +1 -1
  700. package/dist/modules/user_backend/client/access-policy-modal.mjs.map +3 -3
  701. package/dist/modules/user_backend/client/role-modal.d.mts +6 -6
  702. package/dist/modules/user_backend/client/role-modal.d.mts.map +1 -1
  703. package/dist/modules/user_backend/client/role-modal.mjs +1 -1
  704. package/dist/modules/user_backend/client/role-modal.mjs.map +3 -3
  705. package/dist/modules/user_backend/client/user-modal.d.mts +9 -9
  706. package/dist/modules/user_backend/client/user-modal.d.mts.map +1 -1
  707. package/dist/modules/user_backend/client/user-modal.mjs +1 -1
  708. package/dist/modules/user_backend/client/user-modal.mjs.map +3 -3
  709. package/dist/modules/user_backend/messages.d.ts +0 -6
  710. package/dist/modules/user_backend/messages.d.ts.map +1 -1
  711. package/dist/modules/user_backend/messages.js +0 -6
  712. package/dist/modules/user_backend/messages.js.map +1 -1
  713. package/dist/modules/user_backend/screens/access-policies-list.d.ts.map +1 -1
  714. package/dist/modules/user_backend/screens/access-policies-list.js +1 -1
  715. package/dist/modules/user_backend/screens/access-policies-list.js.map +1 -1
  716. package/dist/modules/user_backend/screens/profile-form.d.ts.map +1 -1
  717. package/dist/modules/user_backend/screens/profile-form.js +1 -1
  718. package/dist/modules/user_backend/screens/profile-form.js.map +1 -1
  719. package/dist/modules/user_backend/screens/roles-list.d.ts.map +1 -1
  720. package/dist/modules/user_backend/screens/roles-list.js +1 -1
  721. package/dist/modules/user_backend/screens/roles-list.js.map +1 -1
  722. package/dist/modules/user_backend/screens/users-list.d.ts.map +1 -1
  723. package/dist/modules/user_backend/screens/users-list.js +1 -1
  724. package/dist/modules/user_backend/screens/users-list.js.map +1 -1
  725. package/dist/modules/website_backend/screens/page-frame.d.ts +2 -3
  726. package/dist/modules/website_backend/screens/page-frame.d.ts.map +1 -1
  727. package/dist/modules/website_backend/screens/page-frame.js +2 -2
  728. package/dist/modules/website_backend/screens/page-frame.js.map +1 -1
  729. package/dist/permission-catalogue.d.ts.map +1 -1
  730. package/dist/permission-catalogue.js +2 -0
  731. package/dist/permission-catalogue.js.map +1 -1
  732. package/dist/role-templates.d.ts.map +1 -1
  733. package/dist/role-templates.js +23 -3
  734. package/dist/role-templates.js.map +1 -1
  735. package/dist/scaffold/index.js +1 -1
  736. package/dist/ui/client/live-doc-shell.d.ts +27 -1
  737. package/dist/ui/client/live-doc-shell.d.ts.map +1 -1
  738. package/dist/ui/client/live-doc-shell.js +43 -5
  739. package/dist/ui/client/live-doc-shell.js.map +1 -1
  740. package/dist/ui/client/live-doc-tail.d.ts +4 -0
  741. package/dist/ui/client/live-doc-tail.d.ts.map +1 -0
  742. package/dist/ui/client/live-doc-tail.js +21 -0
  743. package/dist/ui/client/live-doc-tail.js.map +1 -0
  744. package/dist/ui/client/live-doc-view.d.ts +18 -0
  745. package/dist/ui/client/live-doc-view.d.ts.map +1 -1
  746. package/dist/ui/client/live-doc-view.js +183 -4
  747. package/dist/ui/client/live-doc-view.js.map +1 -1
  748. package/dist/ui/client/live-doc.css +81 -0
  749. package/dist/ui/client/live-doc.d.mts +6 -3
  750. package/dist/ui/client/live-doc.d.mts.map +1 -1
  751. package/dist/ui/client/live-doc.mjs +14 -10
  752. package/dist/ui/client/live-doc.mjs.map +4 -4
  753. package/dist/ui/client/record-modal-form.d.ts +10 -0
  754. package/dist/ui/client/record-modal-form.d.ts.map +1 -1
  755. package/dist/ui/client/record-modal-form.js +3 -1
  756. package/dist/ui/client/record-modal-form.js.map +1 -1
  757. package/dist/ui/client/record-modal.d.ts +9 -1
  758. package/dist/ui/client/record-modal.d.ts.map +1 -1
  759. package/dist/ui/client/record-modal.js +78 -17
  760. package/dist/ui/client/record-modal.js.map +1 -1
  761. package/dist/ui/index.d.ts +2 -2
  762. package/dist/ui/index.d.ts.map +1 -1
  763. package/dist/ui/index.js +2 -2
  764. package/dist/ui/index.js.map +1 -1
  765. package/dist/ui/layout.d.ts +2 -2
  766. package/dist/ui/layout.d.ts.map +1 -1
  767. package/dist/ui/layout.js +3 -3
  768. package/dist/ui/layout.js.map +1 -1
  769. package/dist/ui/record-modal.d.ts +3 -0
  770. package/dist/ui/record-modal.d.ts.map +1 -1
  771. package/dist/ui/record-modal.js +15 -1
  772. package/dist/ui/record-modal.js.map +1 -1
  773. package/package.json +4 -4
  774. package/dist/modules/flow/functions.d.ts +0 -3
  775. package/dist/modules/flow/functions.d.ts.map +0 -1
  776. package/dist/modules/flow/functions.js +0 -1857
  777. package/dist/modules/flow/functions.js.map +0 -1
  778. package/dist/modules/flow/operations.d.ts +0 -414
  779. package/dist/modules/flow/operations.d.ts.map +0 -1
  780. package/dist/modules/flow/operations.js +0 -1671
  781. package/dist/modules/flow/operations.js.map +0 -1
@@ -1,4 +1,4 @@
1
- declare var Hn: (e: any) => any, On: (e: any) => any, ci: (e: any) => any, Bn: (e: any) => any, Jn: (e: any) => any, Vn: {
1
+ declare var Ki: (e: any) => any, Bi: (e: any) => any, bn: (e: any) => any, Gi: (e: any) => any, Ui: (e: any) => any, Qi: {
2
2
  kind: string;
3
3
  labels: () => {
4
4
  "recordModal.close": string;
@@ -38,27 +38,27 @@ declare var Hn: (e: any) => any, On: (e: any) => any, ci: (e: any) => any, Bn: (
38
38
  title: (e: any) => any;
39
39
  description: (e: any) => any;
40
40
  status: (e: any) => any;
41
- header: typeof Hn;
41
+ header: typeof Ki;
42
42
  body: (e: any) => any;
43
43
  tabs: {
44
44
  id: string;
45
45
  label: (e: any) => any;
46
46
  visible: (e: any) => boolean;
47
- view: typeof On;
47
+ view: typeof Bi;
48
48
  }[];
49
49
  dialogs: {
50
50
  diagnostics: {
51
51
  title: (e: any) => any;
52
- view: typeof ci;
52
+ view: typeof bn;
53
53
  size: string;
54
54
  };
55
55
  assign: {
56
56
  title: (e: any) => any;
57
- view: typeof Bn;
57
+ view: typeof Gi;
58
58
  };
59
59
  role: {
60
60
  title: (e: any) => string;
61
- view: typeof Jn;
61
+ view: typeof Ui;
62
62
  };
63
63
  edit: {
64
64
  title: (e: any) => any;
@@ -214,12 +214,12 @@ declare var Hn: (e: any) => any, On: (e: any) => any, ci: (e: any) => any, Bn: (
214
214
  after: string;
215
215
  };
216
216
  };
217
- }, np: () => {
217
+ }, Eb: () => {
218
218
  view: () => any;
219
- mount: ({ root: s, lifetime: m }: {
219
+ mount: ({ root: d, lifetime: m }: {
220
220
  lifetime: any;
221
221
  root: any;
222
222
  }) => void;
223
223
  };
224
- export { np as userModal, Vn as userModalDefinition };
224
+ export { Eb as userModal, Qi as userModalDefinition };
225
225
  //# sourceMappingURL=user-modal.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/user_backend/client/user-modal.mjs"],"names":[],"mappings":"AAC0kvD,QAAA,IAAmtL,EAAE,iBAAqP,EAAC,EAAE,iBAAgwB,EAA2c,EAAE,iBAA4c,EAA0yJ,EAAE,iBAAgc,EAAsC,EAAE,iBAA6tC,EAA6wJ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAs7C,EAAE;gBAAM,IAAI;gBAAa,KAAK;gBAAc,KAAK;gBAAoB,UAAU;gBAAY,OAAO;gBAAoB,SAAS;gBAA4B,SAAS;gBAAwB,QAAQ;gBAAuB,6BAA6B;gBAAiB,cAAc;;;;;;;;;gBAAuK,MAAM;gBAAM,UAAU;gBAA2B,SAAS;;;;;;;gBAA8F,MAAM;gBAAM,UAAU;gBAA2B,SAAS;gBAA0B,gBAAgB;gBAAyB,eAAe;gBAAwB,6BAA6B;gBAAiB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAA0uC,MAAM;gBAAM,YAAY;gBAAkB,OAAO;gBAAwB,SAAS;gBAA+B,SAAS;gBAAmB,QAAQ;;;;;;;gBAAwG,MAAM;gBAAM,YAAY;gBAAkB,MAAM;gBAAsB,QAAQ;gBAA8B,6BAA6B;gBAAiB,cAAc;;;;;;;gBAAgE,EAAE;gBAAM,IAAI;gBAAa,KAAK;gBAAc,KAAK;gBAAoB,UAAU;gBAA+B,MAAM;gBAAgB,SAAS;;;;;CAA4C,EAAC,EAAE;;;;;;CAAO,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,SAAS,EAAC,EAAE,IAAI,mBAAmB,EAAC,CAAC"}
1
+ {"version":3,"file":"user-modal.d.mts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/user_backend/client/user-modal.mjs"],"names":[],"mappings":"AAC8pzD,QAAA,IAAmtL,EAAE,iBAAqP,EAAC,EAAE,iBAAgwB,EAA2c,EAAE,iBAA4c,EAA0yJ,EAAE,iBAAgc,EAAsC,EAAE,iBAA6tC,EAA6wJ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAs7C,EAAE;gBAAM,IAAI;gBAAa,KAAK;gBAAc,KAAK;gBAAoB,UAAU;gBAAY,OAAO;gBAAoB,SAAS;gBAA4B,SAAS;gBAAwB,QAAQ;gBAAuB,6BAA6B;gBAAiB,cAAc;;;;;;;;;gBAAuK,MAAM;gBAAM,UAAU;gBAA2B,SAAS;;;;;;;gBAA8F,MAAM;gBAAM,UAAU;gBAA2B,SAAS;gBAA0B,gBAAgB;gBAAyB,eAAe;gBAAwB,6BAA6B;gBAAiB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAA0uC,MAAM;gBAAM,YAAY;gBAAkB,OAAO;gBAAwB,SAAS;gBAA+B,SAAS;gBAAmB,QAAQ;;;;;;;gBAAwG,MAAM;gBAAM,YAAY;gBAAkB,MAAM;gBAAsB,QAAQ;gBAA8B,6BAA6B;gBAAiB,cAAc;;;;;;;gBAAgE,EAAE;gBAAM,IAAI;gBAAa,KAAK;gBAAc,KAAK;gBAAoB,UAAU;gBAA+B,MAAM;gBAAgB,SAAS;;;;;CAA4C,EAAC,EAAE;;;;;;CAAO,CAAC;AAAA,OAAM,EAAC,EAAE,IAAI,SAAS,EAAC,EAAE,IAAI,mBAAmB,EAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  // @ts-nocheck Generated by tools/build-backend-client.mjs — do not edit.
2
- import{each as Ci}from"/_ket/view/index.js";import{Fragment as Dt,jsx as q,jsxs as Pi}from"/_ket/view/jsx-runtime.js";var Ot=["action","action-leading","action-label","action-spinner","action-group"],at=e=>Pi(Dt,{children:[e.loading===!0&&q("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&q("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&q("span",{"data-ui":"action-label",children:e.label})]}),k=e=>q("button",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",type:e.type??"button",name:e.name??null,value:e.value??null,form:e.form??null,disabled:e.disabled===!0||e.loading===!0,"aria-busy":e.loading===!0?"true":null,"aria-describedby":e.describedBy??null,"aria-expanded":e.expanded===void 0?null:String(e.expanded),"aria-controls":e.controls??null,children:q(at,{...e})});var ce=e=>e.disabled||e.loading?q("button",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",type:"button",disabled:!0,"aria-busy":e.loading===!0?"true":null,"aria-describedby":e.describedBy??null,children:q(at,{...e})}):q("a",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",href:e.href,"aria-describedby":e.describedBy??null,children:q(at,{...e})}),Se=e=>q("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:Ci(e.actions,(t,a)=>a,t=>q(Dt,{children:t}))});import{jsx as Li,jsxs as Yn}from"/_ket/view/jsx-runtime.js";var It=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];var F=e=>Li("span",{"data-ui":"badge","data-pattern":"badge","data-tone":e.tone??"neutral","data-value":e.value??"",children:e.label});import{each as Mi}from"/_ket/view/index.js";import{Fragment as Xe,jsx as T,jsxs as ae}from"/_ket/view/jsx-runtime.js";var At=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"],Fi={info:()=>ae(Xe,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 16v-4"}),T("path",{d:"M12 8h.01"})]}),positive:()=>ae(Xe,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>ae(Xe,{children:[T("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),T("path",{d:"M12 9v4"}),T("path",{d:"M12 17h.01"})]}),danger:()=>ae(Xe,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 8v4"}),T("path",{d:"M12 16h.01"})]})},p=e=>ae("aside",{"data-ui":"notice","data-pattern":"notice","data-tone":e.tone??"info",role:e.tone==="danger"?"alert":"status",children:[T("span",{"data-ui":"notice-mark","aria-hidden":"true",children:T("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false",children:Fi[e.tone??"info"]()})}),ae("div",{"data-ui":"notice-copy",children:[T("p",{"data-ui":"notice-title",children:e.title}),T("p",{"data-ui":"notice-message",children:e.message})]}),e.actions!==void 0&&T("div",{"data-ui":"notice-actions",children:e.actions})]}),ue=e=>ae("div",{"data-ui":"empty",role:"status",children:[T("span",{"data-ui":"empty-mark","aria-hidden":"true",children:"\u25C7"}),T("p",{"data-ui":"empty-title",children:e.title}),T("p",{"data-ui":"empty-message",children:e.message}),e.actions!==void 0&&T("div",{"data-ui":"empty-actions",children:e.actions})]}),ke=e=>ae("div",{"data-ui":"loading",role:"status","aria-live":"polite",children:[T("span",{"data-ui":"loading-label",children:e.label}),T("div",{"data-ui":"skeleton","aria-hidden":"true",children:Mi(Array.from({length:Math.max(1,e.lines??3)}),(t,a)=>a,(t,a)=>T("span",{"data-ui":"skeleton-line","data-line":String(a+1)}))})]});import{each as ot}from"/_ket/view/index.js";import{each as Ai}from"/_ket/view/index.js";import{jsx as V,jsxs as De}from"/_ket/view/jsx-runtime.js";var Kt=["modal-layer","modal-backdrop","modal-sheet","modal-head","modal-heading","modal-title-row","modal-title","modal-description","modal-close","modal-body","modal-actions"],me=e=>{let t=e.mode==="client",a=e.mode==="embedded";return De("div",{"data-ui":"modal-layer","data-mode":e.mode??"overlay","data-route-modal":a||t?null:"true","data-client-modal":t?"true":null,"data-presentation":e.presentation??"sheet","data-unsaved-prompt":e.unsavedPrompt??null,children:[t?V("button",{"data-ui":"modal-backdrop",type:"button","aria-hidden":"true",tabIndex:-1,children:V("span",{children:e.closeLabel})}):V("a",{"data-ui":"modal-backdrop",href:e.closeHref??"#","aria-label":e.closeLabel,children:V("span",{children:e.closeLabel})}),De("section",{id:e.id,"data-ui":"modal-sheet","data-size":e.size??"default","data-height":e.height==="fixed"?"fixed":null,style:e.height==="fixed"&&e.fixedHeight?`height: ${e.fixedHeight} !important`:"",...e.dialogSemantics==="parent"?{}:{role:"dialog","aria-modal":a?"false":"true"},"aria-labelledby":e.dialogSemantics==="parent"?null:`${e.id}-title`,"aria-describedby":e.dialogSemantics!=="parent"&&e.description?`${e.id}-description`:null,tabindex:a?null:"-1",children:[De("header",{"data-ui":"modal-head",children:[De("div",{"data-ui":"modal-heading",children:[De("div",{"data-ui":"modal-title-row",children:[V("h2",{"data-ui":"modal-title",id:`${e.id}-title`,children:e.title}),e.status!==void 0&&e.status]}),!!e.description&&V("p",{"data-ui":"modal-description",id:`${e.id}-description`,children:e.description})]}),t?V("button",{"data-ui":"modal-close",type:"button","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"}):V("a",{"data-ui":"modal-close",href:e.closeHref??"#","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"})]}),V("div",{"data-ui":"modal-body",children:e.body}),e.actions!==void 0&&V("footer",{"data-ui":"modal-actions",children:e.actions})]})]})};import{Fragment as sr,jsx as or,jsxs as lr}from"/_ket/view/jsx-runtime.js";import{Fragment as pr,jsx as gr,jsxs as fr}from"/_ket/view/jsx-runtime.js";var Bt=["app-shell","app-shell-topbar","app-topbar","app-location-bar","app-location-context","app-brand","app-topbar-brand","app-topbar-context","global-search-trigger","global-search-trigger-label","global-search-shortcut","global-search-dialog","global-search","global-search-input","global-search-submit","app-sidebar","app-main","app-right-rail","page","page-context","page-header","page-heading","page-eyebrow","page-title-row","page-title","page-description","page-subline","page-status","page-actions","page-meta","page-body","record-canvas","record-content","record-section","record-section-title"];import{Fragment as Jt,jsx as E,jsxs as ge}from"/_ket/view/jsx-runtime.js";var Nt=["stack","inline","grid","card-grid","surface","surface-head","surface-heading","surface-title","surface-description","surface-actions","disclosure","disclosure-summary","disclosure-body","section","section-head","section-eyebrow","section-title","section-description","section-actions","section-body","content-card","card-media","card-head","card-leading","card-heading","card-eyebrow","card-title","card-summary","card-status","card-body","card-meta","card-actions","kanban","kanban-card","kanban-media","kanban-title","kanban-meta","kanban-note","kanban-actions","metric","metric-icon","metric-label","metric-value","metric-detail"],Ki=e=>E(Jt,{children:Ai(e.items,(t,a)=>a,t=>typeof t=="string"||typeof t=="number"?E("span",{children:t}):E(Jt,{children:t}))}),R=e=>E("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default",children:E(Ki,{items:e.items})});var nt=e=>ge("div",{"data-ui":"surface","data-tone":e.tone??"default","data-padding":e.padding??"default","data-has-heading":e.title?"true":null,children:[e.title&&ge("header",{"data-ui":"surface-head",children:[e.description?ge("div",{"data-ui":"surface-heading",children:[E("h2",{"data-ui":"surface-title",children:e.title}),E("p",{"data-ui":"surface-description",children:e.description})]}):E("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&E("div",{"data-ui":"surface-actions",children:e.actions})]}),e.body]}),we=e=>ge("details",{"data-ui":"disclosure",open:e.open===!0?!0:void 0,children:[E("summary",{"data-ui":"disclosure-summary",children:e.summary}),E("div",{"data-ui":"disclosure-body",children:e.body})]}),P=e=>ge("section",{"data-ui":"section",children:[ge("header",{"data-ui":"section-head",children:[ge("div",{children:[!!e.eyebrow&&E("p",{"data-ui":"section-eyebrow",children:e.eyebrow}),E("h2",{"data-ui":"section-title",children:e.title}),!!e.description&&E("p",{"data-ui":"section-description",children:e.description})]}),e.actions!==void 0&&E("div",{"data-ui":"section-actions",children:e.actions})]}),E("div",{"data-ui":"section-body",children:e.body})]});import{each as $i}from"/_ket/view/index.js";import{Fragment as Bi,jsx as Ie}from"/_ket/view/jsx-runtime.js";var rt=(e,t)=>e.control!==void 0?Ie(Bi,{children:e.control}):e.type==="textarea"?Ie("textarea",{"data-ui":"field-control",id:e.id,name:e.name,placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:String(e.value??"")}):e.type==="select"?Ie("select",{"data-ui":"field-control",id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:$i(e.options??[],a=>a.value,a=>Ie("option",{value:a.value,selected:String(e.value??"")===a.value,disabled:a.disabled===!0,children:a.label}))}):Ie("input",{"data-ui":"field-control",id:e.id,type:e.type==="decimal"?"number":e.type??"text",name:e.name,value:e.type==="checkbox"?"1":String(e.value??""),checked:e.type==="checkbox"&&(e.value===!0||e.value==="1"),placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,min:e.min,max:e.max,"aria-invalid":e.error?"true":null,"aria-describedby":t,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as L,jsxs as Q}from"/_ket/view/jsx-runtime.js";var Xt=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"],qt=e=>!!e.error||(e.fields?.some(qt)??!1),fe=e=>{let t=e.help?`${e.id}-help`:null,a=e.error?`${e.id}-error`:null,n=[t,a].filter(Boolean).join(" ")||null,r=Q("span",{"data-ui":"field-label",children:[e.label,e.required&&L("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?Q("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[L(we,{summary:e.label,open:e.open||qt(e),body:L("div",{"data-ui":"form-grid",children:ot(e.fields.map(o=>({...o,disabled:e.disabled||o.disabled,readOnly:e.readOnly||o.readOnly})),o=>o.id,o=>L(fe,{...o}))})}),!!e.help&&L("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&L("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="checkbox-group"?Q("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[Q("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&L("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),L("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"group","aria-labelledby":`${e.id}-label`,children:ot(e.options??[],o=>o.name??o.value,o=>Q("label",{"data-ui":"field-option",children:[L("input",{"data-ui":"field-option-input",type:"checkbox",name:o.name??`${e.name}[]`,value:o.value,checked:o.checked===!0,disabled:e.disabled===!0||o.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":n,autocomplete:"off"}),L("span",{children:o.label})]}))}),!!e.help&&L("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&L("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="radio"?Q("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[Q("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&L("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),L("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"radiogroup","aria-labelledby":`${e.id}-label`,children:ot(e.options??[],o=>o.value,o=>Q("label",{"data-ui":"field-option",children:[L("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:o.value,checked:String(e.value??"")===o.value,required:e.required===!0,disabled:e.disabled===!0||o.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":n,autocomplete:"off"}),L("span",{children:o.label})]}))}),!!e.help&&L("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&L("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):Q("label",{"data-ui":"field","data-kind":e.type??"text","data-span":e.span??"half","data-invalid":String(!!e.error),for:e.id,children:[e.type==="checkbox"&&rt(e,n),r,e.type!=="checkbox"&&rt(e,n),!!e.help&&L("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&L("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]})};import{each as Ji}from"/_ket/view/index.js";import{jsx as Te,jsxs as st}from"/_ket/view/jsx-runtime.js";var Gt=["breadcrumbs","breadcrumb","breadcrumb-overflow","breadcrumb-overflow-trigger","breadcrumb-overflow-list","nav-list","nav-item","nav-item-leading","nav-item-label","nav-item-count","tabs","tab","tab-count","tabbed-view","tabbed-view-context","tab-panel"];var zt=e=>st("a",{"data-ui":"tab","data-active":e.active===!0?"true":null,id:e.elementId,href:e.href,"aria-current":e.active===!0?"page":null,"aria-controls":e.controls,children:[e.label,e.count!==void 0&&Te("span",{"data-ui":"tab-count",children:String(e.count)})]}),_t=(e,t)=>`${e}-${t.replace(/[^a-zA-Z0-9_-]+/gu,"-")}-tab`,Vt=e=>st("nav",{"data-ui":"tabs","data-pattern":"tabs","aria-label":e.label,children:[Ji(e.items,t=>t.id,t=>Te(zt,{...t,elementId:e.id?_t(e.id,t.id):void 0,controls:e.panelId})),e.extension]}),Ut=e=>Te("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),lt=e=>{let t=`${e.id}-tabs`,a=`${e.id}-panel`,n=e.items.find(r=>r.active===!0);return st("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?Te("div",{"data-ui":"tabbed-view-context",children:e.context}):"",Te(Vt,{id:t,label:e.label,items:e.items,extension:e.extension,panelId:a}),Te(Ut,{id:a,labelledBy:n?_t(t,n.id):void 0,body:e.body})]})};import{jsx as Kr,jsxs as $r}from"/_ket/view/jsx-runtime.js";var Wt=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as Nr}from"/_ket/view/index.js";import{Fragment as zr,jsx as qr,jsxs as Gr}from"/_ket/view/jsx-runtime.js";var Zt=["menu","menu-trigger","menu-trigger-count","menu-panel","menu-search","menu-search-input","menu-label","menu-separator","menu-item","menu-item-leading","menu-item-copy","menu-item-check","menu-item-shortcut"];import{jsx as Ur,jsxs as Wr}from"/_ket/view/jsx-runtime.js";var jt=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as Yr,jsxs as Qr}from"/_ket/view/jsx-runtime.js";var Yt=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as no}from"/_ket/view/jsx-runtime.js";var Qt=["dialog","confirm-dialog-message"];import{each as lo}from"/_ket/view/index.js";import{jsx as co,jsxs as uo}from"/_ket/view/jsx-runtime.js";var ea=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as fo}from"/_ket/view/jsx-runtime.js";var ta=["spinner","visually-hidden"];import{each as ho}from"/_ket/view/index.js";import{jsx as vo}from"/_ket/view/jsx-runtime.js";var aa=["skeleton","skeleton-line"];import{each as ko,effect as wo,signal as To}from"/_ket/view/index.js";import{jsx as Po,jsxs as Co}from"/_ket/view/jsx-runtime.js";var ia=["relation-select","relation-native","relation-trigger","relation-value","relation-caret","relation-chips","relation-chip","relation-chip-clear","relation-menu","relation-search","relation-options","relation-option","relation-footer","relation-empty","relation-editor","relation-dialog-toolbar","relation-search-field","relation-search-icon","relation-dialog-list","relation-dialog-row","relation-dialog-main","relation-dialog-meta","relation-dialog-actions"];import{each as Fo,signal as Eo}from"/_ket/view/index.js";import{jsx as Oo,jsxs as Do}from"/_ket/view/jsx-runtime.js";var na=["lightbox","lightbox-thumbs","lightbox-thumb","lightbox-empty","lightbox-layer","lightbox-backdrop","lightbox-toolbar","lightbox-counter","lightbox-tool","lightbox-stage","lightbox-image","lightbox-nav","lightbox-caption"];import{each as $o,signal as Bo}from"/_ket/view/index.js";import{Fragment as qo,jsx as Xo,jsxs as No}from"/_ket/view/jsx-runtime.js";var ra=["search-filter","search-filter-bar","search-filter-section-toggle","search-filter-sheet","search-filter-clear","search-filter-icon","search-filter-field","search-filter-input","search-filter-facets","search-filter-facet","search-filter-facet-remove","search-filter-suggestions","search-filter-suggestion","search-filter-toggle","search-filter-columns","search-filter-column","search-filter-column-title","search-filter-empty","search-filter-grouping","search-filter-grouping-head","search-filter-grouping-list","search-filter-grouping-item","search-filter-grouping-order","search-filter-grouping-label","search-filter-grouping-actions","search-filter-grouping-action","search-filter-grouping-clear","search-filter-grouping-add-label","custom-filter","custom-filter-row","custom-filter-add","custom-group-by","favorite-list","favorite-item","favorite-item-default","favorite-item-remove","favorite-save","favorite-save-toggle","favorite-save-row"];import{each as Wo,effect as Zo,signal as jo}from"/_ket/view/index.js";import{jsx as _o}from"/_ket/view/jsx-runtime.js";var oa=["formatted-date","formatted-number","formatted-money"];import{Fragment as al,jsx as il,jsxs as nl}from"/_ket/view/jsx-runtime.js";var sa=["ket-table","kt-scroll","kt-selection-target","kt-grid","kt-select-col","kt-select-all","kt-col","kt-sort-button","kt-sort-icon","kt-row","kt-cell","kt-person","kt-select-cell","kt-row-select","kt-row-link","kt-group-row","kt-group-cell","kt-group-toggle","kt-group-indent","kt-group-count","kt-group-pager","kt-pager","kt-pager-label","kt-pager-button","kt-select-persisted","kt-caption","kt-tools"];var ol=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var zi=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],ll=zi.map(e=>`${e}[open]`).join(", ");import{jsx as cl,jsxs as ul}from"/_ket/view/jsx-runtime.js";import{jsx as bl,jsxs as hl}from"/_ket/view/jsx-runtime.js";var ua=["switch-control","switch-track"];import{each as xl}from"/_ket/view/index.js";import{Fragment as Rl,jsx as wl,jsxs as Tl}from"/_ket/view/jsx-runtime.js";var ma=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{jsx as Fl,jsxs as El}from"/_ket/view/jsx-runtime.js";var ga=["date-range"];import{jsx as Il,jsxs as Al}from"/_ket/view/jsx-runtime.js";var fa=["file-upload","drop-zone","upload-status"];import{jsx as Jl}from"/_ket/view/jsx-runtime.js";var pa=["relation-picker"];import{each as ql}from"/_ket/view/index.js";import{jsx as Vl,jsxs as Ul}from"/_ket/view/jsx-runtime.js";var ba=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Yl,jsxs as Ql}from"/_ket/view/jsx-runtime.js";var ha=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as ms}from"/_ket/view/index.js";import{each as ns}from"/_ket/view/index.js";import{Fragment as ds,jsx as ls,jsxs as ss}from"/_ket/view/jsx-runtime.js";var ya=["list-chrome","list-chrome-row","list-search","list-search-label","list-search-input","list-search-submit","list-filter-menus","list-facets","list-facet","list-facet-count","list-view-switch","list-view","list-sort","list-sort-label","list-sort-select","list-status","list-actions","bulk-actions","bulk-summary","bulk-count","bulk-action-list","pager-bar","pager-summary","pager-pages","pager-page","pager-actions","pager-link"];import{jsx as bs,jsxs as hs}from"/_ket/view/jsx-runtime.js";var va=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as xs}from"/_ket/view/index.js";import{jsx as ks,jsxs as ws}from"/_ket/view/jsx-runtime.js";var xa=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as Cs}from"/_ket/view/index.js";import{jsx as Ls,jsxs as Ms}from"/_ket/view/jsx-runtime.js";var Sa=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as Hs}from"/_ket/view/index.js";import{jsx as Ds,jsxs as Is}from"/_ket/view/jsx-runtime.js";var ka=["data-matrix","data-matrix-head","data-matrix-heading","data-matrix-eyebrow","data-matrix-title","data-matrix-description","data-matrix-summary","data-matrix-scroll","data-matrix-table","data-matrix-column","data-matrix-row-head","data-matrix-row-leading","data-matrix-row-title","data-matrix-row-description","data-matrix-row-status","data-matrix-row-actions","data-matrix-cell"];import{each as $s}from"/_ket/view/index.js";import{jsx as Js,jsxs as Ns}from"/_ket/view/jsx-runtime.js";var wa=["bar-chart","bar-chart-rows","bar-chart-row","bar-chart-label","bar-chart-caption","bar-chart-track","bar-chart-fill","bar-chart-segment","bar-chart-value","bar-chart-scale","bar-chart-legend","bar-chart-legend-item","bar-chart-legend-swatch","bar-chart-empty"];import{each as Gs}from"/_ket/view/index.js";import{jsx as _s,jsxs as Vs}from"/_ket/view/jsx-runtime.js";var Ta=["timeframe","timeframe-menu","timeframe-trigger","timeframe-label","timeframe-value","timeframe-content","timeframe-option","timeframe-option-label","timeframe-option-detail","timeframe-range","timeframe-asof","timeframe-note"];import{each as Wi}from"/_ket/view/index.js";import{jsx as qe,jsxs as Zi}from"/_ket/view/jsx-runtime.js";var Ra=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"],Ca=e=>Zi("div",{"data-ui":"key-value",children:[qe("dt",{"data-ui":"key-value-label",children:e.label}),qe("dd",{"data-ui":"key-value-value",children:e.value??e.emptyLabel??"\u2014"})]}),U=e=>qe("dl",{"data-ui":"description-list","aria-label":e.label,"data-columns":String(e.columns??2),children:Wi(e.items,t=>t.id,t=>qe(Ca,{...t}))});import{each as ed}from"/_ket/view/index.js";import{jsx as rd,jsxs as od}from"/_ket/view/jsx-runtime.js";var La=["record-summary","record-summary-main","record-actions","record-rail"];import{each as dd}from"/_ket/view/index.js";import{jsx as gd,jsxs as fd}from"/_ket/view/jsx-runtime.js";var Ma=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as hd}from"/_ket/view/index.js";import{jsx as xd,jsxs as Sd}from"/_ket/view/jsx-runtime.js";var Fa=["attachments","attachment","media-gallery","media-item"];import{each as Td}from"/_ket/view/index.js";import{Fragment as Ld,jsx as Cd,jsxs as Pd}from"/_ket/view/jsx-runtime.js";var Ea=["app-navigation","navigation-trigger","navigation-toggle","navigation-trigger-icon","navigation-trigger-identity","navigation-trigger-label","navigation-layer","navigation-backdrop","navigation-drawer","navigation-header","navigation-identity","navigation-context","navigation-close","navigation-groups","navigation-group","navigation-group-label","navigation-items","navigation-supplementary","navigation-item","navigation-branch","navigation-branch-trigger","navigation-children","navigation-item-leading","navigation-item-copy","navigation-item-label","navigation-item-description","navigation-item-count","navigation-footer"];import{each as Re}from"/_ket/view/index.js";import{Fragment as Ka,jsx as w,jsxs as ie}from"/_ket/view/jsx-runtime.js";var Ha=["table-scroll","table","table-caption","select-col","select-all","col","sort-link","sort-icon","row","group-row","group-cell","group-link","group-indent","group-count","group-pager","group-pager-actions","cell","select-cell","row-select","row-link"],Yi=e=>e.shownColumns??e.columns.filter(t=>t.hidden!==!0).map(t=>t.key),Qi=e=>{let t=new Set(Yi(e));return e.columns.filter(a=>t.has(a.key))},Oa=(e,t)=>t.length+(e.selection?1:0),en=(e,t)=>e.sort?.direction?e.sort.direction==="ascending"?t?.sortedAscending??"Sorted ascending":t?.sortedDescending??"Sorted descending":null,tn=(e,t)=>w("th",{"data-ui":"col","data-col":e.key,"data-align":e.align??"start","data-kind":e.kind??"text","data-width":e.width??null,"data-optional":e.optional===!0?"true":null,"data-sort":e.sort?.direction??null,"aria-sort":e.sort?.direction??null,scope:"col",children:e.sort?ie("a",{"data-ui":"sort-link",href:e.sort.href,"aria-label":e.sort.label??e.label,children:[w("span",{children:e.label}),!!e.sort.direction&&w("span",{"data-ui":"sort-icon","aria-hidden":"true",title:en(e,t)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),an=e=>e.selection?w("th",{"data-ui":"select-col",scope:"col",children:w("input",{"data-ui":"select-all",type:"checkbox",name:e.selection.selectAllName??"select-all","aria-label":e.labels?.selectAll??"Select all rows",disabled:e.selection.disabled===!0})}):null,Da=(e,t)=>e.selected?.(t)===!0?!0:e.selection?.selectedIds?.includes(e.id(t))===!0,nn=(e,t,a)=>ie(Ka,{children:[e.selection&&w("td",{"data-ui":"select-cell",children:w("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(a),checked:Da(e,a),"aria-label":e.labels?.selectRow?.(a,e.id(a))??`Select row ${e.id(a)}`,disabled:e.selection.disabled===!0})}),Re(t,n=>n.key,n=>w("td",{"data-ui":"cell","data-col":n.key,"data-linked":e.rowHref&&n===t[0]?"true":null,"data-align":n.align??"start","data-kind":n.kind??"text","data-priority":n.priority??"secondary","data-label":e.responsive==="stack"?n.label:null,children:e.rowHref&&n===t[0]?w("a",{"data-ui":"row-link",href:e.rowHref(a),children:n.cell(a)}):n.cell(a)}))]}),Ia=(e,t,a)=>w("tr",{"data-ui":"row","data-row":e.id(a),"data-selected":Da(e,a)?"true":null,children:nn(e,t,a)}),rn=(e,t,a)=>a?w("tr",{"data-ui":"group-pager",children:ie("td",{colSpan:String(Oa(e,t)),children:[w("span",{children:a.label}),ie("span",{"data-ui":"group-pager-actions",children:[a.previousHref&&w("a",{href:a.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),a.nextHref&&w("a",{href:a.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,Aa=(e,t,a,n)=>ie(Ka,{children:[w("tr",{"data-ui":"group-row","data-group":a.id,"data-depth":String(n),children:ie("th",{"data-ui":"group-cell",colSpan:String(Oa(e,t)),scope:"rowgroup",children:[w("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${n}`,"aria-hidden":"true"}),a.href?w("a",{"data-ui":"group-link",href:a.href,children:a.label}):w("span",{"data-ui":"group-link",children:a.label}),a.count!==void 0&&w("span",{"data-ui":"group-count",children:String(a.count)})]})}),Re(a.rows??[],e.id,r=>Ia(e,t,r)),Re(a.children??[],r=>r.id,r=>Aa(e,t,r,n+1)),rn(e,t,a.pager)]}),G=e=>{let t=Qi(e),a=e.groups??[],r=e.rows.length>0||a.length>0?w("div",{"data-ui":"table-scroll","data-pattern":"data-table","data-framed":e.title?"false":null,"data-responsive":e.responsive??"scroll","data-gutter":e.gutter==="compact"?"compact":null,children:ie("table",{"data-ui":"table","aria-label":e.caption?null:e.title??null,children:[!!e.caption&&w("caption",{"data-ui":"table-caption",children:e.caption}),w("thead",{children:ie("tr",{children:[an(e),Re(t,o=>o.key,o=>tn(o,e.labels))]})}),w("tbody",{children:a.length>0?Re(a,o=>o.id,o=>Aa(e,t,o,0)):Re(e.rows,e.id,o=>Ia(e,t,o))})]})}):w(ue,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?w(nt,{title:e.title,actions:e.actions,padding:"none",body:r}):r};import{Fragment as Gd,jsx as qd,jsxs as zd}from"/_ket/view/jsx-runtime.js";var $a=["list-page","list-page-context","list-page-header","list-page-heading","list-page-title-row","list-page-eyebrow","list-page-title","list-page-description","list-page-actions","list-page-tools","list-page-toolbar","list-page-controls","list-page-status","list-page-body","list-page-footer"];import{jsx as Wd,jsxs as Zd}from"/_ket/view/jsx-runtime.js";var Ba=["record-page","record-page-context","record-page-header","record-page-title-row","record-page-heading","record-page-title","record-page-subline","record-page-status","record-page-description","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var Ja=["form-page","form-page-context","form-page-header","form-page-title-row","form-page-heading","form-page-title","form-page-subline","form-page-status","form-page-description","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as rc,jsxs as oc}from"/_ket/view/jsx-runtime.js";var Na=["dashboard-page","dashboard-page-context","dashboard-page-header","dashboard-page-heading","dashboard-page-eyebrow","dashboard-page-title-row","dashboard-page-title","dashboard-page-subline","dashboard-page-status","dashboard-page-description","dashboard-page-actions","dashboard-page-meta","dashboard-page-body"];var Xa=["board-page","board-page-context","board-page-header","board-page-heading","board-page-eyebrow","board-page-title-row","board-page-title","board-page-subline","board-page-status","board-page-description","board-page-actions","board-page-meta","board-page-toolbar","board-page-controls","board-page-body"];import{each as pc}from"/_ket/view/index.js";import{jsx as hc,jsxs as yc}from"/_ket/view/jsx-runtime.js";var qa=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as wc}from"/_ket/view/index.js";import{jsx as Pc,jsxs as Lc}from"/_ket/view/jsx-runtime.js";var Ga=["record-form","form-errors","form-grid","form-actions"];import{each as Ac}from"/_ket/view/index.js";import{jsx as Jc,jsxs as Nc}from"/_ket/view/jsx-runtime.js";var za=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var _a={actions:Ot,feedback:At,fields:Xt,status:It,navigation:Gt,progress:Wt,menu:Zt,reorderList:za,popover:jt,tooltip:Yt,dialog:Qt,toast:ea,spinner:ta,skeleton:aa,lightbox:na,relationSelect:ia,searchFilter:ra,ketTable:sa,scalarFields:ua,combobox:ma,dateTime:ga,upload:fa,relationPicker:pa,listControls:ba,inlineEdit:ha,resourceList:va,dataGrid:xa,tree:Sa,matrix:ka,barChart:wa,timeframe:Ta,recordDisplay:Ra,formattedValues:oa,recordComposition:La,activity:Ma,media:Fa,layouts:Nt,shell:Bt,appNavigation:Ea,table:Ha,listChrome:ya,listPage:$a,formPage:Ja,recordPage:Ba,dashboardPage:Na,boardPage:Xa,modal:Kt,pipeline:qa,form:Ga},ln=[...new Set(Object.values(_a).flat())].sort(),sn=Object.freeze(Object.fromEntries(Object.entries(_a).map(([e,t])=>[e,[...t]])));import{signal as I}from"/_ket/view/index.js";import{jsx as cn}from"/_ket/view/jsx-runtime.js";var Ge="record";var dn=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,Va=e=>dn.test(e),ct=(e,t)=>{if(!Va(t.kind))throw new TypeError(`invalid record kind "${t.kind}"`);let a=new URL(String(e),"http://ket.local");return a.searchParams.set(Ge,`${t.kind}:${t.id}`),t.tab?a.searchParams.set("tab",t.tab):a.searchParams.delete("tab"),`${a.pathname}${a.search}`};var Ua=e=>{let t=new URL(String(e),"http://ket.local");return t.searchParams.delete(Ge),t.searchParams.delete("tab"),`${t.pathname}${t.search}`},Ce=e=>{let t=new URL(String(e),"http://ket.local"),a=t.searchParams.get(Ge)??"",n=a.indexOf(":");if(n<=0||n===a.length-1)return null;let r=a.slice(0,n);return Va(r)?{kind:r,id:a.slice(n+1),tab:t.searchParams.get("tab")}:null},ut=e=>cn("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{jsx as pe,jsxs as un}from"/_ket/view/jsx-runtime.js";var J=e=>un("form",{"data-ui":"record-form",method:"post",action:"","data-record-kind":e.kind,id:e.id,"data-record-dirty":e.dirty===!0?"true":null,children:[e.command?pe("input",{type:"hidden",name:N,value:e.command,autocomplete:"off"}):"",Object.entries(e.hidden??{}).map(([t,a])=>pe("input",{type:"hidden",name:t,value:a,autocomplete:"off"})),pe("div",{"data-ui":"form-grid",children:e.fields.map(t=>fe(t))}),e.body,e.actions?.length?pe("div",{"data-ui":"form-actions",children:Se({actions:e.actions})}):""]}),mt=e=>pe("select",{"data-ui":"field-control","data-record-state":e.state,id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.invalid?"true":null,children:e.options.map(t=>pe("option",{value:t.value,selected:t.value===e.value,children:t.label}))}),Pe=e=>pe("span",{"data-record-dialog":e.dialog,"data-record-param-id":e.id??null,children:e.children});import{Fragment as Ae,jsx as Vf,jsxs as Ke}from"/_ket/view/jsx-runtime.js";var Za=e=>{let t=e??{};return(Array.isArray(t.errors)?t.errors:Array.isArray(t.issues)?t.issues:[]).map(n=>{let r=n??{},o=Array.isArray(r.path)?r.path.join("."):null;return{field:typeof r.field=="string"?r.field:o,code:String(r.code??"invalid"),message:typeof r.message=="string"?r.message:null,params:r.params&&typeof r.params=="object"?r.params:{}}})},ii=async(e,t,a={})=>{let n=new URL(e,"https://record.invalid");if(n.origin!=="https://record.invalid"||!e.startsWith("/")||e.startsWith("//"))throw new Error("Record commands require a same-origin route");let r=await fetch(n.pathname+n.search,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...a.idempotencyKey?{"idempotency-key":a.idempotencyKey}:{}},body:JSON.stringify(t),signal:a.signal}),o=await r.json().catch(()=>({}));if(!r.ok||o.ok===!1)return{ok:!1,issues:Za(o.error??o),message:r.status>=500?null:o.error?.message??o.message??null,status:r.status};let b=o.value;return b&&typeof b=="object"&&b.ok===!1?{ok:!1,issues:Za(b),message:null,status:r.status}:{ok:!0,value:o.value}},ja=(e,t,a={})=>ii(`/_ket/fn/${encodeURIComponent(e)}`,t,a),mn=async(e,t)=>{let a=new URL(e,location.href);if(a.origin!==location.origin)throw new Error("Record context must stay same-origin");let n=await fetch(a.href,{credentials:"same-origin",signal:t,headers:{accept:"application/json"}});return n.ok?{ok:!0,value:await n.json()}:{ok:!1,issues:[],message:null,status:n.status}},gn=30,fn=Object.freeze({"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The change is in.","recordModal.unsaved":"Discard what you typed?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}),_e=(e,t)=>t.messages?.[e]??t.previous?.[e]??t.labels?.[e]??fn[e]??(/^E_[A-Z_]+$/u.test(e)?_e("recordModal.saveFailed",t):e),pn=(e,t)=>{let a=_e(e,t);return a===e?_e("recordModal.saveFailed",t):a},N="__command",Ya="data-record-dialog",Qa=(e,t={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(a,n)=>n in t?String(t[n]??""):a),ni=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),ei=e=>[...e.querySelectorAll(ni)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]'));var bn=e=>{let t=[],a=e;for(;a&&a!==document.body;){let n=a.parentElement;if(!n)break;for(let r of n.children)r instanceof HTMLElement&&r!==a&&!r.matches("script, style, template")&&(t.push({element:r,inert:r.inert}),r.inert=!0);a=n}return()=>{for(let{element:n,inert:r}of t)n.inert=r}},ti=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,hn=e=>Object.entries(e.values).some(([t,a])=>a!==e.initialValues[t])||Object.entries(e.checks).some(([t,a])=>a!==e.initialChecks[t]),A=()=>({values:{},checks:{},initialValues:{},initialChecks:{}}),ai=(e,t)=>`${e}\0${t}`,ze="__all:",gt=e=>e.after??"close",yn=400,vn=(e,t=yn)=>{let a,n=()=>{clearTimeout(a),a=void 0};return{set:r=>{if(n(),!r){e(!1);return}a=setTimeout(()=>e(!0),t)},stop:n}},xn='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',Sn=e=>{let t=e?.closest("a[href]");return t?t.target&&t.target!=="_self"?null:t.href:e?.closest(xn)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},ri=e=>()=>{let t=I(null),a=I("idle"),n=I(null),r=I(null),o=I([]),b=I(A()),O=I(A()),wt=I(!1),Tt=I(!1),Rt=vn(s=>Tt.set(s)),Le=I(!1),Ct=s=>{wt.set(s),Rt.set(s),s&&Le.set(!1)},K=I(null),Me=I(0),oe=I({}),W=I(null),z=new Map,xi=(s,m)=>{for(z.delete(s),z.set(s,m);z.size>gn;)z.delete(z.keys().next().value)},D=null,$e=null,Be=!1,Ye=null,_=null,be=null,Fe=null,Si=()=>typeof e.labels=="function"?e.labels():e.labels??{},Pt=()=>({messages:n()?.messages,previous:Fe,labels:Si()}),Z=(s,m)=>Qa(_e(s,Pt()),m),Lt=s=>s.message??Qa(pn(s.code,Pt()),s.params),Mt=s=>[...e.tabs??[],...e.extensionTabs?.(s)??[]].filter(m=>m.visible?.(s)??!0),Je=(s,m,g="record")=>{let u=()=>g==="dialog"?O():b(),c={kind:e.kind,id:s.id,creating:s.id==="new",tab:s.tab,data:m,t:Z,fieldError:y=>{let l=o().find(d=>d.field===y);return l?Lt(l):null},draft:(y,l="")=>{let d=u();return d.initialValues[y]??=l,d.values[y]??l},draftChecked:(y,l="1",d=!1)=>{let f=u(),S=ai(y,l);return f.initialChecks[S]??=d,f.checks[S]??d},outcome:y=>{let l=W();return l?.command===y?l.value:null},busy:Tt(),dialog:K(),href:y=>ct(location.href,{kind:e.kind,id:s.id,tab:y}),state:(y,l="")=>oe()[y]??l},v=Mt(c);return v.length&&!v.some(y=>y.id===s.tab)&&(c.tab=v[0].id),c},le=async(s,m=!1)=>{$e?.abort();let g=new AbortController;$e=g;let u=e.cache===!1?void 0:z.get(s);u&&(Fe=u.messages??Fe,n.set(u),a.set("ready"),m=!0),m||a.set("loading"),r.set(null);try{let c=s==="new",v="route"in e.context?await mn(e.context.route(s,c),g.signal):await ja(e.context.fn,e.context.input?e.context.input(s,c):c?{}:{id:s},{signal:g.signal});if(g.signal.aborted)return;if(!v.ok||!v.value){r.set(v.ok?"recordModal.notFound":v.message??"recordModal.loadFailed"),a.set("error");return}Fe=v.value.messages??Fe,e.cache!==!1&&xi(s,v.value),n.set(v.value),a.set("ready")}catch(c){if(g.signal.aborted||c?.name==="AbortError")return;r.set("recordModal.loadFailed"),a.set("error")}},Ne=()=>D?[...D.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],he=()=>Ne()[0]??null,Qe=()=>Ne().at(-1)??null,ye=0,ve=()=>{if(e.fixedHeight||a()!=="ready")return;let s=he()?.querySelector('[data-ui="modal-sheet"][data-height="fixed"]');if(!s)return;if(window.matchMedia("(max-width: 47.9375rem)").matches){s.style.setProperty("height","100dvh","important"),s.style.removeProperty("min-height");return}let m=s.querySelector('[data-ui="tabbed-view"]');if(!m)return;let g=m.querySelector('[data-ui="tab-panel"]'),u=g?.scrollTop??0;s.style.setProperty("height","auto","important"),s.style.setProperty("min-height","0"),m.style.setProperty("height","auto"),ye=Math.max(ye,Math.ceil(s.getBoundingClientRect().height)),m.style.removeProperty("height");let c=getComputedStyle(s).maxHeight;s.style.setProperty("min-height",c==="none"?`${ye}px`:`min(${ye}px, ${c})`),g&&(g.scrollTop=u)},se=(s,m)=>{if(!s)return;let g=m==="dialog"?O():b(),u={values:{...g.values},checks:{...g.checks},initialValues:{...g.initialValues},initialChecks:{...g.initialChecks}};for(let c of s.querySelectorAll("input[name], select[name], textarea[name]"))if(!(c.disabled||c.name===N)){if(c instanceof HTMLInputElement){if(c.type==="file"||c.type==="hidden")continue;if(c.type==="checkbox"||c.type==="radio"){let v=ai(c.name,c.value);u.initialChecks[v]??=c.defaultChecked,u.checks[v]=c.checked,c.type==="checkbox"?u.values[c.name]=c.checked?c.value:"":c.checked&&(u.values[c.name]=c.value),u.initialValues[c.name]=u.values[c.name]??"";continue}}u.initialValues[c.name]??=c instanceof HTMLSelectElement?[...c.options].find(v=>v.defaultSelected)?.value??c.options[0]?.value??"":c.defaultValue,u.values[c.name]=c.value}m==="dialog"?O.set(u):b.set(u)},et=()=>{let s=Ne();se(s[0]??null,"record"),s.length>1&&se(s.at(-1)??null,"dialog")},Ft=s=>{if(!s)return!0;let m=K()&&s===Qe()?"dialog":"record";se(s,m);let g=m==="dialog"?O():b(),u=[...s.querySelectorAll('input[type="file"]')].some(c=>!c.disabled&&!!c.files?.length);return!hn(g)&&!u?!0:globalThis.confirm(Z("recordModal.unsaved"))},Ee=s=>{requestAnimationFrame(()=>{let m=Ne(),g=m[0],u=m.at(-1);if(!u)return;g&&(g.inert=m.length>1);let c=s?.();if(c?.isConnected&&u.contains(c)){c.focus();return}if(u.contains(document.activeElement))return;let v=u.querySelector('[data-ui="modal-sheet"]');(ei(u).find(l=>!l.matches('[data-ui="modal-close"]'))??v)?.focus()})},ee=(s,m,g,u)=>{let c=t(),v=c?.id===s,y=m??(v?c.tab:"");v||(ye=0,Ye=document.activeElement instanceof HTMLElement?document.activeElement:null,o.set([]),Le.set(!1),b.set(A()),O.set(A()),oe.set({}),W.set(null),K.set(null),_=null,n.set(null),le(s)),t.set({id:s,tab:y});let l=ct(location.href,{kind:e.kind,id:s,tab:y||null});g==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",l),Be=!0):g==="replace"&&history.replaceState(history.state??{},"",l),D&&!be&&(be=bn(D)),Ee(u)},He=s=>{$e?.abort(),t.set(null),ye=0,K.set(null),o.set([]),Le.set(!1),b.set(A()),O.set(A()),oe.set({}),W.set(null),a.set("idle"),n.set(null),be?.(),be=null,s==="history"&&Be?(Be=!1,history.back()):s!=="none"&&(Be=!1,history.replaceState(history.state??{},"",Ua(location.href)));let m=Ye;Ye=null,_=null,m?.isConnected&&requestAnimationFrame(()=>m.focus())},Et=()=>{if(K()){if(!Ft(Qe()))return;let s=_;_=null,K.set(null),O.set(A()),o.set([]),W.set(null),Ee(()=>s?.isConnected?s:null);return}Ft(he())&&He("history")},ki=async(s,m,g)=>{let u=e.commands?.[s],c=t(),v=n()?.data;if(!u||!c||v===void 0||wt())return;let y=new FormData(m,g instanceof HTMLButtonElement?g:null),l=m.closest('[data-ui="modal-layer"][data-client-modal="true"]'),d=K()&&l===Qe()?"dialog":"record";se(l,d);let f=Je(c,v,d);if(u.confirm){let S=u.confirm(f);if(S&&!globalThis.confirm(S))return}Ct(!0),o.set([]);try{let S={};for(let[h,B]of Object.entries(u.upload??{})){let X=y.get(h);if(!(X instanceof File)||X.size===0)continue;let xe=new FormData;for(let[tt,Ri]of Object.entries(B(y,f)))xe.append(tt,Ri);xe.append("file",X,X.name);let Oe=await fetch("/files",{method:"POST",credentials:"same-origin",body:xe}),Y=await Oe.json().catch(()=>null);if(!Oe.ok||!Y?.id){o.set([{field:null,code:"recordModal.uploadFailed",message:typeof Y?.message=="string"?Y.message:null,params:{}}]);return}S[h]={id:String(Y.id),name:typeof Y.name=="string"?Y.name:null}}let C=(h,B)=>ja(h,B,{idempotencyKey:ti()}),x=u.route?await ii(u.route,u.input(y,f,S),{idempotencyKey:ti()}):await C(u.fn,u.input(y,f,S));for(let h of x.ok?u.also??[]:[])if(!(h.when&&!h.when(f))&&(x=await C(h.fn,h.input(y,f,S)),!x.ok))break;if(!x.ok){W.set(null),o.set(x.issues.length?x.issues.map(h=>({...h,field:h.field&&u.issueField?u.issueField(h.field,y,f):h.field})):[{field:null,code:x.message??"recordModal.saveFailed",message:x.message,params:{}}]);return}if(u.preview){W.set({command:s,value:x.value}),Me.set(Me()+1);return}d==="dialog"?O.set(A()):b.set(A()),W.set(gt(u)==="stay"?{command:s,value:x.value}:null),m.reset();let j=x.value,te=gt(u)==="open"?u.created?.(x.value)??(j&&typeof j=="object"&&j.id!=null?String(j.id):null):null;z.delete(c.id),te&&z.delete(te);let de=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[te??c.id]}}))};if(u.navigate){let h=new URL(u.navigate(x.value,f),location.href);if(h.origin!==location.origin)throw new Error("Record navigation must stay same-origin");He("none"),location.assign(h.href);return}let $=gt(u);if($!=="close"&&Le.set(!0),$==="open"){K.set(null),O.set(A()),te?ee(te,u.openTab??null,"replace"):He("history"),de();return}if(de(),$==="close")He("history");else if($==="reload"){let h=_;_=null,K.set(null),O.set(A()),await le(c.id),Ee(()=>h?.isConnected?h:null)}else if($==="refresh")await le(c.id,!0);else if($==="stay")Me.set(Me()+1);else if("tab"in $)_=null,K.set(null),O.set(A()),ee(c.id,$.tab,"replace"),await le(c.id);else{let h=$.dialog?null:_;_=$.dialog&&g instanceof HTMLElement?g:null,K.set($.dialog?{name:$.dialog,params:{}}:null),O.set(A()),await le(c.id,!0),Ee(()=>h?.isConnected?h:null)}}catch{o.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{Ct(!1)}},Ht=s=>{let m=o().filter(c=>!c.field),g=o().filter(c=>c.field&&!D?.querySelector(`[name="${CSS.escape(c.field)}"]`)),u=[...m,...g];return u.length?p({title:s.t("recordModal.errorTitle"),message:u.map(Lt).join(" \xB7 "),tone:"danger"}):Le()?p({title:s.t("recordModal.savedTitle"),message:s.t("recordModal.saved"),tone:"positive"}):""},wi=()=>{let s=t();if(!s)return"";if(a()==="error")return Ke(Ae,{children:[p({title:Z("recordModal.errorTitle"),message:Z(r()??"recordModal.loadFailed"),tone:"danger"}),k({label:Z("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let m=n()?.data;if(a()!=="ready"||m===void 0)return ke({label:Z("recordModal.loading")});let g=Je(s,m),u=Mt(g),c=u.find(d=>d.id===g.tab),v=e.header?.(g)??"",y=Ht(g),l=c?c.view(g):e.body?.(g)??"";return u.length?lt({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(g),items:u.map(d=>({id:d.id,label:d.label(g),href:g.href(d.id),active:d.id===g.tab})),context:v!==""||y!==""?Ke(Ae,{children:[v,y]}):void 0,body:l}):Ke(Ae,{children:[v,y,l]})},Ti=()=>{let s=t(),m=K(),g=n()?.data;if(!s||!m||g===void 0)return"";let u=e.dialogs?.[m.name];if(!u)return"";let c=Je(s,g,"dialog");return me({id:`record-dialog-${e.kind.replaceAll(".","-")}-${m.name}`,mode:"client",presentation:"dialog",size:u.size??"default",title:u.title(c),actions:u.actions?.(c),closeLabel:Z("recordModal.close"),body:Ke(Ae,{children:[Ht(c),u.view(c)]})})};return{view:()=>{Me();let s=t();if(!s)return ut(e.kind);let m=n()?.data,g=m===void 0?null:Je(s,m);return Ke(Ae,{children:[ut(e.kind),me({id:`record-modal-${e.kind.replaceAll(".","-")}`,mode:"client",presentation:"dialog",size:e.size??"default",height:(e.tabs?.length??0)+(e.extensionTabs?1:0)>1?"fixed":"content",fixedHeight:e.fixedHeight??"auto",title:g?e.title(g):Z("recordModal.loading"),description:g?e.description?.(g)??null:null,status:g?e.status?.(g):void 0,actions:g?e.actions?.(g):void 0,closeLabel:Z("recordModal.close"),body:wi()}),Ti()]})},mount:({root:s,lifetime:m})=>{D=s,document.addEventListener("click",l=>{if(l.defaultPrevented||l.button!==0||l.metaKey||l.ctrlKey||l.shiftKey||l.altKey)return;let d=l.target instanceof Element?l.target:null,f=d?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(f&&D?.contains(f)){if(d?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){l.preventDefault(),Et();return}let h=d?.closest("button[data-record-state], a[data-record-state]");if(h){l.preventDefault(),et(),oe.set({...oe(),[h.getAttribute("data-record-state")??""]:h.getAttribute("data-record-value")??""});return}let B=d?.closest(`[${Ya}]`);if(B){l.preventDefault(),se(he(),"record");let X=document.activeElement;_=X instanceof HTMLElement&&B.contains(X)?X:B.querySelector(ni),O.set(A());let xe={};for(let[Oe,Y]of Object.entries(B.dataset))Oe.startsWith("recordParam")&&Y!==void 0&&(xe[Oe.slice(11).replace(/^./u,tt=>tt.toLowerCase())]=Y);o.set([]),W.set(null),K.set({name:B.getAttribute(Ya)??"",params:xe}),Ee();return}if(d?.closest('button[name="intent"][value="retry"]')){l.preventDefault();let X=t();X&&le(X.id);return}}let S=Sn(d);if(!S)return;let C=new URL(S,location.href);if(C.origin!==location.origin||C.pathname!==location.pathname)return;let x=Ce(C);if(!x||x.kind!==e.kind)return;l.preventDefault();let j=t(),te="route"in e.context?e.context.query??[]:[],de=new URL(location.href);if(te.some(h=>de.searchParams.get(h)!==C.searchParams.get(h))){se(he(),"record");for(let h of te){let B=C.searchParams.get(h);B===null?de.searchParams.delete(h):de.searchParams.set(h,B)}history.replaceState(history.state??{},"",de.href),j?.id===x.id&&le(j.id)}if(j?.id===x.id){if((x.tab??"")===j.tab)return;se(he(),"record"),o.set([]),W.set(null),ee(x.id,x.tab??null,"replace",()=>he()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}ee(x.id,x.tab??null,"push")},{signal:m,capture:!0}),document.addEventListener("keydown",l=>{if(l.defaultPrevented||l.key!=="Enter"&&l.key!==" ")return;let d=l.target instanceof Element?l.target:null;if(!d?.matches('[data-row-href][tabindex="0"]'))return;let f=d.getAttribute("data-row-href"),S=f?new URL(f,location.href):null;if(!S||S.origin!==location.origin||S.pathname!==location.pathname)return;let C=Ce(S);!C||C.kind!==e.kind||(l.preventDefault(),ee(C.id,C.tab??null,"push"))},{signal:m,capture:!0}),document.addEventListener("submit",l=>{let d=l.target instanceof HTMLFormElement?l.target:null;if(!d||!D?.contains(d))return;l.preventDefault();let f=l.submitter??null,S=(f instanceof HTMLButtonElement&&f.name===N?f.value:null)??String(new FormData(d).get(N)??"");ki(S,d,f)},{signal:m}),document.addEventListener("keydown",l=>{if(!t())return;let d=D?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),f=d?.[d.length-1];if(!f)return;if(l.key==="Escape"){l.preventDefault(),Et();return}if(l.key!=="Tab")return;let S=ei(f);if(!S.length){l.preventDefault(),f.querySelector('[data-ui="modal-sheet"]')?.focus();return}let C=S[0],x=S.at(-1);l.shiftKey&&(document.activeElement===C||!f.contains(document.activeElement))?(l.preventDefault(),x.focus()):!l.shiftKey&&(document.activeElement===x||!f.contains(document.activeElement))&&(l.preventDefault(),C.focus())},{signal:m}),document.addEventListener("change",l=>{let d=l.target instanceof Element?l.target:null;if(!d||!D?.contains(d))return;if(d instanceof HTMLInputElement&&d.type==="checkbox"&&d.form){let S=d.form;if(S.querySelector(`input[type="checkbox"][name^="${ze}"]`)){if(d.name.startsWith(ze)){let C=d.name.slice(ze.length);for(let x of S.querySelectorAll('input[type="checkbox"]'))!x.disabled&&!x.name.startsWith(ze)&&x.name.startsWith(C)&&(x.checked=d.checked)}et();return}}let f=d.getAttribute("data-record-state")??(["relation-native","reorder-list-value"].includes(d.getAttribute("data-ui")??"")?d.getAttribute("name"):null);if((d instanceof HTMLSelectElement||d instanceof HTMLInputElement)&&f){et(),oe.set({...oe(),[f]:d.value});return}d instanceof HTMLInputElement&&d.type==="file"&&d.hasAttribute("data-record-submit")&&d.files?.length&&d.form?.requestSubmit()},{signal:m});let g=l=>{let f=(l.target instanceof Element?l.target:null)?.closest("form[data-record-dropzone]")??null;return f&&D?.contains(f)?f:null};document.addEventListener("dragover",l=>{let d=g(l);d&&(l.preventDefault(),d.dataset.drag="1")},{signal:m}),document.addEventListener("dragleave",l=>{let d=g(l);if(!d)return;let f=l.relatedTarget;f instanceof Node&&d.contains(f)||delete d.dataset.drag},{signal:m}),document.addEventListener("drop",l=>{let d=g(l);if(!d)return;l.preventDefault(),delete d.dataset.drag;let f=l.dataTransfer?.files,S=d.querySelector('input[type="file"]');if(!S||!f?.length)return;let C=new DataTransfer;C.items.add(f[0]),S.files=C.files,d.requestSubmit()},{signal:m});let u="ket-island, div[data-ket-island]",c=l=>l instanceof Element&&(l.matches(u)||l.querySelector(u)!==null),v=new MutationObserver(l=>{ve();for(let d of l){for(let f of d.removedNodes)c(f)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:f}}));for(let f of d.addedNodes)c(f)&&f.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:f}}))}});v.observe(D,{childList:!0,subtree:!0,characterData:!0}),m.addEventListener("abort",()=>v.disconnect()),window.addEventListener("resize",ve,{signal:m}),D.addEventListener("load",ve,{capture:!0,signal:m}),D.addEventListener("toggle",ve,{capture:!0,signal:m}),document.fonts?.ready.then(()=>{m.aborted||ve()}),ve(),document.addEventListener("ket:records-changed",l=>{let d=l.detail;if(d?.kind===e.kind)if(!Array.isArray(d.ids)||!d.ids.length)z.clear();else for(let f of d.ids)z.delete(String(f))},{signal:m}),document.addEventListener("ket:popstate",l=>{let d=Ce(location.href),f=d?.kind===e.kind;!f&&!t()||(l.preventDefault(),f&&d?ee(d.id,d.tab??null,"none"):He("none"))},{signal:m}),document.addEventListener("ket:navigation-complete",()=>{let l=Ce(location.href);l?.kind===e.kind&&!t()&&ee(l.id,l.tab??null,"none")},{signal:m});let y=Ce(location.href);y?.kind===e.kind&&ee(y.id,y.tab??null,"none"),m.addEventListener("abort",()=>{$e?.abort(),Rt.stop(),be?.(),be=null,D=null})}}};var oi={vi:{"recordModal.close":"\u0110\xF3ng","recordModal.loading":"\u0110ang t\u1EA3i\u2026","recordModal.loadFailed":"Kh\xF4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c d\u1EEF li\u1EC7u. H\xE3y th\u1EED l\u1EA1i.","recordModal.notFound":"M\u1EE5c n\xE0y kh\xF4ng c\xF2n t\u1ED3n t\u1EA1i ho\u1EB7c b\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n xem.","recordModal.retry":"Th\u1EED l\u1EA1i","recordModal.errorTitle":"Ch\u01B0a l\u01B0u \u0111\u01B0\u1EE3c","recordModal.saveFailed":"Thao t\xE1c kh\xF4ng th\xE0nh c\xF4ng. H\xE3y th\u1EED l\u1EA1i.","recordModal.savedTitle":"\u0110\xE3 l\u01B0u","recordModal.saved":"Thay \u0111\u1ED5i \u0111\xE3 \u0111\u01B0\u1EE3c ghi nh\u1EADn.","recordModal.unsaved":"B\u1ECF c\xE1c thay \u0111\u1ED5i ch\u01B0a l\u01B0u?","recordModal.uploadFailed":"Kh\xF4ng t\u1EA3i \u0111\u01B0\u1EE3c t\u1EC7p l\xEAn. H\xE3y th\u1EED l\u1EA1i."},en:{"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read. Try again.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The changes have been saved.","recordModal.unsaved":"Discard unsaved changes?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}};var ft=e=>e==="full"?"positive":e==="partial"?"warning":"neutral",li=e=>e.area?`${e.area} \xB7 ${e.label}`:e.label,kn=(e,t)=>t.missing.map(a=>`${a.label} (${e(`user_backend.surface.tier.${a.tier}`)})`).join(" \xB7 "),si=e=>{let{t}=e,a=e.surfaces.filter(r=>r.status==="partial"),n=e.surfaces.filter(r=>r.status==="full");return!a.length&&!n.length?p({tone:"info",title:e.empty.title,message:e.empty.message}):R({gap:"default",items:[U({columns:2,items:[{id:"full",label:t("user_backend.surface.fullCount"),value:F({label:String(n.length),tone:"positive"})},{id:"partial",label:t("user_backend.surface.partialCount"),value:F({label:String(a.length),tone:a.length?"warning":"neutral"})}]}),...a.length?[P({title:t("user_backend.surface.partialTitle"),description:t("user_backend.surface.partialHint"),body:G({rows:a,id:r=>r.key,columns:[{key:"screen",label:t("user_backend.surface.screen"),priority:"primary",cell:r=>li(r)},{key:"missing",label:t("user_backend.surface.missing"),cell:r=>kn(t,r)},{key:"fix",label:t("user_backend.surface.fix"),cell:r=>r.fixes.join(" \xB7 ")||t("user_backend.surface.noFix")}]})})]:[],...n.length?[P({title:t("user_backend.surface.fullTitle"),body:G({rows:n,id:r=>r.key,columns:[{key:"screen",label:t("user_backend.surface.screen"),priority:"primary",cell:r=>li(r)},{key:"status",label:t("user_backend.field.state"),cell:r=>F({label:t(`user_backend.surface.status.${r.status}`),tone:ft(r.status)})},...e.showVia?[{key:"via",label:t("user_backend.surface.via"),cell:r=>r.via.join(" \xB7 ")||"\u2014"}]:[]]})})]:[]]})},di=(e,t,a)=>G({rows:t,id:n=>`${a}:${n.key}`,columns:[{key:"screen",label:e("user_backend.surface.screen"),priority:"primary",cell:n=>n.area?`${n.area} \xB7 ${n.label}`:n.label},{key:"before",label:e("user_backend.preview.before"),cell:n=>F({label:e(`user_backend.surface.status.${n.before}`),tone:ft(n.before)})},{key:"after",label:e("user_backend.preview.after"),cell:n=>F({label:e(`user_backend.surface.status.${n.after}`),tone:ft(n.after)})}]});var wn=["internal","portal","public"],ne=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,pt=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",i=(e,t)=>e.t(`user_backend.${t}`),H=(e,t)=>String(e.get(t)??"").trim(),St=(e,t)=>["1","on","true"].includes(String(e.get(t)??"")),Tn=e=>e.creating?e.data.permissions.create===!0:e.data.permissions.save===!0,Rn=e=>`user-user-${e}`,M=(e,t)=>({...t,id:Rn(t.name),value:t.type==="checkbox"?e.draftChecked(t.name,"1",t.value===!0||t.value==="1"):t.type==="checkbox-group"?t.value:e.draft(t.name,String(t.value??"")),options:t.type==="checkbox-group"?t.options?.map(a=>({...a,checked:e.draftChecked(a.name??`${t.name}[]`,a.value,a.checked===!0)})):t.options,error:e.fieldError(t.name),disabled:t.disabled===!0||!Tn(e)}),Ue=(e,t)=>{let a=M(e,{name:t.name,label:t.label,type:"select",required:t.required});return{...a,options:t.options,control:mt({id:a.id,name:t.name,state:t.name,value:t.value,options:t.options,required:t.required,disabled:a.disabled===!0,invalid:!!a.error})}},Ze=e=>`role_${e}`,fi=(e,t)=>t.map(a=>String(a.id)).filter(a=>St(e,Ze(a))),je=e=>e.data.actor?.self===!0,pi=e=>e.data.actor?.superuser===!0,ht=e=>String(e.tier??"")==="security",bi=(e,t)=>e.data.roles.map(a=>({name:Ze(String(a.id)),value:"1",label:ht(a)?`${String(a.name)} \xB7 ${i(e,"role.tier.security")}`:String(a.name),checked:t(String(a.id)),disabled:ht(a)&&!pi(e)})),hi=(e,t)=>e.data.roles.some(ht)&&!pi(e)?i(e,"access.securityTierHint"):t,Cn=e=>{let t=e.state("scopeKind","branch"),a=e.state("companyId",String(e.data.companies[0]?.id??""));return[M(e,{name:"name",label:i(e,"field.name"),required:!0}),M(e,{name:"login",label:i(e,"field.login"),required:!0}),M(e,{name:"email",label:i(e,"field.email"),type:"email",required:!0,span:"full"}),Ue(e,{name:"scopeKind",label:i(e,"field.scope"),value:t,required:!0,options:e.data.scopeKinds.map(n=>({value:n,label:i(e,`scope.choice.${n}`)}))}),...t==="tenant"?[]:[Ue(e,{name:"companyId",label:i(e,"field.company"),value:a,required:!0,options:e.data.companies.map(n=>({value:String(n.id),label:String(n.name)}))})],...t==="branch"?[M(e,{name:"branchId",label:i(e,"field.branch"),type:"select",required:!0,options:e.data.branches.filter(n=>String(n.companyId)===a).map(n=>({value:String(n.id),label:String(n.name)}))})]:[],...e.data.roles.length?[M(e,{name:"roleIds",label:i(e,"field.jobRoles"),type:"checkbox-group",span:"full",help:hi(e,i(e,"users.rolesOptionalHint")),optionsOrientation:"vertical",options:bi(e,n=>e.draftChecked(Ze(n)))})]:[]]},Pn=e=>R({gap:"default",items:[...e.data.roles.length?[]:[p({tone:"info",title:i(e,"access.noAssignableRoles"),message:i(e,"users.createWithoutRolesHint")})],P({title:i(e,"users.newTitle"),body:J({kind:e.kind,fields:Cn(e),command:"create",actions:[k({label:i(e,"action.createUser"),variant:"primary",type:"submit"})]})})]}),Ln=e=>[M(e,{name:"name",label:i(e,"field.name"),value:e.data.record.name,required:!0}),M(e,{name:"login",label:i(e,"field.login"),value:e.data.record.login,required:!0}),M(e,{name:"email",label:i(e,"field.email"),type:"email",value:e.data.record.email}),M(e,{name:"accessKind",label:i(e,"field.accessKind"),type:"select",value:e.data.record.accessKind,options:wn.map(t=>({value:t,label:i(e,`access.${t}`)}))}),M(e,{name:"active",label:i(e,"state.active"),type:"checkbox",value:e.data.record.active})],We=e=>`company_${e}`,yt=e=>`branch_${e}`,Ve=(e,t,a)=>t.map(n=>String(n.id)).filter(n=>St(e,a(n))),Mn=e=>{let t=e.data.memberships.companies,a=e.data.memberships.branches,n=e.data.companies.filter(b=>e.draftChecked(We(String(b.id)),"1",t.includes(String(b.id)))),r=new Set(n.map(b=>String(b.id))),o=e.data.branches.filter(b=>r.has(String(b.companyId)));return[M(e,{name:"companies",label:i(e,"field.companies"),type:"checkbox-group",required:!0,span:"full",optionsOrientation:"vertical",options:e.data.companies.map(b=>({name:We(String(b.id)),value:"1",label:String(b.name),checked:t.includes(String(b.id))}))}),M(e,{name:"branches",label:i(e,"field.branches"),type:"checkbox-group",span:"full",optionsOrientation:"vertical",options:o.map(b=>({name:yt(String(b.id)),value:"1",label:`${String(b.name)} \xB7 ${String(e.data.companies.find(O=>String(O.id)===String(b.companyId))?.name??"")}`,checked:a.includes(String(b.id))}))}),M(e,{name:"defaultCompanyId",label:i(e,"field.defaultCompany"),type:"select",required:!0,value:e.data.record.defaultCompanyId??String(n[0]?.id??""),options:n.map(b=>({value:String(b.id),label:String(b.name)}))}),M(e,{name:"defaultBranchId",label:i(e,"field.defaultBranch"),type:"select",required:!0,value:e.data.record.defaultBranchId??"",options:o.map(b=>({value:String(b.id),label:String(b.name)}))})]},Fn=e=>{let t=e.outcome("previewWorkplaces");if(!t)return"";if(!t.ok)return p({tone:"warning",title:i(e,"preview.unavailable"),message:""});let a=t.removed??[];return a.length?R({gap:"compact",items:[p({tone:"warning",title:i(e,"workplace.removesTitle").replace("{count}",String(a.length)),message:i(e,"workplace.removesHint")}),G({rows:a,id:n=>String(n.id),columns:[{key:"role",label:i(e,"field.assignment"),priority:"primary",cell:n=>String(n.roleName)},{key:"scope",label:i(e,"field.scope"),cell:n=>kt(e,n)}]})]}):p({tone:"info",title:i(e,"workplace.keepsAll"),message:""})},En=e=>{let t=e.data.permissions.previewWorkplaces===!0;return R({gap:"default",items:[J({kind:e.kind,fields:Mn(e),command:t?null:"setWorkplaces",actions:t?[k({label:i(e,"action.previewWorkplaces"),variant:"secondary",type:"submit",name:N,value:"previewWorkplaces"}),...e.outcome("previewWorkplaces")?[k({label:i(e,"action.saveWorkplaces"),variant:"primary",type:"submit",name:N,value:"setWorkplaces"})]:[]]:[k({label:i(e,"action.saveWorkplaces"),variant:"primary",type:"submit"})]}),Fn(e)]})},Hn=e=>e.creating?"":R({gap:"compact",items:[...e.data.permissions.save?[Pe({dialog:"edit",children:k({label:i(e,"action.editProfile"),variant:"secondary"})})]:[p({tone:"info",title:i(e,"users.readOnlyTitle"),message:i(e,"users.readOnlyHint")})]]}),On=e=>{let t=e.data.assignments.find(a=>a.company)?.company;return P({title:i(e,"users.infoTitle"),body:U({columns:2,items:[{id:"email",label:i(e,"field.email"),value:e.data.record.email||"\u2014"},{id:"state",label:i(e,"field.state"),value:F({label:e.data.record.active?i(e,"state.active"):i(e,"state.archived"),tone:e.data.record.active?"positive":"neutral"})},{id:"roles",label:i(e,"field.rolesHeld"),value:String(e.data.assignments.length)},{id:"company",label:i(e,"field.company"),value:t?String(t):"\u2014"},...e.data.record.superuser?[{id:"superuser",label:i(e,"field.superuser"),value:F({label:e.data.record.superuserExpiresAt?i(e,"breakGlass.activeUntil").replace("{until}",e.data.record.superuserExpiresAt):i(e,"breakGlass.standing"),tone:"danger"})}]:[]]})})},Dn=e=>{let t=e.data.lastDenial;if(!t)return[];let a=t.surface?i(e,"denial.onSurface").replace("{surface}",t.surface).replace("{at}",t.at):i(e,"denial.at").replace("{at}",t.at),n=t.count>1?` ${i(e,"denial.count").replace("{count}",String(t.count))}`:"",r=t.templates.length?i(e,"denial.fix").replace("{roles}",t.templates.join(", ")):i(e,"denial.noFix");return[p({tone:"warning",title:i(e,"denial.title").replace("{area}",t.label),message:`${a}${n} ${r}`})]},ci=e=>R({gap:"default",items:[U({columns:1,items:[{id:"diagnostic-scope",label:i(e,"surface.scopeLabel"),value:[e.data.companies.find(t=>t.id===e.data.record.defaultCompanyId)?.name,e.data.branches.find(t=>t.id===e.data.record.defaultBranchId)?.name].filter(Boolean).join(" \xB7 ")||i(e,"surface.noWorkplace")}]}),...Dn(e),si({t:(t,a)=>e.t(t,a),surfaces:e.data.surfaces??[],showVia:!0,empty:{title:i(e,"surface.emptyTitle"),message:i(e,"surface.emptyHint")}})]}),kt=(e,t)=>t.branch?`${String(t.company)} \xB7 ${String(t.branch)}`:t.company?String(t.company):i(e,"scope.choice.tenant"),In=e=>{let t=new Map;for(let a of e.data.assignments){let n=String(a.scopeKey??"tenant"),r=t.get(n)??{key:n,title:kt(e,a),rows:[]};r.rows.push(a),t.set(n,r)}return[...t.values()]},vt=e=>e.source?.kind==="policy"?{kind:"policy",policyName:String(e.source.policyName??e.source.policyId??"")}:{kind:"manual"},yi=(e,t)=>{let a=vt(t);return a.kind==="policy"?F({label:i(e,"access.source.policy").replace("{policy}",a.policyName),tone:"info"}):F({label:i(e,"access.source.manual"),tone:"neutral"})},An=e=>je(e)?[p({tone:"info",title:i(e,"access.selfTitle"),message:i(e,"access.selfHint")})]:e.data.permissions.assign?[Pe({dialog:"assign",children:k({label:i(e,"action.assignRole"),variant:"primary"})})]:[p({tone:"info",title:i(e,"users.readOnlyTitle"),message:i(e,"access.readOnlyHint")})],ui=e=>{let t=e.data.record,a=t.superuser===!0;return!e.data.permissions.breakGlass||je(e)?a?[p({tone:"warning",title:i(e,"breakGlass.activeTitle"),message:t.superuserExpiresAt?i(e,"breakGlass.activeUntil").replace("{until}",t.superuserExpiresAt):i(e,"breakGlass.standing")})]:[]:[P({title:i(e,"breakGlass.title"),description:i(e,"breakGlass.hint"),body:a?R({gap:"default",items:[p({tone:"warning",title:i(e,"breakGlass.activeTitle"),message:t.superuserExpiresAt?i(e,"breakGlass.activeUntil").replace("{until}",t.superuserExpiresAt):i(e,"breakGlass.standing")}),J({kind:e.kind,fields:[],command:"revokeBreakGlass",actions:[k({label:i(e,"action.revokeBreakGlass"),variant:"destructive",type:"submit"})]})]}):J({kind:e.kind,fields:[M(e,{name:"breakGlassUntil",label:i(e,"field.breakGlassUntil"),type:"datetime-local",required:!0,disabled:!1})],command:"grantBreakGlass",actions:[k({label:i(e,"action.grantBreakGlass"),variant:"destructive",type:"submit"})]})})]},Kn=e=>{let t=In(e);return R({gap:"default",items:[...An(e),...t.length?t.map(a=>P({title:a.title,body:G({rows:a.rows,id:n=>String(n.id),columns:[{key:"role",label:i(e,"field.assignment"),priority:"primary",cell:n=>Pe({dialog:"role",id:String(n.id),children:String(n.roleName)})},{key:"source",label:i(e,"access.sourceColumn"),cell:n=>yi(e,n)}]})})):[p({tone:"info",title:i(e,"users.noAssignments"),message:i(e,"access.emptyHint")})],...Array.isArray(e.data.surfaces)?[Pe({dialog:"diagnostics",children:k({label:i(e,"action.checkAccess"),variant:"secondary"})})]:[],...ui(e).length?[we({summary:i(e,"access.advanced"),body:R({items:ui(e)})})]:[]]})},$n=e=>{let t=e.state("scopeKind","branch"),a=e.state("companyId",String(e.data.companies[0]?.id??""));return[Ue(e,{name:"scopeKind",label:i(e,"field.scope"),value:t,required:!0,options:e.data.scopeKinds.map(n=>({value:n,label:i(e,`scope.choice.${n}`)}))}),...t==="tenant"?[]:[Ue(e,{name:"companyId",label:i(e,"field.company"),value:a,required:!0,options:e.data.companies.map(n=>({value:String(n.id),label:String(n.name)}))})],...t==="branch"?[M(e,{name:"branchId",label:i(e,"field.branch"),type:"select",required:!0,options:e.data.branches.filter(n=>String(n.companyId)===a).map(n=>({value:String(n.id),label:String(n.name)}))})]:[],M(e,{name:"roleIds",label:i(e,"field.jobRoles"),type:"checkbox-group",required:!0,span:"full",optionsOrientation:"vertical",help:hi(e),options:bi(e,n=>e.draft(Ze(n),"")==="1")})]},xt=(e,t,a)=>t===0?i(e,"coverage.none"):t>=a?i(e,"coverage.full"):i(e,"coverage.partial"),vi=(e,t)=>{let a=e.outcome(t);if(!a)return"";if(!a.ok)return p({tone:"warning",title:i(e,"preview.unavailable"),message:""});let n=a.contexts??[];return n.length?R({gap:"compact",items:n.flatMap(r=>[...r.sensitiveChange?[p({tone:"warning",title:i(e,"preview.sensitiveTitle"),message:i(e,"preview.sensitiveHint")})]:[],...r.superuser?[p({tone:"info",title:i(e,"preview.superuser"),message:""})]:r.bundles.length||r.surfaces?.length?[P({title:i(e,"preview.gains"),body:R({items:r.bundles.filter(o=>o.after>o.before).map(o=>o.labels[e.data.lang]??o.key).concat(r.bundles.some(o=>o.after>o.before)?[]:[i(e,"value.unchanged")])})}),P({title:i(e,"preview.loses"),body:R({items:r.bundles.filter(o=>o.after<o.before).map(o=>o.labels[e.data.lang]??o.key).concat(r.bundles.some(o=>o.after<o.before)?[]:[i(e,"value.unchanged")])})}),we({summary:i(e,"preview.details"),body:R({items:[...r.surfaces?.length?[P({title:i(e,"surface.previewTitle"),body:di((o,b)=>e.t(o,b),r.surfaces,`${r.companyId}:${r.branchId??""}`)})]:[],G({rows:r.bundles,id:o=>`${r.companyId}:${r.branchId??""}:${o.key}`,columns:[{key:"bundle",label:i(e,"preview.bundle"),priority:"primary",cell:o=>o.labels[e.data.lang]??o.key},{key:"before",label:i(e,"preview.before"),cell:o=>xt(e,o.before,o.total)},{key:"after",label:i(e,"preview.after"),cell:o=>xt(e,o.after,o.total)}]})]})})]:[p({tone:"info",title:i(e,"preview.noChange"),message:""})]])}):p({tone:"info",title:i(e,"preview.noChange"),message:i(e,"preview.noChangeHint")})},Bn=e=>e.data.roles.length?R({gap:"default",items:[J({kind:e.kind,fields:$n(e),actions:[k({label:i(e,"action.previewAssignment"),variant:"secondary",type:"submit",name:N,value:"previewAssign"}),...e.outcome("previewAssign")?[k({label:i(e,"action.confirmAssign"),variant:"primary",type:"submit",name:N,value:"assign"})]:[]]}),vi(e,"previewAssign")]}):p({tone:"warning",title:i(e,"access.noAssignableRoles"),message:i(e,"access.noAssignableRolesHint")}),mi=(e,t)=>e.data.roleCoverage[t]??[],Jn=e=>{let t=e.data.assignments.find(a=>String(a.id)===String(e.dialog?.params.id??""));return t?R({gap:"default",items:[U({columns:2,items:[{id:"role",label:i(e,"field.assignment"),value:String(t.roleName)},{id:"scope",label:i(e,"field.scope"),value:kt(e,t)},{id:"source",label:i(e,"access.sourceColumn"),value:yi(e,t)}]}),...mi(e,String(t.roleId)).length?[P({title:i(e,"preview.bundle"),body:G({rows:mi(e,String(t.roleId)),id:a=>String(a.key),columns:[{key:"bundle",label:i(e,"preview.bundle"),priority:"primary",cell:a=>String(a.labels?.[e.data.lang]??a.key)},{key:"level",label:i(e,"coverage.level"),cell:a=>xt(e,Number(a.covered),Number(a.total))}]})})]:[],...vt(t).kind==="policy"?[p({tone:"info",title:i(e,"access.policyOwnedTitle"),message:i(e,"access.policyOwnedHint")})]:[],...e.data.permissions.remove&&!je(e)&&vt(t).kind!=="policy"?[R({gap:"default",items:[J({kind:e.kind,fields:[],actions:[k({label:i(e,"action.previewRemoval"),variant:"secondary",type:"submit",name:N,value:"previewUnassign"}),...e.outcome("previewUnassign")?[k({label:i(e,"action.unassignScopedRole"),variant:"destructive",type:"submit",name:N,value:"unassign"})]:[]]}),vi(e,"previewUnassign")]})]:[]]}):p({tone:"info",title:i(e,"users.noAssignments"),message:""})},Nn=e=>e.data.credentialDelivery==="email"&&!e.data.externalCredential&&!e.data.permissions.sendLink?"oneTime":e.data.credentialDelivery??"oneTime",re=e=>e.data.externalCredential?.activated??e.data.record.passwordReady,Xn=e=>{let t=e.outcome("sendResetLink");return[...t?.ok?[p({tone:"positive",title:i(e,"login.linkSentTitle"),message:i(e,"login.linkSentHint").replace("{email}",String(t.sentTo??e.data.record.email)).replace("{until}",String(t.expiresAt??""))})]:[],P({title:i(e,re(e)?"login.linkTitle":"login.inviteTitle"),description:e.data.record.email?i(e,re(e)?"login.linkHint":"login.inviteHint").replace("{email}",e.data.record.email):null,body:e.data.record.email?J({kind:e.kind,fields:[],command:"sendResetLink",actions:[k({label:i(e,re(e)?"action.sendResetLink":t?.ok||e.data.record.invitationSentAt?"action.resendInvite":"action.sendInvite"),variant:"primary",type:"submit"})]}):p({tone:"warning",title:i(e,"login.linkNoEmail"),message:i(e,"login.linkNoEmailHint")})})]},qn=e=>{let t=e.outcome("resetPassword")??e.outcome("claimCredential");return[...t?.token||t?.temporaryPassword?[P({title:i(e,t?.temporaryPassword?"login.temporaryShownOnce":"login.oneTimeTitle"),body:R({gap:"compact",items:[p({tone:"warning",title:i(e,t?.temporaryPassword?"login.temporaryShownOnce":"login.oneTimeTitle"),message:i(e,"login.oneTimeHint")}),U({columns:1,items:[{id:"token",label:i(e,e.data.externalCredential?"login.temporaryLabel":"login.oneTimeLabel"),value:t.token??t.temporaryPassword}]})]})})]:[],t?.temporaryPassword?null:P({title:i(e,e.data.externalCredential?"login.temporaryTitle":re(e)?"login.resetTitle":"login.activateTitle"),description:i(e,e.data.externalCredential?"login.temporaryHint":re(e)?"login.resetHint":"login.activateHint"),body:t?.temporaryPassword?null:J({kind:e.kind,fields:[],command:e.data.externalCredential?.claimable?"claimCredential":"resetPassword",actions:[k({label:i(e,e.data.externalCredential?e.data.externalCredential.claimable?"action.claimPassword":"action.temporaryPassword":re(e)?"action.resetPassword":"action.activationCode"),variant:"primary",type:"submit"})]})})]},Gn=e=>{let t=Nn(e),a=e.data.permissions.sendLink||e.data.permissions.resetPassword;return R({gap:"default",items:[...e.data.permissions.identities?[ce({label:i(e,"login.identities"),href:`/admin/oauth/identities?${new URLSearchParams({user:e.id,lang:e.data.lang})}`})]:[],P({title:i(e,"login.accountTitle"),body:U({columns:2,items:[{id:"credential",label:i(e,"field.credential"),value:F({label:i(e,re(e)?"login.ready":e.data.record.invitationSentAt||e.outcome("sendResetLink")?.ok?"login.invited":"login.preparing"),tone:re(e)?"positive":"warning"})},{id:"login",label:i(e,"field.login"),value:e.data.record.login},{id:"lastLogin",label:i(e,"login.lastSignIn"),value:e.data.record.lastLoginAt||i(e,"login.never")},{id:"delivery",label:i(e,"login.delivery"),value:i(e,`login.delivery.${t}`)}]})}),...e.data.externalCredential?[P({title:i(e,`login.externalState.${e.data.externalCredential.state}`),body:J({kind:e.kind,fields:[],command:e.data.permissions.retryCredential?"retryCredential":"refreshAccount",actions:[k({type:"submit",label:i(e,e.data.permissions.retryCredential?"action.retryAccount":"action.refreshAccount")})]})})]:[],...e.data.externalCredential?.emailState?[p({tone:["failed","uncertain"].includes(e.data.externalCredential.emailState)?"warning":"info",title:i(e,`login.emailState.${e.data.externalCredential.emailState}`),message:i(e,"login.emailStateHint")})]:[],...je(e)?[p({tone:"info",title:i(e,"login.selfTitle"),message:i(e,"login.selfHint")})]:a?[...t!=="oneTime"&&e.data.permissions.sendLink?Xn(e):[],...t!=="email"&&e.data.permissions.resetPassword?qn(e):[]]:e.data.externalCredential&&e.data.externalCredential.state!=="ready"?[]:[p({tone:"info",title:i(e,"users.readOnlyTitle"),message:i(e,"login.readOnlyHint")})]]})},zn=e=>e.data.audit.length?G({rows:e.data.audit,id:t=>String(t.id),columns:[{key:"when",label:i(e,"audit.when"),cell:t=>String(t.occurredAt??"\u2014")},{key:"event",label:i(e,"audit.action"),priority:"primary",cell:t=>`${i(e,`audit.event.${String(t.event)}`)} \xB7 ${String(t.actor??"\u2014")}`},{key:"roles",label:i(e,"field.assignment"),cell:t=>t.roleIds.map(a=>_n(e,a)).join(" \xB7 ")||"\u2014"},{key:"outcome",label:i(e,"audit.outcome"),cell:t=>F({label:i(e,`audit.outcome.${String(t.outcome)}`),tone:String(t.outcome)==="success"?"positive":"danger"})}]}):p({tone:"info",title:i(e,"audit.empty"),message:i(e,"audit.emptyHint")}),_n=(e,t)=>String(e.data.assignments.find(a=>String(a.roleId)===t)?.roleName??e.data.roles.find(a=>String(a.id)===t)?.name??t),bt=e=>e.data.assignments.find(t=>String(t.id)===String(e.dialog?.params.id??""))??{},gi=(e,t)=>({userId:t.id,roleIds:fi(e,t.data.roles),scopeKind:H(e,"scopeKind")||"branch",companyId:H(e,"companyId")||null,branchId:H(e,"branchId")||null,addMembership:!0}),Vn={kind:"user.user",labels:()=>oi[pt()],context:{fn:"user.userModalContext",input:(e,t)=>t?{locale:pt()}:{id:e,locale:pt()}},title:e=>e.creating?i(e,"users.create"):e.data.record.name||e.data.record.login,description:e=>e.creating?i(e,"users.createSubtitle"):e.data.record.login,status:e=>e.creating?void 0:F({label:e.data.record.active?i(e,"state.active"):i(e,"state.archived"),tone:e.data.record.active?"positive":"neutral"}),header:Hn,body:e=>e.creating?Pn(e):"",tabs:[{id:"overview",label:e=>i(e,"tab.overview"),visible:e=>!e.creating,view:On},{id:"access",label:e=>`${i(e,"tab.access")} ${String(e.data.assignments.length)}`,visible:e=>!e.creating,view:Kn},{id:"screens",label:e=>i(e,"tab.screens"),visible:()=>!1,view:ci},{id:"login",label:e=>i(e,"tab.login"),visible:e=>!e.creating,view:Gn},{id:"audit",label:e=>i(e,"tab.audit"),visible:e=>!e.creating&&e.data.permissions.audit===!0,view:zn}],dialogs:{diagnostics:{title:e=>i(e,"action.checkAccess"),view:ci,size:"large"},assign:{title:e=>i(e,"action.assignRole"),view:Bn},role:{title:e=>String(bt(e).roleName??""),view:Jn},edit:{title:e=>i(e,"action.editProfile"),view:e=>R({gap:"default",items:[P({title:i(e,"users.profileTitle"),body:J({kind:e.kind,fields:Ln(e),command:"save",actions:[k({label:i(e,"action.save"),variant:"primary",type:"submit"})]})}),...e.data.permissions.workplaces?[P({title:i(e,"users.workplaceTitle"),body:En(e)})]:[]]})}},commands:{create:{fn:"user.provisionUser",input:(e,t)=>({id:ne(),name:H(e,"name"),login:H(e,"login"),email:H(e,"email")||null,accessKind:"internal",roleIds:fi(e,t.data.roles),scopeKind:H(e,"scopeKind")||"branch",companyId:H(e,"companyId")||null,branchId:H(e,"branchId")||null,expectedAuthorizationRevision:t.data.revision,idempotencyKey:ne()}),after:"open",openTab:"overview",created:e=>{let t=e??{};return typeof t.id=="string"?t.id:null}},previewWorkplaces:{fn:"user.previewWorkplaces",input:(e,t)=>({userId:t.id,companyIds:Ve(e,t.data.companies,We),branchIds:Ve(e,t.data.branches,yt)}),preview:!0},setWorkplaces:{fn:"user.setWorkplaces",input:(e,t)=>({userId:t.id,companyIds:Ve(e,t.data.companies,We),branchIds:Ve(e,t.data.branches,yt),defaultCompanyId:H(e,"defaultCompanyId"),defaultBranchId:H(e,"defaultBranchId"),expectedAuthorizationRevision:t.data.revision,idempotencyKey:ne()}),issueField:e=>({companyIds:"companies",branchIds:"branches"})[e]??e,after:"reload"},sendResetLink:{fn:"user.sendCredentialLink",input:(e,t)=>({userId:t.id,kind:t.data.record.passwordReady?"reset":"invitation",idempotencyKey:ne()}),after:"reload"},grantBreakGlass:{fn:"user.setBreakGlass",input:(e,t)=>{let a=H(e,"breakGlassUntil"),n=a?new Date(a):null;return{userId:t.id,enabled:!0,expiresAt:n&&Number.isFinite(n.getTime())?n.toISOString():null,expectedAuthorizationRevision:t.data.revision,idempotencyKey:ne()}},issueField:e=>e==="expiresAt"?"breakGlassUntil":e,confirm:e=>i(e,"breakGlass.confirm"),after:"reload"},revokeBreakGlass:{fn:"user.setBreakGlass",input:(e,t)=>({userId:t.id,enabled:!1,expiresAt:null,expectedAuthorizationRevision:t.data.revision,idempotencyKey:ne()}),after:"reload"},resetPassword:{fn:"user.issueAuthToken",input:(e,t)=>({userId:t.id,kind:t.data.record.passwordReady?"reset":"invitation",realm:"backend"}),after:"stay"},previewAssign:{fn:"user.previewRoleAssignment",input:(e,t)=>gi(e,t),preview:!0},assign:{fn:"user.assignRoles",input:(e,t)=>({...gi(e,t),expectedAuthorizationRevision:t.data.revision,idempotencyKey:ne()}),after:"reload"},previewUnassign:{fn:"user.previewRoleAssignment",input:(e,t)=>{let a=bt(t);return{userId:t.id,assignmentId:String(a.id??""),roleIds:[String(a.roleId??"")],scopeKind:String(a.scopeKind??"tenant"),companyId:a.companyId??null,branchId:a.branchId??null}},preview:!0},unassign:{fn:"user.unassignScopedRole",input:(e,t)=>{let a=bt(t);return{userId:t.id,assignmentId:String(a.id??""),roleId:String(a.roleId??""),scopeKey:String(a.scopeKey??"tenant"),expectedAuthorizationRevision:t.data.revision,idempotencyKey:ne()}},after:"reload"},save:{fn:"user.saveUser",input:(e,t)=>({id:t.id,name:H(e,"name"),login:H(e,"login"),email:H(e,"email")||null,accessKind:H(e,"accessKind")||"internal",active:St(e,"active"),superuser:t.data.record.superuser}),after:"reload"}}},np=ri(Vn);export{np as userModal,Vn as userModalDefinition};
2
+ import{each as Fn}from"/_ket/view/index.js";import{Fragment as Bt,jsx as G,jsxs as Hn}from"/_ket/view/jsx-runtime.js";var Kt=["action","action-leading","action-label","action-spinner","action-group"],lt=e=>Hn(Bt,{children:[e.loading===!0&&G("span",{"data-ui":"action-spinner","aria-hidden":"true"}),e.loading!==!0&&e.leading!==void 0&&G("span",{"data-ui":"action-leading","aria-hidden":"true",children:e.leading}),!e.iconOnly&&G("span",{"data-ui":"action-label",children:e.label})]}),k=e=>G("button",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",type:e.type??"button",name:e.name??null,value:e.value??null,form:e.form??null,disabled:e.disabled===!0||e.loading===!0,"aria-busy":e.loading===!0?"true":null,"aria-describedby":e.describedBy??null,"aria-expanded":e.expanded===void 0?null:String(e.expanded),"aria-controls":e.controls??null,children:G(lt,{...e})});var me=e=>e.disabled||e.loading?G("button",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",type:"button",disabled:!0,"aria-busy":e.loading===!0?"true":null,"aria-describedby":e.describedBy??null,children:G(lt,{...e})}):G("a",{"data-ui":"action","data-variant":e.variant??"secondary","data-size":e.size??"default",href:e.href,"aria-describedby":e.describedBy??null,children:G(lt,{...e})}),ge=e=>G("div",{"data-ui":"action-group",role:"group","aria-label":e.label??null,children:Fn(e.actions,(t,a)=>a,t=>G(Bt,{children:t}))});import{jsx as On,jsxs as ir}from"/_ket/view/jsx-runtime.js";var qt=["badge","tag","tag-remove","count-badge","avatar","code","text","media-label","media-label-image","media-label-copy"];var H=e=>On("span",{"data-ui":"badge","data-pattern":"badge","data-tone":e.tone??"neutral","data-value":e.value??"",children:e.label});import{each as Dn}from"/_ket/view/index.js";import{Fragment as Ve,jsx as T,jsxs as re}from"/_ket/view/jsx-runtime.js";var Nt=["notice","notice-mark","notice-copy","notice-title","notice-message","notice-actions","empty","empty-mark","empty-title","empty-message","empty-actions","loading","loading-label"],An={info:()=>re(Ve,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 16v-4"}),T("path",{d:"M12 8h.01"})]}),positive:()=>re(Ve,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"m9 12 2 2 4-4"})]}),warning:()=>re(Ve,{children:[T("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),T("path",{d:"M12 9v4"}),T("path",{d:"M12 17h.01"})]}),danger:()=>re(Ve,{children:[T("circle",{cx:"12",cy:"12",r:"10"}),T("path",{d:"M12 8v4"}),T("path",{d:"M12 16h.01"})]})},h=e=>re("aside",{"data-ui":"notice","data-pattern":"notice","data-tone":e.tone??"info",role:e.tone==="danger"?"alert":"status",children:[T("span",{"data-ui":"notice-mark","aria-hidden":"true",children:T("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true",focusable:"false",children:An[e.tone??"info"]()})}),re("div",{"data-ui":"notice-copy",children:[T("p",{"data-ui":"notice-title",children:e.title}),T("p",{"data-ui":"notice-message",children:e.message})]}),e.actions!==void 0&&T("div",{"data-ui":"notice-actions",children:e.actions})]}),fe=e=>re("div",{"data-ui":"empty",role:"status",children:[T("span",{"data-ui":"empty-mark","aria-hidden":"true",children:"\u25C7"}),T("p",{"data-ui":"empty-title",children:e.title}),T("p",{"data-ui":"empty-message",children:e.message}),e.actions!==void 0&&T("div",{"data-ui":"empty-actions",children:e.actions})]}),Re=e=>re("div",{"data-ui":"loading",role:"status","aria-live":"polite",children:[T("span",{"data-ui":"loading-label",children:e.label}),T("div",{"data-ui":"skeleton","aria-hidden":"true",children:Dn(Array.from({length:Math.max(1,e.lines??3)}),(t,a)=>a,(t,a)=>T("span",{"data-ui":"skeleton-line","data-line":String(a+1)}))})]});import{each as ct}from"/_ket/view/index.js";import{each as Nn}from"/_ket/view/index.js";import{jsx as W,jsxs as Ie}from"/_ket/view/jsx-runtime.js";var Jt=["modal-layer","modal-backdrop","modal-sheet","modal-head","modal-heading","modal-title-row","modal-title","modal-description","modal-close","modal-body","modal-actions"],be=e=>{let t=e.mode==="client",a=e.mode==="embedded";return Ie("div",{"data-ui":"modal-layer","data-mode":e.mode??"overlay","data-route-modal":a||t?null:"true","data-client-modal":t?"true":null,"data-presentation":e.presentation??"sheet","data-unsaved-prompt":e.unsavedPrompt??null,children:[t?W("button",{"data-ui":"modal-backdrop",type:"button","aria-hidden":"true",tabIndex:-1,children:W("span",{children:e.closeLabel})}):W("a",{"data-ui":"modal-backdrop",href:e.closeHref??"#","aria-label":e.closeLabel,children:W("span",{children:e.closeLabel})}),Ie("section",{id:e.id,"data-ui":"modal-sheet","data-size":e.size??"default","data-height":e.height==="fixed"?"fixed":null,style:e.height==="fixed"&&e.fixedHeight?`--kv-modal-fixed-height: ${e.fixedHeight}`:"",...e.dialogSemantics==="parent"?{}:{role:"dialog","aria-modal":a?"false":"true"},"aria-labelledby":e.dialogSemantics==="parent"?null:`${e.id}-title`,"aria-describedby":e.dialogSemantics!=="parent"&&e.description?`${e.id}-description`:null,tabindex:a?null:"-1",children:[Ie("header",{"data-ui":"modal-head",children:[Ie("div",{"data-ui":"modal-heading",children:[Ie("div",{"data-ui":"modal-title-row",children:[W("h2",{"data-ui":"modal-title",id:`${e.id}-title`,children:e.title}),e.status!==void 0&&e.status]}),!!e.description&&W("p",{"data-ui":"modal-description",id:`${e.id}-description`,children:e.description})]}),t?W("button",{"data-ui":"modal-close",type:"button","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"}):W("a",{"data-ui":"modal-close",href:e.closeHref??"#","aria-label":e.closeLabel,title:e.closeLabel,children:"\xD7"})]}),W("div",{"data-ui":"modal-body",children:e.body}),e.actions!==void 0&&W("footer",{"data-ui":"modal-actions",children:e.actions})]})]})};import{Fragment as fr,jsx as mr,jsxs as gr}from"/_ket/view/jsx-runtime.js";import{Fragment as Sr,jsx as vr,jsxs as xr}from"/_ket/view/jsx-runtime.js";var zt=["app-shell","app-shell-topbar","app-topbar","app-location-bar","app-location-context","app-brand","app-topbar-brand","app-topbar-context","global-search-trigger","global-search-trigger-label","global-search-shortcut","global-search-dialog","global-search","global-search-input","global-search-submit","app-sidebar","app-main","app-right-rail","page","page-context","page-header","page-heading","page-eyebrow","page-title-row","page-title","page-subline","page-status","page-actions","page-meta","page-body","record-canvas","record-content","record-section","record-section-title"];import{Fragment as Gt,jsx as O,jsxs as pe}from"/_ket/view/jsx-runtime.js";var Ut=["stack","inline","grid","card-grid","surface","surface-head","surface-heading","surface-title","surface-description","surface-actions","disclosure","disclosure-summary","disclosure-body","section","section-head","section-eyebrow","section-title","section-description","section-actions","section-body","content-card","card-media","card-head","card-leading","card-heading","card-eyebrow","card-title","card-summary","card-status","card-body","card-meta","card-actions","kanban","kanban-card","kanban-media","kanban-title","kanban-meta","kanban-note","kanban-actions","metric","metric-icon","metric-label","metric-value","metric-detail"],Jn=e=>O(Gt,{children:Nn(e.items,(t,a)=>a,t=>typeof t=="string"||typeof t=="number"?O("span",{children:t}):O(Gt,{children:t}))}),C=e=>O("div",{"data-ui":"stack","data-pattern":"stack","data-gap":e.gap??"default","data-divided":e.divided===!0?"true":null,children:O(Jn,{items:e.items})});var dt=e=>pe("div",{"data-ui":"surface","data-tone":e.tone??"default","data-padding":e.padding??"default","data-has-heading":e.title?"true":null,children:[e.title&&pe("header",{"data-ui":"surface-head",children:[e.description?pe("div",{"data-ui":"surface-heading",children:[O("h2",{"data-ui":"surface-title",children:e.title}),O("p",{"data-ui":"surface-description",children:e.description})]}):O("h2",{"data-ui":"surface-title",children:e.title}),e.actions!==void 0&&O("div",{"data-ui":"surface-actions",children:e.actions})]}),e.body]}),Ce=e=>pe("details",{"data-ui":"disclosure",open:e.open===!0?!0:void 0,children:[O("summary",{"data-ui":"disclosure-summary",children:e.summary}),O("div",{"data-ui":"disclosure-body",children:e.body})]}),P=e=>pe("section",{"data-ui":"section",children:[pe("header",{"data-ui":"section-head",children:[pe("div",{children:[!!e.eyebrow&&O("p",{"data-ui":"section-eyebrow",children:e.eyebrow}),O("h2",{"data-ui":"section-title",children:e.title}),!!e.description&&O("p",{"data-ui":"section-description",children:e.description})]}),e.actions!==void 0&&O("div",{"data-ui":"section-actions",children:e.actions})]}),O("div",{"data-ui":"section-body",children:e.body})]});import{each as Xn}from"/_ket/view/index.js";import{Fragment as zn,jsx as $e}from"/_ket/view/jsx-runtime.js";var _e=(e,t)=>e.control!==void 0?$e(zn,{children:e.control}):e.type==="textarea"?$e("textarea",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:String(e.value??"")}):e.type==="select"?$e("select",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":t,children:Xn(e.options??[],a=>a.value,a=>$e("option",{value:a.value,selected:String(e.value??"")===a.value,disabled:a.disabled===!0,children:a.label}))}):$e("input",{"data-ui":"field-control","data-appearance":e.appearance==="embedded"?"embedded":null,id:e.id,type:e.type==="decimal"?"number":e.type??"text",name:e.name,value:e.type==="checkbox"?"1":String(e.value??""),checked:e.type==="checkbox"&&(e.value===!0||e.value==="1"),placeholder:e.placeholder??null,required:e.required===!0,disabled:e.disabled===!0,readonly:e.readOnly===!0,min:e.min,max:e.max,"aria-invalid":e.error?"true":null,"aria-describedby":t,autocomplete:e.autocomplete??"off",step:e.type==="decimal"?e.step??"any":e.step??null});import{jsx as L,jsxs as ae}from"/_ket/view/jsx-runtime.js";var Vt=["field","field-label","field-required","field-control","field-options","field-option","field-option-input","field-help","field-error"],_t=e=>!!e.error||(e.fields?.some(_t)??!1),he=e=>{let t=e.help?`${e.id}-help`:null,a=e.error?`${e.id}-error`:null,i=[t,a].filter(Boolean).join(" ")||null,r=ae("span",{"data-ui":"field-label",children:[e.label,e.required&&L("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]});return e.fields?ae("div",{"data-ui":"field","data-kind":"group","data-span":"full","data-invalid":String(!!e.error),children:[L(Ce,{summary:e.label,open:e.open||_t(e),body:L("div",{"data-ui":"form-grid",children:ct(e.fields.map(l=>({...l,disabled:e.disabled||l.disabled,readOnly:e.readOnly||l.readOnly})),l=>l.id,l=>L(he,{...l}))})}),!!e.help&&L("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&L("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="checkbox-group"?ae("div",{"data-ui":"field","data-kind":"checkbox-group","data-span":e.span??"half","data-invalid":String(!!e.error),children:[ae("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&L("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),L("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"group","aria-labelledby":`${e.id}-label`,children:ct(e.options??[],l=>l.name??l.value,l=>ae("label",{"data-ui":"field-option",children:[L("input",{"data-ui":"field-option-input",type:"checkbox",name:l.name??`${e.name}[]`,value:l.value,checked:l.checked===!0,disabled:e.disabled===!0||l.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":i,autocomplete:"off"}),L("span",{children:l.label})]}))}),!!e.help&&L("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&L("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):e.type==="radio"?ae("div",{"data-ui":"field","data-kind":"radio","data-span":e.span??"half","data-invalid":String(!!e.error),children:[ae("span",{"data-ui":"field-label",id:`${e.id}-label`,children:[e.label,e.required&&L("span",{"data-ui":"field-required","aria-hidden":"true",children:" *"})]}),L("div",{"data-ui":"field-options","data-orientation":e.optionsOrientation==="vertical"?"vertical":null,role:"radiogroup","aria-labelledby":`${e.id}-label`,children:ct(e.options??[],l=>l.value,l=>ae("label",{"data-ui":"field-option",children:[L("input",{"data-ui":"field-option-input",type:"radio",name:e.name,value:l.value,checked:String(e.value??"")===l.value,required:e.required===!0,disabled:e.disabled===!0||l.disabled===!0,"aria-invalid":e.error?"true":null,"aria-describedby":i,autocomplete:"off"}),L("span",{children:l.label})]}))}),!!e.help&&L("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&L("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]}):ae("label",{"data-ui":"field","data-kind":e.type??"text","data-label-hidden":e.labelHidden?"true":null,"data-selection-hidden":e.selectionHidden?"true":null,"data-span":e.span??"half","data-invalid":String(!!e.error),for:e.id,children:[e.type==="checkbox"&&_e(e,i),r,e.type!=="checkbox"&&_e(e,i),!!e.help&&L("small",{"data-ui":"field-help",id:t??void 0,children:e.help}),!!e.error&&L("small",{"data-ui":"field-error",id:a??void 0,children:e.error})]})};import{each as Gn}from"/_ket/view/index.js";import{jsx as Pe,jsxs as mt}from"/_ket/view/jsx-runtime.js";var Wt=["breadcrumbs","breadcrumb","breadcrumb-overflow","breadcrumb-overflow-trigger","breadcrumb-overflow-list","nav-list","nav-item","nav-item-leading","nav-item-label","nav-item-count","tabs","tab","tab-count","tabbed-view","tabbed-view-context","tab-panel"];var jt=e=>mt("a",{"data-ui":"tab","data-active":e.active===!0?"true":null,id:e.elementId,href:e.href,"aria-current":e.active===!0?"page":null,"aria-controls":e.controls,children:[e.label,e.count!==void 0&&Pe("span",{"data-ui":"tab-count",children:String(e.count)})]}),Zt=(e,t)=>`${e}-${t.replace(/[^a-zA-Z0-9_-]+/gu,"-")}-tab`,Yt=e=>mt("nav",{"data-ui":"tabs","data-pattern":"tabs","aria-label":e.label,children:[Gn(e.items,t=>t.id,t=>Pe(jt,{...t,elementId:e.id?Zt(e.id,t.id):void 0,controls:e.panelId})),e.extension]}),Qt=e=>Pe("section",{"data-ui":"tab-panel",id:e.id,"aria-labelledby":e.labelledBy,tabindex:"-1",children:e.body}),ut=e=>{let t=`${e.id}-tabs`,a=`${e.id}-panel`,i=e.items.find(r=>r.active===!0);return mt("div",{"data-ui":"tabbed-view",children:[e.context!==void 0&&e.context!==""?Pe("div",{"data-ui":"tabbed-view-context",children:e.context}):"",Pe(Yt,{id:t,label:e.label,items:e.items,extension:e.extension,panelId:a}),Pe(Qt,{id:a,labelledBy:i?Zt(t,i.id):void 0,body:e.body})]})};import{jsx as Xr,jsxs as zr}from"/_ket/view/jsx-runtime.js";var ea=["progress","progress-label","progress-value","progress-track","progress-bar"];import{each as Vr}from"/_ket/view/index.js";import{Fragment as Zr,jsx as Wr,jsxs as jr}from"/_ket/view/jsx-runtime.js";var ta=["menu","menu-trigger","menu-trigger-count","menu-panel","menu-search","menu-search-input","menu-label","menu-separator","menu-item","menu-item-leading","menu-item-copy","menu-item-check","menu-item-shortcut"];import{jsx as eo,jsxs as to}from"/_ket/view/jsx-runtime.js";var aa=["popover","popover-trigger","popover-panel","popover-close"];import{jsx as io,jsxs as ro}from"/_ket/view/jsx-runtime.js";var na=["tooltip","tooltip-trigger","tooltip-content"];import{jsx as uo}from"/_ket/view/jsx-runtime.js";var ia=["dialog","confirm-dialog-message"];import{each as fo}from"/_ket/view/index.js";import{jsx as po,jsxs as ho}from"/_ket/view/jsx-runtime.js";var ra=["toast-region","toast","toast-copy","toast-title","toast-message","toast-actions"];import{jsx as xo}from"/_ket/view/jsx-runtime.js";var oa=["spinner","visually-hidden"];import{each as wo}from"/_ket/view/index.js";import{jsx as Ro}from"/_ket/view/jsx-runtime.js";var la=["skeleton","skeleton-line"];import{each as Lo,effect as Mo,signal as Eo}from"/_ket/view/index.js";import{jsx as Oo,jsxs as Ho}from"/_ket/view/jsx-runtime.js";var sa=["relation-select","relation-native","relation-trigger","relation-value","relation-caret","relation-chips","relation-chip","relation-chip-clear","relation-menu","relation-search","relation-options","relation-option","relation-footer","relation-empty","relation-editor","relation-dialog-toolbar","relation-search-field","relation-search-icon","relation-dialog-list","relation-dialog-row","relation-dialog-main","relation-dialog-meta","relation-dialog-actions"];import{each as Io,signal as $o}from"/_ket/view/index.js";import{jsx as Bo,jsxs as qo}from"/_ket/view/jsx-runtime.js";var da=["lightbox","lightbox-thumbs","lightbox-thumb","lightbox-empty","lightbox-layer","lightbox-backdrop","lightbox-toolbar","lightbox-counter","lightbox-tool","lightbox-stage","lightbox-image","lightbox-nav","lightbox-caption"];import{each as zo,signal as Go}from"/_ket/view/index.js";import{Fragment as Wo,jsx as _o,jsxs as Vo}from"/_ket/view/jsx-runtime.js";var ca=["search-filter","search-filter-bar","search-filter-section-toggle","search-filter-sheet","search-filter-clear","search-filter-icon","search-filter-field","search-filter-input","search-filter-facets","search-filter-facet","search-filter-facet-remove","search-filter-suggestions","search-filter-suggestion","search-filter-toggle","search-filter-columns","search-filter-column","search-filter-column-title","search-filter-empty","search-filter-grouping","search-filter-grouping-head","search-filter-grouping-list","search-filter-grouping-item","search-filter-grouping-order","search-filter-grouping-label","search-filter-grouping-actions","search-filter-grouping-action","search-filter-grouping-clear","search-filter-grouping-add-label","custom-filter","custom-filter-row","custom-filter-add","custom-group-by","favorite-list","favorite-item","favorite-item-default","favorite-item-remove","favorite-save","favorite-save-toggle","favorite-save-row"];import{each as tl,effect as al,signal as nl}from"/_ket/view/index.js";import{jsx as Yo}from"/_ket/view/jsx-runtime.js";var ua=["formatted-date","formatted-number","formatted-money"];import{Fragment as sl,jsx as dl,jsxs as cl}from"/_ket/view/jsx-runtime.js";var ga=["ket-table","kt-scroll","kt-selection-target","kt-grid","kt-select-col","kt-select-all","kt-col","kt-sort-button","kt-sort-icon","kt-row","kt-cell","kt-person","kt-select-cell","kt-row-select","kt-row-link","kt-group-row","kt-group-cell","kt-group-toggle","kt-group-indent","kt-group-count","kt-group-pager","kt-pager","kt-pager-label","kt-pager-button","kt-select-persisted","kt-caption","kt-tools"];var Rl=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","summary",'[tabindex]:not([tabindex="-1"])'].join(",");var Zn=['[data-ui="timeframe-menu"]','[data-ui="view-settings"]'],Cl=Zn.map(e=>`${e}[open]`).join(", ");import{jsx as Ml,jsxs as El}from"/_ket/view/jsx-runtime.js";import{jsx as Al,jsxs as Il}from"/_ket/view/jsx-runtime.js";var fa=["switch-control","switch-track"];import{each as Bl}from"/_ket/view/index.js";import{Fragment as zl,jsx as Jl,jsxs as Xl}from"/_ket/view/jsx-runtime.js";var ba=["combobox","combobox-input-row","combobox-toggle","combobox-listbox","combobox-option","combobox-empty","tag-picker"];import{Fragment as es,jsx as Yl,jsxs as Ql}from"/_ket/view/jsx-runtime.js";var pa=["date-picker","date-range","date-inputs","date-control-row","date-tools","date-range-error","date-calendar","date-calendar-head","date-calendar-title","date-calendar-body","date-field-control","date-range-preset","date-boundary","date-calendar-months","date-month","date-month-title","date-grid","date-weekday","date-cell","date-day","date-calendar-footer","date-calendar-status"];import{jsx as is,jsxs as rs}from"/_ket/view/jsx-runtime.js";var ha=["file-upload","drop-zone","upload-status"];import{jsx as ds}from"/_ket/view/jsx-runtime.js";var ya=["relation-picker"];import{each as ms}from"/_ket/view/index.js";import{jsx as ps,jsxs as hs}from"/_ket/view/jsx-runtime.js";var va=["search-bar","filter-bar","applied-filters","applied-filter","saved-views","saved-view","view-settings","view-settings-options"];import{jsx as Ss,jsxs as ks}from"/_ket/view/jsx-runtime.js";var xa=["inline-edit","inline-edit-value","inline-edit-form","inline-edit-actions"];import{each as As}from"/_ket/view/index.js";import{each as Ps}from"/_ket/view/index.js";import{Fragment as Hs,jsx as Es,jsxs as Fs}from"/_ket/view/jsx-runtime.js";var Sa=["list-chrome","list-chrome-row","list-search","list-search-label","list-search-input","list-search-submit","list-filter-menus","list-facets","list-facet","list-facet-count","list-view-switch","list-view","list-sort","list-sort-label","list-sort-select","list-status","list-actions","bulk-actions","bulk-summary","bulk-count","bulk-action-list","pager-bar","pager-summary","pager-pages","pager-page","pager-actions","pager-link"];import{jsx as Bs,jsxs as qs}from"/_ket/view/jsx-runtime.js";var ka=["resource-list","resource-list-item","resource-list-select","resource-list-link"];import{each as Xs}from"/_ket/view/index.js";import{jsx as Gs,jsxs as Us}from"/_ket/view/jsx-runtime.js";var wa=["data-grid-scroll","data-grid","data-grid-cap","data-grid-cell"];import{each as Ws}from"/_ket/view/index.js";import{jsx as Zs,jsxs as Ys}from"/_ket/view/jsx-runtime.js";var Ta=["tree","tree-item","tree-link","tree-grid","tree-grid-row"];import{each as td}from"/_ket/view/index.js";import{jsx as nd,jsxs as id}from"/_ket/view/jsx-runtime.js";var Ra=["data-matrix","data-matrix-head","data-matrix-heading","data-matrix-eyebrow","data-matrix-title","data-matrix-description","data-matrix-summary","data-matrix-scroll","data-matrix-table","data-matrix-column","data-matrix-row-head","data-matrix-row-leading","data-matrix-row-title","data-matrix-row-description","data-matrix-row-status","data-matrix-row-actions","data-matrix-cell"];import{each as ld}from"/_ket/view/index.js";import{jsx as dd,jsxs as cd}from"/_ket/view/jsx-runtime.js";var Ca=["bar-chart","bar-chart-rows","bar-chart-row","bar-chart-label","bar-chart-caption","bar-chart-track","bar-chart-fill","bar-chart-segment","bar-chart-value","bar-chart-scale","bar-chart-legend","bar-chart-legend-item","bar-chart-legend-swatch","bar-chart-empty"];import{each as gd}from"/_ket/view/index.js";import{jsx as bd,jsxs as pd}from"/_ket/view/jsx-runtime.js";var Pa=["timeframe","timeframe-menu","timeframe-trigger","timeframe-label","timeframe-value","timeframe-content","timeframe-option","timeframe-option-label","timeframe-option-detail","timeframe-range","timeframe-asof","timeframe-note"];import{each as ai}from"/_ket/view/index.js";import{jsx as We,jsxs as ni}from"/_ket/view/jsx-runtime.js";var La=["description-list","key-value","key-value-label","key-value-value","person","person-body","avatar-group","status"],Ma=e=>ni("div",{"data-ui":"key-value",children:[We("dt",{"data-ui":"key-value-label",children:e.label}),We("dd",{"data-ui":"key-value-value",children:e.value??e.emptyLabel??"\u2014"})]}),j=e=>We("dl",{"data-ui":"description-list","aria-label":e.label,"data-columns":String(e.columns??2),"data-layout":e.layout==="strip"?"strip":null,children:ai(e.items,t=>t.id,t=>We(Ma,{...t}))});import{each as wd}from"/_ket/view/index.js";import{jsx as Ld,jsxs as Md}from"/_ket/view/jsx-runtime.js";var Fa=["record-summary","record-summary-main","record-actions","record-rail"];import{each as Hd}from"/_ket/view/index.js";import{jsx as Id,jsxs as $d}from"/_ket/view/jsx-runtime.js";var Ha=["activity-timeline","activity-item","activity-marker","audit-log","audit-item"];import{each as qd}from"/_ket/view/index.js";import{jsx as Xd,jsxs as zd}from"/_ket/view/jsx-runtime.js";var Oa=["attachments","attachment","media-gallery","media-item"];import{each as Vd}from"/_ket/view/index.js";import{Fragment as Zd,jsx as Wd,jsxs as jd}from"/_ket/view/jsx-runtime.js";var Da=["app-navigation","navigation-trigger","navigation-toggle","navigation-trigger-icon","navigation-trigger-identity","navigation-trigger-label","navigation-layer","navigation-backdrop","navigation-drawer","navigation-header","navigation-identity","navigation-context","navigation-close","navigation-groups","navigation-group","navigation-group-label","navigation-items","navigation-supplementary","navigation-item","navigation-branch","navigation-branch-trigger","navigation-children","navigation-item-leading","navigation-item-copy","navigation-item-label","navigation-item-description","navigation-item-count","navigation-footer"];import{each as Le}from"/_ket/view/index.js";import{Fragment as qa,jsx as w,jsxs as oe}from"/_ket/view/jsx-runtime.js";var Aa=["table-scroll","table","table-caption","select-col","select-all","col","sort-link","sort-icon","row","group-row","group-cell","group-link","group-indent","group-count","group-pager","group-pager-actions","cell","select-cell","row-select","row-link"],ri=e=>e.shownColumns??e.columns.filter(t=>t.hidden!==!0).map(t=>t.key),oi=e=>{let t=new Set(ri(e));return e.columns.filter(a=>t.has(a.key))},Ia=(e,t)=>t.length+(e.selection?1:0),li=(e,t)=>e.sort?.direction?e.sort.direction==="ascending"?t?.sortedAscending??"Sorted ascending":t?.sortedDescending??"Sorted descending":null,si=(e,t)=>w("th",{"data-ui":"col","data-col":e.key,"data-align":e.align??"start","data-kind":e.kind??"text","data-width":e.width??null,"data-optional":e.optional===!0?"true":null,"data-sort":e.sort?.direction??null,"aria-sort":e.sort?.direction??null,scope:"col",children:e.sort?oe("a",{"data-ui":"sort-link",href:e.sort.href,"aria-label":e.sort.label??e.label,children:[w("span",{children:e.label}),!!e.sort.direction&&w("span",{"data-ui":"sort-icon","aria-hidden":"true",title:li(e,t)??void 0,children:e.sort.direction==="ascending"?"\u2191":"\u2193"})]}):e.label}),di=e=>e.selection?w("th",{"data-ui":"select-col",scope:"col",children:w("input",{"data-ui":"select-all",type:"checkbox",name:e.selection.selectAllName??"select-all","aria-label":e.labels?.selectAll??"Select all rows",disabled:e.selection.disabled===!0})}):null,$a=(e,t)=>e.selected?.(t)===!0?!0:e.selection?.selectedIds?.includes(e.id(t))===!0,ci=(e,t,a)=>oe(qa,{children:[e.selection&&w("td",{"data-ui":"select-cell",children:w("input",{"data-ui":"row-select",type:"checkbox",name:e.selection.name??"ids",form:e.selection.form,value:e.id(a),checked:$a(e,a),"aria-label":e.labels?.selectRow?.(a,e.id(a))??`Select row ${e.id(a)}`,disabled:e.selection.disabled===!0})}),Le(t,i=>i.key,i=>w("td",{"data-ui":"cell","data-col":i.key,"data-linked":e.rowHref&&i===t[0]?"true":null,"data-align":i.align??"start","data-kind":i.kind??"text","data-priority":i.priority??"secondary","data-label":e.responsive==="stack"?i.label:null,children:e.rowHref&&i===t[0]?w("a",{"data-ui":"row-link",href:e.rowHref(a),children:i.cell(a)}):i.cell(a)}))]}),Ka=(e,t,a)=>w("tr",{"data-ui":"row","data-row":e.id(a),"data-selected":$a(e,a)?"true":null,children:ci(e,t,a)}),ui=(e,t,a)=>a?w("tr",{"data-ui":"group-pager",children:oe("td",{colSpan:String(Ia(e,t)),children:[w("span",{children:a.label}),oe("span",{"data-ui":"group-pager-actions",children:[a.previousHref&&w("a",{href:a.previousHref,"aria-label":e.labels?.previousPage??"Previous page",children:"\u2039"}),a.nextHref&&w("a",{href:a.nextHref,"aria-label":e.labels?.nextPage??"Next page",children:"\u203A"})]})]})}):null,Ba=(e,t,a,i)=>oe(qa,{children:[w("tr",{"data-ui":"group-row","data-group":a.id,"data-depth":String(i),children:oe("th",{"data-ui":"group-cell",colSpan:String(Ia(e,t)),scope:"rowgroup",children:[w("span",{"data-ui":"group-indent",style:`--kv-group-depth: ${i}`,"aria-hidden":"true"}),a.href?w("a",{"data-ui":"group-link",href:a.href,children:a.label}):w("span",{"data-ui":"group-link",children:a.label}),a.count!==void 0&&w("span",{"data-ui":"group-count",children:String(a.count)})]})}),Le(a.rows??[],e.id,r=>Ka(e,t,r)),Le(a.children??[],r=>r.id,r=>Ba(e,t,r,i+1)),ui(e,t,a.pager)]}),U=e=>{let t=oi(e),a=e.groups??[],r=e.rows.length>0||a.length>0?w("div",{"data-ui":"table-scroll","data-pattern":"data-table","data-framed":e.title?"false":null,"data-responsive":e.responsive??"scroll","data-gutter":e.gutter==="compact"?"compact":null,children:oe("table",{"data-ui":"table","aria-label":e.caption?null:e.title??null,children:[!!e.caption&&w("caption",{"data-ui":"table-caption",children:e.caption}),w("thead",{children:oe("tr",{children:[di(e),Le(t,l=>l.key,l=>si(l,e.labels))]})}),w("tbody",{children:a.length>0?Le(a,l=>l.id,l=>Ba(e,t,l,0)):Le(e.rows,e.id,l=>Ka(e,t,l))})]})}):w(fe,{title:e.emptyTitle??"No records",message:e.emptyMessage??"There is nothing to show yet.",actions:e.emptyActions});return e.title?w(dt,{title:e.title,actions:e.actions,padding:"none",body:r}):r};import{Fragment as gc,jsx as mc,jsxs as fc}from"/_ket/view/jsx-runtime.js";var Na=["list-page","list-page-context","list-page-header","list-page-heading","list-page-title-row","list-page-eyebrow","list-page-title","list-page-description","list-page-actions","list-page-tools","list-page-toolbar","list-page-controls","list-page-status","list-page-body","list-page-footer"];import{jsx as yc,jsxs as vc}from"/_ket/view/jsx-runtime.js";var Ja=["record-page","record-page-context","record-page-header","record-page-title-row","record-page-heading","record-page-title","record-page-subline","record-page-status","record-page-actions","record-page-meta","record-page-controller","record-page-navigation","record-page-layout","record-page-body","record-page-aside"];var Xa=["form-page","form-page-context","form-page-header","form-page-title-row","form-page-heading","form-page-title","form-page-subline","form-page-status","form-page-actions","form-page-meta","form-page-controller","form-page-navigation","form-page-layout","form-page-body","form-page-aside"];import{jsx as Lc,jsxs as Mc}from"/_ket/view/jsx-runtime.js";var za=["dashboard-page","dashboard-page-context","dashboard-page-header","dashboard-page-heading","dashboard-page-eyebrow","dashboard-page-title-row","dashboard-page-title","dashboard-page-subline","dashboard-page-status","dashboard-page-actions","dashboard-page-meta","dashboard-page-body"];var Ga=["board-page","board-page-context","board-page-header","board-page-heading","board-page-eyebrow","board-page-title-row","board-page-title","board-page-subline","board-page-status","board-page-actions","board-page-meta","board-page-toolbar","board-page-controls","board-page-body"];import{each as Kc}from"/_ket/view/index.js";import{jsx as qc,jsxs as Nc}from"/_ket/view/jsx-runtime.js";var Ua=["pipeline","pipeline-step","pipeline-arrow","pipeline-step-label","pipeline-step-value","pipeline-step-node"];import{each as Uc}from"/_ket/view/index.js";import{jsx as jc,jsxs as Zc}from"/_ket/view/jsx-runtime.js";var Va=["record-form","form-errors","form-grid","form-actions"];import{each as ru}from"/_ket/view/index.js";import{jsx as du,jsxs as cu}from"/_ket/view/jsx-runtime.js";var _a=["reorder-list","reorder-list-value","reorder-list-rows","reorder-list-row","reorder-list-content","reorder-list-controls"];var Wa={actions:Kt,feedback:Nt,fields:Vt,status:qt,navigation:Wt,progress:ea,menu:ta,reorderList:_a,popover:aa,tooltip:na,dialog:ia,toast:ra,spinner:oa,skeleton:la,lightbox:da,relationSelect:sa,searchFilter:ca,ketTable:ga,scalarFields:fa,combobox:ba,dateTime:pa,upload:ha,relationPicker:ya,listControls:va,inlineEdit:xa,resourceList:ka,dataGrid:wa,tree:Ta,matrix:Ra,barChart:Ca,timeframe:Pa,recordDisplay:La,formattedValues:ua,recordComposition:Fa,activity:Ha,media:Oa,layouts:Ut,shell:zt,appNavigation:Da,table:Aa,listChrome:Sa,listPage:Na,formPage:Xa,recordPage:Ja,dashboardPage:za,boardPage:Ga,modal:Jt,pipeline:Ua,form:Va},gi=[...new Set(Object.values(Wa).flat())].sort(),fi=Object.freeze(Object.fromEntries(Object.entries(Wa).map(([e,t])=>[e,[...t]])));import{signal as I}from"/_ket/view/index.js";import{jsx as pi}from"/_ket/view/jsx-runtime.js";var je="record";var Ke="recordDialog";var bi=/^[a-z][a-z0-9_]*(?:\.[a-zA-Z][a-zA-Z0-9_]*)+$/u,ja=e=>bi.test(e),Be=(e,t)=>{if(!ja(t.kind))throw new TypeError(`invalid record kind "${t.kind}"`);let a=new URL(String(e),"http://ket.local");return a.searchParams.set(je,`${t.kind}:${t.id}`),t.tab?a.searchParams.set("tab",t.tab):a.searchParams.delete("tab"),t.dialog?a.searchParams.set(Ke,t.dialog):a.searchParams.delete(Ke),`${a.pathname}${a.search}`};var Za=e=>{let t=new URL(String(e),"http://ket.local");return t.searchParams.delete(je),t.searchParams.delete("tab"),t.searchParams.delete(Ke),`${t.pathname}${t.search}`},Me=e=>{let t=new URL(String(e),"http://ket.local"),a=t.searchParams.get(je)??"",i=a.indexOf(":");if(i<=0||i===a.length-1)return null;let r=a.slice(0,i);return ja(r)?{kind:r,id:a.slice(i+1),tab:t.searchParams.get("tab"),...t.searchParams.get(Ke)?{dialog:t.searchParams.get(Ke)}:{}}:null},pt=e=>pi("span",{"data-ui":"record-modal-host","data-record-kind":e,hidden:!0});import{jsx as ye,jsxs as hi}from"/_ket/view/jsx-runtime.js";var X=e=>hi("form",{"data-ui":"record-form",method:"post",action:"","data-record-kind":e.kind,"data-record-dropzone":e.dropzone?"":null,id:e.id,"data-record-dirty":e.dirty===!0?"true":null,children:[e.command?ye("input",{type:"hidden",name:z,value:e.command,autocomplete:"off"}):"",Object.entries(e.hidden??{}).map(([t,a])=>ye("input",{type:"hidden",name:t,value:a,autocomplete:"off"})),e.fields.length?ye("div",{"data-ui":"form-grid",children:e.fields.map(t=>he(t))}):null,e.body,e.actions?.length?ye("div",{"data-ui":"form-actions",children:ge({actions:e.actions})}):""]}),ht=e=>ye("select",{"data-ui":"field-control","data-record-state":e.state,id:e.id,name:e.name,required:e.required===!0,disabled:e.disabled===!0,"aria-invalid":e.invalid?"true":null,children:e.options.map(t=>ye("option",{value:t.value,selected:t.value===e.value,children:t.label}))}),Ee=e=>ye("span",{"data-record-dialog":e.dialog,"data-record-param-id":e.id??null,children:e.children});import{Fragment as qe,jsx as vb,jsxs as Ne}from"/_ket/view/jsx-runtime.js";var Qa=e=>{let t=e??{};return(Array.isArray(t.errors)?t.errors:Array.isArray(t.issues)?t.issues:[]).map(i=>{let r=i??{},l=Array.isArray(r.path)?r.path.join("."):null;return{field:typeof r.field=="string"?r.field:l,code:String(r.code??"invalid"),message:typeof r.message=="string"?r.message:null,params:r.params&&typeof r.params=="object"?r.params:{}}})},sn=async(e,t,a={})=>{let i=new URL(e,"https://record.invalid");if(i.origin!=="https://record.invalid"||!e.startsWith("/")||e.startsWith("//"))throw new Error("Record commands require a same-origin route");let r=await fetch(i.pathname+i.search,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",...a.idempotencyKey?{"idempotency-key":a.idempotencyKey}:{}},body:JSON.stringify(t),signal:a.signal}),l=await r.json().catch(()=>({}));if(!r.ok||l.ok===!1)return{ok:!1,issues:Qa(l.error??l),message:r.status>=500?null:l.error?.message??l.message??null,status:r.status};let b=l.value;return b&&typeof b=="object"&&b.ok===!1?{ok:!1,issues:Qa(b),message:null,status:r.status}:{ok:!0,value:l.value}},en=(e,t,a={})=>sn(`/_ket/fn/${encodeURIComponent(e)}`,t,a),yi=async(e,t)=>{let a=new URL(e,location.href);if(a.origin!==location.origin)throw new Error("Record context must stay same-origin");let i=await fetch(a.href,{credentials:"same-origin",signal:t,headers:{accept:"application/json"}});return i.ok?{ok:!0,value:await i.json()}:{ok:!1,issues:[],message:null,status:i.status}},vi=30,xi=Object.freeze({"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The change is in.","recordModal.unsaved":"Discard what you typed?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}),Ye=(e,t)=>t.messages?.[e]??t.previous?.[e]??t.labels?.[e]??xi[e]??(/^E_[A-Z_]+$/u.test(e)?Ye("recordModal.saveFailed",t):e),Si=(e,t)=>{let a=Ye(e,t);return a===e?Ye("recordModal.saveFailed",t):a},z="__command",tn="data-record-dialog",an=(e,t={})=>e.replace(/\{([a-zA-Z0-9_]+)\}/gu,(a,i)=>i in t?String(t[i]??""):a),dn=["a[href]","button:not(:disabled)",'input:not(:disabled):not([type="hidden"])',"select:not(:disabled)","textarea:not(:disabled)",'[tabindex]:not([tabindex="-1"])'].join(", "),nn=e=>[...e.querySelectorAll(dn)].filter(t=>!t.hidden&&t.getAttribute("aria-hidden")!=="true"&&!t.matches('[data-ui="modal-backdrop"]'));var ki=e=>{let t=[],a=e;for(;a&&a!==document.body;){let i=a.parentElement;if(!i)break;for(let r of i.children)r instanceof HTMLElement&&r!==a&&!r.matches("script, style, template")&&(t.push({element:r,inert:r.inert}),r.inert=!0);a=i}return()=>{for(let{element:i,inert:r}of t)i.inert=r}},rn=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,wi=e=>Object.entries(e.values).some(([t,a])=>a!==e.initialValues[t])||Object.entries(e.checks).some(([t,a])=>a!==e.initialChecks[t]),on=(e,t)=>{let a=i=>Object.fromEntries(Object.entries(i).filter(([r])=>!t.includes(r)));return{values:a(e.values),checks:a(e.checks),initialValues:a(e.initialValues),initialChecks:a(e.initialChecks)}},$=()=>({values:{},checks:{},initialValues:{},initialChecks:{}}),ln=(e,t)=>`${e}\0${t}`,Ze="__all:",yt=e=>e.after??"close",Ti=400,Ri=(e,t=Ti)=>{let a,i=()=>{clearTimeout(a),a=void 0};return{set:r=>{if(i(),!r){e(!1);return}a=setTimeout(()=>e(!0),t)},stop:i}},Ci='a, button, input, select, textarea, label, summary, details, [data-ui="select-cell"]',Pi=e=>{let t=e?.closest("a[href]");return t?t.target&&t.target!=="_self"?null:t.href:e?.closest(Ci)?null:e?.closest("[data-row-href]")?.getAttribute("data-row-href")??null},cn=e=>()=>{let t=I(null),a=I("idle"),i=I(null),r=I(null),l=I([]),b=I($()),F=I($()),Lt=I(!1),Mt=I(!1),Et=Ri(d=>Mt.set(d)),ve=I(!1),Ft=d=>{Lt.set(d),Et.set(d),d&&ve.set(!1)},M=I(null),Fe=I(0),He=I({}),q=I({}),Z=I(null),V=new Map,Rn=(d,m)=>{for(V.delete(d),V.set(d,m);V.size>vi;)V.delete(V.keys().next().value)},A=null,Je=null,Xe=!1,it=null,_=null,xe=null,Oe=null,Cn=()=>typeof e.labels=="function"?e.labels():e.labels??{},Ht=()=>({messages:i()?.messages,previous:Oe,labels:Cn()}),Y=(d,m)=>an(Ye(d,Ht()),m),Ot=d=>d.message??an(Si(d.code,Ht()),d.params),Dt=d=>[...e.tabs??[],...e.extensionTabs?.(d)??[]].filter(m=>m.visible?.(d)??!0),ze=(d,m,g="record")=>{let u=()=>g==="dialog"?F():b(),c={kind:e.kind,id:d.id,creating:d.id==="new",tab:d.tab,data:m,t:Y,fieldError:p=>{let o=l().find(s=>s.field===p);return o?Ot(o):null},draft:(p,o="")=>{let s=u();return s.initialValues[p]??=o,s.values[p]??o},recordDraft:(p,o="")=>b().values[p]??o,draftChecked:(p,o="1",s=!1)=>{let f=u(),v=ln(p,o);return f.initialChecks[v]??=s,f.checks[v]??s},outcome:p=>{let o=Z();return o?.command===p?o.value:null},busy:Mt(),dialog:M(),href:p=>Be(location.href,{kind:e.kind,id:d.id,tab:p}),state:(p,o="")=>(g==="dialog"?q()[p]:void 0)??He()[p]??o},S=Dt(c);return S.length&&!S.some(p=>p.id===d.tab)&&(c.tab=S[0].id),c},De=null,de=async(d,m=!1)=>{Je?.abort();let g=new AbortController;Je=g;let u=e.cache===!1?void 0:V.get(d);u&&(Oe=u.messages??Oe,i.set(u),a.set("ready"),m=!0),m||a.set("loading"),r.set(null);try{let c=d==="new",S="route"in e.context?await yi(e.context.route(d,c),g.signal):await en(e.context.fn,e.context.input?e.context.input(d,c):c?{}:{id:d},{signal:g.signal});if(g.signal.aborted)return;if(!S.ok||!S.value){r.set(S.ok?"recordModal.notFound":S.message??"recordModal.loadFailed"),a.set("error");return}Oe=S.value.messages??Oe,e.cache!==!1&&Rn(d,S.value),i.set(S.value),a.set("ready"),De&&e.dialogs?.[De]&&(M.set({name:De,params:{}}),Te()),De=null}catch(c){if(g.signal.aborted||c?.name==="AbortError")return;r.set("recordModal.loadFailed"),a.set("error")}},Ge=()=>A?[...A.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]')]:[],Se=()=>Ge()[0]??null,rt=()=>Ge().at(-1)??null,ke=0,we=()=>{if(e.fixedHeight||a()!=="ready")return;let d=Se()?.querySelector('[data-ui="modal-sheet"][data-height="fixed"]');if(!d)return;if(window.matchMedia("(max-width: 47.9375rem)").matches){d.style.setProperty("height","100dvh","important"),d.style.removeProperty("min-height");return}let m=d.querySelector('[data-ui="tabbed-view"]');if(!m)return;let g=m.querySelector('[data-ui="tab-panel"]'),u=g?.scrollTop??0;d.style.setProperty("height","auto","important"),d.style.setProperty("min-height","0"),m.style.setProperty("height","auto"),ke=Math.max(ke,Math.ceil(d.getBoundingClientRect().height)),m.style.removeProperty("height");let c=getComputedStyle(d).maxHeight;d.style.setProperty("min-height",c==="none"?`${ke}px`:`min(${ke}px, ${c})`),g&&(g.scrollTop=u)},ce=(d,m)=>{if(!d)return;let g=m==="dialog"?F():b(),u={values:{...g.values},checks:{...g.checks},initialValues:{...g.initialValues},initialChecks:{...g.initialChecks}};for(let c of d.querySelectorAll("input[name], select[name], textarea[name]"))if(!(c.disabled||c.name===z)){if(c instanceof HTMLInputElement){if(c.type==="file"||c.type==="hidden")continue;if(c.type==="checkbox"||c.type==="radio"){let S=ln(c.name,c.value);u.initialChecks[S]??=c.defaultChecked,u.checks[S]=c.checked,c.type==="checkbox"?u.values[c.name]=c.checked?c.value:"":c.checked&&(u.values[c.name]=c.value),u.initialValues[c.name]=u.values[c.name]??"";continue}}u.initialValues[c.name]??=c instanceof HTMLSelectElement?[...c.options].find(S=>S.defaultSelected)?.value??c.options[0]?.value??"":c.defaultValue,u.values[c.name]=c.value}m==="dialog"?F.set(u):b.set(u)},Ue=()=>{let d=Ge();ce(d[0]??null,"record"),d.length>1&&ce(d.at(-1)??null,"dialog")},At=d=>{if(!d)return!0;let m=M()&&d===rt()?"dialog":"record";ce(d,m);let g=m==="dialog"?F():b(),u=[...d.querySelectorAll('input[type="file"]')].some(c=>!c.disabled&&!!c.files?.length);return!wi(g)&&!u?!0:globalThis.confirm(Y("recordModal.unsaved"))},Te=d=>{requestAnimationFrame(()=>{let m=Ge(),g=m[0],u=m.at(-1);if(!u)return;g&&(g.inert=m.length>1);let c=d?.();if(c?.isConnected&&u.contains(c)){c.focus();return}if(u.contains(document.activeElement))return;let S=u.querySelector('[data-ui="modal-sheet"]');(nn(u).find(o=>!o.matches('[data-ui="modal-close"]'))??S)?.focus()})},ne=(d,m,g,u,c)=>{let S=t(),p=S?.id===d,o=m??(p?S.tab:"");p||(ke=0,De=c??null,it=document.activeElement instanceof HTMLElement?document.activeElement:null,l.set([]),ve.set(!1),b.set($()),F.set($()),q.set({}),He.set({}),Z.set(null),M.set(null),_=null,i.set(null),de(d)),p&&c&&e.dialogs?.[c]&&(Ue(),F.set($()),q.set({}),M.set({name:c,params:{}})),t.set({id:d,tab:o});let s=Be(location.href,{kind:e.kind,id:d,tab:o||null,dialog:c});g==="push"?(history.replaceState({...history.state??{},__ketScroll:[window.scrollX,window.scrollY]},"",location.href),history.pushState({...history.state??{},__ketRecordModal:e.kind},"",s),Xe=!0):g==="replace"&&history.replaceState(history.state??{},"",s),A&&!xe&&(xe=ki(A)),Te(u)},Ae=d=>{Je?.abort(),t.set(null),ke=0,M.set(null),l.set([]),ve.set(!1),b.set($()),F.set($()),q.set({}),He.set({}),Z.set(null),a.set("idle"),i.set(null),xe?.(),xe=null,d==="history"&&Xe?(Xe=!1,history.back()):d!=="none"&&(Xe=!1,history.replaceState(history.state??{},"",Za(location.href)));let m=it;it=null,_=null,m?.isConnected&&requestAnimationFrame(()=>m.focus())},It=()=>{if(M()){if(!At(rt()))return;let d=_;_=null,M.set(null);let m=t();m&&history.replaceState(history.state??{},"",Be(location.href,{kind:e.kind,id:m.id,tab:m.tab})),F.set($()),q.set({}),l.set([]),Z.set(null),Te(()=>d?.isConnected?d:null);return}At(Se())&&Ae("history")},Pn=async(d,m,g)=>{let u=e.commands?.[d],c=t(),S=i()?.data;if(!u||!c||S===void 0||Lt())return;let p=new FormData(m,g instanceof HTMLButtonElement?g:null),o=m.closest('[data-ui="modal-layer"][data-client-modal="true"]'),s=M()&&o===rt()?"dialog":"record";ce(o,s);let f=ze(c,S,s);if(u.confirm){let v=u.confirm(f);if(v&&!globalThis.confirm(v))return}Ft(!0),l.set([]);try{let v={};for(let[y,J]of Object.entries(u.upload??{})){let K=p.get(y);if(!(K instanceof File)||K.size===0)continue;let ee=new FormData;for(let[ot,En]of Object.entries(J(p,f)))ee.append(ot,En);ee.append("file",K,K.name);let te=await fetch("/files",{method:"POST",credentials:"same-origin",body:ee}),B=await te.json().catch(()=>null);if(!te.ok||!B?.id){l.set([{field:null,code:"recordModal.uploadFailed",message:typeof B?.message=="string"?B.message:null,params:{}}]);return}v[y]={id:String(B.id),name:typeof B.name=="string"?B.name:null}}let R=(y,J)=>en(y,J,{idempotencyKey:rn()}),x=u.route?await sn(u.route,u.input(p,f,v),{idempotencyKey:rn()}):await R(u.fn,u.input(p,f,v));for(let y of x.ok?u.also??[]:[])if(!(y.when&&!y.when(f))&&(x=await R(y.fn,y.input(p,f,v)),!x.ok))break;if(!x.ok){Z.set(null),l.set(x.issues.length?x.issues.map(y=>({...y,field:y.field&&u.issueField?u.issueField(y.field,p,f):y.field})):[{field:null,code:x.message??"recordModal.saveFailed",message:x.message,params:{}}]);return}if(u.preview){Z.set({command:d,value:x.value}),Fe.set(Fe()+1);return}s==="dialog"?(F.set($()),q.set({})):b.set($()),u.clearRecordDrafts?.length&&b.set(on(b(),u.clearRecordDrafts)),Z.set(yt(u)==="stay"?{command:d,value:x.value}:null),m.reset();let Q=x.value,ie=yt(u)==="open"?u.created?.(x.value)??(Q&&typeof Q=="object"&&Q.id!=null?String(Q.id):null):null;V.delete(c.id),ie&&V.delete(ie);let ue=()=>{document.dispatchEvent(new CustomEvent("ket:records-changed",{detail:{kind:e.kind,ids:[ie??c.id]}}))};if(u.navigate){let y=new URL(u.navigate(x.value,f),location.href);if(y.origin!==location.origin)throw new Error("Record navigation must stay same-origin");Ae("none"),location.assign(y.href);return}let N=yt(u);if(N!=="close"&&ve.set(!0),N==="open"){M.set(null),F.set($()),q.set({}),ie?ne(ie,u.openTab??null,"replace"):Ae("history"),ue();return}if(ue(),N==="close")Ae("history");else if(N==="reload"){let y=_;_=null,M.set(null),F.set($()),q.set({}),history.replaceState(history.state??{},"",Be(location.href,{kind:e.kind,id:c.id,tab:c.tab})),await de(c.id),Te(()=>y?.isConnected?y:null)}else if(N==="refresh")await de(c.id,!0);else if(N==="stay")Fe.set(Fe()+1);else if("tab"in N)_=null,M.set(null),F.set($()),q.set({}),ne(c.id,N.tab,"replace"),await de(c.id);else{let y=N.dialog?null:_;_=N.dialog&&g instanceof HTMLElement?g:null,M.set(N.dialog?{name:N.dialog,params:{}}:null),F.set($()),q.set({}),await de(c.id,!0),Te(()=>y?.isConnected?y:null)}}catch{l.set([{field:null,code:"recordModal.saveFailed",message:null,params:{}}])}finally{Ft(!1)}},$t=d=>{let m=l().filter(c=>!c.field),g=l().filter(c=>c.field&&!A?.querySelector(`[name="${CSS.escape(c.field)}"]`)),u=[...m,...g];return u.length?h({title:d.t("recordModal.errorTitle"),message:u.map(Ot).join(" \xB7 "),tone:"danger"}):ve()?h({title:d.t("recordModal.savedTitle"),message:d.t("recordModal.saved"),tone:"positive"}):""},Ln=()=>{let d=t();if(!d)return"";if(a()==="error")return Ne(qe,{children:[h({title:Y("recordModal.errorTitle"),message:Y(r()??"recordModal.loadFailed"),tone:"danger"}),k({label:Y("recordModal.retry"),variant:"secondary",name:"intent",value:"retry"})]});let m=i()?.data;if(a()!=="ready"||m===void 0)return Re({label:Y("recordModal.loading")});let g=ze(d,m),u=Dt(g),c=u.find(s=>s.id===g.tab),S=e.header?.(g)??"",p=$t(g),o=c?c.view(g):e.body?.(g)??"";return u.length?ut({id:`record-view-${e.kind.replaceAll(".","-")}`,label:e.title(g),items:u.map(s=>({id:s.id,label:s.label(g),href:g.href(s.id),active:s.id===g.tab})),context:S!==""||p!==""?Ne(qe,{children:[S,p]}):void 0,body:o}):Ne(qe,{children:[S,p,o]})},Mn=()=>{let d=t(),m=M(),g=i()?.data;if(!d||!m||g===void 0)return"";let u=e.dialogs?.[m.name];if(!u)return"";let c=ze(d,g,"dialog");return be({id:`record-dialog-${e.kind.replaceAll(".","-")}-${m.name}`,mode:"client",presentation:"dialog",size:u.size??"default",title:u.title(c),description:u.description?.(c),actions:u.actions?.(c),closeLabel:Y("recordModal.close"),body:Ne(qe,{children:[$t(c),u.view(c)]})})};return{view:()=>{Fe();let d=t();if(!d)return pt(e.kind);let m=i()?.data,g=m===void 0?null:ze(d,m);return Ne(qe,{children:[pt(e.kind),be({id:`record-modal-${e.kind.replaceAll(".","-")}`,mode:"client",presentation:"dialog",size:e.size??"default",height:(e.tabs?.length??0)+(e.extensionTabs?1:0)>1?"fixed":"content",fixedHeight:e.fixedHeight??"auto",title:g?e.title(g):Y("recordModal.loading"),description:g?e.description?.(g)??null:null,status:g?e.status?.(g):void 0,actions:g?e.actions?.(g):void 0,closeLabel:Y("recordModal.close"),body:Ln()}),Mn()]})},mount:({root:d,lifetime:m})=>{A=d,document.addEventListener("click",o=>{if(o.defaultPrevented||o.button!==0||o.metaKey||o.ctrlKey||o.shiftKey||o.altKey)return;let s=o.target instanceof Element?o.target:null,f=s?.closest('[data-ui="modal-layer"][data-client-modal="true"]');if(f&&A?.contains(f)){if(s?.closest('[data-ui="modal-close"], [data-ui="modal-backdrop"], [data-record-close]')){o.preventDefault(),It();return}let y=s?.closest("button[data-record-state], a[data-record-state], [data-record-state-trigger]");if(y){o.preventDefault(),Ue();let K=y.getAttribute("data-record-reset-fields");if(K){let te=JSON.parse(K);if(Array.isArray(te)&&te.every(B=>typeof B=="string")){let B=M()?F:b;B.set(on(B(),te))}}let ee=M()?q:He;ee.set({...ee(),[y.getAttribute("data-record-state-trigger")??y.getAttribute("data-record-state")??""]:y.getAttribute("data-record-value")??""});return}let J=s?.closest(`[${tn}]`);if(J){o.preventDefault(),ce(Se(),"record");let K=document.activeElement;_=K instanceof HTMLElement&&J.contains(K)?K:J.querySelector(dn),F.set($()),q.set({});let ee={};for(let[te,B]of Object.entries(J.dataset))te.startsWith("recordParam")&&B!==void 0&&(ee[te.slice(11).replace(/^./u,ot=>ot.toLowerCase())]=B);l.set([]),Z.set(null),ve.set(!1),M.set({name:J.getAttribute(tn)??"",params:ee}),Te();return}if(s?.closest('button[name="intent"][value="retry"]')){o.preventDefault();let K=t();K&&de(K.id);return}}let v=Pi(s);if(!v)return;let R=new URL(v,location.href);if(R.origin!==location.origin||R.pathname!==location.pathname)return;let x=Me(R);if(!x||x.kind!==e.kind)return;o.preventDefault();let Q=t(),ie="route"in e.context?e.context.query??[]:[],ue=new URL(location.href);if(ie.some(y=>ue.searchParams.get(y)!==R.searchParams.get(y))){ce(Se(),"record");for(let y of ie){let J=R.searchParams.get(y);J===null?ue.searchParams.delete(y):ue.searchParams.set(y,J)}history.replaceState(history.state??{},"",ue.href),Q?.id===x.id&&de(Q.id)}if(Q?.id===x.id){if((x.tab??"")===Q.tab&&!x.dialog)return;ce(Se(),"record"),l.set([]),Z.set(null),ne(x.id,x.tab??null,"replace",()=>Se()?.querySelector('[data-ui="tab"][data-active="true"]')??null);return}ne(x.id,x.tab??null,"push",void 0,x.dialog)},{signal:m,capture:!0}),document.addEventListener("keydown",o=>{if(o.defaultPrevented||o.key!=="Enter"&&o.key!==" ")return;let s=o.target instanceof Element?o.target:null;if(!s?.matches('[data-row-href][tabindex="0"]'))return;let f=s.getAttribute("data-row-href"),v=f?new URL(f,location.href):null;if(!v||v.origin!==location.origin||v.pathname!==location.pathname)return;let R=Me(v);!R||R.kind!==e.kind||(o.preventDefault(),ne(R.id,R.tab??null,"push",void 0,R.dialog))},{signal:m,capture:!0}),document.addEventListener("submit",o=>{let s=o.target instanceof HTMLFormElement?o.target:null;if(!s||!A?.contains(s))return;o.preventDefault();let f=o.submitter??null,v=(f instanceof HTMLButtonElement&&f.name===z?f.value:null)??String(new FormData(s).get(z)??"");Pn(v,s,f)},{signal:m}),document.addEventListener("keydown",o=>{if(!t())return;let s=A?.querySelectorAll('[data-ui="modal-layer"][data-client-modal="true"]'),f=s?.[s.length-1];if(!f)return;if(o.key==="Escape"){o.preventDefault(),It();return}if(o.key!=="Tab")return;let v=nn(f);if(!v.length){o.preventDefault(),f.querySelector('[data-ui="modal-sheet"]')?.focus();return}let R=v[0],x=v.at(-1);o.shiftKey&&(document.activeElement===R||!f.contains(document.activeElement))?(o.preventDefault(),x.focus()):!o.shiftKey&&(document.activeElement===x||!f.contains(document.activeElement))&&(o.preventDefault(),R.focus())},{signal:m}),document.addEventListener("change",o=>{let s=o.target instanceof Element?o.target:null;if(!s||!A?.contains(s))return;if(s instanceof HTMLInputElement&&s.type==="checkbox"&&s.form){let v=s.form;if(v.querySelector(`input[type="checkbox"][name^="${Ze}"]`)){if(s.name.startsWith(Ze)){let R=s.name.slice(Ze.length);for(let x of v.querySelectorAll('input[type="checkbox"]'))!x.disabled&&!x.name.startsWith(Ze)&&x.name.startsWith(R)&&(x.checked=s.checked)}Ue();return}}let f=s.getAttribute("data-record-state")??(["relation-native","reorder-list-value"].includes(s.getAttribute("data-ui")??"")?s.getAttribute("name"):null);if((s instanceof HTMLSelectElement||s instanceof HTMLInputElement)&&f){Ue();let v=M()?q:He;v.set({...v(),[f]:s.value});return}s instanceof HTMLInputElement&&s.type==="file"&&(s.hasAttribute("data-record-submit")||s.form?.hasAttribute("data-record-dropzone"))&&s.files?.length&&s.form?.requestSubmit()},{signal:m});let g=o=>{let f=(o.target instanceof Element?o.target:null)?.closest("form[data-record-dropzone]")??null;return f&&A?.contains(f)?f:null};document.addEventListener("dragover",o=>{let s=g(o);s&&(o.preventDefault(),s.dataset.drag="1")},{signal:m}),document.addEventListener("dragleave",o=>{let s=g(o);if(!s)return;let f=o.relatedTarget;f instanceof Node&&s.contains(f)||delete s.dataset.drag},{signal:m}),document.addEventListener("drop",o=>{let s=g(o);if(!s)return;o.preventDefault(),delete s.dataset.drag;let f=o.dataTransfer?.files,v=s.querySelector('input[type="file"]');if(!v||!f?.length)return;let R=new DataTransfer;R.items.add(f[0]),v.files=R.files,s.requestSubmit()},{signal:m});let u="ket-island, div[data-ket-island]",c=o=>o instanceof Element&&(o.matches(u)||o.querySelector(u)!==null),S=new MutationObserver(o=>{we();for(let s of o){for(let f of s.removedNodes)c(f)&&document.dispatchEvent(new CustomEvent("ket:islands-detach",{detail:{root:f}}));for(let f of s.addedNodes)c(f)&&f.isConnected&&document.dispatchEvent(new CustomEvent("ket:islands-attach",{detail:{root:f}}))}});S.observe(A,{childList:!0,subtree:!0,characterData:!0}),m.addEventListener("abort",()=>S.disconnect()),window.addEventListener("resize",we,{signal:m}),A.addEventListener("load",we,{capture:!0,signal:m}),A.addEventListener("toggle",we,{capture:!0,signal:m}),document.fonts?.ready.then(()=>{m.aborted||we()}),we(),document.addEventListener("ket:records-changed",o=>{let s=o.detail;if(s?.kind===e.kind)if(!Array.isArray(s.ids)||!s.ids.length)V.clear();else for(let f of s.ids)V.delete(String(f))},{signal:m}),document.addEventListener("ket:popstate",o=>{let s=Me(location.href),f=s?.kind===e.kind;!f&&!t()||(o.preventDefault(),f&&s?ne(s.id,s.tab??null,"none",void 0,s.dialog):Ae("none"))},{signal:m}),document.addEventListener("ket:navigation-complete",()=>{let o=Me(location.href);o?.kind===e.kind&&!t()&&ne(o.id,o.tab??null,"none",void 0,o.dialog)},{signal:m});let p=Me(location.href);p?.kind===e.kind&&ne(p.id,p.tab??null,"none",void 0,p.dialog),m.addEventListener("abort",()=>{Je?.abort(),Et.stop(),xe?.(),xe=null,A=null})}}};var un={vi:{"recordModal.close":"\u0110\xF3ng","recordModal.loading":"\u0110ang t\u1EA3i\u2026","recordModal.loadFailed":"Kh\xF4ng \u0111\u1ECDc \u0111\u01B0\u1EE3c d\u1EEF li\u1EC7u. H\xE3y th\u1EED l\u1EA1i.","recordModal.notFound":"M\u1EE5c n\xE0y kh\xF4ng c\xF2n t\u1ED3n t\u1EA1i ho\u1EB7c b\u1EA1n kh\xF4ng c\xF3 quy\u1EC1n xem.","recordModal.retry":"Th\u1EED l\u1EA1i","recordModal.errorTitle":"Ch\u01B0a l\u01B0u \u0111\u01B0\u1EE3c","recordModal.saveFailed":"Thao t\xE1c kh\xF4ng th\xE0nh c\xF4ng. H\xE3y th\u1EED l\u1EA1i.","recordModal.savedTitle":"\u0110\xE3 l\u01B0u","recordModal.saved":"Thay \u0111\u1ED5i \u0111\xE3 \u0111\u01B0\u1EE3c ghi nh\u1EADn.","recordModal.unsaved":"B\u1ECF c\xE1c thay \u0111\u1ED5i ch\u01B0a l\u01B0u?","recordModal.uploadFailed":"Kh\xF4ng t\u1EA3i \u0111\u01B0\u1EE3c t\u1EC7p l\xEAn. H\xE3y th\u1EED l\u1EA1i."},en:{"recordModal.close":"Close","recordModal.loading":"Loading\u2026","recordModal.loadFailed":"The record could not be read. Try again.","recordModal.notFound":"The record is gone or you cannot see it.","recordModal.retry":"Retry","recordModal.errorTitle":"Not saved","recordModal.saveFailed":"That did not work. Try again.","recordModal.savedTitle":"Saved","recordModal.saved":"The changes have been saved.","recordModal.unsaved":"Discard unsaved changes?","recordModal.uploadFailed":"The file could not be uploaded. Try again."}};var vt=e=>e==="full"?"positive":e==="partial"?"warning":"neutral",mn=e=>e.area?`${e.area} \xB7 ${e.label}`:e.label,Li=(e,t)=>t.missing.map(a=>`${a.label} (${e(`user_backend.surface.tier.${a.tier}`)})`).join(" \xB7 "),gn=e=>{let{t}=e,a=e.surfaces.filter(r=>r.status==="partial"),i=e.surfaces.filter(r=>r.status==="full");return!a.length&&!i.length?h({tone:"info",title:e.empty.title,message:e.empty.message}):C({gap:"default",items:[j({columns:2,items:[{id:"full",label:t("user_backend.surface.fullCount"),value:H({label:String(i.length),tone:"positive"})},{id:"partial",label:t("user_backend.surface.partialCount"),value:H({label:String(a.length),tone:a.length?"warning":"neutral"})}]}),...a.length?[P({title:t("user_backend.surface.partialTitle"),description:t("user_backend.surface.partialHint"),body:U({rows:a,id:r=>r.key,columns:[{key:"screen",label:t("user_backend.surface.screen"),priority:"primary",cell:r=>mn(r)},{key:"missing",label:t("user_backend.surface.missing"),cell:r=>Li(t,r)},{key:"fix",label:t("user_backend.surface.fix"),cell:r=>r.fixes.join(" \xB7 ")||t("user_backend.surface.noFix")}]})})]:[],...i.length?[P({title:t("user_backend.surface.fullTitle"),body:U({rows:i,id:r=>r.key,columns:[{key:"screen",label:t("user_backend.surface.screen"),priority:"primary",cell:r=>mn(r)},{key:"status",label:t("user_backend.field.state"),cell:r=>H({label:t(`user_backend.surface.status.${r.status}`),tone:vt(r.status)})},...e.showVia?[{key:"via",label:t("user_backend.surface.via"),cell:r=>r.via.join(" \xB7 ")||"\u2014"}]:[]]})})]:[]]})},fn=(e,t,a)=>U({rows:t,id:i=>`${a}:${i.key}`,columns:[{key:"screen",label:e("user_backend.surface.screen"),priority:"primary",cell:i=>i.area?`${i.area} \xB7 ${i.label}`:i.label},{key:"before",label:e("user_backend.preview.before"),cell:i=>H({label:e(`user_backend.surface.status.${i.before}`),tone:vt(i.before)})},{key:"after",label:e("user_backend.preview.after"),cell:i=>H({label:e(`user_backend.surface.status.${i.after}`),tone:vt(i.after)})}]});var Mi=["internal","portal","public"],le=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,xt=()=>typeof document<"u"&&document.documentElement.lang==="en"?"en":"vi",n=(e,t)=>e.t(`user_backend.${t}`),D=(e,t)=>String(e.get(t)??"").trim(),Ct=(e,t)=>["1","on","true"].includes(String(e.get(t)??"")),Ei=e=>e.creating?e.data.permissions.create===!0:e.data.permissions.save===!0,Fi=e=>`user-user-${e}`,E=(e,t)=>({...t,id:Fi(t.name),value:t.type==="checkbox"?e.draftChecked(t.name,"1",t.value===!0||t.value==="1"):t.type==="checkbox-group"?t.value:e.draft(t.name,String(t.value??"")),options:t.type==="checkbox-group"?t.options?.map(a=>({...a,checked:e.draftChecked(a.name??`${t.name}[]`,a.value,a.checked===!0)})):t.options,error:e.fieldError(t.name),disabled:t.disabled===!0||!Ei(e)}),et=(e,t)=>{let a=E(e,{name:t.name,label:t.label,type:"select",required:t.required});return{...a,options:t.options,control:ht({id:a.id,name:t.name,state:t.name,value:t.value,options:t.options,required:t.required,disabled:a.disabled===!0,invalid:!!a.error})}},at=e=>`role_${e}`,vn=(e,t)=>t.map(a=>String(a.id)).filter(a=>Ct(e,at(a))),nt=e=>e.data.actor?.self===!0,xn=e=>e.data.actor?.superuser===!0,kt=e=>String(e.tier??"")==="security",Sn=(e,t)=>e.data.roles.map(a=>({name:at(String(a.id)),value:"1",label:kt(a)?`${String(a.name)} \xB7 ${n(e,"role.tier.security")}`:String(a.name),checked:t(String(a.id)),disabled:kt(a)&&!xn(e)})),kn=(e,t)=>e.data.roles.some(kt)&&!xn(e)?n(e,"access.securityTierHint"):t,Hi=e=>{let t=e.state("scopeKind","branch"),a=e.state("companyId",String(e.data.companies[0]?.id??""));return[E(e,{name:"name",label:n(e,"field.name"),required:!0}),E(e,{name:"login",label:n(e,"field.login"),required:!0}),E(e,{name:"email",label:n(e,"field.email"),type:"email",required:!0,span:"full"}),et(e,{name:"scopeKind",label:n(e,"field.scope"),value:t,required:!0,options:e.data.scopeKinds.map(i=>({value:i,label:n(e,`scope.choice.${i}`)}))}),...t==="tenant"?[]:[et(e,{name:"companyId",label:n(e,"field.company"),value:a,required:!0,options:e.data.companies.map(i=>({value:String(i.id),label:String(i.name)}))})],...t==="branch"?[E(e,{name:"branchId",label:n(e,"field.branch"),type:"select",required:!0,options:e.data.branches.filter(i=>String(i.companyId)===a).map(i=>({value:String(i.id),label:String(i.name)}))})]:[],...e.data.roles.length?[E(e,{name:"roleIds",label:n(e,"field.jobRoles"),type:"checkbox-group",span:"full",help:kn(e,n(e,"users.rolesOptionalHint")),optionsOrientation:"vertical",options:Sn(e,i=>e.draftChecked(at(i)))})]:[]]},Oi=e=>C({gap:"default",items:[...e.data.roles.length?[]:[h({tone:"info",title:n(e,"access.noAssignableRoles"),message:n(e,"users.createWithoutRolesHint")})],P({title:n(e,"users.newTitle"),body:X({kind:e.kind,fields:Hi(e),command:"create",actions:[k({label:n(e,"action.createUser"),variant:"primary",type:"submit"})]})})]}),Di=e=>[E(e,{name:"name",label:n(e,"field.name"),value:e.data.record.name,required:!0}),E(e,{name:"login",label:n(e,"field.login"),value:e.data.record.login,required:!0}),E(e,{name:"email",label:n(e,"field.email"),type:"email",value:e.data.record.email}),E(e,{name:"accessKind",label:n(e,"field.accessKind"),type:"select",value:e.data.record.accessKind,options:Mi.map(t=>({value:t,label:n(e,`access.${t}`)}))}),E(e,{name:"active",label:n(e,"state.active"),type:"checkbox",value:e.data.record.active})],tt=e=>`company_${e}`,wt=e=>`branch_${e}`,Qe=(e,t,a)=>t.map(i=>String(i.id)).filter(i=>Ct(e,a(i))),Ai=e=>{let t=e.data.memberships.companies,a=e.data.memberships.branches,i=e.data.companies.filter(b=>e.draftChecked(tt(String(b.id)),"1",t.includes(String(b.id)))),r=new Set(i.map(b=>String(b.id))),l=e.data.branches.filter(b=>r.has(String(b.companyId)));return[E(e,{name:"companies",label:n(e,"field.companies"),type:"checkbox-group",required:!0,span:"full",optionsOrientation:"vertical",options:e.data.companies.map(b=>({name:tt(String(b.id)),value:"1",label:String(b.name),checked:t.includes(String(b.id))}))}),E(e,{name:"branches",label:n(e,"field.branches"),type:"checkbox-group",span:"full",optionsOrientation:"vertical",options:l.map(b=>({name:wt(String(b.id)),value:"1",label:`${String(b.name)} \xB7 ${String(e.data.companies.find(F=>String(F.id)===String(b.companyId))?.name??"")}`,checked:a.includes(String(b.id))}))}),E(e,{name:"defaultCompanyId",label:n(e,"field.defaultCompany"),type:"select",required:!0,value:e.data.record.defaultCompanyId??String(i[0]?.id??""),options:i.map(b=>({value:String(b.id),label:String(b.name)}))}),E(e,{name:"defaultBranchId",label:n(e,"field.defaultBranch"),type:"select",required:!0,value:e.data.record.defaultBranchId??"",options:l.map(b=>({value:String(b.id),label:String(b.name)}))})]},Ii=e=>{let t=e.outcome("previewWorkplaces");if(!t)return"";if(!t.ok)return h({tone:"warning",title:n(e,"preview.unavailable"),message:""});let a=t.removed??[];return a.length?C({gap:"compact",items:[h({tone:"warning",title:n(e,"workplace.removesTitle").replace("{count}",String(a.length)),message:n(e,"workplace.removesHint")}),U({rows:a,id:i=>String(i.id),columns:[{key:"role",label:n(e,"field.assignment"),priority:"primary",cell:i=>String(i.roleName)},{key:"scope",label:n(e,"field.scope"),cell:i=>Pt(e,i)}]})]}):h({tone:"info",title:n(e,"workplace.keepsAll"),message:""})},$i=e=>{let t=e.data.permissions.previewWorkplaces===!0;return C({gap:"default",items:[X({kind:e.kind,fields:Ai(e),command:t?null:"setWorkplaces",actions:t?[k({label:n(e,"action.previewWorkplaces"),variant:"secondary",type:"submit",name:z,value:"previewWorkplaces"}),...e.outcome("previewWorkplaces")?[k({label:n(e,"action.saveWorkplaces"),variant:"primary",type:"submit",name:z,value:"setWorkplaces"})]:[]]:[k({label:n(e,"action.saveWorkplaces"),variant:"primary",type:"submit"})]}),Ii(e)]})},Ki=e=>e.creating?"":C({gap:"compact",items:[...e.data.permissions.save?[Ee({dialog:"edit",children:k({label:n(e,"action.editProfile"),variant:"secondary"})})]:[h({tone:"info",title:n(e,"users.readOnlyTitle"),message:n(e,"users.readOnlyHint")})]]}),Bi=e=>{let t=e.data.assignments.find(a=>a.company)?.company;return P({title:n(e,"users.infoTitle"),body:j({columns:2,items:[{id:"email",label:n(e,"field.email"),value:e.data.record.email||"\u2014"},{id:"state",label:n(e,"field.state"),value:H({label:e.data.record.active?n(e,"state.active"):n(e,"state.archived"),tone:e.data.record.active?"positive":"neutral"})},{id:"roles",label:n(e,"field.rolesHeld"),value:String(e.data.assignments.length)},{id:"company",label:n(e,"field.company"),value:t?String(t):"\u2014"},...e.data.record.superuser?[{id:"superuser",label:n(e,"field.superuser"),value:H({label:e.data.record.superuserExpiresAt?n(e,"breakGlass.activeUntil").replace("{until}",e.data.record.superuserExpiresAt):n(e,"breakGlass.standing"),tone:"danger"})}]:[]]})})},qi=e=>{let t=e.data.lastDenial;if(!t)return[];let a=t.surface?n(e,"denial.onSurface").replace("{surface}",t.surface).replace("{at}",t.at):n(e,"denial.at").replace("{at}",t.at),i=t.count>1?` ${n(e,"denial.count").replace("{count}",String(t.count))}`:"",r=t.templates.length?n(e,"denial.fix").replace("{roles}",t.templates.join(", ")):n(e,"denial.noFix");return[h({tone:"warning",title:n(e,"denial.title").replace("{area}",t.label),message:`${a}${i} ${r}`})]},bn=e=>C({gap:"default",items:[j({columns:1,items:[{id:"diagnostic-scope",label:n(e,"surface.scopeLabel"),value:[e.data.companies.find(t=>t.id===e.data.record.defaultCompanyId)?.name,e.data.branches.find(t=>t.id===e.data.record.defaultBranchId)?.name].filter(Boolean).join(" \xB7 ")||n(e,"surface.noWorkplace")}]}),...qi(e),gn({t:(t,a)=>e.t(t,a),surfaces:e.data.surfaces??[],showVia:!0,empty:{title:n(e,"surface.emptyTitle"),message:n(e,"surface.emptyHint")}})]}),Pt=(e,t)=>t.branch?`${String(t.company)} \xB7 ${String(t.branch)}`:t.company?String(t.company):n(e,"scope.choice.tenant"),Ni=e=>{let t=new Map;for(let a of e.data.assignments){let i=String(a.scopeKey??"tenant"),r=t.get(i)??{key:i,title:Pt(e,a),rows:[]};r.rows.push(a),t.set(i,r)}return[...t.values()]},Tt=e=>e.source?.kind==="policy"?{kind:"policy",policyName:String(e.source.policyName??e.source.policyId??"")}:{kind:"manual"},wn=(e,t)=>{let a=Tt(t);return a.kind==="policy"?H({label:n(e,"access.source.policy").replace("{policy}",a.policyName),tone:"info"}):H({label:n(e,"access.source.manual"),tone:"neutral"})},Ji=e=>nt(e)?[h({tone:"info",title:n(e,"access.selfTitle"),message:n(e,"access.selfHint")})]:e.data.permissions.assign?[Ee({dialog:"assign",children:k({label:n(e,"action.assignRole"),variant:"primary"})})]:[h({tone:"info",title:n(e,"users.readOnlyTitle"),message:n(e,"access.readOnlyHint")})],pn=e=>{let t=e.data.record,a=t.superuser===!0;return!e.data.permissions.breakGlass||nt(e)?a?[h({tone:"warning",title:n(e,"breakGlass.activeTitle"),message:t.superuserExpiresAt?n(e,"breakGlass.activeUntil").replace("{until}",t.superuserExpiresAt):n(e,"breakGlass.standing")})]:[]:[P({title:n(e,"breakGlass.title"),description:n(e,"breakGlass.hint"),body:a?C({gap:"default",items:[h({tone:"warning",title:n(e,"breakGlass.activeTitle"),message:t.superuserExpiresAt?n(e,"breakGlass.activeUntil").replace("{until}",t.superuserExpiresAt):n(e,"breakGlass.standing")}),X({kind:e.kind,fields:[],command:"revokeBreakGlass",actions:[k({label:n(e,"action.revokeBreakGlass"),variant:"destructive",type:"submit"})]})]}):X({kind:e.kind,fields:[E(e,{name:"breakGlassUntil",label:n(e,"field.breakGlassUntil"),type:"datetime-local",required:!0,disabled:!1})],command:"grantBreakGlass",actions:[k({label:n(e,"action.grantBreakGlass"),variant:"destructive",type:"submit"})]})})]},Xi=e=>{let t=Ni(e);return C({gap:"default",items:[...Ji(e),...t.length?t.map(a=>P({title:a.title,body:U({rows:a.rows,id:i=>String(i.id),columns:[{key:"role",label:n(e,"field.assignment"),priority:"primary",cell:i=>Ee({dialog:"role",id:String(i.id),children:String(i.roleName)})},{key:"source",label:n(e,"access.sourceColumn"),cell:i=>wn(e,i)}]})})):[h({tone:"info",title:n(e,"users.noAssignments"),message:n(e,"access.emptyHint")})],...Array.isArray(e.data.surfaces)?[Ee({dialog:"diagnostics",children:k({label:n(e,"action.checkAccess"),variant:"secondary"})})]:[],...pn(e).length?[Ce({summary:n(e,"access.advanced"),body:C({items:pn(e)})})]:[]]})},zi=e=>{let t=e.state("scopeKind","branch"),a=e.state("companyId",String(e.data.companies[0]?.id??""));return[et(e,{name:"scopeKind",label:n(e,"field.scope"),value:t,required:!0,options:e.data.scopeKinds.map(i=>({value:i,label:n(e,`scope.choice.${i}`)}))}),...t==="tenant"?[]:[et(e,{name:"companyId",label:n(e,"field.company"),value:a,required:!0,options:e.data.companies.map(i=>({value:String(i.id),label:String(i.name)}))})],...t==="branch"?[E(e,{name:"branchId",label:n(e,"field.branch"),type:"select",required:!0,options:e.data.branches.filter(i=>String(i.companyId)===a).map(i=>({value:String(i.id),label:String(i.name)}))})]:[],E(e,{name:"roleIds",label:n(e,"field.jobRoles"),type:"checkbox-group",required:!0,span:"full",optionsOrientation:"vertical",help:kn(e),options:Sn(e,i=>e.draft(at(i),"")==="1")})]},Rt=(e,t,a)=>t===0?n(e,"coverage.none"):t>=a?n(e,"coverage.full"):n(e,"coverage.partial"),Tn=(e,t)=>{let a=e.outcome(t);if(!a)return"";if(!a.ok)return h({tone:"warning",title:n(e,"preview.unavailable"),message:""});let i=a.contexts??[];return i.length?C({gap:"compact",items:i.flatMap(r=>[...r.sensitiveChange?[h({tone:"warning",title:n(e,"preview.sensitiveTitle"),message:n(e,"preview.sensitiveHint")})]:[],...r.superuser?[h({tone:"info",title:n(e,"preview.superuser"),message:""})]:r.bundles.length||r.surfaces?.length?[P({title:n(e,"preview.gains"),body:C({items:r.bundles.filter(l=>l.after>l.before).map(l=>l.labels[e.data.lang]??l.key).concat(r.bundles.some(l=>l.after>l.before)?[]:[n(e,"value.unchanged")])})}),P({title:n(e,"preview.loses"),body:C({items:r.bundles.filter(l=>l.after<l.before).map(l=>l.labels[e.data.lang]??l.key).concat(r.bundles.some(l=>l.after<l.before)?[]:[n(e,"value.unchanged")])})}),Ce({summary:n(e,"preview.details"),body:C({items:[...r.surfaces?.length?[P({title:n(e,"surface.previewTitle"),body:fn((l,b)=>e.t(l,b),r.surfaces,`${r.companyId}:${r.branchId??""}`)})]:[],U({rows:r.bundles,id:l=>`${r.companyId}:${r.branchId??""}:${l.key}`,columns:[{key:"bundle",label:n(e,"preview.bundle"),priority:"primary",cell:l=>l.labels[e.data.lang]??l.key},{key:"before",label:n(e,"preview.before"),cell:l=>Rt(e,l.before,l.total)},{key:"after",label:n(e,"preview.after"),cell:l=>Rt(e,l.after,l.total)}]})]})})]:[h({tone:"info",title:n(e,"preview.noChange"),message:""})]])}):h({tone:"info",title:n(e,"preview.noChange"),message:n(e,"preview.noChangeHint")})},Gi=e=>e.data.roles.length?C({gap:"default",items:[X({kind:e.kind,fields:zi(e),actions:[k({label:n(e,"action.previewAssignment"),variant:"secondary",type:"submit",name:z,value:"previewAssign"}),...e.outcome("previewAssign")?[k({label:n(e,"action.confirmAssign"),variant:"primary",type:"submit",name:z,value:"assign"})]:[]]}),Tn(e,"previewAssign")]}):h({tone:"warning",title:n(e,"access.noAssignableRoles"),message:n(e,"access.noAssignableRolesHint")}),hn=(e,t)=>e.data.roleCoverage[t]??[],Ui=e=>{let t=e.data.assignments.find(a=>String(a.id)===String(e.dialog?.params.id??""));return t?C({gap:"default",items:[j({columns:2,items:[{id:"role",label:n(e,"field.assignment"),value:String(t.roleName)},{id:"scope",label:n(e,"field.scope"),value:Pt(e,t)},{id:"source",label:n(e,"access.sourceColumn"),value:wn(e,t)}]}),...hn(e,String(t.roleId)).length?[P({title:n(e,"preview.bundle"),body:U({rows:hn(e,String(t.roleId)),id:a=>String(a.key),columns:[{key:"bundle",label:n(e,"preview.bundle"),priority:"primary",cell:a=>String(a.labels?.[e.data.lang]??a.key)},{key:"level",label:n(e,"coverage.level"),cell:a=>Rt(e,Number(a.covered),Number(a.total))}]})})]:[],...Tt(t).kind==="policy"?[h({tone:"info",title:n(e,"access.policyOwnedTitle"),message:n(e,"access.policyOwnedHint")})]:[],...e.data.permissions.remove&&!nt(e)&&Tt(t).kind!=="policy"?[C({gap:"default",items:[X({kind:e.kind,fields:[],actions:[k({label:n(e,"action.previewRemoval"),variant:"secondary",type:"submit",name:z,value:"previewUnassign"}),...e.outcome("previewUnassign")?[k({label:n(e,"action.unassignScopedRole"),variant:"destructive",type:"submit",name:z,value:"unassign"})]:[]]}),Tn(e,"previewUnassign")]})]:[]]}):h({tone:"info",title:n(e,"users.noAssignments"),message:""})},Vi=e=>e.data.credentialDelivery==="email"&&!e.data.externalCredential&&!e.data.permissions.sendLink?"oneTime":e.data.credentialDelivery??"oneTime",se=e=>e.data.externalCredential?.activated??e.data.record.passwordReady,_i=e=>{let t=e.outcome("sendResetLink");return[...t?.ok?[h({tone:"positive",title:n(e,"login.linkSentTitle"),message:n(e,"login.linkSentHint").replace("{email}",String(t.sentTo??e.data.record.email)).replace("{until}",String(t.expiresAt??""))})]:[],P({title:n(e,se(e)?"login.linkTitle":"login.inviteTitle"),description:e.data.record.email?n(e,se(e)?"login.linkHint":"login.inviteHint").replace("{email}",e.data.record.email):null,body:e.data.record.email?X({kind:e.kind,fields:[],command:"sendResetLink",actions:[k({label:n(e,se(e)?"action.sendResetLink":t?.ok||e.data.record.invitationSentAt?"action.resendInvite":"action.sendInvite"),variant:"primary",type:"submit"})]}):h({tone:"warning",title:n(e,"login.linkNoEmail"),message:n(e,"login.linkNoEmailHint")})})]},Wi=e=>{let t=e.outcome("resetPassword")??e.outcome("claimCredential");return[...t?.token||t?.temporaryPassword?[P({title:n(e,t?.temporaryPassword?"login.temporaryShownOnce":"login.oneTimeTitle"),body:C({gap:"compact",items:[h({tone:"warning",title:n(e,t?.temporaryPassword?"login.temporaryShownOnce":"login.oneTimeTitle"),message:n(e,"login.oneTimeHint")}),j({columns:1,items:[{id:"token",label:n(e,e.data.externalCredential?"login.temporaryLabel":"login.oneTimeLabel"),value:t.token??t.temporaryPassword}]})]})})]:[],t?.temporaryPassword?null:P({title:n(e,e.data.externalCredential?"login.temporaryTitle":se(e)?"login.resetTitle":"login.activateTitle"),description:n(e,e.data.externalCredential?"login.temporaryHint":se(e)?"login.resetHint":"login.activateHint"),body:t?.temporaryPassword?null:X({kind:e.kind,fields:[],command:e.data.externalCredential?.claimable?"claimCredential":"resetPassword",actions:[k({label:n(e,e.data.externalCredential?e.data.externalCredential.claimable?"action.claimPassword":"action.temporaryPassword":se(e)?"action.resetPassword":"action.activationCode"),variant:"primary",type:"submit"})]})})]},ji=e=>{let t=Vi(e),a=e.data.permissions.sendLink||e.data.permissions.resetPassword;return C({gap:"default",items:[...e.data.permissions.identities?[me({label:n(e,"login.identities"),href:`/admin/oauth/identities?${new URLSearchParams({user:e.id,lang:e.data.lang})}`})]:[],P({title:n(e,"login.accountTitle"),body:j({columns:2,items:[{id:"credential",label:n(e,"field.credential"),value:H({label:n(e,se(e)?"login.ready":e.data.record.invitationSentAt||e.outcome("sendResetLink")?.ok?"login.invited":"login.preparing"),tone:se(e)?"positive":"warning"})},{id:"login",label:n(e,"field.login"),value:e.data.record.login},{id:"lastLogin",label:n(e,"login.lastSignIn"),value:e.data.record.lastLoginAt||n(e,"login.never")},{id:"delivery",label:n(e,"login.delivery"),value:n(e,`login.delivery.${t}`)}]})}),...e.data.externalCredential?[P({title:n(e,`login.externalState.${e.data.externalCredential.state}`),body:X({kind:e.kind,fields:[],command:e.data.permissions.retryCredential?"retryCredential":"refreshAccount",actions:[k({type:"submit",label:n(e,e.data.permissions.retryCredential?"action.retryAccount":"action.refreshAccount")})]})})]:[],...e.data.externalCredential?.emailState?[h({tone:["failed","uncertain"].includes(e.data.externalCredential.emailState)?"warning":"info",title:n(e,`login.emailState.${e.data.externalCredential.emailState}`),message:n(e,"login.emailStateHint")})]:[],...nt(e)?[h({tone:"info",title:n(e,"login.selfTitle"),message:n(e,"login.selfHint")})]:a?[...t!=="oneTime"&&e.data.permissions.sendLink?_i(e):[],...t!=="email"&&e.data.permissions.resetPassword?Wi(e):[]]:e.data.externalCredential&&e.data.externalCredential.state!=="ready"?[]:[h({tone:"info",title:n(e,"users.readOnlyTitle"),message:n(e,"login.readOnlyHint")})]]})},Zi=e=>e.data.audit.length?U({rows:e.data.audit,id:t=>String(t.id),columns:[{key:"when",label:n(e,"audit.when"),cell:t=>String(t.occurredAt??"\u2014")},{key:"event",label:n(e,"audit.action"),priority:"primary",cell:t=>`${n(e,`audit.event.${String(t.event)}`)} \xB7 ${String(t.actor??"\u2014")}`},{key:"roles",label:n(e,"field.assignment"),cell:t=>t.roleIds.map(a=>Yi(e,a)).join(" \xB7 ")||"\u2014"},{key:"outcome",label:n(e,"audit.outcome"),cell:t=>H({label:n(e,`audit.outcome.${String(t.outcome)}`),tone:String(t.outcome)==="success"?"positive":"danger"})}]}):h({tone:"info",title:n(e,"audit.empty"),message:n(e,"audit.emptyHint")}),Yi=(e,t)=>String(e.data.assignments.find(a=>String(a.roleId)===t)?.roleName??e.data.roles.find(a=>String(a.id)===t)?.name??t),St=e=>e.data.assignments.find(t=>String(t.id)===String(e.dialog?.params.id??""))??{},yn=(e,t)=>({userId:t.id,roleIds:vn(e,t.data.roles),scopeKind:D(e,"scopeKind")||"branch",companyId:D(e,"companyId")||null,branchId:D(e,"branchId")||null,addMembership:!0}),Qi={kind:"user.user",labels:()=>un[xt()],context:{fn:"user.userModalContext",input:(e,t)=>t?{locale:xt()}:{id:e,locale:xt()}},title:e=>e.creating?n(e,"users.create"):e.data.record.name||e.data.record.login,description:e=>e.creating?n(e,"users.createSubtitle"):e.data.record.login,status:e=>e.creating?void 0:H({label:e.data.record.active?n(e,"state.active"):n(e,"state.archived"),tone:e.data.record.active?"positive":"neutral"}),header:Ki,body:e=>e.creating?Oi(e):"",tabs:[{id:"overview",label:e=>n(e,"tab.overview"),visible:e=>!e.creating,view:Bi},{id:"access",label:e=>`${n(e,"tab.access")} ${String(e.data.assignments.length)}`,visible:e=>!e.creating,view:Xi},{id:"screens",label:e=>n(e,"tab.screens"),visible:()=>!1,view:bn},{id:"login",label:e=>n(e,"tab.login"),visible:e=>!e.creating,view:ji},{id:"audit",label:e=>n(e,"tab.audit"),visible:e=>!e.creating&&e.data.permissions.audit===!0,view:Zi}],dialogs:{diagnostics:{title:e=>n(e,"action.checkAccess"),view:bn,size:"large"},assign:{title:e=>n(e,"action.assignRole"),view:Gi},role:{title:e=>String(St(e).roleName??""),view:Ui},edit:{title:e=>n(e,"action.editProfile"),view:e=>C({gap:"default",items:[P({title:n(e,"users.profileTitle"),body:X({kind:e.kind,fields:Di(e),command:"save",actions:[k({label:n(e,"action.save"),variant:"primary",type:"submit"})]})}),...e.data.permissions.workplaces?[P({title:n(e,"users.workplaceTitle"),body:$i(e)})]:[]]})}},commands:{create:{fn:"user.provisionUser",input:(e,t)=>({id:le(),name:D(e,"name"),login:D(e,"login"),email:D(e,"email")||null,accessKind:"internal",roleIds:vn(e,t.data.roles),scopeKind:D(e,"scopeKind")||"branch",companyId:D(e,"companyId")||null,branchId:D(e,"branchId")||null,expectedAuthorizationRevision:t.data.revision,idempotencyKey:le()}),after:"open",openTab:"overview",created:e=>{let t=e??{};return typeof t.id=="string"?t.id:null}},previewWorkplaces:{fn:"user.previewWorkplaces",input:(e,t)=>({userId:t.id,companyIds:Qe(e,t.data.companies,tt),branchIds:Qe(e,t.data.branches,wt)}),preview:!0},setWorkplaces:{fn:"user.setWorkplaces",input:(e,t)=>({userId:t.id,companyIds:Qe(e,t.data.companies,tt),branchIds:Qe(e,t.data.branches,wt),defaultCompanyId:D(e,"defaultCompanyId"),defaultBranchId:D(e,"defaultBranchId"),expectedAuthorizationRevision:t.data.revision,idempotencyKey:le()}),issueField:e=>({companyIds:"companies",branchIds:"branches"})[e]??e,after:"reload"},sendResetLink:{fn:"user.sendCredentialLink",input:(e,t)=>({userId:t.id,kind:t.data.record.passwordReady?"reset":"invitation",idempotencyKey:le()}),after:"reload"},grantBreakGlass:{fn:"user.setBreakGlass",input:(e,t)=>{let a=D(e,"breakGlassUntil"),i=a?new Date(a):null;return{userId:t.id,enabled:!0,expiresAt:i&&Number.isFinite(i.getTime())?i.toISOString():null,expectedAuthorizationRevision:t.data.revision,idempotencyKey:le()}},issueField:e=>e==="expiresAt"?"breakGlassUntil":e,confirm:e=>n(e,"breakGlass.confirm"),after:"reload"},revokeBreakGlass:{fn:"user.setBreakGlass",input:(e,t)=>({userId:t.id,enabled:!1,expiresAt:null,expectedAuthorizationRevision:t.data.revision,idempotencyKey:le()}),after:"reload"},resetPassword:{fn:"user.issueAuthToken",input:(e,t)=>({userId:t.id,kind:t.data.record.passwordReady?"reset":"invitation",realm:"backend"}),after:"stay"},previewAssign:{fn:"user.previewRoleAssignment",input:(e,t)=>yn(e,t),preview:!0},assign:{fn:"user.assignRoles",input:(e,t)=>({...yn(e,t),expectedAuthorizationRevision:t.data.revision,idempotencyKey:le()}),after:"reload"},previewUnassign:{fn:"user.previewRoleAssignment",input:(e,t)=>{let a=St(t);return{userId:t.id,assignmentId:String(a.id??""),roleIds:[String(a.roleId??"")],scopeKind:String(a.scopeKind??"tenant"),companyId:a.companyId??null,branchId:a.branchId??null}},preview:!0},unassign:{fn:"user.unassignScopedRole",input:(e,t)=>{let a=St(t);return{userId:t.id,assignmentId:String(a.id??""),roleId:String(a.roleId??""),scopeKey:String(a.scopeKey??"tenant"),expectedAuthorizationRevision:t.data.revision,idempotencyKey:le()}},after:"reload"},save:{fn:"user.saveUser",input:(e,t)=>({id:t.id,name:D(e,"name"),login:D(e,"login"),email:D(e,"email")||null,accessKind:D(e,"accessKind")||"internal",active:Ct(e,"active"),superuser:t.data.record.superuser}),after:"reload"}}},Eb=cn(Qi);export{Eb as userModal,Qi as userModalDefinition};