@rytass/bpm-core-react 0.2.0 → 0.3.1

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 (437) hide show
  1. package/README.md +13 -1
  2. package/dist/chunks/app-navigation-C_mbz7jx.cjs +2 -0
  3. package/dist/chunks/app-navigation-C_mbz7jx.cjs.map +1 -0
  4. package/dist/chunks/{app-navigation-CATITRM7.js → app-navigation-uwbNEw9P.js} +66 -67
  5. package/dist/chunks/app-navigation-uwbNEw9P.js.map +1 -0
  6. package/dist/chunks/approval-instance-list-page-Mo6wpDPb.cjs +2 -0
  7. package/dist/chunks/approval-instance-list-page-Mo6wpDPb.cjs.map +1 -0
  8. package/dist/chunks/approval-instance-list-page-nmzMrj0b.js +281 -0
  9. package/dist/chunks/approval-instance-list-page-nmzMrj0b.js.map +1 -0
  10. package/dist/chunks/auth-provider-BV8Iiwfb.cjs +2 -0
  11. package/dist/chunks/auth-provider-BV8Iiwfb.cjs.map +1 -0
  12. package/dist/chunks/auth-provider-Bnox5gsx.js +98 -0
  13. package/dist/chunks/auth-provider-Bnox5gsx.js.map +1 -0
  14. package/dist/chunks/builder-DPhAH381.cjs +3 -0
  15. package/dist/chunks/builder-DPhAH381.cjs.map +1 -0
  16. package/dist/chunks/{FormBuilderView-CvChAvgD.js → builder-DqZskyXC.js} +334 -331
  17. package/dist/chunks/builder-DqZskyXC.js.map +1 -0
  18. package/dist/chunks/categories-DEijUOnw.cjs +2 -0
  19. package/dist/chunks/categories-DEijUOnw.cjs.map +1 -0
  20. package/dist/chunks/categories-DTEl182t.js +386 -0
  21. package/dist/chunks/categories-DTEl182t.js.map +1 -0
  22. package/dist/chunks/dashboard-page-DCmuB0Rw.cjs +2 -0
  23. package/dist/chunks/dashboard-page-DCmuB0Rw.cjs.map +1 -0
  24. package/dist/chunks/dashboard-page-Dx5PeEeN.js +117 -0
  25. package/dist/chunks/dashboard-page-Dx5PeEeN.js.map +1 -0
  26. package/dist/chunks/delegations-C-ZrwzvU.js +572 -0
  27. package/dist/chunks/delegations-C-ZrwzvU.js.map +1 -0
  28. package/dist/chunks/delegations-C5PzZ5Kn.js +645 -0
  29. package/dist/chunks/delegations-C5PzZ5Kn.js.map +1 -0
  30. package/dist/chunks/delegations-DOGDvybX.cjs +2 -0
  31. package/dist/chunks/delegations-DOGDvybX.cjs.map +1 -0
  32. package/dist/chunks/delegations-DkDBWOQ7.cjs +2 -0
  33. package/dist/chunks/delegations-DkDBWOQ7.cjs.map +1 -0
  34. package/dist/chunks/detail-B2gcOPkd.cjs +2 -0
  35. package/dist/chunks/detail-B2gcOPkd.cjs.map +1 -0
  36. package/dist/chunks/{InstanceDetailView-C-A-LOCG.js → detail-CfFyU5zC.js} +670 -667
  37. package/dist/chunks/detail-CfFyU5zC.js.map +1 -0
  38. package/dist/chunks/{format-date-time-BQyH5U8z.cjs → format-date-time-isOa3e9q.cjs} +2 -2
  39. package/dist/chunks/{format-date-time-BQyH5U8z.cjs.map → format-date-time-isOa3e9q.cjs.map} +1 -1
  40. package/dist/chunks/{LoginView-a1iu3cfc.js → login-C20yVxbc.js} +9 -9
  41. package/dist/chunks/login-C20yVxbc.js.map +1 -0
  42. package/dist/chunks/login-CQ9MfwcC.cjs +2 -0
  43. package/dist/chunks/login-CQ9MfwcC.cjs.map +1 -0
  44. package/dist/chunks/notifications-CPQ-nVar.cjs +2 -0
  45. package/dist/chunks/notifications-CPQ-nVar.cjs.map +1 -0
  46. package/dist/chunks/notifications-DweexUVy.js +197 -0
  47. package/dist/chunks/notifications-DweexUVy.js.map +1 -0
  48. package/dist/chunks/orgs-DgZ0DQ3-.cjs +2 -0
  49. package/dist/chunks/orgs-DgZ0DQ3-.cjs.map +1 -0
  50. package/dist/chunks/{AdminOrgsView-DZaVAbaQ.js → orgs-xrdhb3hS.js} +669 -666
  51. package/dist/chunks/orgs-xrdhb3hS.js.map +1 -0
  52. package/dist/chunks/templates-PK_VYvcy.js +383 -0
  53. package/dist/chunks/templates-PK_VYvcy.js.map +1 -0
  54. package/dist/chunks/templates-x1OJZmsG.cjs +2 -0
  55. package/dist/chunks/templates-x1OJZmsG.cjs.map +1 -0
  56. package/dist/chunks/users-CY4-NK3j.js +218 -0
  57. package/dist/chunks/users-CY4-NK3j.js.map +1 -0
  58. package/dist/chunks/users-DHnu_056.cjs +2 -0
  59. package/dist/chunks/users-DHnu_056.cjs.map +1 -0
  60. package/dist/components/app-navigation.d.ts +17 -10
  61. package/dist/index.cjs +1 -1
  62. package/dist/index.cjs.map +1 -1
  63. package/dist/index.js +12 -13
  64. package/dist/index.js.map +1 -1
  65. package/dist/lib/notification-drawer-provider.d.ts +1 -1
  66. package/dist/lib/notification-unread-provider.d.ts +1 -1
  67. package/dist/lib/providers.d.ts +1 -1
  68. package/dist/next/BPMNextProviders.d.ts +6 -0
  69. package/dist/next/index.cjs +2 -0
  70. package/dist/next/index.cjs.map +1 -0
  71. package/dist/next/index.d.ts +1 -0
  72. package/dist/next/index.js +33 -0
  73. package/dist/next/index.js.map +1 -0
  74. package/dist/pages/admin/delegations/index.cjs +1 -1
  75. package/dist/pages/admin/delegations/index.cjs.map +1 -1
  76. package/dist/pages/admin/delegations/index.js +1 -1
  77. package/dist/pages/admin/delegations/index.js.map +1 -1
  78. package/dist/pages/admin/orgs/index.cjs +1 -1
  79. package/dist/pages/admin/orgs/index.cjs.map +1 -1
  80. package/dist/pages/admin/orgs/index.js +1 -1
  81. package/dist/pages/admin/orgs/index.js.map +1 -1
  82. package/dist/pages/admin/users/index.cjs +1 -1
  83. package/dist/pages/admin/users/index.cjs.map +1 -1
  84. package/dist/pages/admin/users/index.js +1 -1
  85. package/dist/pages/admin/users/index.js.map +1 -1
  86. package/dist/pages/cc/index.cjs +1 -1
  87. package/dist/pages/cc/index.cjs.map +1 -1
  88. package/dist/pages/cc/index.js +1 -1
  89. package/dist/pages/cc/index.js.map +1 -1
  90. package/dist/pages/dashboard/index.cjs +1 -1
  91. package/dist/pages/dashboard/index.cjs.map +1 -1
  92. package/dist/pages/dashboard/index.js +1 -1
  93. package/dist/pages/dashboard/index.js.map +1 -1
  94. package/dist/pages/delegations/index.cjs +1 -1
  95. package/dist/pages/delegations/index.cjs.map +1 -1
  96. package/dist/pages/delegations/index.js +1 -1
  97. package/dist/pages/delegations/index.js.map +1 -1
  98. package/dist/pages/forms/builder/index.cjs +1 -1
  99. package/dist/pages/forms/builder/index.cjs.map +1 -1
  100. package/dist/pages/forms/builder/index.d.ts +5 -7
  101. package/dist/pages/forms/builder/index.js +1 -1
  102. package/dist/pages/forms/builder/index.js.map +1 -1
  103. package/dist/pages/forms/index.cjs +1 -1
  104. package/dist/pages/forms/index.cjs.map +1 -1
  105. package/dist/pages/forms/index.js +1 -1
  106. package/dist/pages/forms/index.js.map +1 -1
  107. package/dist/pages/inbox/index.cjs +1 -1
  108. package/dist/pages/inbox/index.cjs.map +1 -1
  109. package/dist/pages/inbox/index.js +1 -1
  110. package/dist/pages/inbox/index.js.map +1 -1
  111. package/dist/pages/instances/detail/index.cjs +1 -1
  112. package/dist/pages/instances/detail/index.cjs.map +1 -1
  113. package/dist/pages/instances/detail/index.d.ts +1 -1
  114. package/dist/pages/instances/detail/index.js +1 -1
  115. package/dist/pages/instances/detail/index.js.map +1 -1
  116. package/dist/pages/instances/new/index.cjs +1 -1
  117. package/dist/pages/instances/new/index.cjs.map +1 -1
  118. package/dist/pages/instances/new/index.d.ts +5 -1
  119. package/dist/pages/instances/new/index.js +4 -3
  120. package/dist/pages/instances/new/index.js.map +1 -1
  121. package/dist/pages/login/index.cjs +1 -1
  122. package/dist/pages/login/index.cjs.map +1 -1
  123. package/dist/pages/login/index.d.ts +5 -1
  124. package/dist/pages/login/index.js +4 -3
  125. package/dist/pages/login/index.js.map +1 -1
  126. package/dist/pages/root/index.cjs +1 -1
  127. package/dist/pages/root/index.cjs.map +1 -1
  128. package/dist/pages/root/index.d.ts +7 -5
  129. package/dist/pages/root/index.js +5 -6
  130. package/dist/pages/root/index.js.map +1 -1
  131. package/dist/pages/search/index.cjs +1 -1
  132. package/dist/pages/search/index.cjs.map +1 -1
  133. package/dist/pages/search/index.js +1 -1
  134. package/dist/pages/search/index.js.map +1 -1
  135. package/dist/pages/sent/index.cjs +1 -1
  136. package/dist/pages/sent/index.cjs.map +1 -1
  137. package/dist/pages/sent/index.js +1 -1
  138. package/dist/pages/sent/index.js.map +1 -1
  139. package/dist/pages/settings/notifications/index.cjs +1 -1
  140. package/dist/pages/settings/notifications/index.cjs.map +1 -1
  141. package/dist/pages/settings/notifications/index.js +1 -1
  142. package/dist/pages/settings/notifications/index.js.map +1 -1
  143. package/dist/pages/templates/categories/index.cjs +1 -1
  144. package/dist/pages/templates/categories/index.cjs.map +1 -1
  145. package/dist/pages/templates/categories/index.js +1 -1
  146. package/dist/pages/templates/categories/index.js.map +1 -1
  147. package/dist/pages/templates/designer/index.cjs +1 -1
  148. package/dist/pages/templates/designer/index.cjs.map +1 -1
  149. package/dist/pages/templates/designer/index.d.ts +2 -4
  150. package/dist/pages/templates/designer/index.js +1 -1
  151. package/dist/pages/templates/designer/index.js.map +1 -1
  152. package/dist/pages/templates/index.cjs +1 -1
  153. package/dist/pages/templates/index.cjs.map +1 -1
  154. package/dist/pages/templates/index.js +1 -1
  155. package/dist/pages/templates/index.js.map +1 -1
  156. package/dist/pages/templates/versions/index.cjs +1 -1
  157. package/dist/pages/templates/versions/index.cjs.map +1 -1
  158. package/dist/pages/templates/versions/index.d.ts +2 -4
  159. package/dist/pages/templates/versions/index.js +1 -1
  160. package/dist/pages/templates/versions/index.js.map +1 -1
  161. package/dist/views/admin/delegations/index.cjs +1 -1
  162. package/dist/views/admin/delegations/index.js +1 -1
  163. package/dist/views/admin/index.cjs +1 -0
  164. package/dist/views/admin/index.d.ts +3 -0
  165. package/dist/views/admin/index.js +4 -0
  166. package/dist/views/admin/orgs/index.cjs +1 -1
  167. package/dist/views/admin/orgs/index.js +1 -1
  168. package/dist/views/admin/users/index.cjs +1 -1
  169. package/dist/views/admin/users/index.js +1 -1
  170. package/dist/views/cc/index.cjs +2 -1
  171. package/dist/views/cc/index.cjs.map +1 -0
  172. package/dist/views/cc/index.js +19 -2
  173. package/dist/views/cc/index.js.map +1 -0
  174. package/dist/views/dashboard/index.cjs +2 -1
  175. package/dist/views/dashboard/index.cjs.map +1 -0
  176. package/dist/views/dashboard/index.js +11 -2
  177. package/dist/views/dashboard/index.js.map +1 -0
  178. package/dist/views/delegations/index.cjs +1 -1
  179. package/dist/views/delegations/index.js +1 -1
  180. package/dist/views/forms/builder/index.cjs +1 -1
  181. package/dist/views/forms/builder/index.js +1 -1
  182. package/dist/views/forms/index.cjs +2 -1
  183. package/dist/views/forms/index.cjs.map +1 -0
  184. package/dist/views/forms/index.d.ts +1 -0
  185. package/dist/views/forms/index.js +189 -2
  186. package/dist/views/forms/index.js.map +1 -0
  187. package/dist/views/inbox/index.cjs +2 -1
  188. package/dist/views/inbox/index.cjs.map +1 -0
  189. package/dist/views/inbox/index.js +293 -2
  190. package/dist/views/inbox/index.js.map +1 -0
  191. package/dist/views/instances/detail/index.cjs +1 -1
  192. package/dist/views/instances/detail/index.js +1 -1
  193. package/dist/views/instances/index.cjs +1 -0
  194. package/dist/views/instances/index.d.ts +1 -0
  195. package/dist/views/instances/index.js +2 -0
  196. package/dist/views/instances/new/InstanceNewView.d.ts +3 -3
  197. package/dist/views/instances/new/index.cjs +2 -1
  198. package/dist/views/instances/new/index.cjs.map +1 -0
  199. package/dist/views/instances/new/index.js +195 -2
  200. package/dist/views/instances/new/index.js.map +1 -0
  201. package/dist/views/login/index.cjs +1 -1
  202. package/dist/views/login/index.js +1 -1
  203. package/dist/views/search/index.cjs +2 -1
  204. package/dist/views/search/index.cjs.map +1 -0
  205. package/dist/views/search/index.js +19 -2
  206. package/dist/views/search/index.js.map +1 -0
  207. package/dist/views/sent/index.cjs +2 -1
  208. package/dist/views/sent/index.cjs.map +1 -0
  209. package/dist/views/sent/index.js +19 -2
  210. package/dist/views/sent/index.js.map +1 -0
  211. package/dist/views/settings/index.cjs +1 -0
  212. package/dist/views/settings/index.d.ts +1 -0
  213. package/dist/views/settings/index.js +2 -0
  214. package/dist/views/settings/notifications/index.cjs +1 -1
  215. package/dist/views/settings/notifications/index.js +1 -1
  216. package/dist/views/templates/categories/index.cjs +1 -1
  217. package/dist/views/templates/categories/index.js +1 -1
  218. package/dist/views/templates/designer/index.cjs +51 -1
  219. package/dist/views/templates/designer/index.cjs.map +1 -0
  220. package/dist/views/templates/designer/index.js +2275 -2
  221. package/dist/views/templates/designer/index.js.map +1 -0
  222. package/dist/views/templates/index.cjs +1 -1
  223. package/dist/views/templates/index.d.ts +2 -0
  224. package/dist/views/templates/index.js +4 -2
  225. package/dist/views/templates/versions/index.cjs +2 -1
  226. package/dist/views/templates/versions/index.cjs.map +1 -0
  227. package/dist/views/templates/versions/index.js +113 -2
  228. package/dist/views/templates/versions/index.js.map +1 -0
  229. package/dist/views/workflow/index.cjs +1 -0
  230. package/dist/views/workflow/index.d.ts +4 -0
  231. package/dist/views/workflow/index.js +5 -0
  232. package/package.json +28 -3
  233. package/dist/chunks/AdminDelegationsView-CqNmlVWx.cjs +0 -2
  234. package/dist/chunks/AdminDelegationsView-CqNmlVWx.cjs.map +0 -1
  235. package/dist/chunks/AdminDelegationsView-DydMZ9ED.js +0 -642
  236. package/dist/chunks/AdminDelegationsView-DydMZ9ED.js.map +0 -1
  237. package/dist/chunks/AdminOrgsView-DZaVAbaQ.js.map +0 -1
  238. package/dist/chunks/AdminOrgsView-bSsIyMvk.cjs +0 -2
  239. package/dist/chunks/AdminOrgsView-bSsIyMvk.cjs.map +0 -1
  240. package/dist/chunks/AdminUsersView-C0oO05Br.js +0 -215
  241. package/dist/chunks/AdminUsersView-C0oO05Br.js.map +0 -1
  242. package/dist/chunks/AdminUsersView-DlArLlIr.cjs +0 -2
  243. package/dist/chunks/AdminUsersView-DlArLlIr.cjs.map +0 -1
  244. package/dist/chunks/CcView-BsVsya5F.cjs +0 -2
  245. package/dist/chunks/CcView-BsVsya5F.cjs.map +0 -1
  246. package/dist/chunks/CcView-Bv0GzA5C.js +0 -19
  247. package/dist/chunks/CcView-Bv0GzA5C.js.map +0 -1
  248. package/dist/chunks/DashboardView-Dk1ZQmmk.js +0 -11
  249. package/dist/chunks/DashboardView-Dk1ZQmmk.js.map +0 -1
  250. package/dist/chunks/DashboardView-_0zh-rxT.cjs +0 -2
  251. package/dist/chunks/DashboardView-_0zh-rxT.cjs.map +0 -1
  252. package/dist/chunks/DelegationsView-DQUqOUV5.js +0 -569
  253. package/dist/chunks/DelegationsView-DQUqOUV5.js.map +0 -1
  254. package/dist/chunks/DelegationsView-pKeFV2LN.cjs +0 -2
  255. package/dist/chunks/DelegationsView-pKeFV2LN.cjs.map +0 -1
  256. package/dist/chunks/FormBuilderView-BKtyW55e.cjs +0 -3
  257. package/dist/chunks/FormBuilderView-BKtyW55e.cjs.map +0 -1
  258. package/dist/chunks/FormBuilderView-CvChAvgD.js.map +0 -1
  259. package/dist/chunks/FormsView-DYEuik8W.js +0 -185
  260. package/dist/chunks/FormsView-DYEuik8W.js.map +0 -1
  261. package/dist/chunks/FormsView-RjJEkIfZ.cjs +0 -2
  262. package/dist/chunks/FormsView-RjJEkIfZ.cjs.map +0 -1
  263. package/dist/chunks/InboxView-DDWwmWhA.cjs +0 -2
  264. package/dist/chunks/InboxView-DDWwmWhA.cjs.map +0 -1
  265. package/dist/chunks/InboxView-YSoyrYLk.js +0 -291
  266. package/dist/chunks/InboxView-YSoyrYLk.js.map +0 -1
  267. package/dist/chunks/InstanceDetailView-C-A-LOCG.js.map +0 -1
  268. package/dist/chunks/InstanceDetailView-l_kNDCz2.cjs +0 -2
  269. package/dist/chunks/InstanceDetailView-l_kNDCz2.cjs.map +0 -1
  270. package/dist/chunks/InstanceNewView-B5hz-FWd.js +0 -190
  271. package/dist/chunks/InstanceNewView-B5hz-FWd.js.map +0 -1
  272. package/dist/chunks/InstanceNewView-CdCsxQIu.cjs +0 -2
  273. package/dist/chunks/InstanceNewView-CdCsxQIu.cjs.map +0 -1
  274. package/dist/chunks/LoginView-BED07v-7.cjs +0 -2
  275. package/dist/chunks/LoginView-BED07v-7.cjs.map +0 -1
  276. package/dist/chunks/LoginView-a1iu3cfc.js.map +0 -1
  277. package/dist/chunks/RootClientView-rXJt4TDd.cjs +0 -2
  278. package/dist/chunks/RootClientView-rXJt4TDd.cjs.map +0 -1
  279. package/dist/chunks/RootClientView-wAkXUEZw.js +0 -34
  280. package/dist/chunks/RootClientView-wAkXUEZw.js.map +0 -1
  281. package/dist/chunks/SearchView-CgXPssgE.cjs +0 -2
  282. package/dist/chunks/SearchView-CgXPssgE.cjs.map +0 -1
  283. package/dist/chunks/SearchView-WXMbZwRw.js +0 -19
  284. package/dist/chunks/SearchView-WXMbZwRw.js.map +0 -1
  285. package/dist/chunks/SentView-BTDoFBrG.cjs +0 -2
  286. package/dist/chunks/SentView-BTDoFBrG.cjs.map +0 -1
  287. package/dist/chunks/SentView-CdOL92Rq.js +0 -19
  288. package/dist/chunks/SentView-CdOL92Rq.js.map +0 -1
  289. package/dist/chunks/SettingsNotificationsView-B6F6fa7U.js +0 -194
  290. package/dist/chunks/SettingsNotificationsView-B6F6fa7U.js.map +0 -1
  291. package/dist/chunks/SettingsNotificationsView-Bnz0CmoJ.cjs +0 -2
  292. package/dist/chunks/SettingsNotificationsView-Bnz0CmoJ.cjs.map +0 -1
  293. package/dist/chunks/TemplateCategoriesView-CgZciaSd.js +0 -382
  294. package/dist/chunks/TemplateCategoriesView-CgZciaSd.js.map +0 -1
  295. package/dist/chunks/TemplateCategoriesView-U0stGUBc.cjs +0 -2
  296. package/dist/chunks/TemplateCategoriesView-U0stGUBc.cjs.map +0 -1
  297. package/dist/chunks/TemplateDesignerView-A38DyYD4.cjs +0 -51
  298. package/dist/chunks/TemplateDesignerView-A38DyYD4.cjs.map +0 -1
  299. package/dist/chunks/TemplateDesignerView-Dffx-VZ-.js +0 -2272
  300. package/dist/chunks/TemplateDesignerView-Dffx-VZ-.js.map +0 -1
  301. package/dist/chunks/TemplateVersionsView-6sVQbBem.js +0 -110
  302. package/dist/chunks/TemplateVersionsView-6sVQbBem.js.map +0 -1
  303. package/dist/chunks/TemplateVersionsView-CMqw3ieU.cjs +0 -2
  304. package/dist/chunks/TemplateVersionsView-CMqw3ieU.cjs.map +0 -1
  305. package/dist/chunks/TemplatesView-BLj9f-XI.js +0 -380
  306. package/dist/chunks/TemplatesView-BLj9f-XI.js.map +0 -1
  307. package/dist/chunks/TemplatesView-DIOQTUUl.cjs +0 -2
  308. package/dist/chunks/TemplatesView-DIOQTUUl.cjs.map +0 -1
  309. package/dist/chunks/app-navigation-CATITRM7.js.map +0 -1
  310. package/dist/chunks/app-navigation-DAC5gFbG.cjs +0 -2
  311. package/dist/chunks/app-navigation-DAC5gFbG.cjs.map +0 -1
  312. package/dist/chunks/approval-instance-list-page-B6vAGvOb.js +0 -278
  313. package/dist/chunks/approval-instance-list-page-B6vAGvOb.js.map +0 -1
  314. package/dist/chunks/approval-instance-list-page-DIAmwhvl.cjs +0 -2
  315. package/dist/chunks/approval-instance-list-page-DIAmwhvl.cjs.map +0 -1
  316. package/dist/chunks/auth-provider-D2P-qWmY.cjs +0 -2
  317. package/dist/chunks/auth-provider-D2P-qWmY.cjs.map +0 -1
  318. package/dist/chunks/auth-provider-TTO9eNZV.js +0 -83
  319. package/dist/chunks/auth-provider-TTO9eNZV.js.map +0 -1
  320. package/dist/chunks/dashboard-page-BsW8t104.js +0 -115
  321. package/dist/chunks/dashboard-page-BsW8t104.js.map +0 -1
  322. package/dist/chunks/dashboard-page-udYhnyMW.cjs +0 -2
  323. package/dist/chunks/dashboard-page-udYhnyMW.cjs.map +0 -1
  324. package/dist/chunks/router-adapter-BdHZXLS3.js +0 -23
  325. package/dist/chunks/router-adapter-BdHZXLS3.js.map +0 -1
  326. package/dist/chunks/router-adapter-BybHrCNP.cjs +0 -2
  327. package/dist/chunks/router-adapter-BybHrCNP.cjs.map +0 -1
  328. package/dist/chunks/templates.module-B5bg_goX.js +0 -8
  329. package/dist/chunks/templates.module-B5bg_goX.js.map +0 -1
  330. package/dist/chunks/templates.module-ClRnQQX4.cjs +0 -2
  331. package/dist/chunks/templates.module-ClRnQQX4.cjs.map +0 -1
  332. package/dist/pages/admin/delegations/AdminDelegationsClientView.cjs +0 -2
  333. package/dist/pages/admin/delegations/AdminDelegationsClientView.cjs.map +0 -1
  334. package/dist/pages/admin/delegations/AdminDelegationsClientView.d.ts +0 -3
  335. package/dist/pages/admin/delegations/AdminDelegationsClientView.js +0 -28
  336. package/dist/pages/admin/delegations/AdminDelegationsClientView.js.map +0 -1
  337. package/dist/pages/admin/orgs/AdminOrgsClientView.cjs +0 -2
  338. package/dist/pages/admin/orgs/AdminOrgsClientView.cjs.map +0 -1
  339. package/dist/pages/admin/orgs/AdminOrgsClientView.d.ts +0 -3
  340. package/dist/pages/admin/orgs/AdminOrgsClientView.js +0 -28
  341. package/dist/pages/admin/orgs/AdminOrgsClientView.js.map +0 -1
  342. package/dist/pages/admin/users/AdminUsersClientView.cjs +0 -2
  343. package/dist/pages/admin/users/AdminUsersClientView.cjs.map +0 -1
  344. package/dist/pages/admin/users/AdminUsersClientView.d.ts +0 -3
  345. package/dist/pages/admin/users/AdminUsersClientView.js +0 -28
  346. package/dist/pages/admin/users/AdminUsersClientView.js.map +0 -1
  347. package/dist/pages/cc/CcClientView.cjs +0 -2
  348. package/dist/pages/cc/CcClientView.cjs.map +0 -1
  349. package/dist/pages/cc/CcClientView.d.ts +0 -7
  350. package/dist/pages/cc/CcClientView.js +0 -28
  351. package/dist/pages/cc/CcClientView.js.map +0 -1
  352. package/dist/pages/dashboard/DashboardClientView.cjs +0 -2
  353. package/dist/pages/dashboard/DashboardClientView.cjs.map +0 -1
  354. package/dist/pages/dashboard/DashboardClientView.d.ts +0 -9
  355. package/dist/pages/dashboard/DashboardClientView.js +0 -28
  356. package/dist/pages/dashboard/DashboardClientView.js.map +0 -1
  357. package/dist/pages/delegations/DelegationsClientView.cjs +0 -2
  358. package/dist/pages/delegations/DelegationsClientView.cjs.map +0 -1
  359. package/dist/pages/delegations/DelegationsClientView.d.ts +0 -3
  360. package/dist/pages/delegations/DelegationsClientView.js +0 -28
  361. package/dist/pages/delegations/DelegationsClientView.js.map +0 -1
  362. package/dist/pages/forms/FormsClientView.cjs +0 -2
  363. package/dist/pages/forms/FormsClientView.cjs.map +0 -1
  364. package/dist/pages/forms/FormsClientView.d.ts +0 -10
  365. package/dist/pages/forms/FormsClientView.js +0 -28
  366. package/dist/pages/forms/FormsClientView.js.map +0 -1
  367. package/dist/pages/forms/builder/FormBuilderClientView.cjs +0 -2
  368. package/dist/pages/forms/builder/FormBuilderClientView.cjs.map +0 -1
  369. package/dist/pages/forms/builder/FormBuilderClientView.d.ts +0 -11
  370. package/dist/pages/forms/builder/FormBuilderClientView.js +0 -28
  371. package/dist/pages/forms/builder/FormBuilderClientView.js.map +0 -1
  372. package/dist/pages/inbox/InboxClientView.cjs +0 -2
  373. package/dist/pages/inbox/InboxClientView.cjs.map +0 -1
  374. package/dist/pages/inbox/InboxClientView.d.ts +0 -9
  375. package/dist/pages/inbox/InboxClientView.js +0 -28
  376. package/dist/pages/inbox/InboxClientView.js.map +0 -1
  377. package/dist/pages/instances/detail/InstanceDetailClientView.cjs +0 -2
  378. package/dist/pages/instances/detail/InstanceDetailClientView.cjs.map +0 -1
  379. package/dist/pages/instances/detail/InstanceDetailClientView.d.ts +0 -9
  380. package/dist/pages/instances/detail/InstanceDetailClientView.js +0 -28
  381. package/dist/pages/instances/detail/InstanceDetailClientView.js.map +0 -1
  382. package/dist/pages/instances/new/InstanceNewClientView.cjs +0 -2
  383. package/dist/pages/instances/new/InstanceNewClientView.cjs.map +0 -1
  384. package/dist/pages/instances/new/InstanceNewClientView.d.ts +0 -8
  385. package/dist/pages/instances/new/InstanceNewClientView.js +0 -28
  386. package/dist/pages/instances/new/InstanceNewClientView.js.map +0 -1
  387. package/dist/pages/login/LoginClientView.cjs +0 -2
  388. package/dist/pages/login/LoginClientView.cjs.map +0 -1
  389. package/dist/pages/login/LoginClientView.d.ts +0 -11
  390. package/dist/pages/login/LoginClientView.js +0 -29
  391. package/dist/pages/login/LoginClientView.js.map +0 -1
  392. package/dist/pages/root/RootClientView.cjs +0 -1
  393. package/dist/pages/root/RootClientView.d.ts +0 -8
  394. package/dist/pages/root/RootClientView.js +0 -2
  395. package/dist/pages/search/SearchClientView.cjs +0 -2
  396. package/dist/pages/search/SearchClientView.cjs.map +0 -1
  397. package/dist/pages/search/SearchClientView.d.ts +0 -7
  398. package/dist/pages/search/SearchClientView.js +0 -28
  399. package/dist/pages/search/SearchClientView.js.map +0 -1
  400. package/dist/pages/sent/SentClientView.cjs +0 -2
  401. package/dist/pages/sent/SentClientView.cjs.map +0 -1
  402. package/dist/pages/sent/SentClientView.d.ts +0 -7
  403. package/dist/pages/sent/SentClientView.js +0 -28
  404. package/dist/pages/sent/SentClientView.js.map +0 -1
  405. package/dist/pages/settings/notifications/SettingsNotificationsClientView.cjs +0 -2
  406. package/dist/pages/settings/notifications/SettingsNotificationsClientView.cjs.map +0 -1
  407. package/dist/pages/settings/notifications/SettingsNotificationsClientView.d.ts +0 -3
  408. package/dist/pages/settings/notifications/SettingsNotificationsClientView.js +0 -28
  409. package/dist/pages/settings/notifications/SettingsNotificationsClientView.js.map +0 -1
  410. package/dist/pages/templates/TemplatesClientView.cjs +0 -2
  411. package/dist/pages/templates/TemplatesClientView.cjs.map +0 -1
  412. package/dist/pages/templates/TemplatesClientView.d.ts +0 -3
  413. package/dist/pages/templates/TemplatesClientView.js +0 -28
  414. package/dist/pages/templates/TemplatesClientView.js.map +0 -1
  415. package/dist/pages/templates/categories/TemplateCategoriesClientView.cjs +0 -2
  416. package/dist/pages/templates/categories/TemplateCategoriesClientView.cjs.map +0 -1
  417. package/dist/pages/templates/categories/TemplateCategoriesClientView.d.ts +0 -3
  418. package/dist/pages/templates/categories/TemplateCategoriesClientView.js +0 -28
  419. package/dist/pages/templates/categories/TemplateCategoriesClientView.js.map +0 -1
  420. package/dist/pages/templates/designer/TemplateDesignerClientView.cjs +0 -2
  421. package/dist/pages/templates/designer/TemplateDesignerClientView.cjs.map +0 -1
  422. package/dist/pages/templates/designer/TemplateDesignerClientView.d.ts +0 -3
  423. package/dist/pages/templates/designer/TemplateDesignerClientView.js +0 -28
  424. package/dist/pages/templates/designer/TemplateDesignerClientView.js.map +0 -1
  425. package/dist/pages/templates/versions/TemplateVersionsClientView.cjs +0 -2
  426. package/dist/pages/templates/versions/TemplateVersionsClientView.cjs.map +0 -1
  427. package/dist/pages/templates/versions/TemplateVersionsClientView.d.ts +0 -3
  428. package/dist/pages/templates/versions/TemplateVersionsClientView.js +0 -28
  429. package/dist/pages/templates/versions/TemplateVersionsClientView.js.map +0 -1
  430. /package/dist/{templates.css → categories.css} +0 -0
  431. /package/dist/{AdminDelegationsView.css → delegations.css} +0 -0
  432. /package/dist/{DelegationsView.css → delegations2.css} +0 -0
  433. /package/dist/{InstanceDetailView.css → detail.css} +0 -0
  434. /package/dist/{LoginView.css → login.css} +0 -0
  435. /package/dist/{SettingsNotificationsView.css → notifications.css} +0 -0
  436. /package/dist/{AdminOrgsView.css → orgs.css} +0 -0
  437. /package/dist/{AdminUsersView.css → users.css} +0 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/components/notification-drawer.tsx","../src/lib/providers.tsx"],"sourcesContent":["'use client';\n\nimport {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useState,\n type ChangeEvent,\n type ReactElement,\n} from 'react';\nimport Drawer from '@mezzanine-ui/react/Drawer';\nimport NotificationCenter from '@mezzanine-ui/react/NotificationCenter';\nimport type { NotificationSeverity } from '@mezzanine-ui/core/notification-center';\nimport {\n listNotifications,\n markAllNotificationsRead,\n markNotificationRead,\n type NotificationRecord,\n type NotificationType,\n} from '@rytass/bpm-core-client/workflow';\nimport { useAuth } from '../lib/auth-provider';\nimport { useNotificationDrawer } from '../lib/notification-drawer-provider';\nimport { useNotificationUnread } from '../lib/notification-unread-provider';\nimport { useRouterAdapter } from '../lib/router-adapter';\n\ntype FilterValue = 'all' | 'read' | 'unread';\n\ntype TimeGroup = 'today' | 'yesterday' | 'past7Days' | 'earlier';\n\nconst TIME_GROUP_ORDER: readonly TimeGroup[] = [\n 'today',\n 'yesterday',\n 'past7Days',\n 'earlier',\n];\n\nconst TIME_GROUP_LABEL: Readonly<Record<TimeGroup, string>> = {\n earlier: '更早',\n past7Days: '過去七天',\n today: '今天',\n yesterday: '昨天',\n};\n\nconst PAGE_SIZE = 50;\n\n/**\n * Right-side notification drawer mounted at the root by `<Providers>`.\n * Opens / closes via `useNotificationDrawer()`, polls\n * `listNotifications()` for the current member, supports filter\n * (`all` / `read` / `unread`), per-row mark-read, bulk mark-all-read, and\n * load-more pagination. Clicking a row with an `instanceId` navigates to\n * `/instances/<id>` via the host's router adapter.\n */\nexport function NotificationDrawer(): ReactElement | null {\n const router = useRouterAdapter();\n const { member } = useAuth();\n const { close, isOpen } = useNotificationDrawer();\n const { refreshUnreadCount } = useNotificationUnread();\n const currentMemberId = member?.memberId ?? null;\n const [rows, setRows] = useState<readonly NotificationRecord[]>([]);\n const [totalCount, setTotalCount] = useState(0);\n const [page, setPage] = useState(1);\n const [loading, setLoading] = useState(false);\n const [bulkLoading, setBulkLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [filter, setFilter] = useState<FilterValue>('all');\n\n const loadPage = useCallback(\n async (nextPage: number, append: boolean): Promise<void> => {\n if (!currentMemberId) return;\n setLoading(true);\n setError(null);\n try {\n const result = await listNotifications({\n includeRead: true,\n page: nextPage,\n pageSize: PAGE_SIZE,\n recipientMemberId: currentMemberId,\n });\n setRows((current): readonly NotificationRecord[] =>\n append ? [...current, ...result.notifications] : result.notifications,\n );\n setTotalCount(result.totalCount);\n setPage(nextPage);\n await refreshUnreadCount();\n } catch (e: unknown) {\n setError(readErrorMessage(e));\n } finally {\n setLoading(false);\n }\n },\n [currentMemberId, refreshUnreadCount],\n );\n\n useEffect((): void => {\n if (!isOpen || !currentMemberId) return;\n void loadPage(1, false);\n }, [isOpen, currentMemberId, loadPage]);\n\n const handleFilterChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>): void => {\n const next = event.target.value;\n if (next === 'all' || next === 'read' || next === 'unread') setFilter(next);\n },\n [],\n );\n\n const handleMarkAllRead = useCallback(async (): Promise<void> => {\n if (!currentMemberId || bulkLoading) return;\n setBulkLoading(true);\n setError(null);\n try {\n await markAllNotificationsRead({ recipientMemberId: currentMemberId });\n await loadPage(1, false);\n } catch (e: unknown) {\n setError(readErrorMessage(e));\n } finally {\n setBulkLoading(false);\n }\n }, [bulkLoading, currentMemberId, loadPage]);\n\n const handleLoadMore = useCallback((): void => {\n if (loading) return;\n void loadPage(page + 1, true);\n }, [loading, loadPage, page]);\n\n const handleMarkRead = useCallback(\n async (id: string): Promise<void> => {\n if (!currentMemberId) return;\n try {\n await markNotificationRead({ id, readerMemberId: currentMemberId });\n await loadPage(1, false);\n } catch (e: unknown) {\n setError(readErrorMessage(e));\n }\n },\n [currentMemberId, loadPage],\n );\n\n const handleOpenInstance = useCallback(\n async (record: NotificationRecord): Promise<void> => {\n if (!record.instanceId || !currentMemberId) return;\n try {\n if (record.status !== 'READ') {\n await markNotificationRead({\n id: record.id,\n readerMemberId: currentMemberId,\n });\n await refreshUnreadCount();\n }\n close();\n router.push(`/instances/${record.instanceId}`);\n } catch (e: unknown) {\n setError(readErrorMessage(e));\n }\n },\n [close, currentMemberId, refreshUnreadCount, router],\n );\n\n const filteredRows = useMemo(\n (): readonly NotificationRecord[] =>\n rows.filter((row): boolean => {\n if (filter === 'all') return true;\n if (filter === 'read') return row.status === 'READ';\n return row.status !== 'READ';\n }),\n [filter, rows],\n );\n\n const groupedRows = useMemo(\n (): ReadonlyArray<readonly [TimeGroup, readonly NotificationRecord[]]> => {\n const now = new Date();\n const buckets = TIME_GROUP_ORDER.reduce<\n Record<TimeGroup, NotificationRecord[]>\n >(\n (accumulator, group) => {\n accumulator[group] = [];\n return accumulator;\n },\n { earlier: [], past7Days: [], today: [], yesterday: [] },\n );\n filteredRows.forEach((row): void => {\n buckets[resolveTimeGroup(row.createdAt, now)].push(row);\n });\n return TIME_GROUP_ORDER.map(\n (group) => [group, buckets[group]] as const,\n ).filter(([, items]) => items.length > 0);\n },\n [filteredRows],\n );\n\n const hasMore = rows.length < totalCount;\n\n if (!currentMemberId) return null;\n\n return (\n <Drawer\n bottomGhostActionDisabled={bulkLoading || loading}\n bottomGhostActionLoading={bulkLoading}\n bottomGhostActionText=\"全部標為已讀\"\n bottomOnGhostActionClick={(): void => {\n void handleMarkAllRead();\n }}\n bottomOnPrimaryActionClick={(): void => {\n handleLoadMore();\n }}\n bottomPrimaryActionDisabled={!hasMore || loading}\n bottomPrimaryActionLoading={loading && hasMore}\n bottomPrimaryActionText={hasMore ? '載入更多' : '已顯示全部'}\n contentKey={`${filter}:${rows.length}`}\n filterAreaAllRadioLabel=\"全部\"\n filterAreaOnRadioChange={handleFilterChange}\n filterAreaReadRadioLabel=\"已讀\"\n filterAreaShow\n filterAreaUnreadRadioLabel=\"未讀\"\n filterAreaValue={filter}\n headerTitle=\"通知中心\"\n isBottomDisplay\n isHeaderDisplay\n onClose={close}\n open={isOpen}\n size=\"medium\"\n >\n <div role=\"list\">\n {error ? (\n <p\n role=\"alert\"\n style={{\n color: 'var(--mzn-color-text-error, #d92d20)',\n padding: '12px 16px',\n }}\n >\n {error}\n </p>\n ) : null}\n {groupedRows.length === 0 ? (\n <p\n style={{\n color: 'var(--mzn-color-text-secondary, #6b7280)',\n padding: '24px 16px',\n textAlign: 'center',\n }}\n >\n {loading ? '載入中…' : '目前沒有通知'}\n </p>\n ) : null}\n {groupedRows.map(([group, items], groupIndex) => (\n <Fragment key={group}>\n {items.map((record, itemIndex) => (\n <NotificationCenter\n appendTips={\n groupIndex === groupedRows.length - 1 &&\n itemIndex === items.length - 1 &&\n !hasMore\n ? '已顯示全部通知'\n : undefined\n }\n cancelButtonText={\n record.status !== 'READ' ? '標為已讀' : undefined\n }\n description={record.body}\n key={record.id}\n onCancel={\n record.status !== 'READ'\n ? (): void => {\n void handleMarkRead(record.id);\n }\n : undefined\n }\n onConfirm={\n record.instanceId\n ? (): void => {\n void handleOpenInstance(record);\n }\n : undefined\n }\n confirmButtonText={record.instanceId ? '查看案件' : undefined}\n prependTips={itemIndex === 0 ? TIME_GROUP_LABEL[group] : undefined}\n reference={record.id}\n severity={toSeverity(record.type)}\n showBadge={record.status !== 'READ'}\n timeStamp={record.createdAt}\n title={record.title}\n type=\"drawer\"\n />\n ))}\n </Fragment>\n ))}\n </div>\n </Drawer>\n );\n}\n\nfunction toSeverity(type: NotificationType): NotificationSeverity {\n if (type === 'SLA_OVERDUE') return 'error';\n if (type === 'SLA_WARNING') return 'warning';\n if (type === 'INSTANCE_COMPLETED') return 'success';\n return 'info';\n}\n\nfunction resolveTimeGroup(value: string, now: Date): TimeGroup {\n const notificationDate = new Date(value);\n if (Number.isNaN(notificationDate.getTime())) return 'earlier';\n const nowStartOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n const notificationStartOfDay = new Date(\n notificationDate.getFullYear(),\n notificationDate.getMonth(),\n notificationDate.getDate(),\n );\n if (notificationStartOfDay.getTime() === nowStartOfDay.getTime()) return 'today';\n const yesterdayStartOfDay = new Date(nowStartOfDay);\n yesterdayStartOfDay.setDate(yesterdayStartOfDay.getDate() - 1);\n if (notificationStartOfDay.getTime() === yesterdayStartOfDay.getTime())\n return 'yesterday';\n const diffInDays =\n (now.getTime() - notificationDate.getTime()) / (1000 * 60 * 60 * 24);\n if (diffInDays <= 7) return 'past7Days';\n return 'earlier';\n}\n\nfunction readErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : '發生未知錯誤';\n}\n","'use client';\n\nimport type { ReactElement, ReactNode } from 'react';\nimport {\n CalendarConfigProviderMoment,\n CalendarLocale,\n} from '@mezzanine-ui/react/moment';\nimport { AuthProvider } from './auth-provider';\nimport { NotificationDrawer } from '../components/notification-drawer';\nimport { NotificationDrawerProvider } from './notification-drawer-provider';\nimport { NotificationUnreadProvider } from './notification-unread-provider';\n\ninterface ProvidersProps {\n readonly children: ReactNode;\n /** Override Mezzanine calendar locale. Defaults to `CalendarLocale.ZH_TW`. */\n readonly locale?: CalendarLocale;\n /**\n * Public paths that should not trigger redirect to `/login` when there\n * is no session. Forwarded to `<AuthProvider>`. Defaults to `['/login']`.\n */\n readonly publicPaths?: readonly string[];\n /** Where to send unauthenticated users. Defaults to `'/login'`. */\n readonly loginPath?: string;\n}\n\n/**\n * One-stop BPM admin provider stack. Wires:\n *\n * - Mezzanine UI calendar locale (moment-based, `ZH_TW` by default)\n * - `<AuthProvider>` (BPM session via REST `/auth/*`)\n * - `<NotificationUnreadProvider>` (polls unread count)\n * - `<NotificationDrawerProvider>` (controls drawer open/close state)\n * - `<NotificationDrawer />` mounted at the root so the bell-icon button in\n * `<AppNavigation />` can open it.\n *\n * Consumer hosts wrap this **inside** a `<RouterAdapterProvider>` (provided\n * by the `pages/*` subpath shims when consuming via Next.js, or wired by\n * hand for other frameworks).\n */\nexport function Providers({\n children,\n locale = CalendarLocale.ZH_TW,\n publicPaths,\n loginPath,\n}: ProvidersProps): ReactElement {\n return (\n <CalendarConfigProviderMoment locale={locale}>\n <AuthProvider publicPaths={publicPaths} loginPath={loginPath}>\n <NotificationUnreadProvider>\n <NotificationDrawerProvider>\n {children}\n <NotificationDrawer />\n </NotificationDrawerProvider>\n </NotificationUnreadProvider>\n </AuthProvider>\n </CalendarConfigProviderMoment>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/components/notification-drawer.tsx","../src/lib/providers.tsx"],"sourcesContent":["'use client';\n\nimport {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useState,\n type ChangeEvent,\n type ReactElement,\n} from 'react';\nimport Drawer from '@mezzanine-ui/react/Drawer';\nimport NotificationCenter from '@mezzanine-ui/react/NotificationCenter';\nimport type { NotificationSeverity } from '@mezzanine-ui/core/notification-center';\nimport {\n listNotifications,\n markAllNotificationsRead,\n markNotificationRead,\n type NotificationRecord,\n type NotificationType,\n} from '@rytass/bpm-core-client/workflow';\nimport { useAuth } from '../lib/auth-provider';\nimport { useNotificationDrawer } from '../lib/notification-drawer-provider';\nimport { useNotificationUnread } from '../lib/notification-unread-provider';\nimport { useRouterAdapter } from '../lib/router-adapter';\n\ntype FilterValue = 'all' | 'read' | 'unread';\n\ntype TimeGroup = 'today' | 'yesterday' | 'past7Days' | 'earlier';\n\nconst TIME_GROUP_ORDER: readonly TimeGroup[] = [\n 'today',\n 'yesterday',\n 'past7Days',\n 'earlier',\n];\n\nconst TIME_GROUP_LABEL: Readonly<Record<TimeGroup, string>> = {\n earlier: '更早',\n past7Days: '過去七天',\n today: '今天',\n yesterday: '昨天',\n};\n\nconst PAGE_SIZE = 50;\n\n/**\n * Right-side notification drawer mounted at the root by `<Providers>`.\n * Opens / closes via `useNotificationDrawer()`, polls\n * `listNotifications()` for the current member, supports filter\n * (`all` / `read` / `unread`), per-row mark-read, bulk mark-all-read, and\n * load-more pagination. Clicking a row with an `instanceId` navigates to\n * `/instances/<id>` via the host's router adapter.\n */\nexport function NotificationDrawer(): ReactElement | null {\n const router = useRouterAdapter();\n const { member } = useAuth();\n const { close, isOpen } = useNotificationDrawer();\n const { refreshUnreadCount } = useNotificationUnread();\n const currentMemberId = member?.memberId ?? null;\n const [rows, setRows] = useState<readonly NotificationRecord[]>([]);\n const [totalCount, setTotalCount] = useState(0);\n const [page, setPage] = useState(1);\n const [loading, setLoading] = useState(false);\n const [bulkLoading, setBulkLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [filter, setFilter] = useState<FilterValue>('all');\n\n const loadPage = useCallback(\n async (nextPage: number, append: boolean): Promise<void> => {\n if (!currentMemberId) return;\n setLoading(true);\n setError(null);\n try {\n const result = await listNotifications({\n includeRead: true,\n page: nextPage,\n pageSize: PAGE_SIZE,\n recipientMemberId: currentMemberId,\n });\n setRows((current): readonly NotificationRecord[] =>\n append ? [...current, ...result.notifications] : result.notifications,\n );\n setTotalCount(result.totalCount);\n setPage(nextPage);\n await refreshUnreadCount();\n } catch (e: unknown) {\n setError(readErrorMessage(e));\n } finally {\n setLoading(false);\n }\n },\n [currentMemberId, refreshUnreadCount],\n );\n\n useEffect((): void => {\n if (!isOpen || !currentMemberId) return;\n void loadPage(1, false);\n }, [isOpen, currentMemberId, loadPage]);\n\n const handleFilterChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>): void => {\n const next = event.target.value;\n if (next === 'all' || next === 'read' || next === 'unread') setFilter(next);\n },\n [],\n );\n\n const handleMarkAllRead = useCallback(async (): Promise<void> => {\n if (!currentMemberId || bulkLoading) return;\n setBulkLoading(true);\n setError(null);\n try {\n await markAllNotificationsRead({ recipientMemberId: currentMemberId });\n await loadPage(1, false);\n } catch (e: unknown) {\n setError(readErrorMessage(e));\n } finally {\n setBulkLoading(false);\n }\n }, [bulkLoading, currentMemberId, loadPage]);\n\n const handleLoadMore = useCallback((): void => {\n if (loading) return;\n void loadPage(page + 1, true);\n }, [loading, loadPage, page]);\n\n const handleMarkRead = useCallback(\n async (id: string): Promise<void> => {\n if (!currentMemberId) return;\n try {\n await markNotificationRead({ id, readerMemberId: currentMemberId });\n await loadPage(1, false);\n } catch (e: unknown) {\n setError(readErrorMessage(e));\n }\n },\n [currentMemberId, loadPage],\n );\n\n const handleOpenInstance = useCallback(\n async (record: NotificationRecord): Promise<void> => {\n if (!record.instanceId || !currentMemberId) return;\n try {\n if (record.status !== 'READ') {\n await markNotificationRead({\n id: record.id,\n readerMemberId: currentMemberId,\n });\n await refreshUnreadCount();\n }\n close();\n router.push(`/instances/${record.instanceId}`);\n } catch (e: unknown) {\n setError(readErrorMessage(e));\n }\n },\n [close, currentMemberId, refreshUnreadCount, router],\n );\n\n const filteredRows = useMemo(\n (): readonly NotificationRecord[] =>\n rows.filter((row): boolean => {\n if (filter === 'all') return true;\n if (filter === 'read') return row.status === 'READ';\n return row.status !== 'READ';\n }),\n [filter, rows],\n );\n\n const groupedRows = useMemo(\n (): ReadonlyArray<readonly [TimeGroup, readonly NotificationRecord[]]> => {\n const now = new Date();\n const buckets = TIME_GROUP_ORDER.reduce<\n Record<TimeGroup, NotificationRecord[]>\n >(\n (accumulator, group) => {\n accumulator[group] = [];\n return accumulator;\n },\n { earlier: [], past7Days: [], today: [], yesterday: [] },\n );\n filteredRows.forEach((row): void => {\n buckets[resolveTimeGroup(row.createdAt, now)].push(row);\n });\n return TIME_GROUP_ORDER.map(\n (group) => [group, buckets[group]] as const,\n ).filter(([, items]) => items.length > 0);\n },\n [filteredRows],\n );\n\n const hasMore = rows.length < totalCount;\n\n if (!currentMemberId) return null;\n\n return (\n <Drawer\n bottomGhostActionDisabled={bulkLoading || loading}\n bottomGhostActionLoading={bulkLoading}\n bottomGhostActionText=\"全部標為已讀\"\n bottomOnGhostActionClick={(): void => {\n void handleMarkAllRead();\n }}\n bottomOnPrimaryActionClick={(): void => {\n handleLoadMore();\n }}\n bottomPrimaryActionDisabled={!hasMore || loading}\n bottomPrimaryActionLoading={loading && hasMore}\n bottomPrimaryActionText={hasMore ? '載入更多' : '已顯示全部'}\n contentKey={`${filter}:${rows.length}`}\n filterAreaAllRadioLabel=\"全部\"\n filterAreaOnRadioChange={handleFilterChange}\n filterAreaReadRadioLabel=\"已讀\"\n filterAreaShow\n filterAreaUnreadRadioLabel=\"未讀\"\n filterAreaValue={filter}\n headerTitle=\"通知中心\"\n isBottomDisplay\n isHeaderDisplay\n onClose={close}\n open={isOpen}\n size=\"medium\"\n >\n <div role=\"list\">\n {error ? (\n <p\n role=\"alert\"\n style={{\n color: 'var(--mzn-color-text-error, #d92d20)',\n padding: '12px 16px',\n }}\n >\n {error}\n </p>\n ) : null}\n {groupedRows.length === 0 ? (\n <p\n style={{\n color: 'var(--mzn-color-text-secondary, #6b7280)',\n padding: '24px 16px',\n textAlign: 'center',\n }}\n >\n {loading ? '載入中…' : '目前沒有通知'}\n </p>\n ) : null}\n {groupedRows.map(([group, items], groupIndex) => (\n <Fragment key={group}>\n {items.map((record, itemIndex) => (\n <NotificationCenter\n appendTips={\n groupIndex === groupedRows.length - 1 &&\n itemIndex === items.length - 1 &&\n !hasMore\n ? '已顯示全部通知'\n : undefined\n }\n cancelButtonText={\n record.status !== 'READ' ? '標為已讀' : undefined\n }\n description={record.body}\n key={record.id}\n onCancel={\n record.status !== 'READ'\n ? (): void => {\n void handleMarkRead(record.id);\n }\n : undefined\n }\n onConfirm={\n record.instanceId\n ? (): void => {\n void handleOpenInstance(record);\n }\n : undefined\n }\n confirmButtonText={record.instanceId ? '查看案件' : undefined}\n prependTips={itemIndex === 0 ? TIME_GROUP_LABEL[group] : undefined}\n reference={record.id}\n severity={toSeverity(record.type)}\n showBadge={record.status !== 'READ'}\n timeStamp={record.createdAt}\n title={record.title}\n type=\"drawer\"\n />\n ))}\n </Fragment>\n ))}\n </div>\n </Drawer>\n );\n}\n\nfunction toSeverity(type: NotificationType): NotificationSeverity {\n if (type === 'SLA_OVERDUE') return 'error';\n if (type === 'SLA_WARNING') return 'warning';\n if (type === 'INSTANCE_COMPLETED') return 'success';\n return 'info';\n}\n\nfunction resolveTimeGroup(value: string, now: Date): TimeGroup {\n const notificationDate = new Date(value);\n if (Number.isNaN(notificationDate.getTime())) return 'earlier';\n const nowStartOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n const notificationStartOfDay = new Date(\n notificationDate.getFullYear(),\n notificationDate.getMonth(),\n notificationDate.getDate(),\n );\n if (notificationStartOfDay.getTime() === nowStartOfDay.getTime()) return 'today';\n const yesterdayStartOfDay = new Date(nowStartOfDay);\n yesterdayStartOfDay.setDate(yesterdayStartOfDay.getDate() - 1);\n if (notificationStartOfDay.getTime() === yesterdayStartOfDay.getTime())\n return 'yesterday';\n const diffInDays =\n (now.getTime() - notificationDate.getTime()) / (1000 * 60 * 60 * 24);\n if (diffInDays <= 7) return 'past7Days';\n return 'earlier';\n}\n\nfunction readErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : '發生未知錯誤';\n}\n","'use client';\n\nimport type { ReactElement, ReactNode } from 'react';\nimport {\n CalendarConfigProviderMoment,\n CalendarLocale,\n} from '@mezzanine-ui/react/moment';\nimport { AuthProvider } from './auth-provider';\nimport { NotificationDrawer } from '../components/notification-drawer';\nimport { NotificationDrawerProvider } from './notification-drawer-provider';\nimport { NotificationUnreadProvider } from './notification-unread-provider';\n\ninterface ProvidersProps {\n readonly children: ReactNode;\n /** Override Mezzanine calendar locale. Defaults to `CalendarLocale.ZH_TW`. */\n readonly locale?: CalendarLocale;\n /**\n * Public paths that should not trigger redirect to `/login` when there\n * is no session. Forwarded to `<AuthProvider>`. Defaults to `['/login']`.\n */\n readonly publicPaths?: readonly string[];\n /** Where to send unauthenticated users. Defaults to `'/login'`. */\n readonly loginPath?: string;\n}\n\n/**\n * One-stop BPM admin provider stack. Wires:\n *\n * - Mezzanine UI calendar locale (moment-based, `ZH_TW` by default)\n * - `<AuthProvider>` (BPM session via REST `/auth/*`)\n * - `<NotificationUnreadProvider>` (polls unread count)\n * - `<NotificationDrawerProvider>` (controls drawer open/close state)\n * - `<NotificationDrawer />` mounted at the root so the bell-icon button in\n * `<AppLayout />` can open it.\n *\n * Consumer hosts wrap this **inside** a `<RouterAdapterProvider>` (provided\n * by the `pages/*` subpath shims when consuming via Next.js, or wired by\n * hand for other frameworks).\n */\nexport function Providers({\n children,\n locale = CalendarLocale.ZH_TW,\n publicPaths,\n loginPath,\n}: ProvidersProps): ReactElement {\n return (\n <CalendarConfigProviderMoment locale={locale}>\n <AuthProvider publicPaths={publicPaths} loginPath={loginPath}>\n <NotificationUnreadProvider>\n <NotificationDrawerProvider>\n {children}\n <NotificationDrawer />\n </NotificationDrawerProvider>\n </NotificationUnreadProvider>\n </AuthProvider>\n </CalendarConfigProviderMoment>\n );\n}\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ interface NotificationDrawerProviderProps {
11
11
  /**
12
12
  * Controls the open/closed state of the BPM notification drawer. Wraps
13
13
  * children with a context that `<NotificationDrawer />` reads to mount /
14
- * hide itself, and that `<AppNavigation />` reads to open the drawer when
14
+ * hide itself, and that `<AppLayout />` reads to open the drawer when
15
15
  * the bell icon is clicked.
16
16
  *
17
17
  * When used outside this provider, the returned hook is a safe no-op so
@@ -9,7 +9,7 @@ interface NotificationUnreadProviderProps {
9
9
  /**
10
10
  * Polls BPM for the current member's unread notification count via
11
11
  * `readUnreadNotificationCount` and exposes it through context for
12
- * `<AppNavigation />` (bell badge) and `<NotificationDrawer />` (header
12
+ * `<AppLayout />` (bell badge) and `<NotificationDrawer />` (header
13
13
  * count). Refresh is triggered on mount and whenever the auth member id
14
14
  * changes; consumers can call `refreshUnreadCount()` after acknowledging
15
15
  * a notification.
@@ -20,7 +20,7 @@ interface ProvidersProps {
20
20
  * - `<NotificationUnreadProvider>` (polls unread count)
21
21
  * - `<NotificationDrawerProvider>` (controls drawer open/close state)
22
22
  * - `<NotificationDrawer />` mounted at the root so the bell-icon button in
23
- * `<AppNavigation />` can open it.
23
+ * `<AppLayout />` can open it.
24
24
  *
25
25
  * Consumer hosts wrap this **inside** a `<RouterAdapterProvider>` (provided
26
26
  * by the `pages/*` subpath shims when consuming via Next.js, or wired by
@@ -0,0 +1,6 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ interface BPMNextProvidersProps {
3
+ readonly children: ReactNode;
4
+ }
5
+ export declare function BPMNextProviders({ children, }: BPMNextProvidersProps): ReactElement;
6
+ export {};
@@ -0,0 +1,2 @@
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("react/jsx-runtime"),n=require("next/navigation"),r=require("@rytass/bpm-core-react");function i({children:i}){let a=(0,n.useRouter)(),o=(0,n.usePathname)(),s=(0,n.useSearchParams)();return(0,t.jsx)(r.RouterAdapterProvider,{value:(0,e.useMemo)(()=>({pathname:o,push:e=>a.push(e),replace:e=>a.replace(e),back:()=>a.back(),searchParams:()=>new URLSearchParams(s?.toString()??``)}),[a,o,s]),children:(0,t.jsx)(r.Providers,{children:i})})}function a({children:n}){return(0,t.jsx)(e.Suspense,{fallback:null,children:(0,t.jsx)(i,{children:n})})}exports.BPMNextProviders=a;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../src/next/BPMNextProviders.tsx"],"sourcesContent":["'use client';\n\n// One-line Next.js App Router shim for BPM. Reads `next/navigation` hooks,\n// builds a `RouterAdapter`, then composes `<RouterAdapterProvider>` and the\n// shared `<BPMProviders>`. Wrapped in `<Suspense>` so static prerender of\n// routes like `/404` does not fail on `useSearchParams()` during `next build`.\n\nimport { Suspense, useMemo, type ReactElement, type ReactNode } from 'react';\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation';\nimport {\n Providers as BPMProviders,\n RouterAdapterProvider,\n type RouterAdapter,\n} from '@rytass/bpm-core-react';\n\ninterface BPMNextProvidersProps {\n readonly children: ReactNode;\n}\n\nfunction BPMNextProvidersBody({\n children,\n}: BPMNextProvidersProps): ReactElement {\n const nextRouter = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n const adapter = useMemo<RouterAdapter>(\n () => ({\n pathname,\n push: (href: string): void => nextRouter.push(href),\n replace: (href: string): void => nextRouter.replace(href),\n back: (): void => nextRouter.back(),\n searchParams: (): URLSearchParams =>\n new URLSearchParams(searchParams?.toString() ?? ''),\n }),\n [nextRouter, pathname, searchParams],\n );\n\n return (\n <RouterAdapterProvider value={adapter}>\n <BPMProviders>{children}</BPMProviders>\n </RouterAdapterProvider>\n );\n}\n\nexport function BPMNextProviders({\n children,\n}: BPMNextProvidersProps): ReactElement {\n return (\n <Suspense fallback={null}>\n <BPMNextProvidersBody>{children}</BPMNextProvidersBody>\n </Suspense>\n );\n}\n"],"mappings":"uMAmBA,SAAS,EAAqB,CAC5B,YACsC,CACtC,IAAM,GAAA,EAAA,EAAA,WAAuB,EACvB,GAAA,EAAA,EAAA,aAAuB,EACvB,GAAA,EAAA,EAAA,iBAA+B,EAcrC,OACE,EAAA,EAAA,KAAC,EAAA,sBAAD,CAAuB,OAAA,EAAA,EAAA,cAZhB,CACL,WACA,KAAO,GAAuB,EAAW,KAAK,CAAI,EAClD,QAAU,GAAuB,EAAW,QAAQ,CAAI,EACxD,SAAkB,EAAW,KAAK,EAClC,iBACE,IAAI,gBAAgB,GAAc,SAAS,GAAK,EAAE,CACtD,GACA,CAAC,EAAY,EAAU,CAAY,CAIL,YAC5B,EAAA,EAAA,KAAC,EAAA,UAAD,CAAe,UAAuB,CAAA,CACjB,CAAA,CAE3B,CAEA,SAAgB,EAAiB,CAC/B,YACsC,CACtC,OACE,EAAA,EAAA,KAAC,EAAA,SAAD,CAAU,SAAU,eAClB,EAAA,EAAA,KAAC,EAAD,CAAuB,UAA+B,CAAA,CAC9C,CAAA,CAEd"}
@@ -0,0 +1 @@
1
+ export * from './BPMNextProviders';
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { Suspense as e, useMemo as t } from "react";
3
+ import { jsx as n } from "react/jsx-runtime";
4
+ import { usePathname as r, useRouter as i, useSearchParams as a } from "next/navigation";
5
+ import { Providers as o, RouterAdapterProvider as s } from "@rytass/bpm-core-react";
6
+ //#region src/next/BPMNextProviders.tsx
7
+ function c({ children: e }) {
8
+ let c = i(), l = r(), u = a();
9
+ return /* @__PURE__ */ n(s, {
10
+ value: t(() => ({
11
+ pathname: l,
12
+ push: (e) => c.push(e),
13
+ replace: (e) => c.replace(e),
14
+ back: () => c.back(),
15
+ searchParams: () => new URLSearchParams(u?.toString() ?? "")
16
+ }), [
17
+ c,
18
+ l,
19
+ u
20
+ ]),
21
+ children: /* @__PURE__ */ n(o, { children: e })
22
+ });
23
+ }
24
+ function l({ children: t }) {
25
+ return /* @__PURE__ */ n(e, {
26
+ fallback: null,
27
+ children: /* @__PURE__ */ n(c, { children: t })
28
+ });
29
+ }
30
+ //#endregion
31
+ export { l as BPMNextProviders };
32
+
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/next/BPMNextProviders.tsx"],"sourcesContent":["'use client';\n\n// One-line Next.js App Router shim for BPM. Reads `next/navigation` hooks,\n// builds a `RouterAdapter`, then composes `<RouterAdapterProvider>` and the\n// shared `<BPMProviders>`. Wrapped in `<Suspense>` so static prerender of\n// routes like `/404` does not fail on `useSearchParams()` during `next build`.\n\nimport { Suspense, useMemo, type ReactElement, type ReactNode } from 'react';\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation';\nimport {\n Providers as BPMProviders,\n RouterAdapterProvider,\n type RouterAdapter,\n} from '@rytass/bpm-core-react';\n\ninterface BPMNextProvidersProps {\n readonly children: ReactNode;\n}\n\nfunction BPMNextProvidersBody({\n children,\n}: BPMNextProvidersProps): ReactElement {\n const nextRouter = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n\n const adapter = useMemo<RouterAdapter>(\n () => ({\n pathname,\n push: (href: string): void => nextRouter.push(href),\n replace: (href: string): void => nextRouter.replace(href),\n back: (): void => nextRouter.back(),\n searchParams: (): URLSearchParams =>\n new URLSearchParams(searchParams?.toString() ?? ''),\n }),\n [nextRouter, pathname, searchParams],\n );\n\n return (\n <RouterAdapterProvider value={adapter}>\n <BPMProviders>{children}</BPMProviders>\n </RouterAdapterProvider>\n );\n}\n\nexport function BPMNextProviders({\n children,\n}: BPMNextProvidersProps): ReactElement {\n return (\n <Suspense fallback={null}>\n <BPMNextProvidersBody>{children}</BPMNextProvidersBody>\n </Suspense>\n );\n}\n"],"mappings":";;;;;;AAmBA,SAAS,EAAqB,EAC5B,eACsC;CACtC,IAAM,IAAa,EAAU,GACvB,IAAW,EAAY,GACvB,IAAe,EAAgB;CAcrC,OACE,kBAAC,GAAD;EAAuB,OAbT,SACP;GACL;GACA,OAAO,MAAuB,EAAW,KAAK,CAAI;GAClD,UAAU,MAAuB,EAAW,QAAQ,CAAI;GACxD,YAAkB,EAAW,KAAK;GAClC,oBACE,IAAI,gBAAgB,GAAc,SAAS,KAAK,EAAE;EACtD,IACA;GAAC;GAAY;GAAU;EAAY,CAIL;YAC5B,kBAAC,GAAD,EAAe,YAAuB,CAAA;CACjB,CAAA;AAE3B;AAEA,SAAgB,EAAiB,EAC/B,eACsC;CACtC,OACE,kBAAC,GAAD;EAAU,UAAU;YAClB,kBAAC,GAAD,EAAuB,YAA+B,CAAA;CAC9C,CAAA;AAEd"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./AdminDelegationsClientView.cjs");let t=require("react/jsx-runtime");var n={title:`代理設定 | BPM Admin`,description:`設定簽核代理規則,讓符合範圍的待簽任務自動改派給代理人。`};function r(){return(0,t.jsx)(e.default,{})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../../chunks/delegations-DkDBWOQ7.cjs");let t=require("react/jsx-runtime");var n={title:`代理設定 | BPM Admin`,description:`設定簽核代理規則,讓符合範圍的待簽任務自動改派給代理人。`};function r(){return(0,t.jsx)(e.t,{})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/admin/delegations/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport AdminDelegationsClientView from './AdminDelegationsClientView';\n\nexport const metadata: Metadata = {\n title: '代理設定 | BPM Admin',\n description: '設定簽核代理規則,讓符合範圍的待簽任務自動改派給代理人。',\n};\n\nexport default function AdminDelegationsPage(): ReactElement {\n return <AdminDelegationsClientView />;\n}\n"],"mappings":"sLAIA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,8BACf,EAEA,SAAwB,GAAqC,CAC3D,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAA6B,CAAA,CACtC"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/admin/delegations/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { AdminDelegationsView } from '../../../views/admin/delegations';\n\nexport const metadata: Metadata = {\n title: '代理設定 | BPM Admin',\n description: '設定簽核代理規則,讓符合範圍的待簽任務自動改派給代理人。',\n};\n\nexport default function AdminDelegationsPage(): ReactElement {\n return <AdminDelegationsView />;\n}\n"],"mappings":"8LAIA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,8BACf,EAEA,SAAwB,GAAqC,CAC3D,OAAO,EAAA,EAAA,KAAC,EAAA,EAAD,CAAuB,CAAA,CAChC"}
@@ -1,4 +1,4 @@
1
- import e from "./AdminDelegationsClientView.js";
1
+ import { t as e } from "../../../chunks/delegations-C5PzZ5Kn.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/admin/delegations/index.tsx
4
4
  var n = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/admin/delegations/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport AdminDelegationsClientView from './AdminDelegationsClientView';\n\nexport const metadata: Metadata = {\n title: '代理設定 | BPM Admin',\n description: '設定簽核代理規則,讓符合範圍的待簽任務自動改派給代理人。',\n};\n\nexport default function AdminDelegationsPage(): ReactElement {\n return <AdminDelegationsClientView />;\n}\n"],"mappings":";;;AAIA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAEA,SAAwB,IAAqC;CAC3D,OAAO,kBAAC,GAAD,CAA6B,CAAA;AACtC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/admin/delegations/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { AdminDelegationsView } from '../../../views/admin/delegations';\n\nexport const metadata: Metadata = {\n title: '代理設定 | BPM Admin',\n description: '設定簽核代理規則,讓符合範圍的待簽任務自動改派給代理人。',\n};\n\nexport default function AdminDelegationsPage(): ReactElement {\n return <AdminDelegationsView />;\n}\n"],"mappings":";;;AAIA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAEA,SAAwB,IAAqC;CAC3D,OAAO,kBAAC,GAAD,CAAuB,CAAA;AAChC"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./AdminOrgsClientView.cjs");let t=require("react/jsx-runtime");var n={title:`組織管理 | BPM Admin`,description:`維護組織樹、職位、會員歸屬與簽核主管解析規則。`};function r(){return(0,t.jsx)(e.default,{})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../../chunks/orgs-DgZ0DQ3-.cjs");let t=require("react/jsx-runtime");var n={title:`組織管理 | BPM Admin`,description:`維護組織樹、職位、會員歸屬與簽核主管解析規則。`};function r(){return(0,t.jsx)(e.t,{})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/admin/orgs/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport AdminOrgsClientView from './AdminOrgsClientView';\n\nexport const metadata: Metadata = {\n title: '組織管理 | BPM Admin',\n description: '維護組織樹、職位、會員歸屬與簽核主管解析規則。',\n};\n\nexport default function AdminOrgsPage(): ReactElement {\n return <AdminOrgsClientView />;\n}\n"],"mappings":"+KAIA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,yBACf,EAEA,SAAwB,GAA8B,CACpD,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAsB,CAAA,CAC/B"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/admin/orgs/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { AdminOrgsView } from '../../../views/admin/orgs';\n\nexport const metadata: Metadata = {\n title: '組織管理 | BPM Admin',\n description: '維護組織樹、職位、會員歸屬與簽核主管解析規則。',\n};\n\nexport default function AdminOrgsPage(): ReactElement {\n return <AdminOrgsView />;\n}\n"],"mappings":"uLAIA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,yBACf,EAEA,SAAwB,GAA8B,CACpD,OAAO,EAAA,EAAA,KAAC,EAAA,EAAD,CAAgB,CAAA,CACzB"}
@@ -1,4 +1,4 @@
1
- import e from "./AdminOrgsClientView.js";
1
+ import { t as e } from "../../../chunks/orgs-xrdhb3hS.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/admin/orgs/index.tsx
4
4
  var n = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/admin/orgs/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport AdminOrgsClientView from './AdminOrgsClientView';\n\nexport const metadata: Metadata = {\n title: '組織管理 | BPM Admin',\n description: '維護組織樹、職位、會員歸屬與簽核主管解析規則。',\n};\n\nexport default function AdminOrgsPage(): ReactElement {\n return <AdminOrgsClientView />;\n}\n"],"mappings":";;;AAIA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAEA,SAAwB,IAA8B;CACpD,OAAO,kBAAC,GAAD,CAAsB,CAAA;AAC/B"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/admin/orgs/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { AdminOrgsView } from '../../../views/admin/orgs';\n\nexport const metadata: Metadata = {\n title: '組織管理 | BPM Admin',\n description: '維護組織樹、職位、會員歸屬與簽核主管解析規則。',\n};\n\nexport default function AdminOrgsPage(): ReactElement {\n return <AdminOrgsView />;\n}\n"],"mappings":";;;AAIA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAEA,SAAwB,IAA8B;CACpD,OAAO,kBAAC,GAAD,CAAgB,CAAA;AACzB"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./AdminUsersClientView.cjs");let t=require("react/jsx-runtime");var n={title:`會員對照 | BPM Admin`,description:`檢視 BPM 內部會員組織歸屬與主管解析。`};function r(){return(0,t.jsx)(e.default,{})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../../chunks/users-DHnu_056.cjs");let t=require("react/jsx-runtime");var n={title:`會員對照 | BPM Admin`,description:`檢視 BPM 內部會員組織歸屬與主管解析。`};function r(){return(0,t.jsx)(e.t,{})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/admin/users/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport AdminUsersClientView from './AdminUsersClientView';\n\nexport const metadata: Metadata = {\n title: '會員對照 | BPM Admin',\n description: '檢視 BPM 內部會員組織歸屬與主管解析。',\n};\n\nexport default function AdminUsersPage(): ReactElement {\n return <AdminUsersClientView />;\n}\n"],"mappings":"gLAIA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,uBACf,EAEA,SAAwB,GAA+B,CACrD,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAuB,CAAA,CAChC"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/admin/users/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { AdminUsersView } from '../../../views/admin/users';\n\nexport const metadata: Metadata = {\n title: '會員對照 | BPM Admin',\n description: '檢視 BPM 內部會員組織歸屬與主管解析。',\n};\n\nexport default function AdminUsersPage(): ReactElement {\n return <AdminUsersView />;\n}\n"],"mappings":"wLAIA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,uBACf,EAEA,SAAwB,GAA+B,CACrD,OAAO,EAAA,EAAA,KAAC,EAAA,EAAD,CAAiB,CAAA,CAC1B"}
@@ -1,4 +1,4 @@
1
- import e from "./AdminUsersClientView.js";
1
+ import { t as e } from "../../../chunks/users-CY4-NK3j.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/admin/users/index.tsx
4
4
  var n = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/admin/users/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport AdminUsersClientView from './AdminUsersClientView';\n\nexport const metadata: Metadata = {\n title: '會員對照 | BPM Admin',\n description: '檢視 BPM 內部會員組織歸屬與主管解析。',\n};\n\nexport default function AdminUsersPage(): ReactElement {\n return <AdminUsersClientView />;\n}\n"],"mappings":";;;AAIA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAEA,SAAwB,IAA+B;CACrD,OAAO,kBAAC,GAAD,CAAuB,CAAA;AAChC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/admin/users/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { AdminUsersView } from '../../../views/admin/users';\n\nexport const metadata: Metadata = {\n title: '會員對照 | BPM Admin',\n description: '檢視 BPM 內部會員組織歸屬與主管解析。',\n};\n\nexport default function AdminUsersPage(): ReactElement {\n return <AdminUsersView />;\n}\n"],"mappings":";;;AAIA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAEA,SAAwB,IAA+B;CACrD,OAAO,kBAAC,GAAD,CAAiB,CAAA;AAC1B"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./CcClientView.cjs");let t=require("react/jsx-runtime");var n={title:`抄送給我 | BPM Admin`};function r(){return(0,t.jsx)(e.default,{})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../views/cc/index.cjs");let t=require("react/jsx-runtime");var n={title:`抄送給我 | BPM Admin`};function r(){return(0,t.jsx)(e.CcView,{})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/cc/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport CcClientView from './CcClientView';\n\n/**\n * Next.js metadata for the BPM \"cc\" page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '抄送給我 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM cc inbox. Usage in\n * `app/cc/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/cc';\n * ```\n */\nexport default function CcPage(): ReactElement {\n return <CcClientView />;\n}\n"],"mappings":"wKAQA,IAAa,EAAqB,CAChC,MAAO,kBACT,EAUA,SAAwB,GAAuB,CAC7C,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAe,CAAA,CACxB"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/cc/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { CcView } from '../../views/cc';\n\n/**\n * Next.js metadata for the BPM \"cc\" page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '抄送給我 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM cc inbox. Usage in\n * `app/cc/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/cc';\n * ```\n */\nexport default function CcPage(): ReactElement {\n return <CcView />;\n}\n"],"mappings":"8KAQA,IAAa,EAAqB,CAChC,MAAO,kBACT,EAUA,SAAwB,GAAuB,CAC7C,OAAO,EAAA,EAAA,KAAC,EAAA,OAAD,CAAS,CAAA,CAClB"}
@@ -1,4 +1,4 @@
1
- import e from "./CcClientView.js";
1
+ import { CcView as e } from "../../views/cc/index.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/cc/index.tsx
4
4
  var n = { title: "抄送給我 | BPM Admin" };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/cc/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport CcClientView from './CcClientView';\n\n/**\n * Next.js metadata for the BPM \"cc\" page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '抄送給我 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM cc inbox. Usage in\n * `app/cc/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/cc';\n * ```\n */\nexport default function CcPage(): ReactElement {\n return <CcClientView />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB,EAChC,OAAO,mBACT;AAUA,SAAwB,IAAuB;CAC7C,OAAO,kBAAC,GAAD,CAAe,CAAA;AACxB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/cc/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { CcView } from '../../views/cc';\n\n/**\n * Next.js metadata for the BPM \"cc\" page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '抄送給我 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM cc inbox. Usage in\n * `app/cc/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/cc';\n * ```\n */\nexport default function CcPage(): ReactElement {\n return <CcView />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB,EAChC,OAAO,mBACT;AAUA,SAAwB,IAAuB;CAC7C,OAAO,kBAAC,GAAD,CAAS,CAAA;AAClB"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./DashboardClientView.cjs");let t=require("react/jsx-runtime");var n={title:`工作台 | BPM Admin`};function r(){return(0,t.jsx)(e.default,{})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../views/dashboard/index.cjs");let t=require("react/jsx-runtime");var n={title:`工作台 | BPM Admin`};function r(){return(0,t.jsx)(e.DashboardView,{})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/dashboard/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport DashboardClientView from './DashboardClientView';\n\n/**\n * Next.js metadata for the BPM dashboard page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '工作台 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM dashboard. Usage in\n * `app/dashboard/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/dashboard';\n * ```\n */\nexport default function DashboardPage(): ReactElement {\n return <DashboardClientView />;\n}\n"],"mappings":"+KAQA,IAAa,EAAqB,CAChC,MAAO,iBACT,EAUA,SAAwB,GAA8B,CACpD,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAsB,CAAA,CAC/B"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/dashboard/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { DashboardView } from '../../views/dashboard';\n\n/**\n * Next.js metadata for the BPM dashboard page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '工作台 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM dashboard. Usage in\n * `app/dashboard/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/dashboard';\n * ```\n */\nexport default function DashboardPage(): ReactElement {\n return <DashboardView />;\n}\n"],"mappings":"qLAQA,IAAa,EAAqB,CAChC,MAAO,iBACT,EAUA,SAAwB,GAA8B,CACpD,OAAO,EAAA,EAAA,KAAC,EAAA,cAAD,CAAgB,CAAA,CACzB"}
@@ -1,4 +1,4 @@
1
- import e from "./DashboardClientView.js";
1
+ import { DashboardView as e } from "../../views/dashboard/index.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/dashboard/index.tsx
4
4
  var n = { title: "工作台 | BPM Admin" };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/dashboard/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport DashboardClientView from './DashboardClientView';\n\n/**\n * Next.js metadata for the BPM dashboard page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '工作台 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM dashboard. Usage in\n * `app/dashboard/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/dashboard';\n * ```\n */\nexport default function DashboardPage(): ReactElement {\n return <DashboardClientView />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB,EAChC,OAAO,kBACT;AAUA,SAAwB,IAA8B;CACpD,OAAO,kBAAC,GAAD,CAAsB,CAAA;AAC/B"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/dashboard/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { DashboardView } from '../../views/dashboard';\n\n/**\n * Next.js metadata for the BPM dashboard page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '工作台 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM dashboard. Usage in\n * `app/dashboard/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/dashboard';\n * ```\n */\nexport default function DashboardPage(): ReactElement {\n return <DashboardView />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB,EAChC,OAAO,kBACT;AAUA,SAAwB,IAA8B;CACpD,OAAO,kBAAC,GAAD,CAAgB,CAAA;AACzB"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./DelegationsClientView.cjs");let t=require("react/jsx-runtime");var n={title:`我的代理 | BPM Admin`,description:`設定自己的簽核代理,讓指定期間內的新待簽任務自動交由代理人處理。`};function r(){return(0,t.jsx)(e.default,{})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../chunks/delegations-DOGDvybX.cjs");let t=require("react/jsx-runtime");var n={title:`我的代理 | BPM Admin`,description:`設定自己的簽核代理,讓指定期間內的新待簽任務自動交由代理人處理。`};function r(){return(0,t.jsx)(e.t,{})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/delegations/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport DelegationsClientView from './DelegationsClientView';\n\nexport const metadata: Metadata = {\n title: '我的代理 | BPM Admin',\n description: '設定自己的簽核代理,讓指定期間內的新待簽任務自動交由代理人處理。',\n};\n\nexport default function DelegationsPage(): ReactElement {\n return <DelegationsClientView />;\n}\n"],"mappings":"iLAIA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,kCACf,EAEA,SAAwB,GAAgC,CACtD,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAwB,CAAA,CACjC"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/delegations/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { DelegationsView } from '../../views/delegations';\n\nexport const metadata: Metadata = {\n title: '我的代理 | BPM Admin',\n description: '設定自己的簽核代理,讓指定期間內的新待簽任務自動交由代理人處理。',\n};\n\nexport default function DelegationsPage(): ReactElement {\n return <DelegationsView />;\n}\n"],"mappings":"2LAIA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,kCACf,EAEA,SAAwB,GAAgC,CACtD,OAAO,EAAA,EAAA,KAAC,EAAA,EAAD,CAAkB,CAAA,CAC3B"}
@@ -1,4 +1,4 @@
1
- import e from "./DelegationsClientView.js";
1
+ import { t as e } from "../../chunks/delegations-C-ZrwzvU.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/delegations/index.tsx
4
4
  var n = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/delegations/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport DelegationsClientView from './DelegationsClientView';\n\nexport const metadata: Metadata = {\n title: '我的代理 | BPM Admin',\n description: '設定自己的簽核代理,讓指定期間內的新待簽任務自動交由代理人處理。',\n};\n\nexport default function DelegationsPage(): ReactElement {\n return <DelegationsClientView />;\n}\n"],"mappings":";;;AAIA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAEA,SAAwB,IAAgC;CACtD,OAAO,kBAAC,GAAD,CAAwB,CAAA;AACjC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/delegations/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { DelegationsView } from '../../views/delegations';\n\nexport const metadata: Metadata = {\n title: '我的代理 | BPM Admin',\n description: '設定自己的簽核代理,讓指定期間內的新待簽任務自動交由代理人處理。',\n};\n\nexport default function DelegationsPage(): ReactElement {\n return <DelegationsView />;\n}\n"],"mappings":";;;AAIA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAEA,SAAwB,IAAgC;CACtD,OAAO,kBAAC,GAAD,CAAkB,CAAA;AAC3B"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./FormBuilderClientView.cjs");let t=require("react/jsx-runtime");var n={title:`表單編輯器 | BPM Admin`,description:`編輯 BPM 表單欄位、版本與預覽。`};async function r({params:n}){let{id:r}=await n;return(0,t.jsx)(e.default,{formId:r})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../../chunks/builder-DPhAH381.cjs");let t=require("react/jsx-runtime");var n={title:`表單編輯器 | BPM Admin`,description:`編輯 BPM 表單欄位、版本與預覽。`};async function r({params:n}){let{id:r}=await n;return(0,t.jsx)(e.t,{formId:r})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/forms/builder/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport FormBuilderClientView from './FormBuilderClientView';\n\n/**\n * Next.js metadata for the BPM form builder page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '表單編輯器 | BPM Admin',\n description: '編輯 BPM 表單欄位、版本與預覽。',\n};\n\ninterface FormBuilderPageProps {\n readonly params: Promise<{ readonly id: string }>;\n}\n\n/**\n * Drop-in Next.js App Router page for the BPM form builder screen.\n *\n * Consumer usage in `app/forms/[id]/builder/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/forms/builder';\n * ```\n */\nexport default async function FormBuilderPage({\n params,\n}: FormBuilderPageProps): Promise<ReactElement> {\n const { id } = await params;\n\n return <FormBuilderClientView formId={id} />;\n}\n"],"mappings":"iLAQA,IAAa,EAAqB,CAChC,MAAO,oBACP,YAAa,oBACf,EAeA,eAA8B,EAAgB,CAC5C,UAC8C,CAC9C,GAAM,CAAE,MAAO,MAAM,EAErB,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAuB,OAAQ,CAAK,CAAA,CAC7C"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/forms/builder/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { FormBuilderView } from '../../../views/forms/builder';\n\n/**\n * Next.js metadata for the BPM form builder page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '表單編輯器 | BPM Admin',\n description: '編輯 BPM 表單欄位、版本與預覽。',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM form builder screen.\n *\n * Consumer usage in `app/forms/[id]/builder/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/forms/builder';\n * ```\n */\nexport default async function FormBuilderPage({\n params,\n}: {\n readonly params: Promise<{ readonly id: string }>;\n}): Promise<ReactElement> {\n const { id } = await params;\n return <FormBuilderView formId={id} />;\n}\n"],"mappings":"0LAQA,IAAa,EAAqB,CAChC,MAAO,oBACP,YAAa,oBACf,EAWA,eAA8B,EAAgB,CAC5C,UAGwB,CACxB,GAAM,CAAE,MAAO,MAAM,EACrB,OAAO,EAAA,EAAA,KAAC,EAAA,EAAD,CAAiB,OAAQ,CAAK,CAAA,CACvC"}
@@ -5,11 +5,6 @@ import { ReactElement } from 'react';
5
5
  * alongside the default page component.
6
6
  */
7
7
  export declare const metadata: Metadata;
8
- interface FormBuilderPageProps {
9
- readonly params: Promise<{
10
- readonly id: string;
11
- }>;
12
- }
13
8
  /**
14
9
  * Drop-in Next.js App Router page for the BPM form builder screen.
15
10
  *
@@ -19,5 +14,8 @@ interface FormBuilderPageProps {
19
14
  * export { default, metadata } from '@rytass/bpm-core-react/pages/forms/builder';
20
15
  * ```
21
16
  */
22
- export default function FormBuilderPage({ params, }: FormBuilderPageProps): Promise<ReactElement>;
23
- export {};
17
+ export default function FormBuilderPage({ params, }: {
18
+ readonly params: Promise<{
19
+ readonly id: string;
20
+ }>;
21
+ }): Promise<ReactElement>;
@@ -1,4 +1,4 @@
1
- import e from "./FormBuilderClientView.js";
1
+ import { t as e } from "../../../chunks/builder-DqZskyXC.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/forms/builder/index.tsx
4
4
  var n = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/forms/builder/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport FormBuilderClientView from './FormBuilderClientView';\n\n/**\n * Next.js metadata for the BPM form builder page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '表單編輯器 | BPM Admin',\n description: '編輯 BPM 表單欄位、版本與預覽。',\n};\n\ninterface FormBuilderPageProps {\n readonly params: Promise<{ readonly id: string }>;\n}\n\n/**\n * Drop-in Next.js App Router page for the BPM form builder screen.\n *\n * Consumer usage in `app/forms/[id]/builder/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/forms/builder';\n * ```\n */\nexport default async function FormBuilderPage({\n params,\n}: FormBuilderPageProps): Promise<ReactElement> {\n const { id } = await params;\n\n return <FormBuilderClientView formId={id} />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAeA,eAA8B,EAAgB,EAC5C,aAC8C;CAC9C,IAAM,EAAE,UAAO,MAAM;CAErB,OAAO,kBAAC,GAAD,EAAuB,QAAQ,EAAK,CAAA;AAC7C"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/forms/builder/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { FormBuilderView } from '../../../views/forms/builder';\n\n/**\n * Next.js metadata for the BPM form builder page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '表單編輯器 | BPM Admin',\n description: '編輯 BPM 表單欄位、版本與預覽。',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM form builder screen.\n *\n * Consumer usage in `app/forms/[id]/builder/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/forms/builder';\n * ```\n */\nexport default async function FormBuilderPage({\n params,\n}: {\n readonly params: Promise<{ readonly id: string }>;\n}): Promise<ReactElement> {\n const { id } = await params;\n return <FormBuilderView formId={id} />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAWA,eAA8B,EAAgB,EAC5C,aAGwB;CACxB,IAAM,EAAE,UAAO,MAAM;CACrB,OAAO,kBAAC,GAAD,EAAiB,QAAQ,EAAK,CAAA;AACvC"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./FormsClientView.cjs");let t=require("react/jsx-runtime");var n={title:`表單管理 | BPM Admin`,description:`建立、編輯與管理 BPM 表單定義版本。`};function r(){return(0,t.jsx)(e.default,{})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../views/forms/index.cjs");let t=require("react/jsx-runtime");var n={title:`表單管理 | BPM Admin`,description:`建立、編輯與管理 BPM 表單定義版本。`};function r(){return(0,t.jsx)(e.FormsView,{})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/forms/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport FormsClientView from './FormsClientView';\n\n/**\n * Next.js metadata for the BPM forms list page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '表單管理 | BPM Admin',\n description: '建立、編輯與管理 BPM 表單定義版本。',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM forms list screen.\n *\n * Consumer usage in `app/forms/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/forms';\n * ```\n */\nexport default function FormsPage(): ReactElement {\n return <FormsClientView />;\n}\n"],"mappings":"2KAQA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,sBACf,EAWA,SAAwB,GAA0B,CAChD,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAkB,CAAA,CAC3B"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/forms/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { FormsView } from '../../views/forms';\n\n/**\n * Next.js metadata for the BPM forms list page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '表單管理 | BPM Admin',\n description: '建立、編輯與管理 BPM 表單定義版本。',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM forms list screen.\n *\n * Consumer usage in `app/forms/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/forms';\n * ```\n */\nexport default function FormsPage(): ReactElement {\n return <FormsView />;\n}\n"],"mappings":"iLAQA,IAAa,EAAqB,CAChC,MAAO,mBACP,YAAa,sBACf,EAWA,SAAwB,GAA0B,CAChD,OAAO,EAAA,EAAA,KAAC,EAAA,UAAD,CAAY,CAAA,CACrB"}
@@ -1,4 +1,4 @@
1
- import e from "./FormsClientView.js";
1
+ import { FormsView as e } from "../../views/forms/index.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/forms/index.tsx
4
4
  var n = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/forms/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport FormsClientView from './FormsClientView';\n\n/**\n * Next.js metadata for the BPM forms list page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '表單管理 | BPM Admin',\n description: '建立、編輯與管理 BPM 表單定義版本。',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM forms list screen.\n *\n * Consumer usage in `app/forms/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/forms';\n * ```\n */\nexport default function FormsPage(): ReactElement {\n return <FormsClientView />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAWA,SAAwB,IAA0B;CAChD,OAAO,kBAAC,GAAD,CAAkB,CAAA;AAC3B"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/forms/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { FormsView } from '../../views/forms';\n\n/**\n * Next.js metadata for the BPM forms list page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '表單管理 | BPM Admin',\n description: '建立、編輯與管理 BPM 表單定義版本。',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM forms list screen.\n *\n * Consumer usage in `app/forms/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/forms';\n * ```\n */\nexport default function FormsPage(): ReactElement {\n return <FormsView />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB;CAChC,OAAO;CACP,aAAa;AACf;AAWA,SAAwB,IAA0B;CAChD,OAAO,kBAAC,GAAD,CAAY,CAAA;AACrB"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./InboxClientView.cjs");let t=require("react/jsx-runtime");var n={title:`我的待簽 | BPM Admin`};function r(){return(0,t.jsx)(e.default,{})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../views/inbox/index.cjs");let t=require("react/jsx-runtime");var n={title:`我的待簽 | BPM Admin`};function r(){return(0,t.jsx)(e.InboxView,{})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/inbox/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport InboxClientView from './InboxClientView';\n\n/**\n * Next.js metadata for the BPM inbox page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '我的待簽 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM inbox. Usage in\n * `app/inbox/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/inbox';\n * ```\n */\nexport default function InboxPage(): ReactElement {\n return <InboxClientView />;\n}\n"],"mappings":"2KAQA,IAAa,EAAqB,CAChC,MAAO,kBACT,EAUA,SAAwB,GAA0B,CAChD,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAkB,CAAA,CAC3B"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../src/pages/inbox/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { InboxView } from '../../views/inbox';\n\n/**\n * Next.js metadata for the BPM inbox page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '我的待簽 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM inbox. Usage in\n * `app/inbox/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/inbox';\n * ```\n */\nexport default function InboxPage(): ReactElement {\n return <InboxView />;\n}\n"],"mappings":"iLAQA,IAAa,EAAqB,CAChC,MAAO,kBACT,EAUA,SAAwB,GAA0B,CAChD,OAAO,EAAA,EAAA,KAAC,EAAA,UAAD,CAAY,CAAA,CACrB"}
@@ -1,4 +1,4 @@
1
- import e from "./InboxClientView.js";
1
+ import { InboxView as e } from "../../views/inbox/index.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/inbox/index.tsx
4
4
  var n = { title: "我的待簽 | BPM Admin" };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/inbox/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport InboxClientView from './InboxClientView';\n\n/**\n * Next.js metadata for the BPM inbox page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '我的待簽 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM inbox. Usage in\n * `app/inbox/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/inbox';\n * ```\n */\nexport default function InboxPage(): ReactElement {\n return <InboxClientView />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB,EAChC,OAAO,mBACT;AAUA,SAAwB,IAA0B;CAChD,OAAO,kBAAC,GAAD,CAAkB,CAAA;AAC3B"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/pages/inbox/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { InboxView } from '../../views/inbox';\n\n/**\n * Next.js metadata for the BPM inbox page. Consumers re-export this\n * alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '我的待簽 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM inbox. Usage in\n * `app/inbox/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/inbox';\n * ```\n */\nexport default function InboxPage(): ReactElement {\n return <InboxView />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB,EAChC,OAAO,mBACT;AAUA,SAAwB,IAA0B;CAChD,OAAO,kBAAC,GAAD,CAAY,CAAA;AACrB"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./InstanceDetailClientView.cjs");let t=require("react/jsx-runtime");var n={title:`案件詳情 | BPM Admin`};async function r({params:n}){let{id:r}=await n;return(0,t.jsx)(e.default,{instanceId:r})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../../chunks/detail-B2gcOPkd.cjs");let t=require("react/jsx-runtime");var n={title:`案件詳情 | BPM Admin`};async function r({params:n}){let{id:r}=await n;return(0,t.jsx)(e.t,{instanceId:r})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/instances/detail/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport InstanceDetailClientView from './InstanceDetailClientView';\n\n/**\n * Next.js metadata for the BPM instance detail page. Consumers re-export\n * this alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '案件詳情 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM instance detail screen.\n * Accepts the standard App Router `params: Promise<{ id: string }>` shape\n * and forwards the resolved `id` into the client view as `instanceId`.\n *\n * Usage in `app/instances/[id]/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/instances/detail';\n * ```\n */\nexport default async function InstanceDetailPage({\n params,\n}: {\n readonly params: Promise<{ readonly id: string }>;\n}): Promise<ReactElement> {\n const { id: instanceId } = await params;\n\n return <InstanceDetailClientView instanceId={instanceId} />;\n}\n"],"mappings":"oLAQA,IAAa,EAAqB,CAChC,MAAO,kBACT,EAaA,eAA8B,EAAmB,CAC/C,UAGwB,CACxB,GAAM,CAAE,GAAI,GAAe,MAAM,EAEjC,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAsC,YAAa,CAAA,CAC5D"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/instances/detail/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { InstanceDetailView } from '../../../views/instances/detail';\n\n/**\n * Next.js metadata for the BPM instance detail page. Consumers re-export\n * this alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '案件詳情 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM instance detail screen.\n * Accepts the standard App Router `params: Promise<{ id: string }>` shape\n * and forwards the resolved `id` into the view as `instanceId`.\n *\n * Usage in `app/instances/[id]/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/instances/detail';\n * ```\n */\nexport default async function InstanceDetailPage({\n params,\n}: {\n readonly params: Promise<{ readonly id: string }>;\n}): Promise<ReactElement> {\n const { id } = await params;\n return <InstanceDetailView instanceId={id} />;\n}\n"],"mappings":"yLAQA,IAAa,EAAqB,CAChC,MAAO,kBACT,EAaA,eAA8B,EAAmB,CAC/C,UAGwB,CACxB,GAAM,CAAE,MAAO,MAAM,EACrB,OAAO,EAAA,EAAA,KAAC,EAAA,EAAD,CAAoB,WAAY,CAAK,CAAA,CAC9C"}
@@ -8,7 +8,7 @@ export declare const metadata: Metadata;
8
8
  /**
9
9
  * Drop-in Next.js App Router page for the BPM instance detail screen.
10
10
  * Accepts the standard App Router `params: Promise<{ id: string }>` shape
11
- * and forwards the resolved `id` into the client view as `instanceId`.
11
+ * and forwards the resolved `id` into the view as `instanceId`.
12
12
  *
13
13
  * Usage in `app/instances/[id]/page.tsx`:
14
14
  *
@@ -1,4 +1,4 @@
1
- import e from "./InstanceDetailClientView.js";
1
+ import { t as e } from "../../../chunks/detail-CfFyU5zC.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/pages/instances/detail/index.tsx
4
4
  var n = { title: "案件詳情 | BPM Admin" };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/instances/detail/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport InstanceDetailClientView from './InstanceDetailClientView';\n\n/**\n * Next.js metadata for the BPM instance detail page. Consumers re-export\n * this alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '案件詳情 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM instance detail screen.\n * Accepts the standard App Router `params: Promise<{ id: string }>` shape\n * and forwards the resolved `id` into the client view as `instanceId`.\n *\n * Usage in `app/instances/[id]/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/instances/detail';\n * ```\n */\nexport default async function InstanceDetailPage({\n params,\n}: {\n readonly params: Promise<{ readonly id: string }>;\n}): Promise<ReactElement> {\n const { id: instanceId } = await params;\n\n return <InstanceDetailClientView instanceId={instanceId} />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB,EAChC,OAAO,mBACT;AAaA,eAA8B,EAAmB,EAC/C,aAGwB;CACxB,IAAM,EAAE,IAAI,MAAe,MAAM;CAEjC,OAAO,kBAAC,GAAD,EAAsC,cAAa,CAAA;AAC5D"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/pages/instances/detail/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { InstanceDetailView } from '../../../views/instances/detail';\n\n/**\n * Next.js metadata for the BPM instance detail page. Consumers re-export\n * this alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '案件詳情 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM instance detail screen.\n * Accepts the standard App Router `params: Promise<{ id: string }>` shape\n * and forwards the resolved `id` into the view as `instanceId`.\n *\n * Usage in `app/instances/[id]/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/instances/detail';\n * ```\n */\nexport default async function InstanceDetailPage({\n params,\n}: {\n readonly params: Promise<{ readonly id: string }>;\n}): Promise<ReactElement> {\n const { id } = await params;\n return <InstanceDetailView instanceId={id} />;\n}\n"],"mappings":";;;AAQA,IAAa,IAAqB,EAChC,OAAO,mBACT;AAaA,eAA8B,EAAmB,EAC/C,aAGwB;CACxB,IAAM,EAAE,UAAO,MAAM;CACrB,OAAO,kBAAC,GAAD,EAAoB,YAAY,EAAK,CAAA;AAC9C"}
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./InstanceNewClientView.cjs");let t=require("react/jsx-runtime");var n={title:`發起簽核 | BPM Admin`};function r(){return(0,t.jsx)(e.default,{})}exports.default=r,exports.metadata=n;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../../../views/instances/new/index.cjs");let t=require("react/jsx-runtime");var n={title:`發起簽核 | BPM Admin`};async function r({searchParams:n}){let{templateId:r}=await n;return(0,t.jsx)(e.InstanceNewView,{templateId:r??null})}exports.default=r,exports.metadata=n;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/instances/new/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport InstanceNewClientView from './InstanceNewClientView';\n\n/**\n * Next.js metadata for the BPM \"launch approval\" page. Consumers re-export\n * this alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '發起簽核 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM launch screen. Usage in\n * `app/instances/new/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/instances/new';\n * ```\n */\nexport default function InstanceNewPage(): ReactElement {\n return <InstanceNewClientView />;\n}\n"],"mappings":"iLAQA,IAAa,EAAqB,CAChC,MAAO,kBACT,EAUA,SAAwB,GAAgC,CACtD,OAAO,EAAA,EAAA,KAAC,EAAA,QAAD,CAAwB,CAAA,CACjC"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/pages/instances/new/index.tsx"],"sourcesContent":["import type { Metadata } from 'next';\nimport type { ReactElement } from 'react';\nimport { InstanceNewView } from '../../../views/instances/new';\n\n/**\n * Next.js metadata for the BPM \"launch approval\" page. Consumers re-export\n * this alongside the default page component.\n */\nexport const metadata: Metadata = {\n title: '發起簽核 | BPM Admin',\n};\n\n/**\n * Drop-in Next.js App Router page for the BPM launch screen. Usage in\n * `app/instances/new/page.tsx`:\n *\n * ```ts\n * export { default, metadata } from '@rytass/bpm-core-react/pages/instances/new';\n * ```\n */\nexport default async function InstanceNewPage({\n searchParams,\n}: {\n readonly searchParams: Promise<{ readonly templateId?: string }>;\n}): Promise<ReactElement> {\n const { templateId } = await searchParams;\n return <InstanceNewView templateId={templateId ?? null} />;\n}\n"],"mappings":"4LAQA,IAAa,EAAqB,CAChC,MAAO,kBACT,EAUA,eAA8B,EAAgB,CAC5C,gBAGwB,CACxB,GAAM,CAAE,cAAe,MAAM,EAC7B,OAAO,EAAA,EAAA,KAAC,EAAA,gBAAD,CAAiB,WAAY,GAAc,IAAO,CAAA,CAC3D"}
@@ -13,4 +13,8 @@ export declare const metadata: Metadata;
13
13
  * export { default, metadata } from '@rytass/bpm-core-react/pages/instances/new';
14
14
  * ```
15
15
  */
16
- export default function InstanceNewPage(): ReactElement;
16
+ export default function InstanceNewPage({ searchParams, }: {
17
+ readonly searchParams: Promise<{
18
+ readonly templateId?: string;
19
+ }>;
20
+ }): Promise<ReactElement>;