@shapio/cms 0.2.1 → 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 (312) hide show
  1. package/dist/admin/apple-touch-icon.png +0 -0
  2. package/dist/admin/assets/{AssistError-hVUWpP3F.js → AssistError-BYR085vj.js} +2 -2
  3. package/dist/admin/assets/{AssistError-hVUWpP3F.js.map → AssistError-BYR085vj.js.map} +1 -1
  4. package/dist/admin/assets/{BlockMenuItems-B0g93m6M.js → BlockMenuItems-BnLF3Efc.js} +2 -2
  5. package/dist/admin/assets/{BlockMenuItems-B0g93m6M.js.map → BlockMenuItems-BnLF3Efc.js.map} +1 -1
  6. package/dist/admin/assets/Body-CCOZq2q9.js +2 -0
  7. package/dist/admin/assets/{Body-CFQKONK4.js.map → Body-CCOZq2q9.js.map} +1 -1
  8. package/dist/admin/assets/Builder-BZy9mphs.js +2 -0
  9. package/dist/admin/assets/Builder-BZy9mphs.js.map +1 -0
  10. package/dist/admin/assets/{ConfirmDialog-D6rs75TP.js → ConfirmDialog-Tu-gjEwm.js} +2 -2
  11. package/dist/admin/assets/{ConfirmDialog-D6rs75TP.js.map → ConfirmDialog-Tu-gjEwm.js.map} +1 -1
  12. package/dist/admin/assets/{CopyButton-Bc7crFDE.js → CopyButton-BuBaIlCk.js} +2 -2
  13. package/dist/admin/assets/{CopyButton-Bc7crFDE.js.map → CopyButton-BuBaIlCk.js.map} +1 -1
  14. package/dist/admin/assets/{CursorPager-BFPD_adV.js → CursorPager-Bvu3CXpD.js} +2 -2
  15. package/dist/admin/assets/{CursorPager-BFPD_adV.js.map → CursorPager-Bvu3CXpD.js.map} +1 -1
  16. package/dist/admin/assets/{ExternalLink-Cdfcyyed.js → ExternalLink-CCr5oRXI.js} +2 -2
  17. package/dist/admin/assets/{ExternalLink-Cdfcyyed.js.map → ExternalLink-CCr5oRXI.js.map} +1 -1
  18. package/dist/admin/assets/Form-Doc0JEzF.js +2 -0
  19. package/dist/admin/assets/Form-Doc0JEzF.js.map +1 -0
  20. package/dist/admin/assets/{FormCheckboxGroup-Bicl1CBP.js → FormCheckboxGroup-eg39IJvf.js} +2 -2
  21. package/dist/admin/assets/{FormCheckboxGroup-Bicl1CBP.js.map → FormCheckboxGroup-eg39IJvf.js.map} +1 -1
  22. package/dist/admin/assets/{FormRadioGroup-34iVSV4L.js → FormRadioGroup-ZppSTZK6.js} +2 -2
  23. package/dist/admin/assets/{FormRadioGroup-34iVSV4L.js.map → FormRadioGroup-ZppSTZK6.js.map} +1 -1
  24. package/dist/admin/assets/{FormSelectField-Ba4fIu-8.js → FormSelectField-Cosnxiz-.js} +2 -2
  25. package/dist/admin/assets/{FormSelectField-Ba4fIu-8.js.map → FormSelectField-Cosnxiz-.js.map} +1 -1
  26. package/dist/admin/assets/{FormSwitchField-DN6bfPC0.js → FormSwitchField-DsKQEZw6.js} +2 -2
  27. package/dist/admin/assets/{FormSwitchField-DN6bfPC0.js.map → FormSwitchField-DsKQEZw6.js.map} +1 -1
  28. package/dist/admin/assets/{FormTextareaField-WsNjLm32.js → FormTextareaField-BXidSgIE.js} +2 -2
  29. package/dist/admin/assets/{FormTextareaField-WsNjLm32.js.map → FormTextareaField-BXidSgIE.js.map} +1 -1
  30. package/dist/admin/assets/{HintedLabel-jKLM0ETt.js → HintedLabel-USQku9Yt.js} +2 -2
  31. package/dist/admin/assets/{HintedLabel-jKLM0ETt.js.map → HintedLabel-USQku9Yt.js.map} +1 -1
  32. package/dist/admin/assets/{InfoHint-DBqcrmZ3.js → InfoHint-Bz_yvehr.js} +2 -2
  33. package/dist/admin/assets/{InfoHint-DBqcrmZ3.js.map → InfoHint-Bz_yvehr.js.map} +1 -1
  34. package/dist/admin/assets/{InsertMenuItem-CRKXblK5.js → InsertMenuItem-DJXglsEd.js} +2 -2
  35. package/dist/admin/assets/{InsertMenuItem-CRKXblK5.js.map → InsertMenuItem-DJXglsEd.js.map} +1 -1
  36. package/dist/admin/assets/LinkTabs-D4U-rJyK.js +2 -0
  37. package/dist/admin/assets/{LinkTabs-Bn2JVqOL.js.map → LinkTabs-D4U-rJyK.js.map} +1 -1
  38. package/dist/admin/assets/Match-UAw1Ss8a.js +2 -0
  39. package/dist/admin/assets/{Match-DaYgKrk7.js.map → Match-UAw1Ss8a.js.map} +1 -1
  40. package/dist/admin/assets/{Panel-6wFe96Gr.js → Panel-BdjqCkKs.js} +2 -2
  41. package/dist/admin/assets/{Panel-6wFe96Gr.js.map → Panel-BdjqCkKs.js.map} +1 -1
  42. package/dist/admin/assets/{QueryView-DFZtm0fn.js → QueryView-Bkyizh1P.js} +2 -2
  43. package/dist/admin/assets/{QueryView-DFZtm0fn.js.map → QueryView-Bkyizh1P.js.map} +1 -1
  44. package/dist/admin/assets/{RadioTile-DsTyz7ml.js → RadioTile-VHTPl88w.js} +2 -2
  45. package/dist/admin/assets/RadioTile-VHTPl88w.js.map +1 -0
  46. package/dist/admin/assets/{RichTextField-BGkH403g.js → RichTextField-B21FqrT5.js} +4 -4
  47. package/dist/admin/assets/{RichTextField-BGkH403g.js.map → RichTextField-B21FqrT5.js.map} +1 -1
  48. package/dist/admin/assets/{RowTitle-sFt6NjO4.js → RowTitle-BD8QPs_v.js} +2 -2
  49. package/dist/admin/assets/{RowTitle-sFt6NjO4.js.map → RowTitle-BD8QPs_v.js.map} +1 -1
  50. package/dist/admin/assets/{SecretReveal-Z6MOFdcL.js → SecretReveal-BfJKUxXW.js} +2 -2
  51. package/dist/admin/assets/{SecretReveal-Z6MOFdcL.js.map → SecretReveal-BfJKUxXW.js.map} +1 -1
  52. package/dist/admin/assets/SharedGlyph-DDPdvsm_.js +2 -0
  53. package/dist/admin/assets/SharedGlyph-DDPdvsm_.js.map +1 -0
  54. package/dist/admin/assets/{StepList-BTP_EMzx.js → StepList-DKhkw1hN.js} +2 -2
  55. package/dist/admin/assets/{StepList-BTP_EMzx.js.map → StepList-DKhkw1hN.js.map} +1 -1
  56. package/dist/admin/assets/Structure-C7dr00Bp.js +2 -0
  57. package/dist/admin/assets/{Structure-D5-hCUuF.js.map → Structure-C7dr00Bp.js.map} +1 -1
  58. package/dist/admin/assets/SubNavLink-BAF2-wuF.js +2 -0
  59. package/dist/admin/assets/{SubNavLink-C5oN5mzB.js.map → SubNavLink-BAF2-wuF.js.map} +1 -1
  60. package/dist/admin/assets/{SuggestAltButton-BuN35BBL.js → SuggestAltButton-DEsbHvs4.js} +2 -2
  61. package/dist/admin/assets/{SuggestAltButton-BuN35BBL.js.map → SuggestAltButton-DEsbHvs4.js.map} +1 -1
  62. package/dist/admin/assets/TextLink-CegO3jom.js +2 -0
  63. package/dist/admin/assets/{TextLink-B4a6j3r6.js.map → TextLink-CegO3jom.js.map} +1 -1
  64. package/dist/admin/assets/{Thumbnail-u8NE5NhQ.js → Thumbnail-CTpKlrxR.js} +2 -2
  65. package/dist/admin/assets/{Thumbnail-u8NE5NhQ.js.map → Thumbnail-CTpKlrxR.js.map} +1 -1
  66. package/dist/admin/assets/UnsavedChangesGuard-Cbfg-Bgj.js +2 -0
  67. package/dist/admin/assets/{UnsavedChangesGuard-BYwMTDsE.js.map → UnsavedChangesGuard-Cbfg-Bgj.js.map} +1 -1
  68. package/dist/admin/assets/{UserAvatar-D-yX0ozh.js → UserAvatar-CiZ00-cr.js} +2 -2
  69. package/dist/admin/assets/{UserAvatar-D-yX0ozh.js.map → UserAvatar-CiZ00-cr.js.map} +1 -1
  70. package/dist/admin/assets/{arrow-up-Ws7W9KsZ.js → arrow-up-DwMJqZVV.js} +2 -2
  71. package/dist/admin/assets/{arrow-up-Ws7W9KsZ.js.map → arrow-up-DwMJqZVV.js.map} +1 -1
  72. package/dist/admin/assets/auth-BaVAo0u_.js +2 -0
  73. package/dist/admin/assets/auth-BaVAo0u_.js.map +1 -0
  74. package/dist/admin/assets/badge-IBeVOhKd.js +2 -0
  75. package/dist/admin/assets/{badge-CMox6-v3.js.map → badge-IBeVOhKd.js.map} +1 -1
  76. package/dist/admin/assets/boxes-BH0MDegO.js +2 -0
  77. package/dist/admin/assets/boxes-BH0MDegO.js.map +1 -0
  78. package/dist/admin/assets/{calendar-clock-9W0Lkt89.js → calendar-clock-DKUk-w81.js} +2 -2
  79. package/dist/admin/assets/{calendar-clock-9W0Lkt89.js.map → calendar-clock-DKUk-w81.js.map} +1 -1
  80. package/dist/admin/assets/{changeSets-CO7JdILW.js → changeSets-o_G67qPk.js} +2 -2
  81. package/dist/admin/assets/{changeSets-CO7JdILW.js.map → changeSets-o_G67qPk.js.map} +1 -1
  82. package/dist/admin/assets/chevron-left-D259hWJn.js +2 -0
  83. package/dist/admin/assets/{chevron-left-DyqYjcMB.js.map → chevron-left-D259hWJn.js.map} +1 -1
  84. package/dist/admin/assets/{circle-check-aJ2DW5t4.js → circle-check-Cidzt1Ww.js} +2 -2
  85. package/dist/admin/assets/{circle-check-aJ2DW5t4.js.map → circle-check-Cidzt1Ww.js.map} +1 -1
  86. package/dist/admin/assets/{circle-x-BnRBht9z.js → circle-x-c1RwmC6j.js} +2 -2
  87. package/dist/admin/assets/{circle-x-BnRBht9z.js.map → circle-x-c1RwmC6j.js.map} +1 -1
  88. package/dist/admin/assets/{clock-DRtFQbTs.js → clock-BOtPNp9-.js} +2 -2
  89. package/dist/admin/assets/{clock-DRtFQbTs.js.map → clock-BOtPNp9-.js.map} +1 -1
  90. package/dist/admin/assets/cn-M4_WHiur.js +2 -0
  91. package/dist/admin/assets/cn-M4_WHiur.js.map +1 -0
  92. package/dist/admin/assets/coerce-DWI5sgLW.js +2 -0
  93. package/dist/admin/assets/{coerce-COM3rk1i.js.map → coerce-DWI5sgLW.js.map} +1 -1
  94. package/dist/admin/assets/constants-CgUdkWmf.js +2 -0
  95. package/dist/admin/assets/constants-CgUdkWmf.js.map +1 -0
  96. package/dist/admin/assets/content-D25ainqV.js +3 -0
  97. package/dist/admin/assets/content-D25ainqV.js.map +1 -0
  98. package/dist/admin/assets/{contentCounts-Ct0tYgHD.js → contentCounts-T-LmvUf5.js} +2 -2
  99. package/dist/admin/assets/{contentCounts-Ct0tYgHD.js.map → contentCounts-T-LmvUf5.js.map} +1 -1
  100. package/dist/admin/assets/contentTypes-BSlp81l1.js +2 -0
  101. package/dist/admin/assets/contentTypes-BSlp81l1.js.map +1 -0
  102. package/dist/admin/assets/{copy-B5B8RjV0.js → copy-DT7dAzVm.js} +2 -2
  103. package/dist/admin/assets/{copy-B5B8RjV0.js.map → copy-DT7dAzVm.js.map} +1 -1
  104. package/dist/admin/assets/{dateTimeLocal-BuBv3it2.js → dateTimeLocal-DRq7DuYO.js} +2 -2
  105. package/dist/admin/assets/{dateTimeLocal-BuBv3it2.js.map → dateTimeLocal-DRq7DuYO.js.map} +1 -1
  106. package/dist/admin/assets/develop-qF10t9tM.js +11 -0
  107. package/dist/admin/assets/develop-qF10t9tM.js.map +1 -0
  108. package/dist/admin/assets/{dropdown-menu-CW3fabv5.js → dropdown-menu-Cl20LCvY.js} +2 -2
  109. package/dist/admin/assets/{dropdown-menu-CW3fabv5.js.map → dropdown-menu-Cl20LCvY.js.map} +1 -1
  110. package/dist/admin/assets/{ellipsis-DNdmromA.js → ellipsis-xDmHl1SK.js} +2 -2
  111. package/dist/admin/assets/{ellipsis-DNdmromA.js.map → ellipsis-xDmHl1SK.js.map} +1 -1
  112. package/dist/admin/assets/{external-link-YnuWXDBk.js → external-link-DtJAaOWk.js} +2 -2
  113. package/dist/admin/assets/{external-link-YnuWXDBk.js.map → external-link-DtJAaOWk.js.map} +1 -1
  114. package/dist/admin/assets/{file-text-CB7Bc0GA.js → file-text-BJkQMeQO.js} +2 -2
  115. package/dist/admin/assets/{file-text-CB7Bc0GA.js.map → file-text-BJkQMeQO.js.map} +1 -1
  116. package/dist/admin/assets/fileRoute-Buucm0CU.js +2 -0
  117. package/dist/admin/assets/{fileRoute-BYwireXG.js.map → fileRoute-Buucm0CU.js.map} +1 -1
  118. package/dist/admin/assets/followPlural-Cuocm4Sv.js +2 -0
  119. package/dist/admin/assets/followPlural-Cuocm4Sv.js.map +1 -0
  120. package/dist/admin/assets/{globe-Bvs3UC3V.js → globe-CAhrwBgv.js} +2 -2
  121. package/dist/admin/assets/{globe-Bvs3UC3V.js.map → globe-CAhrwBgv.js.map} +1 -1
  122. package/dist/admin/assets/{image-CeoxwJeM.js → image-CGN6ffEu.js} +2 -2
  123. package/dist/admin/assets/{image-CeoxwJeM.js.map → image-CGN6ffEu.js.map} +1 -1
  124. package/dist/admin/assets/{image-off-iVqYw2Zc.js → image-off-0zX_kODH.js} +2 -2
  125. package/dist/admin/assets/{image-off-iVqYw2Zc.js.map → image-off-0zX_kODH.js.map} +1 -1
  126. package/dist/admin/assets/inbox-CWq1hHqK.js +2 -0
  127. package/dist/admin/assets/{inbox-wDoqym--.js.map → inbox-CWq1hHqK.js.map} +1 -1
  128. package/dist/admin/assets/{inbox-DYbEOpaQ.js → inbox-CukkApHK.js} +2 -2
  129. package/dist/admin/assets/{inbox-DYbEOpaQ.js.map → inbox-CukkApHK.js.map} +1 -1
  130. package/dist/admin/assets/index-C9uJxg4J.js +4 -0
  131. package/dist/admin/assets/index-C9uJxg4J.js.map +1 -0
  132. package/dist/admin/assets/index-Cz3C-LxB.css +2 -0
  133. package/dist/admin/assets/{key-round-Bcw6qqcb.js → key-round-DnE-2gr0.js} +2 -2
  134. package/dist/admin/assets/{key-round-Bcw6qqcb.js.map → key-round-DnE-2gr0.js.map} +1 -1
  135. package/dist/admin/assets/link-2-off-Cbpvb3w4.js +2 -0
  136. package/dist/admin/assets/link-2-off-Cbpvb3w4.js.map +1 -0
  137. package/dist/admin/assets/{link-CKr_uUfb.js → link-DPniuk00.js} +2 -2
  138. package/dist/admin/assets/{link-CKr_uUfb.js.map → link-DPniuk00.js.map} +1 -1
  139. package/dist/admin/assets/{list-BElvKZw_.js → list-CkHF_4xh.js} +2 -2
  140. package/dist/admin/assets/{list-BElvKZw_.js.map → list-CkHF_4xh.js.map} +1 -1
  141. package/dist/admin/assets/{locales-Bnv3qcdZ.js → locales-DFLQ17ow.js} +2 -2
  142. package/dist/admin/assets/{locales-Bnv3qcdZ.js.map → locales-DFLQ17ow.js.map} +1 -1
  143. package/dist/admin/assets/{media-BfDqe_2P.js → media-CKTs3j83.js} +2 -2
  144. package/dist/admin/assets/{media-BfDqe_2P.js.map → media-CKTs3j83.js.map} +1 -1
  145. package/dist/admin/assets/media-CUfV74JZ.js +2 -0
  146. package/dist/admin/assets/{media-DjK3xGFN.js.map → media-CUfV74JZ.js.map} +1 -1
  147. package/dist/admin/assets/network-Fri1cjMt.js +2 -0
  148. package/dist/admin/assets/network-Fri1cjMt.js.map +1 -0
  149. package/dist/admin/assets/{pencil-Zd05MDs2.js → pencil-BqAgKC9v.js} +2 -2
  150. package/dist/admin/assets/{pencil-Zd05MDs2.js.map → pencil-BqAgKC9v.js.map} +1 -1
  151. package/dist/admin/assets/{plus-B0gd63Da.js → plus-DLRcpVhJ.js} +2 -2
  152. package/dist/admin/assets/{plus-B0gd63Da.js.map → plus-DLRcpVhJ.js.map} +1 -1
  153. package/dist/admin/assets/{preload-helper-CJKHb_rG.js → preload-helper-BHNBIF88.js} +2 -2
  154. package/dist/admin/assets/{preload-helper-CJKHb_rG.js.map → preload-helper-BHNBIF88.js.map} +1 -1
  155. package/dist/admin/assets/publishing-DaaE8PaU.js +2 -0
  156. package/dist/admin/assets/{publishing-vCVjaSGF.js.map → publishing-DaaE8PaU.js.map} +1 -1
  157. package/dist/admin/assets/{radio-group-DVR0mTpo.js → radio-group-CA3XlQcc.js} +2 -2
  158. package/dist/admin/assets/{radio-group-DVR0mTpo.js.map → radio-group-CA3XlQcc.js.map} +1 -1
  159. package/dist/admin/assets/{rotate-ccw-BOTDOdHf.js → rotate-ccw-CfrkcgYa.js} +2 -2
  160. package/dist/admin/assets/{rotate-ccw-BOTDOdHf.js.map → rotate-ccw-CfrkcgYa.js.map} +1 -1
  161. package/dist/admin/assets/{schedules-CG-ZphRK.js → schedules-hJQkjEhN.js} +2 -2
  162. package/dist/admin/assets/{schedules-CG-ZphRK.js.map → schedules-hJQkjEhN.js.map} +1 -1
  163. package/dist/admin/assets/schema--xSR7cf9.js +2 -0
  164. package/dist/admin/assets/schema--xSR7cf9.js.map +1 -0
  165. package/dist/admin/assets/{scroll-text-D-gHqYwR.js → scroll-text-BA9yh7Za.js} +2 -2
  166. package/dist/admin/assets/{scroll-text-D-gHqYwR.js.map → scroll-text-BA9yh7Za.js.map} +1 -1
  167. package/dist/admin/assets/{search-BcPL1qyc.js → search--71HzPvh.js} +2 -2
  168. package/dist/admin/assets/{search-BcPL1qyc.js.map → search--71HzPvh.js.map} +1 -1
  169. package/dist/admin/assets/searchSchema-Ypl6gq9g.js +2 -0
  170. package/dist/admin/assets/{searchSchema-BGrRDBL_.js.map → searchSchema-Ypl6gq9g.js.map} +1 -1
  171. package/dist/admin/assets/searchSchemas-C-nQbyhd.js +2 -0
  172. package/dist/admin/assets/searchSchemas-C-nQbyhd.js.map +1 -0
  173. package/dist/admin/assets/sections-BBN2JErq.js +2 -0
  174. package/dist/admin/assets/sections-BBN2JErq.js.map +1 -0
  175. package/dist/admin/assets/{sections-i9TeeK-h.js → sections-D0OZozD2.js} +2 -2
  176. package/dist/admin/assets/{sections-i9TeeK-h.js.map → sections-D0OZozD2.js.map} +1 -1
  177. package/dist/admin/assets/{select--nGB4WjU.js → select-De48SQdZ.js} +2 -2
  178. package/dist/admin/assets/{select--nGB4WjU.js.map → select-De48SQdZ.js.map} +1 -1
  179. package/dist/admin/assets/{send-Bu3RRfdI.js → send-NuSmLVSD.js} +2 -2
  180. package/dist/admin/assets/{send-Bu3RRfdI.js.map → send-NuSmLVSD.js.map} +1 -1
  181. package/dist/admin/assets/settings-CYXU73dP.js +2 -0
  182. package/dist/admin/assets/settings-CYXU73dP.js.map +1 -0
  183. package/dist/admin/assets/skeleton-CCwdO9oq.js +42 -0
  184. package/dist/admin/assets/skeleton-CCwdO9oq.js.map +1 -0
  185. package/dist/admin/assets/snapshots-BQeFK5cj.js +2 -0
  186. package/dist/admin/assets/{snapshots-CKjK-vkL.js.map → snapshots-BQeFK5cj.js.map} +1 -1
  187. package/dist/admin/assets/{sparkles-B_NX7PAY.js → sparkles-B-0I44es.js} +2 -2
  188. package/dist/admin/assets/{sparkles-B_NX7PAY.js.map → sparkles-B-0I44es.js.map} +1 -1
  189. package/dist/admin/assets/src-CQu-YxUM.js +4 -0
  190. package/dist/admin/assets/src-CQu-YxUM.js.map +1 -0
  191. package/dist/admin/assets/{stableId-Dmr2Afn_.js → stableId-rPnYVF-A.js} +2 -2
  192. package/dist/admin/assets/{stableId-Dmr2Afn_.js.map → stableId-rPnYVF-A.js.map} +1 -1
  193. package/dist/admin/assets/{store-B5xrQ1Ex.js → store-Bqd9L9DK.js} +2 -2
  194. package/dist/admin/assets/{store-B5xrQ1Ex.js.map → store-Bqd9L9DK.js.map} +1 -1
  195. package/dist/admin/assets/{switch-B-FbT-l8.js → switch-JmfyFAQG.js} +2 -2
  196. package/dist/admin/assets/{switch-B-FbT-l8.js.map → switch-JmfyFAQG.js.map} +1 -1
  197. package/dist/admin/assets/{table-DQzCPm7J.js → table-BEDv9IRM.js} +2 -2
  198. package/dist/admin/assets/{table-DQzCPm7J.js.map → table-BEDv9IRM.js.map} +1 -1
  199. package/dist/admin/assets/tabs-DSS1c-Kf.js +5 -0
  200. package/dist/admin/assets/{tabs-YThoOiE3.js.map → tabs-DSS1c-Kf.js.map} +1 -1
  201. package/dist/admin/assets/{textarea-_wcx8Mn1.js → textarea-eatLAWE_.js} +2 -2
  202. package/dist/admin/assets/{textarea-_wcx8Mn1.js.map → textarea-eatLAWE_.js.map} +1 -1
  203. package/dist/admin/assets/titles-Bi2fWNN4.js +2 -0
  204. package/dist/admin/assets/{titles-DyCBLXue.js.map → titles-Bi2fWNN4.js.map} +1 -1
  205. package/dist/admin/assets/{tokens-CqsxrApC.js → tokens-C2E7swse.js} +2 -2
  206. package/dist/admin/assets/{tokens-CqsxrApC.js.map → tokens-C2E7swse.js.map} +1 -1
  207. package/dist/admin/assets/{tooltip-BMe4HylJ.js → tooltip-Bji9fmSr.js} +2 -2
  208. package/dist/admin/assets/{tooltip-BMe4HylJ.js.map → tooltip-Bji9fmSr.js.map} +1 -1
  209. package/dist/admin/assets/{undo-2-DMOHOH6w.js → undo-2-BU-uqm7e.js} +2 -2
  210. package/dist/admin/assets/{undo-2-DMOHOH6w.js.map → undo-2-BU-uqm7e.js.map} +1 -1
  211. package/dist/admin/assets/{useAuditLabels-CSw_kwLs.js → useAuditLabels-D5nmbXqN.js} +2 -2
  212. package/dist/admin/assets/{useAuditLabels-CSw_kwLs.js.map → useAuditLabels-D5nmbXqN.js.map} +1 -1
  213. package/dist/admin/assets/useConfirmTarget-Y7_8kVX5.js +2 -0
  214. package/dist/admin/assets/useConfirmTarget-Y7_8kVX5.js.map +1 -0
  215. package/dist/admin/assets/useContentSchema-DJTqjlUk.js +2 -0
  216. package/dist/admin/assets/{useContentSchema-CS5QQcRk.js.map → useContentSchema-DJTqjlUk.js.map} +1 -1
  217. package/dist/admin/assets/{useCursorPager-Dt_axwd1.js → useCursorPager-CiJroOo7.js} +2 -2
  218. package/dist/admin/assets/{useCursorPager-Dt_axwd1.js.map → useCursorPager-CiJroOo7.js.map} +1 -1
  219. package/dist/admin/assets/{useDiscardGuard-7rRGpd4q.js → useDiscardGuard-t_N3l9TQ.js} +2 -2
  220. package/dist/admin/assets/{useDiscardGuard-7rRGpd4q.js.map → useDiscardGuard-t_N3l9TQ.js.map} +1 -1
  221. package/dist/admin/assets/{useMediaUploader-CBUcNW6d.js → useMediaUploader-CLHmKCwq.js} +2 -2
  222. package/dist/admin/assets/{useMediaUploader-CBUcNW6d.js.map → useMediaUploader-CLHmKCwq.js.map} +1 -1
  223. package/dist/admin/assets/{usePaletteItems-bbTIqpPu.js → usePaletteItems-BVjWCdow.js} +2 -2
  224. package/dist/admin/assets/{usePaletteItems-bbTIqpPu.js.map → usePaletteItems-BVjWCdow.js.map} +1 -1
  225. package/dist/admin/assets/usePlaces-CnSOZwtO.js +2 -0
  226. package/dist/admin/assets/usePlaces-CnSOZwtO.js.map +1 -0
  227. package/dist/admin/assets/{useQueries-DKGIdq6A.js → useQueries-BRolGUiw.js} +2 -2
  228. package/dist/admin/assets/{useQueries-DKGIdq6A.js.map → useQueries-BRolGUiw.js.map} +1 -1
  229. package/dist/admin/assets/useSchemaScopeAccess-bd8RQxuu.js +2 -0
  230. package/dist/admin/assets/useSchemaScopeAccess-bd8RQxuu.js.map +1 -0
  231. package/dist/admin/assets/{users-C1ZSee3N.js → users-CbErtM7w.js} +2 -2
  232. package/dist/admin/assets/{users-C1ZSee3N.js.map → users-CbErtM7w.js.map} +1 -1
  233. package/dist/admin/assets/{users-DMfQL0s4.js → users-bDGYpSXg.js} +2 -2
  234. package/dist/admin/assets/{users-DMfQL0s4.js.map → users-bDGYpSXg.js.map} +1 -1
  235. package/dist/admin/assets/{zod-Pf5A-ax4.js → zod-Gtw4e0qi.js} +2 -2
  236. package/dist/admin/assets/{zod-Pf5A-ax4.js.map → zod-Gtw4e0qi.js.map} +1 -1
  237. package/dist/admin/favicon-32.png +0 -0
  238. package/dist/admin/favicon.svg +2 -2
  239. package/dist/admin/index.html +61 -56
  240. package/dist/admin/theme-init.js +41 -9
  241. package/dist/cli.js +412 -168
  242. package/dist/cli.js.map +1 -1
  243. package/dist/config.d.ts +2 -2
  244. package/dist/config.js.map +1 -1
  245. package/dist/index.d.ts +15 -223
  246. package/dist/index.js +1 -1
  247. package/dist/{public-CKU0Gkfq.d.ts → public-B7fFHMNr.d.ts} +259 -5
  248. package/dist/{worker-C-MSYr4l.js → worker-BAmQPoTJ.js} +2867 -1314
  249. package/dist/worker-BAmQPoTJ.js.map +1 -0
  250. package/package.json +5 -6
  251. package/dist/admin/assets/Body-CFQKONK4.js +0 -2
  252. package/dist/admin/assets/Builder-Do5KVHV9.js +0 -2
  253. package/dist/admin/assets/Builder-Do5KVHV9.js.map +0 -1
  254. package/dist/admin/assets/LinkTabs-Bn2JVqOL.js +0 -2
  255. package/dist/admin/assets/Match-DaYgKrk7.js +0 -2
  256. package/dist/admin/assets/RadioTile-DsTyz7ml.js.map +0 -1
  257. package/dist/admin/assets/Structure-D5-hCUuF.js +0 -2
  258. package/dist/admin/assets/SubNavLink-C5oN5mzB.js +0 -2
  259. package/dist/admin/assets/TextLink-B4a6j3r6.js +0 -2
  260. package/dist/admin/assets/UnsavedChangesGuard-BYwMTDsE.js +0 -2
  261. package/dist/admin/assets/auth-b3_9QbtL.js +0 -2
  262. package/dist/admin/assets/auth-b3_9QbtL.js.map +0 -1
  263. package/dist/admin/assets/badge-CMox6-v3.js +0 -2
  264. package/dist/admin/assets/chevron-left-DyqYjcMB.js +0 -2
  265. package/dist/admin/assets/cn-DnXL75B0.js +0 -2
  266. package/dist/admin/assets/cn-DnXL75B0.js.map +0 -1
  267. package/dist/admin/assets/coerce-COM3rk1i.js +0 -2
  268. package/dist/admin/assets/constants-CS1ziZO0.js +0 -2
  269. package/dist/admin/assets/constants-CS1ziZO0.js.map +0 -1
  270. package/dist/admin/assets/content-Dic2fof_.js +0 -3
  271. package/dist/admin/assets/content-Dic2fof_.js.map +0 -1
  272. package/dist/admin/assets/contentTypes-D4_Ax9rb.js +0 -2
  273. package/dist/admin/assets/contentTypes-D4_Ax9rb.js.map +0 -1
  274. package/dist/admin/assets/develop-Brnb5YPC.js +0 -11
  275. package/dist/admin/assets/develop-Brnb5YPC.js.map +0 -1
  276. package/dist/admin/assets/errors-DfoXUVDI.js +0 -2
  277. package/dist/admin/assets/errors-DfoXUVDI.js.map +0 -1
  278. package/dist/admin/assets/fileRoute-BYwireXG.js +0 -2
  279. package/dist/admin/assets/inbox-wDoqym--.js +0 -2
  280. package/dist/admin/assets/index-57Mn6XLO.js +0 -4
  281. package/dist/admin/assets/index-57Mn6XLO.js.map +0 -1
  282. package/dist/admin/assets/index-BLYOgCKc.css +0 -2
  283. package/dist/admin/assets/link-2-DhM2vi4v.js +0 -2
  284. package/dist/admin/assets/link-2-DhM2vi4v.js.map +0 -1
  285. package/dist/admin/assets/link-2-off-DpDOMsa-.js +0 -2
  286. package/dist/admin/assets/link-2-off-DpDOMsa-.js.map +0 -1
  287. package/dist/admin/assets/media-DjK3xGFN.js +0 -2
  288. package/dist/admin/assets/network-CAJ76ILr.js +0 -2
  289. package/dist/admin/assets/network-CAJ76ILr.js.map +0 -1
  290. package/dist/admin/assets/publishing-vCVjaSGF.js +0 -2
  291. package/dist/admin/assets/schema-KXXSPVJn.js +0 -2
  292. package/dist/admin/assets/schema-KXXSPVJn.js.map +0 -1
  293. package/dist/admin/assets/searchSchema-BGrRDBL_.js +0 -2
  294. package/dist/admin/assets/searchSchemas-ChN9hhuQ.js +0 -2
  295. package/dist/admin/assets/searchSchemas-ChN9hhuQ.js.map +0 -1
  296. package/dist/admin/assets/sections-BrGcWOnw.js +0 -2
  297. package/dist/admin/assets/sections-BrGcWOnw.js.map +0 -1
  298. package/dist/admin/assets/settings-68BAxrPM.js +0 -2
  299. package/dist/admin/assets/settings-68BAxrPM.js.map +0 -1
  300. package/dist/admin/assets/skeleton-DUvclBAr.js +0 -42
  301. package/dist/admin/assets/skeleton-DUvclBAr.js.map +0 -1
  302. package/dist/admin/assets/snapshots-CKjK-vkL.js +0 -2
  303. package/dist/admin/assets/src-D6DABe5J.js +0 -4
  304. package/dist/admin/assets/src-D6DABe5J.js.map +0 -1
  305. package/dist/admin/assets/tabs-YThoOiE3.js +0 -5
  306. package/dist/admin/assets/titles-DyCBLXue.js +0 -2
  307. package/dist/admin/assets/useConfirmTarget-9JmfiY2X.js +0 -2
  308. package/dist/admin/assets/useConfirmTarget-9JmfiY2X.js.map +0 -1
  309. package/dist/admin/assets/useContentSchema-CS5QQcRk.js +0 -2
  310. package/dist/admin/assets/usePlaces-D1raoQ2s.js +0 -2
  311. package/dist/admin/assets/usePlaces-D1raoQ2s.js.map +0 -1
  312. package/dist/worker-C-MSYr4l.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{P as r,bt as i,i as a,j as o,r as s,t as c}from"./cn-DnXL75B0.js";import{d as l,l as u,n as d,s as f}from"./errors-DfoXUVDI.js";import{_ as p,a as m,i as h,j as g,n as _,o as v,r as ee,t as te,v as ne}from"./badge-CMox6-v3.js";import{n as re}from"./Match-DaYgKrk7.js";import{i as ie,n as y,o as b,t as ae}from"./RowTitle-sFt6NjO4.js";import{t as x}from"./fileRoute-BYwireXG.js";import{t as oe}from"./UnsavedChangesGuard-BYwMTDsE.js";import{a as se,i as ce,n as le,r as ue,t as de}from"./FormCheckboxGroup-Bicl1CBP.js";import{B as fe,G as S,R as pe,d as me,f as he,o as C,p as ge,t as _e,u as ve}from"./InfoHint-DBqcrmZ3.js";import{D as ye,i as w,n as be}from"./skeleton-DUvclBAr.js";import{u as xe}from"./auth-b3_9QbtL.js";import{t as Se}from"./calendar-clock-9W0Lkt89.js";import{a as Ce,i as we,n as Te,r as Ee,s as De,t as Oe}from"./select--nGB4WjU.js";import{t as ke}from"./CursorPager-BFPD_adV.js";import{a as T,c as Ae,i as E,n as je,o as D,r as O,s as Me}from"./ConfirmDialog-D6rs75TP.js";import{t as Ne}from"./circle-check-aJ2DW5t4.js";import{t as Pe}from"./circle-x-BnRBht9z.js";import{t as Fe}from"./inbox-DYbEOpaQ.js";import{t as Ie}from"./key-round-Bcw6qqcb.js";import{t as Le}from"./plus-B0gd63Da.js";import{C as Re,D as ze,E as Be,O as k,S as Ve,T as He,_ as Ue,a as We,b as Ge,c as Ke,d as qe,f as A,g as Je,h as Ye,i as Xe,l as Ze,m as Qe,n as $e,o as et,p as tt,r as nt,s as rt,t as it,u as at,v as ot,w as st,x as ct,y as lt}from"./useCursorPager-Dt_axwd1.js";import{t as ut}from"./rotate-ccw-BOTDOdHf.js";import{t as dt}from"./send-Bu3RRfdI.js";import{n as ft,r as pt}from"./sections-i9TeeK-h.js";import{c as mt,f as ht,n as j,o as gt,r as _t,t as M,u as N}from"./zod-Pf5A-ax4.js";import{n as vt,t as P}from"./settle-LRKtTN_e.js";import{_ as F,a as I,d as yt,g as L,i as R,l as z,n as B,o as V,r as H,s as bt,t as U,u as xt,y as St}from"./table-DQzCPm7J.js";import{t as Ct}from"./HintedLabel-jKLM0ETt.js";import{t as wt}from"./TextLink-B4a6j3r6.js";import{t as Tt}from"./sites-C6_THCVK.js";import{o as Et}from"./schema-KXXSPVJn.js";import{t as W}from"./QueryView-DFZtm0fn.js";import{t as Dt}from"./FormRadioGroup-34iVSV4L.js";import{r as Ot}from"./locales-Bnv3qcdZ.js";import{t as G}from"./Panel-6wFe96Gr.js";import{n as kt}from"./publishing-B7zv1e7j.js";import{n as At,r as jt,t as Mt}from"./schedules-CG-ZphRK.js";import{n as Nt,r as Pt,t as Ft}from"./dateTimeLocal-BuBv3it2.js";import{t as It}from"./ExternalLink-Cdfcyyed.js";import{t as Lt}from"./CopyButton-Bc7crFDE.js";import{t as K}from"./FormSwitchField-DN6bfPC0.js";import{n as Rt,t as q}from"./FormSelectField-Ba4fIu-8.js";import{a as zt,t as Bt}from"./SecretReveal-Z6MOFdcL.js";import{t as Vt}from"./LinkTabs-Bn2JVqOL.js";var Ht={name:`calendar-plus`,size:24,node:[[`path`,{d:`M16 18h6`,key:`987eiv`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`path`,{d:`M19 15v6`,key:`10aioa`}],[`path`,{d:`M21 11.5V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h8.3`,key:`jgwkxf`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M8 2v3`,key:`1ioesn`}]]};Ht.node;var Ut=a(Ht),Wt={name:`plug-zap`,size:24,node:[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]],aliases:[`plug-zap-2`]};Wt.node;var Gt=a(Wt),Kt={name:`power`,size:24,node:[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]};Kt.node;var qt=a(Kt),J=e(n(),1),Jt=()=>(0,J.jsx)(re,{}),Y=e(t(),1),X=()=>{let e=xe().data?.globalPermissions??[];return{permissions:e,canManageWebhooks:e.includes(`webhooks.manage`),canManageDeployments:e.includes(`deployments.manage`),canTriggerDeployments:e.includes(`deployments.trigger`),canManagePublishing:e.includes(`publishing.manage`)}},Yt=({actions:e})=>{let{t}=o(),{permissions:n}=X();return(0,J.jsx)(h,{title:t(`nav.publishing`),actions:e,tabs:(0,J.jsx)(Vt,{label:t(`publishing.sections`),tabs:ft(n).map(e=>({to:e.to,label:t(e.labelKey)}))})})},Xt=e=>{let[t,n]=(0,Y.useState)(void 0),[r,i]=(0,Y.useState)(void 0),a=(0,Y.useEffectEvent)(t=>e(t));return(0,Y.useEffect)(()=>{r&&a(r)},[r]),{revealed:t,reveal:n,dismiss:()=>{i(t?.id),n(void 0)},keepFocusOnReveal:e=>{t&&e.preventDefault()}}},Zt=({items:e,className:t})=>(0,J.jsx)(`dl`,{className:c(`grid gap-x-6 gap-y-3 text-sm sm:grid-cols-2`,t),children:e.map(e=>(0,J.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,J.jsx)(`dt`,{className:`text-xs font-medium text-muted-foreground`,children:e.label}),(0,J.jsx)(`dd`,{className:`break-words`,children:e.value})]},e.label))}),Z=({enabled:e})=>{let{t}=o();return e?(0,J.jsx)(_,{tone:`success`,label:t(`publishing.enabled`)}):(0,J.jsx)(_,{tone:`muted`,label:t(`publishing.disabled`)})},Qt=e=>{let{t}=o(),n=l(),r=st(),i=He(),a=ot();return{testResult:r.data,testing:r.isPending,triggering:i.isPending,deleting:a.isPending,runTest:()=>r.mutate(e.id),triggerRun:()=>i.mutate(e.id,{onSuccess:e=>{S.success(t(`publishing.deployments.triggered`)),n({to:`/publishing/deployments/runs/$runId`,params:{runId:e.id}})}}),remove:()=>a.mutateAsync(e.id,{onSuccess:()=>{S.success(t(`publishing.deployments.deleted`,{name:e.name})),n({to:`/publishing/deployments`})}})}},$t={scheduled:{labelKey:`publishing.scheduled.statuses.scheduled`,tone:`scheduled`},done:{labelKey:`publishing.scheduled.statuses.done`,tone:`success`},failed:{labelKey:`publishing.scheduled.statuses.failed`,tone:`danger`},cancelled:{labelKey:`publishing.scheduled.statuses.cancelled`,tone:`muted`}},en={pending:{labelKey:`publishing.webhooks.deliveryStatuses.pending`,tone:`progress`},retrying:{labelKey:`publishing.webhooks.deliveryStatuses.retrying`,tone:`progress`},succeeded:{labelKey:`publishing.webhooks.deliveryStatuses.succeeded`,tone:`success`},dead:{labelKey:`publishing.webhooks.deliveryStatuses.dead`,tone:`danger`}},Q={queued:{labelKey:`publishing.deployments.statuses.queued`,tone:`neutral`},triggered:{labelKey:`publishing.deployments.statuses.triggered`,tone:`progress`},triggeredUnknown:{labelKey:`publishing.deployments.statuses.triggeredUnknown`,tone:`muted`},building:{labelKey:`publishing.deployments.statuses.building`,tone:`progress`},deployed:{labelKey:`publishing.deployments.statuses.deployed`,tone:`success`},committed:{labelKey:`publishing.deployments.statuses.committed`,tone:`success`},failed:{labelKey:`publishing.deployments.statuses.failed`,tone:`danger`},unknown:{labelKey:`publishing.deployments.statuses.unknown`,tone:`muted`}},tn=e=>{switch(e.status){case`triggered`:return e.completionReported?Q.triggered:Q.triggeredUnknown;case`deployed`:return e.provider===`github`?Q.committed:Q.deployed;default:return Q[e.status]}},nn=({run:e,live:t=!0})=>{let{t:n}=o(),r=tn(e);return(0,J.jsx)(_,{tone:r.tone,label:n(r.labelKey),live:t})},rn=({connection:e})=>{let{t}=o(),{canTriggerDeployments:n}=X(),r=Qt(e);return(0,J.jsxs)(G,{title:e.name,titleAs:`h3`,description:t(A[e.provider]),actions:(0,J.jsx)(Z,{enabled:e.enabled}),bodyClassName:`space-y-4`,children:[(0,J.jsx)(Zt,{items:[{label:t(`publishing.deployments.latestRun`),value:e.latestRun?(0,J.jsx)(nn,{run:e.latestRun}):t(`common.never`)},{label:t(`publishing.deployments.currentSnapshot`),value:e.currentRun?.snapshot==null?t(`common.none`):t(`publishing.snapshotNumber`,{snapshot:e.currentRun.snapshot})}],className:`grid-cols-2`}),(0,J.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,J.jsx)(w,{asChild:!0,variant:`outline`,size:`sm`,children:(0,J.jsx)(f,{to:`/publishing/deployments/$connectionId`,params:{connectionId:e.id},children:t(`publishing.deployments.open`)})}),n?(0,J.jsxs)(w,{size:`sm`,disabled:r.triggering||!e.enabled,onClick:r.triggerRun,children:[(0,J.jsx)(k,{"aria-hidden":`true`}),t(`publishing.deployments.triggerRun`)]}):null]})]})},an=[`commit`,`pull_request`],on=`none`,sn=[`url`,`accountId`,`projectName`,`projectId`,`teamId`,`siteId`,`owner`,`repo`,`branch`,`mode`,`directory`],cn=[`signingSecret`,`deployHookUrl`,`apiToken`,`token`],ln=new Set([`teamId`]),$={generic_webhook:{settings:[`url`],secrets:[{name:`signingSecret`,requiredOnCreate:!1}]},cloudflare_pages:{settings:[`accountId`,`projectName`],secrets:[{name:`deployHookUrl`,requiredOnCreate:!0},{name:`apiToken`,requiredOnCreate:!0}]},vercel:{settings:[`projectId`,`teamId`],secrets:[{name:`deployHookUrl`,requiredOnCreate:!0},{name:`apiToken`,requiredOnCreate:!0}]},netlify:{settings:[`siteId`],secrets:[{name:`apiToken`,requiredOnCreate:!0}]},github:{settings:[`owner`,`repo`,`branch`,`directory`],secrets:[{name:`token`,requiredOnCreate:!0}]}},un=e=>e===`github`?[...$.github.settings,`mode`]:$[e].settings,dn=e=>ue.filter(t=>t!==`schema`||e===`github`),fn=e=>/^\d+$/.test(e)&&Number(e)<=86400,pn=e=>St({protocol:/^https?$/}).safeParse(e).success,mn=Object.fromEntries(sn.map(e=>[e,F()])),hn=Object.fromEntries(cn.map(e=>[e,F()])),gn=e=>L({name:gt().max(200,`validation.tooLong`),provider:z(le),settings:L(mn),secrets:L(hn),previewUrlTemplate:F().trim().max(2e3,`validation.tooLong`),triggerPolicy:xt(z(ue)),debounceSeconds:F().trim().refine(fn,`validation.debounceSeconds`),allowPrivateNetwork:yt(),enabled:yt(),deliveryRoleId:F()}).superRefine((t,n)=>{let r=$[t.provider];for(let e of r.settings)!ln.has(e)&&t.settings[e].trim()===``&&n.addIssue({code:`custom`,path:[`settings`,e],message:`validation.required`});if(t.provider===`generic_webhook`&&t.settings.url.trim()&&!pn(t.settings.url.trim())&&n.addIssue({code:`custom`,path:[`settings`,`url`],message:`validation.url`}),e===`create`)for(let e of r.secrets)e.requiredOnCreate&&t.secrets[e.name].trim()===``&&n.addIssue({code:`custom`,path:[`secrets`,e.name],message:`validation.required`});t.previewUrlTemplate&&!pn(t.previewUrlTemplate)&&n.addIssue({code:`custom`,path:[`previewUrlTemplate`],message:`validation.url`})}),_n=e=>Object.fromEntries(e.map(e=>[e,``])),vn={name:``,provider:`generic_webhook`,settings:{..._n(sn),branch:`main`,mode:`commit`,directory:`schema`},secrets:_n(cn),previewUrlTemplate:``,triggerPolicy:[`publish`,`change_set`,`manual`],debounceSeconds:`30`,allowPrivateNetwork:!1,enabled:!0,deliveryRoleId:on},yn=e=>({name:e.name,provider:e.provider,settings:{...vn.settings,...Object.fromEntries(sn.flatMap(t=>e.settings[t]?[[t,e.settings[t]]]:[]))},secrets:_n(cn),previewUrlTemplate:e.previewUrlTemplate??``,triggerPolicy:e.triggerPolicy,debounceSeconds:String(e.debounceSeconds),allowPrivateNetwork:e.allowPrivateNetwork,enabled:e.enabled,deliveryRoleId:e.deliveryRoleId??`none`}),bn=e=>{let t=Object.fromEntries($[e.provider].secrets.flatMap(({name:t})=>e.secrets[t].trim()?[[t,e.secrets[t].trim()]]:[]));return{name:e.name.trim(),settings:Object.fromEntries(un(e.provider).map(t=>[t,e.settings[t].trim()])),secrets:t,previewUrlTemplate:e.previewUrlTemplate.trim()||null,triggerPolicy:e.triggerPolicy.filter(t=>dn(e.provider).includes(t)),debounceSeconds:Number(e.debounceSeconds),allowPrivateNetwork:e.allowPrivateNetwork,enabled:e.enabled,deliveryRoleId:e.deliveryRoleId===`none`?null:e.deliveryRoleId}},xn=e=>({...bn(e),provider:e.provider}),Sn=(e,t)=>{let{secrets:n,...r}=bn(e);return{...r,...Object.keys(n).length>0?{secrets:n}:{},expectedVersion:t}},Cn=()=>{let{t:e}=o(),t=zt().data;return(0,Y.useMemo)(()=>[{value:on,label:e(`publishing.deployments.deliveryRoleNone`)},...(t??[]).filter(e=>e.kind===`delivery`).map(e=>({value:e.id,label:e.name}))],[t,e])},wn={url:`publishing.deployments.settingLabels.url`,accountId:`publishing.deployments.settingLabels.accountId`,projectName:`publishing.deployments.settingLabels.projectName`,projectId:`publishing.deployments.settingLabels.projectId`,teamId:`publishing.deployments.settingLabels.teamId`,siteId:`publishing.deployments.settingLabels.siteId`,owner:`publishing.deployments.settingLabels.owner`,repo:`publishing.deployments.settingLabels.repo`,branch:`publishing.deployments.settingLabels.branch`,mode:`publishing.deployments.settingLabels.mode`,directory:`publishing.deployments.settingLabels.directory`},Tn={url:`publishing.deployments.settingHints.url`,directory:`publishing.deployments.settingHints.directory`,teamId:`publishing.deployments.settingHints.teamId`},En={signingSecret:`publishing.deployments.secretLabels.signingSecret`,deployHookUrl:`publishing.deployments.secretLabels.deployHookUrl`,apiToken:`publishing.deployments.secretLabels.apiToken`,token:`publishing.deployments.secretLabels.token`},Dn={signingSecret:`publishing.deployments.secretHints.signingSecret`,deployHookUrl:`publishing.deployments.secretHints.deployHookUrl`,apiToken:`publishing.deployments.secretHints.apiToken`,token:`publishing.deployments.secretHints.token`},On={netlify:{apiToken:`publishing.deployments.providerSecretHints.netlify.apiToken`}},kn=(e,t)=>On[e]?.[t]??Dn[t],An={commit:`publishing.deployments.githubModes.commit`,pull_request:`publishing.deployments.githubModes.pull_request`},jn=({control:e,name:t,label:n,hint:r,stored:i,envVar:a})=>{let{t:s}=o(),{field:c,fieldState:l}=mt({control:e,name:`secrets.${t}`}),[u,d]=(0,Y.useState)(!1),f=`field-secrets-${t}`,p=`${f}-hint`,m=l.error?`${f}-error`:void 0,h=`${r} ${s(`publishing.deployments.secretEnvHint`)}`;return i&&!u?(0,J.jsxs)(C,{children:[(0,J.jsx)(Ct,{htmlFor:`${f}-replace`,label:n,hint:h,hintId:p}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(_,{tone:`success`,label:a?s(`publishing.deployments.secretFromEnv`,{name:a}):s(`publishing.deployments.secretStored`)}),(0,J.jsx)(w,{id:`${f}-replace`,type:`button`,variant:`outline`,size:`sm`,"aria-describedby":p,onClick:()=>d(!0),children:s(`publishing.deployments.replaceSecret`)})]})]}):(0,J.jsxs)(C,{"data-invalid":l.invalid||void 0,children:[(0,J.jsx)(Ct,{htmlFor:f,label:n,hint:h,hintId:p}),(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.jsx)(be,{...c,id:f,type:`password`,autoComplete:`new-password`,spellCheck:!1,autoFocus:u,"aria-invalid":l.invalid||void 0,"aria-describedby":vt(p,m),className:`font-mono text-sm`}),i?(0,J.jsx)(w,{type:`button`,variant:`ghost`,onClick:()=>{c.onChange(``),d(!1)},children:s(`publishing.deployments.keepSecret`)}):null]}),(0,J.jsx)(_t,{id:m,message:l.error?.message})]})},Mn=({control:e,storedSecrets:t})=>{let{t:n}=o(),r=ht({control:e,name:`provider`}),i=$[r];return(0,J.jsxs)(J.Fragment,{children:[i.settings.map(t=>(0,J.jsx)(j,{control:e,name:`settings.${t}`,label:n(wn[t]),hint:t in Tn?n(Tn[t]):void 0,type:t===`url`?`url`:`text`,autoComplete:`off`,spellCheck:!1},t)),r===`github`?(0,J.jsx)(q,{control:e,name:`settings.mode`,label:n(wn.mode),options:an.map(e=>({value:e,label:n(An[e])}))}):null,i.secrets.map(i=>(0,J.jsx)(jn,{control:e,name:i.name,label:n(En[i.name]),hint:n(kn(r,i.name)),stored:t?.[i.name]?.set??!1,envVar:t?.[i.name]?.envVar??null},`${r}-${i.name}`))]})},Nn=({control:e,mode:t,storedSecrets:n})=>{let{t:r}=o(),i=ht({control:e,name:`provider`}),a=Cn();return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(j,{control:e,name:`name`,label:r(`publishing.deployments.name`),autoComplete:`off`}),t===`create`?(0,J.jsx)(q,{control:e,name:`provider`,label:r(`publishing.deployments.provider`),options:le.map(e=>({value:e,label:r(A[e])}))}):null,(0,J.jsx)(Mn,{control:e,storedSecrets:n}),(0,J.jsx)(j,{control:e,name:`previewUrlTemplate`,label:r(`publishing.deployments.previewUrlTemplate`),hint:r(`publishing.deployments.previewUrlTemplateHint`),placeholder:r(`publishing.deployments.previewUrlTemplatePlaceholder`),autoComplete:`off`,spellCheck:!1}),(0,J.jsx)(q,{control:e,name:`deliveryRoleId`,label:r(`publishing.deployments.deliveryRole`),hint:r(`publishing.deployments.deliveryRoleHint`),options:a}),(0,J.jsx)(de,{control:e,name:`triggerPolicy`,legend:r(`publishing.deployments.triggerPolicy`),options:dn(i).map(e=>({value:e,label:r(Je[e])}))}),(0,J.jsx)(j,{control:e,name:`debounceSeconds`,type:`number`,inputMode:`numeric`,min:0,label:r(`publishing.deployments.debounceSeconds`),hint:r(`publishing.deployments.debounceSecondsHint`),className:`w-32`}),(0,J.jsx)(K,{control:e,name:`enabled`,label:r(`publishing.deployments.enabled`)}),(0,J.jsx)(K,{control:e,name:`allowPrivateNetwork`,label:r(`publishing.fields.allowPrivateNetwork`),hint:r(`publishing.fields.allowPrivateNetworkHint`)})]})},Pn=gn(`create`),Fn=(e,t)=>{let n=Ue(),r=N({resolver:M(Pn),defaultValues:vn});return ze(e,r.reset,vn,n.reset),{form:r,onSubmit:r.handleSubmit(async e=>{let i=await P(n.mutateAsync(xn(e)));i.ok&&(r.reset(vn),t(i.value))}),createConnection:n}},In=({open:e,onOpenChange:t,onCloseAutoFocus:n,onCreated:r})=>{let{t:i}=o(),{form:a,onSubmit:s,createConnection:c}=Fn(e,r);return(0,J.jsxs)(Rt,{open:e,onOpenChange:t,size:`md`,onCloseAutoFocus:n,title:i(`publishing.deployments.createTitle`),dirty:a.formState.isDirty,pending:c.isPending,submitLabel:i(`common.create`),pendingLabel:i(`common.saving`),onSubmit:e=>void s(e),children:[(0,J.jsx)(Nn,{control:a.control,mode:`create`}),(0,J.jsx)(E,{error:c.error})]})},Ln=({runs:e,showConnection:t})=>{let{t:n}=o();return(0,J.jsxs)(U,{children:[(0,J.jsx)(I,{children:(0,J.jsxs)(V,{children:[(0,J.jsx)(R,{children:n(`publishing.deployments.run`)}),(0,J.jsx)(R,{children:n(`publishing.fields.status`)}),t?(0,J.jsx)(R,{children:n(`publishing.deployments.connection`)}):null,(0,J.jsx)(R,{children:n(`publishing.deployments.trigger`)}),(0,J.jsx)(R,{children:n(`publishing.fields.snapshot`)}),(0,J.jsx)(R,{children:n(`publishing.deployments.finishedAt`)})]})}),(0,J.jsx)(B,{children:e.map(e=>(0,J.jsxs)(V,{children:[(0,J.jsx)(H,{className:`whitespace-nowrap`,children:(0,J.jsx)(ae,{asChild:!0,children:(0,J.jsx)(f,{to:`/publishing/deployments/runs/$runId`,params:{runId:e.id},"aria-label":n(`publishing.deployments.openRun`,{connection:e.connectionName,at:y(e.createdAt)}),children:y(e.createdAt)})})}),(0,J.jsx)(H,{children:(0,J.jsx)(nn,{run:e})}),t?(0,J.jsx)(H,{className:`max-w-56 truncate`,children:e.connectionName}):null,(0,J.jsx)(H,{children:n(Qe[e.trigger])}),(0,J.jsx)(H,{className:`tabular-nums`,children:e.snapshot===null?n(`common.none`):n(`publishing.snapshotNumber`,{snapshot:e.snapshot})}),(0,J.jsx)(H,{className:`whitespace-nowrap`,title:y(e.finishedAt),children:e.finishedAt?ie(e.finishedAt):n(`common.none`)})]},e.id))})]})},Rn=({connectionId:e,cursor:t,onCursorChange:n})=>{let{t:r}=o(),{pagerProps:i}=it(t,n),a=Ve({connectionId:e,cursor:t,limit:25});return(0,J.jsx)(W,{query:a,isEmpty:e=>e.items.length===0&&t===void 0,empty:(0,J.jsx)(v,{icon:k,size:`panel`,title:r(`publishing.deployments.noRuns`)}),children:t=>(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Ln,{runs:t.items,showConnection:e===void 0}),(0,J.jsx)(ke,{...i(t.nextCursor),className:`border-t px-4 py-2.5`})]})})},zn=()=>{let{t:e}=o(),t=l({from:`/publishing/deployments`}),{cursor:n}=b({from:`/app/publishing/deployments`}),{canManageDeployments:r}=X(),i=Ge(),[a,s]=(0,Y.useState)(!1),c=e=>void t({to:`/publishing/deployments/$connectionId`,params:{connectionId:e}}),u=Xt(c);return(0,J.jsxs)(m,{children:[(0,J.jsx)(Yt,{actions:r?(0,J.jsxs)(w,{onClick:()=>s(!0),children:[(0,J.jsx)(Le,{"aria-hidden":`true`}),e(`publishing.deployments.create`)]}):void 0}),u.revealed?(0,J.jsx)(Bt,{title:e(`publishing.deployments.generatedSecretTitle`),description:e(`publishing.deployments.generatedSecretDescription`),label:e(`publishing.deployments.secretLabels.signingSecret`),secret:u.revealed.secret,dismissLabel:e(`publishing.secretDone`),onDismiss:u.dismiss}):null,r?(0,J.jsxs)(`section`,{"aria-labelledby":`deployment-connections`,className:`space-y-3`,children:[(0,J.jsx)(`h2`,{id:`deployment-connections`,className:`text-base font-semibold`,children:e(`publishing.deployments.connections`)}),(0,J.jsx)(W,{query:i,isEmpty:e=>e.length===0,empty:(0,J.jsx)(v,{icon:k,title:e(`publishing.deployments.empty`)}),children:e=>(0,J.jsx)(`ul`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:e.map(e=>(0,J.jsx)(`li`,{className:`grid`,children:(0,J.jsx)(rn,{connection:e})},e.id))})})]}):null,(0,J.jsx)(G,{title:e(`publishing.deployments.recentRuns`),flush:!0,children:(0,J.jsx)(Rn,{connectionId:void 0,cursor:n,onCursorChange:e=>void t({search:{cursor:e}})})}),(0,J.jsx)(In,{open:a,onOpenChange:s,onCloseAutoFocus:u.keepFocusOnReveal,onCreated:({connection:e,generatedSecrets:t})=>{s(!1);let n=t.signingSecret;n?u.reveal({id:e.id,secret:n}):c(e.id)}})]})},Bn=e=>{let t=i(),[n,r]=(0,Y.useState)(!1);return{conflicted:n,clearConflict:()=>r(!1),onSaveError:n=>{d(n)&&(r(!0),t.invalidateQueries({queryKey:e}))}}},Vn=({value:e,label:t,className:n})=>(0,J.jsx)(`pre`,{tabIndex:0,"aria-label":t,className:c(`max-h-72 overflow-auto rounded-md border bg-muted p-3 font-mono text-xs break-all whitespace-pre-wrap text-foreground outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`,n),children:typeof e==`string`?e:JSON.stringify(e??null,null,2)}),Hn=[{name:`X-Shapio-Signature`,valueKey:`publishing.webhooks.signatureFormat`},{name:`X-Shapio-Timestamp`,valueKey:`publishing.webhooks.timestampFormat`},{name:`X-Shapio-Event`,valueKey:`publishing.webhooks.eventFormat`},{name:`X-Shapio-Delivery`,valueKey:`publishing.webhooks.deliveryFormat`}],Un=({description:e})=>{let{t}=o();return(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:e}),(0,J.jsx)(`dl`,{className:`space-y-1 rounded-lg border bg-muted p-3 font-mono text-xs break-all`,children:Hn.map(e=>(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`dt`,{className:`inline font-semibold`,children:e.name}),(0,J.jsx)(`dd`,{className:`inline before:content-[':_']`,children:t(e.valueKey)})]},e.name))})]})},Wn={runId:`0b8f3c1e-…`,status:`deployed`,logUrl:`https://ci.example.com/builds/123`,siteUrl:`https://www.example.com`,message:`Build 123`},Gn=({callbackUrl:e})=>{let{t}=o();return(0,J.jsxs)(`div`,{className:`space-y-5`,children:[(0,J.jsxs)(C,{children:[(0,J.jsx)(me,{htmlFor:`deployment-callback-url`,children:t(`publishing.deployments.callbackUrl`)}),(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.jsx)(be,{id:`deployment-callback-url`,readOnly:!0,value:e,className:`font-mono text-xs`,onFocus:e=>e.currentTarget.select()}),(0,J.jsx)(Lt,{value:e})]})]}),(0,J.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-2`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,J.jsx)(`p`,{className:`text-sm font-semibold`,children:t(`publishing.deployments.callbackBody`)}),(0,J.jsx)(Vn,{value:Wn,label:t(`publishing.deployments.callbackBody`)}),(0,J.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:t(`publishing.deployments.callbackFields`)})]}),(0,J.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,J.jsx)(`p`,{className:`text-sm font-semibold`,children:t(`publishing.webhooks.signatureTitle`)}),(0,J.jsx)(Un,{description:t(`publishing.deployments.callbackSignature`)})]})]})]})},Kn=gn(`edit`),qn=(e,t,n)=>{let{t:r}=o(),i=Be(),a=N({resolver:M(Kn),defaultValues:yn(e)});return{form:a,onSubmit:a.handleSubmit(async a=>{(await P(i.mutateAsync({id:e.id,input:Sn(a,e.version)},{onError:n}))).ok&&(S.success(r(`publishing.deployments.saved`)),t())}),update:i,error:d(i.error)?void 0:i.error}},Jn=({connection:e,onSaved:t,onConflict:n})=>{let{t:r}=o(),{form:i,onSubmit:a,update:s,error:c}=qn(e,t,n);return(0,J.jsxs)(`form`,{noValidate:!0,onSubmit:e=>void a(e),children:[(0,J.jsx)(oe,{when:i.formState.isDirty&&!s.isPending}),(0,J.jsxs)(ve,{children:[(0,J.jsx)(Nn,{control:i.control,mode:`edit`,storedSecrets:e.secrets}),(0,J.jsx)(E,{error:c}),(0,J.jsx)(`div`,{children:(0,J.jsx)(p,{pending:s.isPending,pendingLabel:r(`common.saving`),children:r(`common.saveChanges`)})})]})]})},Yn=({result:e})=>{let{t}=o();return(0,J.jsxs)(T,{variant:e.ok?`success`:`destructive`,children:[e.ok?(0,J.jsx)(Ne,{"aria-hidden":`true`}):(0,J.jsx)(Pe,{"aria-hidden":`true`}),(0,J.jsx)(Me,{children:e.ok?t(`publishing.deployments.testPassed`):t(`publishing.deployments.testFailed`)}),(0,J.jsx)(D,{children:(0,J.jsx)(`ul`,{className:`space-y-1`,children:e.checks.map(e=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{className:`font-medium`,children:e.ok?t(`publishing.deployments.checkPassed`,{name:e.name}):t(`publishing.deployments.checkFailed`,{name:e.name})}),e.message?(0,J.jsx)(`span`,{className:`block`,children:e.message}):null]},e.name))})})]})},Xn=({connection:e})=>{let{t}=o(),{cursor:n}=b({from:`/app/publishing/deployments/$connectionId`}),i=l({from:`/publishing/deployments/$connectionId`}),a=Bn(r.publishing.deployments.connection(e.id)),c=Qt(e),{canTriggerDeployments:d}=X(),f=c.testing||c.triggering||c.deleting,p=e.currentRun?.snapshot,g=[t(A[e.provider]),p==null?``:t(`publishing.deployments.liveSnapshot`,{snapshot:t(`publishing.snapshotNumber`,{snapshot:p})})].filter(Boolean).join(` · `);return(0,J.jsxs)(m,{children:[(0,J.jsx)(h,{breadcrumb:[{label:t(`nav.publishing`)},{label:t(`publishing.nav.deployments`),link:u({to:`/publishing/deployments`})}],title:e.name,badge:(0,J.jsx)(Z,{enabled:e.enabled}),meta:g,actions:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(O,{tone:`danger`,title:t(`publishing.deployments.deleteTitle`,{name:e.name}),description:t(`publishing.deployments.deleteDescription`),confirmLabel:t(`common.delete`),onConfirm:c.remove,trigger:(0,J.jsxs)(w,{variant:`destructive-ghost`,disabled:f,children:[(0,J.jsx)(pe,{"aria-hidden":`true`}),t(`common.delete`)]})}),(0,J.jsxs)(w,{variant:`outline`,disabled:f,onClick:c.runTest,children:[c.testing?(0,J.jsx)(s,{"aria-hidden":`true`,className:`animate-spin motion-reduce:animate-none`}):(0,J.jsx)(Gt,{"aria-hidden":`true`}),t(`publishing.deployments.test`)]}),d?(0,J.jsxs)(w,{disabled:f||!e.enabled,onClick:c.triggerRun,children:[(0,J.jsx)(k,{"aria-hidden":`true`}),t(`publishing.deployments.triggerRun`)]}):null]})}),c.testResult?(0,J.jsx)(Yn,{result:c.testResult}):null,(0,J.jsx)(G,{title:t(`publishing.deployments.runs`),flush:!0,children:(0,J.jsx)(Rn,{connectionId:e.id,cursor:n,onCursorChange:e=>void i({search:{cursor:e}})})}),e.provider===`generic_webhook`?(0,J.jsx)(G,{title:t(`publishing.deployments.callbacks`),description:t(`publishing.deployments.callbacksDescription`),children:(0,J.jsx)(Gn,{callbackUrl:e.callbackUrl})}):null,(0,J.jsxs)(G,{title:t(`publishing.deployments.settings`),bodyClassName:`space-y-4`,children:[a.conflicted?(0,J.jsx)(T,{variant:`destructive`,children:(0,J.jsx)(D,{children:t(`publishing.conflictReloaded`)})}):null,(0,J.jsx)(Jn,{connection:e,onSaved:a.clearConflict,onConflict:a.onSaveError},e.version)]})]})},Zn=()=>{let{connectionId:e}=g({from:`/app/publishing/deployments/$connectionId`}),t=lt(e);return(0,J.jsx)(W,{query:t,loadingRows:6,children:e=>(0,J.jsx)(Xn,{connection:e})})},Qn=e=>{if(e)try{let t=new URL(e);return t.protocol===`https:`||t.protocol===`http:`?t.href:void 0}catch{return}},$n=({run:e})=>{let{t}=o();return e.timeline.length===0?(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t(`publishing.deployments.timelineEmpty`)}):(0,J.jsx)(`ol`,{"aria-label":t(`publishing.deployments.timeline`),className:`relative ml-1.5 space-y-4 border-l pl-6`,children:e.timeline.map((n,r)=>(0,J.jsxs)(`li`,{className:`relative`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`absolute top-2 -left-7.5 size-2.5 rounded-full border-2 border-card bg-primary`}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(nn,{run:{status:n.status,provider:e.provider,completionReported:e.completionReported},live:!1}),(0,J.jsx)(`time`,{dateTime:n.at,className:`text-sm`,children:y(n.at)}),(0,J.jsx)(`span`,{className:`text-meta text-muted-foreground`,children:t(`publishing.deployments.reportedBy`,{source:t(Ye[n.source])})})]}),n.message?(0,J.jsx)(`p`,{className:`mt-1 text-sm break-words`,children:n.message}):null]},`${n.at}-${r}`))})},er=({run:e})=>{let{t}=o(),n=l(),{canTriggerDeployments:r}=X(),i=Re(),a=t(`common.none`),s=Qn(e.logUrl),c=Qn(e.siteUrl),d=kt.has(e.status),f=[{label:t(`publishing.deployments.connection`),value:e.connectionName},{label:t(`publishing.deployments.provider`),value:t(A[e.provider])},{label:t(`publishing.deployments.trigger`),value:t(Qe[e.trigger])},{label:t(`publishing.fields.snapshot`),value:e.snapshot===null?a:t(`publishing.snapshotNumber`,{snapshot:e.snapshot})},{label:t(`publishing.deployments.schemaVersion`),value:e.schemaVersion??a},{label:t(`publishing.deployments.providerRef`),value:e.providerRef??a},{label:t(`publishing.deployments.triggeredAt`),value:y(e.triggeredAt)||a},{label:t(`publishing.deployments.finishedAt`),value:y(e.finishedAt)||a},{label:t(`publishing.deployments.logUrl`),value:s?(0,J.jsx)(It,{href:s,children:s}):a},{label:t(`publishing.deployments.siteUrl`),value:c?(0,J.jsx)(It,{href:c,children:c}):a}];return e.retryOf&&f.push({label:t(`publishing.deployments.retryOf`),value:(0,J.jsx)(wt,{to:`/publishing/deployments/runs/$runId`,params:{runId:e.retryOf},children:t(`publishing.deployments.previousRun`)})}),(0,J.jsxs)(m,{children:[(0,J.jsx)(h,{breadcrumb:[{label:t(`nav.publishing`)},{label:t(`publishing.nav.deployments`),link:u({to:`/publishing/deployments`})},{label:e.connectionName,link:u({to:`/publishing/deployments/$connectionId`,params:{connectionId:e.connectionId}})}],title:t(`publishing.deployments.runTitle`,{connection:e.connectionName}),badge:(0,J.jsx)(`span`,{"aria-live":`polite`,children:(0,J.jsx)(nn,{run:e})}),meta:d?`${y(e.createdAt)} · ${t(`publishing.deployments.watching`)}`:y(e.createdAt),actions:r&&!d?(0,J.jsxs)(w,{variant:`outline`,disabled:i.isPending,onClick:()=>i.mutate(e.id,{onSuccess:e=>{S.success(t(`publishing.deployments.retried`)),n({to:`/publishing/deployments/runs/$runId`,params:{runId:e.id}})}}),children:[(0,J.jsx)(ut,{"aria-hidden":`true`}),t(`publishing.deployments.retry`)]}):void 0}),e.status===`triggered`&&!e.completionReported?(0,J.jsxs)(T,{variant:`info`,children:[(0,J.jsx)(fe,{"aria-hidden":`true`}),(0,J.jsx)(D,{children:t(`publishing.deployments.completionUnknown`)})]}):null,e.error?(0,J.jsxs)(T,{variant:`destructive`,children:[(0,J.jsx)(Ae,{"aria-hidden":`true`}),(0,J.jsx)(D,{children:e.error})]}):null,(0,J.jsx)(G,{title:t(`publishing.deployments.details`),children:(0,J.jsx)(Zt,{items:f})}),(0,J.jsx)(G,{title:t(`publishing.deployments.timeline`),children:(0,J.jsx)($n,{run:e})})]})},tr=()=>{let{runId:e}=g({from:`/app/publishing/deployments/runs/$runId`}),t=ct(e);return(0,J.jsx)(W,{query:t,loadingRows:6,children:e=>(0,J.jsx)(er,{run:e})})},nr=`__all`,rr=({id:e,label:t,value:n,options:r,onChange:i,allLabel:a})=>{let{t:s}=o(),c=`${e}-label`;return(0,J.jsxs)(Oe,{value:n??nr,onValueChange:e=>i(r.find(t=>t.value===e)?.value),children:[(0,J.jsx)(we,{id:e,size:`sm`,"aria-labelledby":c,className:`min-w-40`,children:(0,J.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,J.jsx)(`span`,{id:c,className:`text-muted-foreground`,children:t}),(0,J.jsx)(Ce,{})]})}),(0,J.jsxs)(Te,{children:[(0,J.jsx)(Ee,{value:nr,children:a??s(`publishing.filters.all`)}),r.map(e=>(0,J.jsx)(Ee,{value:e.value,children:e.label},e.value))]})]})},ir=`__default`,ar={modelKey:F().min(1,`validation.selectModel`),entryId:gt(),locale:F(),action:z(ce)},or={modelKey:``,entryId:``,locale:ir,action:`publish`},sr=({modelKey:e,entryId:t,locale:n,action:r})=>({modelKey:e,entryId:t.trim(),action:r,...n===`__default`?{}:{locale:n}}),cr=()=>{let{t:e}=o(),t=Et(`model`),n=Ot();return{modelOptions:(t.data??[]).map(({definition:e})=>({value:e.apiKey,label:`${e.label} (${e.apiKey})`})),localeOptions:[{value:ir,label:e(`publishing.fields.defaultLocale`)},...(n.data??[]).map(e=>({value:e.code,label:`${e.label} (${e.code})`}))],actionOptions:ce.map(t=>({value:t,label:e(tt[t])}))}},lr=({control:e})=>{let{t}=o(),{modelOptions:n,localeOptions:r,actionOptions:i}=cr(),a=e=>e;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(q,{control:e,name:a(`modelKey`),label:t(`publishing.fields.model`),placeholder:t(`publishing.fields.modelPlaceholder`),options:n}),(0,J.jsx)(j,{control:e,name:a(`entryId`),label:t(`publishing.fields.entryId`),hint:t(`publishing.fields.entryIdHint`),autoComplete:`off`,className:`font-mono text-sm`}),(0,J.jsx)(q,{control:e,name:a(`locale`),label:t(`publishing.fields.locale`),hint:t(`publishing.fields.localeHint`),options:r}),(0,J.jsx)(q,{control:e,name:a(`action`),label:t(`publishing.fields.action`),options:i})]})},ur=L({...ar,runAt:Ft()}),dr=(e,t)=>{let n=At(),r=(0,Y.useMemo)(()=>({...or,runAt:e?Pt():``}),[e]),i=N({resolver:M(ur),defaultValues:r});return ze(e,i.reset,r,n.reset),{form:i,onSubmit:i.handleSubmit(async({runAt:e,...r})=>{let i=Nt(e);i&&(await P(n.mutateAsync({...sr(r),runAt:i}))).ok&&t()}),createSchedule:n}},fr=({open:e,onOpenChange:t,onCreated:n})=>{let{t:r}=o(),{form:i,onSubmit:a,createSchedule:s}=dr(e,n);return(0,J.jsxs)(Rt,{open:e,onOpenChange:t,size:`md`,title:r(`publishing.scheduled.createTitle`),dirty:i.formState.isDirty,pending:s.isPending,submitLabel:r(`publishing.scheduled.create`),pendingLabel:r(`common.saving`),onSubmit:e=>void a(e),children:[(0,J.jsx)(lr,{control:i.control}),(0,J.jsx)(j,{control:i.control,name:`runAt`,type:`datetime-local`,label:r(`publishing.fields.runAt`),description:r(`publishing.fields.localTimeHint`,{timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone})}),(0,J.jsx)(E,{error:s.error})]})},pr=()=>{let e=b({from:`/app/publishing/scheduled`}),t=l({from:`/publishing/scheduled`}),n=e=>void t({search:t=>({...t,...e})}),{pagerProps:r,resetPager:i}=it(e.cursor,e=>n({cursor:e}));return{search:e,pagerProps:r,setStatus:e=>{i(),n({status:e,cursor:void 0})}}},mr=({schedules:e,onCancel:t})=>{let{t:n}=o();return(0,J.jsxs)(U,{children:[(0,J.jsx)(I,{children:(0,J.jsxs)(V,{children:[(0,J.jsx)(R,{children:n(`publishing.fields.entryId`)}),(0,J.jsx)(R,{children:n(`publishing.fields.model`)}),(0,J.jsx)(R,{children:n(`publishing.fields.locale`)}),(0,J.jsx)(R,{children:n(`publishing.fields.action`)}),(0,J.jsx)(R,{children:n(`publishing.fields.runAt`)}),(0,J.jsx)(R,{children:n(`publishing.fields.status`)}),(0,J.jsx)(R,{children:n(`publishing.fields.error`)}),(0,J.jsx)(R,{children:(0,J.jsx)(`span`,{className:`sr-only`,children:n(`common.actions`)})})]})}),(0,J.jsx)(B,{children:e.map(e=>{let r=$t[e.status];return(0,J.jsxs)(V,{children:[(0,J.jsx)(H,{className:`max-w-44`,children:(0,J.jsx)(ae,{className:`block truncate font-mono text-xs`,children:(0,J.jsx)(`span`,{title:e.entryId,children:e.entryId})})}),(0,J.jsx)(H,{className:`font-mono text-xs`,children:e.modelKey??n(`publishing.fields.deletedModel`)}),(0,J.jsx)(H,{className:`font-mono text-xs`,children:e.locale}),(0,J.jsx)(H,{children:n(tt[e.action])}),(0,J.jsx)(H,{className:`whitespace-nowrap`,children:y(e.runAt)}),(0,J.jsx)(H,{children:(0,J.jsx)(_,{tone:r.tone,label:n(r.labelKey)})}),(0,J.jsx)(H,{className:`max-w-64 whitespace-normal`,children:e.error?(0,J.jsx)(`span`,{className:`text-destructive`,children:e.error}):(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:n(`common.none`)})}),(0,J.jsx)(H,{className:`text-right`,children:e.status===`scheduled`?(0,J.jsx)(O,{tone:`danger`,title:n(`publishing.scheduled.cancelTitle`),description:n(`publishing.scheduled.cancelDescription`,{entryId:e.entryId}),confirmLabel:n(`publishing.scheduled.cancel`),cancelLabel:n(`publishing.scheduled.keep`),onConfirm:()=>t(e),trigger:(0,J.jsx)(w,{variant:`outline`,size:`sm`,"aria-label":n(`publishing.scheduled.cancelLabel`,{entryId:e.entryId}),children:n(`publishing.scheduled.cancel`)})}):null})]},e.id)})})]})},hr=()=>{let{t:e}=o(),{search:t,pagerProps:n,setStatus:r}=pr(),i=jt({status:t.status,cursor:t.cursor,limit:25}),a=Mt(),[s,c]=(0,Y.useState)(!1),l=t=>a.mutateAsync(t.id,{onSuccess:()=>S.success(e(`publishing.scheduled.cancelled`))}),u=se.map(t=>({value:t,label:e($t[t].labelKey)})),d=(0,J.jsx)(`div`,{role:`search`,className:`flex flex-wrap items-center gap-2`,children:(0,J.jsx)(rr,{id:`scheduled-status`,label:e(`publishing.fields.status`),value:t.status,options:u,onChange:r})});return(0,J.jsxs)(m,{children:[(0,J.jsx)(Yt,{actions:(0,J.jsxs)(w,{onClick:()=>c(!0),children:[(0,J.jsx)(Ut,{"aria-hidden":`true`}),e(`publishing.scheduled.create`)]})}),(0,J.jsx)(W,{query:i,loadingRows:6,isEmpty:e=>e.items.length===0&&t.cursor===void 0&&!t.status,empty:(0,J.jsx)(v,{icon:Se,title:e(`publishing.scheduled.empty`)}),children:t=>(0,J.jsx)(bt,{toolbar:d,footer:(0,J.jsx)(ke,{...n(t.nextCursor)}),children:t.items.length===0?(0,J.jsx)(v,{icon:Se,size:`panel`,title:e(`publishing.scheduled.noMatches`)}):(0,J.jsx)(mr,{schedules:t.items,onCancel:l})})}),(0,J.jsx)(fr,{open:s,onOpenChange:c,onCreated:()=>{c(!1),S.success(e(`publishing.scheduled.created`))}})]})},gr=e=>`${e}.*`,_r=e=>{let t=new Map;for(let{type:n,group:r}of e)t.set(r,[...t.get(r)??[],n]);return[...t].map(([e,t])=>({group:e,types:t}))},vr=(e,{group:t,types:n},r)=>{let i=gr(t),a=e.filter(e=>e!==i&&!n.includes(e));return r?[...a,i]:a},yr=(e,t,n)=>n?[...e.filter(e=>e!==t),t]:e.filter(e=>e!==t),br=({control:e})=>{let{t}=o(),n=at(),{field:r,fieldState:i}=mt({control:e,name:`events`}),a=r.value;return n.isPending?(0,J.jsx)(ne,{rows:2}):n.isError?(0,J.jsx)(ee,{error:n.error,onRetry:()=>void n.refetch()}):(0,J.jsxs)(ge,{"data-invalid":i.invalid||void 0,"aria-labelledby":`webhook-events-title`,children:[(0,J.jsxs)(he,{variant:`label`,className:`flex items-center gap-1`,children:[(0,J.jsx)(`span`,{id:`webhook-events-title`,children:t(`publishing.webhooks.events`)}),(0,J.jsx)(_e,{about:t(`publishing.webhooks.events`),children:t(`publishing.webhooks.eventsHint`)})]}),(0,J.jsx)(`div`,{className:`space-y-4`,children:_r(n.data).map(e=>{let n=a.includes(gr(e.group)),i=`webhook-events-${e.group}`;return(0,J.jsxs)(`fieldset`,{className:`space-y-2 rounded-lg border p-3`,children:[(0,J.jsx)(`legend`,{className:`px-1 font-mono text-xs font-semibold`,children:e.group}),(0,J.jsxs)(C,{orientation:`horizontal`,children:[(0,J.jsx)(je,{id:i,checked:n,onCheckedChange:t=>r.onChange(vr(a,e,t===!0)),onBlur:r.onBlur}),(0,J.jsx)(me,{htmlFor:i,className:`font-medium`,children:t(`publishing.webhooks.allGroupEvents`,{group:e.group})})]}),(0,J.jsx)(`div`,{className:`grid gap-2 pl-6 sm:grid-cols-2`,children:e.types.map(e=>{let t=`webhook-event-${e}`;return(0,J.jsxs)(C,{orientation:`horizontal`,children:[(0,J.jsx)(je,{id:t,checked:n||a.includes(e),disabled:n,onCheckedChange:t=>r.onChange(yr(a,e,t===!0)),onBlur:r.onBlur}),(0,J.jsx)(me,{htmlFor:t,className:`font-mono text-xs font-normal`,children:e})]},e)})})]},e.group)})}),(0,J.jsx)(_t,{message:i.error?.message})]})},xr={min:1,max:20},Sr=8,Cr=L({name:gt().max(200,`validation.tooLong`),url:F().trim().min(1,`validation.required`).pipe(St({protocol:/^https?$/,error:`validation.url`})),events:xt(F()).min(1,`validation.selectEvents`),enabled:yt(),allowPrivateNetwork:yt(),maxAttempts:F().trim().refine(e=>/^\d+$/.test(e)&&Number(e)>=xr.min&&Number(e)<=xr.max,`validation.maxAttempts`),scope:z([`site`,`network`])}),wr={name:``,url:``,events:[],enabled:!0,allowPrivateNetwork:!1,maxAttempts:String(Sr),scope:`site`},Tr=e=>({name:e.name,url:e.url,events:e.events,enabled:e.enabled,allowPrivateNetwork:e.allowPrivateNetwork,maxAttempts:String(e.maxAttempts),scope:e.site===null?`network`:`site`}),Er=e=>({name:e.name.trim(),url:e.url.trim(),events:e.events,enabled:e.enabled,allowPrivateNetwork:e.allowPrivateNetwork,maxAttempts:Number(e.maxAttempts)}),Dr=({control:e})=>{let{t}=o();return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(j,{control:e,name:`name`,label:t(`publishing.webhooks.name`),autoComplete:`off`}),(0,J.jsx)(j,{control:e,name:`url`,type:`url`,label:t(`publishing.webhooks.url`),placeholder:t(`publishing.webhooks.urlPlaceholder`),autoComplete:`off`}),(0,J.jsx)(br,{control:e}),(0,J.jsx)(j,{control:e,name:`maxAttempts`,type:`number`,inputMode:`numeric`,min:xr.min,max:xr.max,label:t(`publishing.webhooks.maxAttempts`),hint:t(`publishing.webhooks.maxAttemptsHint`),className:`w-32`}),(0,J.jsx)(K,{control:e,name:`enabled`,label:t(`publishing.webhooks.enabled`)}),(0,J.jsx)(K,{control:e,name:`allowPrivateNetwork`,label:t(`publishing.fields.allowPrivateNetwork`),hint:t(`publishing.fields.allowPrivateNetworkHint`)})]})},Or=(e,t)=>{let n=$e(),r=N({resolver:M(Cr),defaultValues:wr});return ze(e,r.reset,wr,n.reset),{form:r,onSubmit:r.handleSubmit(async e=>{let i=await P(n.mutateAsync({...Er(e),network:e.scope===`network`}));i.ok&&(r.reset(wr),t(i.value))}),createWebhook:n}},kr=({open:e,onOpenChange:t,onCloseAutoFocus:n,onCreated:r})=>{let{t:i}=o(),{form:a,onSubmit:s,createWebhook:c}=Or(e,r),{data:l}=xe(),u=[{value:`site`,label:i(`publishing.webhooks.scopeSite`,{name:l?.site.name??``})},{value:`network`,label:i(`sites.everySite`),description:i(`publishing.webhooks.scopeNetwork`)}];return(0,J.jsxs)(Rt,{open:e,onOpenChange:t,size:`md`,onCloseAutoFocus:n,title:i(`publishing.webhooks.createTitle`),dirty:a.formState.isDirty,pending:c.isPending,submitLabel:i(`common.create`),pendingLabel:i(`common.saving`),onSubmit:e=>void s(e),children:[(0,J.jsx)(Dr,{control:a.control}),Tt(l)?(0,J.jsx)(Dt,{control:a.control,name:`scope`,legend:i(`publishing.webhooks.scope`),options:u}):null,(0,J.jsx)(E,{error:c.error})]})},Ar=({secret:e,onDismiss:t})=>{let{t:n}=o();return(0,J.jsx)(Bt,{title:n(`publishing.webhooks.secretTitle`),description:n(`publishing.webhooks.secretDescription`),label:n(`publishing.webhooks.secretLabel`),secret:e,dismissLabel:n(`publishing.secretDone`),onDismiss:t,hint:(0,J.jsx)(Un,{description:n(`publishing.webhooks.signatureDescription`)})})},jr=({webhook:e})=>{let{t}=o();return e.site===null?(0,J.jsx)(te,{variant:`secondary`,children:t(`sites.everySite`)}):null},Mr=({webhooks:e})=>{let{t}=o();return(0,J.jsx)(bt,{children:(0,J.jsxs)(U,{children:[(0,J.jsx)(I,{children:(0,J.jsxs)(V,{children:[(0,J.jsx)(R,{children:t(`publishing.webhooks.name`)}),(0,J.jsx)(R,{children:t(`publishing.webhooks.url`)}),(0,J.jsx)(R,{children:t(`publishing.webhooks.state`)}),(0,J.jsx)(R,{children:t(`publishing.webhooks.lastDelivery`)})]})}),(0,J.jsx)(B,{children:e.map(e=>{let n=e.lastDelivery?en[e.lastDelivery.status]:void 0;return(0,J.jsxs)(V,{children:[(0,J.jsx)(H,{className:`max-w-64`,children:(0,J.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,J.jsx)(ae,{asChild:!0,className:`block truncate`,children:(0,J.jsx)(f,{to:`/publishing/webhooks/$webhookId`,params:{webhookId:e.id},children:e.name})}),(0,J.jsx)(jr,{webhook:e})]})}),(0,J.jsx)(H,{className:`max-w-72`,children:(0,J.jsx)(`span`,{className:`block truncate font-mono text-xs text-muted-foreground`,title:e.url,children:e.url})}),(0,J.jsx)(H,{children:(0,J.jsx)(Z,{enabled:e.enabled})}),(0,J.jsx)(H,{children:e.lastDelivery&&n?(0,J.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(_,{tone:n.tone,label:t(n.labelKey)}),(0,J.jsx)(`span`,{className:`text-meta whitespace-nowrap text-muted-foreground`,title:y(e.lastDelivery.at),children:ie(e.lastDelivery.at)})]}):(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:t(`common.never`)})})]},e.id)})})]})})},Nr=()=>{let{t:e}=o(),t=l(),n=qe(),[r,i]=(0,Y.useState)(!1),a=Xt(e=>void t({to:`/publishing/webhooks/$webhookId`,params:{webhookId:e}}));return(0,J.jsxs)(m,{children:[(0,J.jsx)(Yt,{actions:(0,J.jsxs)(w,{onClick:()=>i(!0),children:[(0,J.jsx)(Le,{"aria-hidden":`true`}),e(`publishing.webhooks.create`)]})}),a.revealed?(0,J.jsx)(Ar,{secret:a.revealed.secret,onDismiss:a.dismiss}):null,(0,J.jsx)(W,{query:n,isEmpty:e=>e.length===0,empty:(0,J.jsx)(v,{icon:pt,title:e(`publishing.webhooks.empty`)}),children:e=>(0,J.jsx)(Mr,{webhooks:e})}),(0,J.jsx)(kr,{open:r,onOpenChange:i,onCloseAutoFocus:a.keepFocusOnReveal,onCreated:({webhook:e,secret:t})=>{i(!1),a.reveal({id:e.id,secret:t})}})]})},Pr=(e,t)=>{let{t:n}=o(),r=l(),i=et(),a=rt(),s=We(),c=nt(),[u,d]=(0,Y.useState)(void 0);return{secret:u,clearSecret:()=>d(void 0),testing:i.isPending,pending:a.isPending||s.isPending||c.isPending,sendTest:()=>i.mutate(e.id,{onSuccess:()=>S.success(n(`publishing.webhooks.testQueued`))}),toggleEnabled:()=>a.mutate({id:e.id,input:{enabled:!e.enabled,expectedVersion:e.version}},{onSuccess:e=>S.success(e.enabled?n(`publishing.webhooks.enabledToast`):n(`publishing.webhooks.disabledToast`)),onError:t}),rotateSecret:()=>s.mutateAsync(e.id,{onSuccess:e=>d(e.secret)}),remove:()=>c.mutateAsync(e.id,{onSuccess:()=>{S.success(n(`publishing.webhooks.deleted`,{name:e.name})),r({to:`/publishing/webhooks`})}})}},Fr=({headers:e,label:t})=>(0,J.jsx)(`dl`,{"aria-label":t,className:`space-y-0.5 rounded-md border bg-muted p-2 font-mono text-xs break-all`,children:Object.entries(e).map(([e,t])=>(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`dt`,{className:`inline font-semibold`,children:e}),(0,J.jsx)(`dd`,{className:`inline before:content-[':_']`,children:t})]},e))}),Ir=200,Lr=300,Rr=400,zr=e=>e>=Ir&&e<Lr?`success`:e<Rr?`warning`:`danger`,Br=({status:e,label:t})=>(0,J.jsx)(_,{tone:zr(e),label:t??String(e),size:`sm`,className:`font-mono`}),Vr=({attempt:e})=>{let{t}=o(),{request:n,response:r}=e;return(0,J.jsxs)(`li`,{className:`space-y-3 rounded-lg border bg-card p-4`,children:[(0,J.jsx)(`p`,{className:`text-sm font-medium`,children:t(`publishing.webhooks.attemptHeading`,{attempt:e.attempt,at:y(e.at),duration:e.durationMs})}),(0,J.jsxs)(`div`,{className:`grid gap-3 lg:grid-cols-2`,children:[(0,J.jsxs)(`section`,{className:`min-w-0 space-y-1`,children:[(0,J.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground`,children:t(`publishing.webhooks.request`)}),(0,J.jsx)(`p`,{className:`font-mono text-xs break-all`,children:`${n.method} ${n.url}`}),(0,J.jsx)(Fr,{headers:n.headers,label:t(`publishing.webhooks.requestHeaders`)})]}),(0,J.jsxs)(`section`,{className:`min-w-0 space-y-1`,children:[(0,J.jsx)(`h4`,{className:`text-xs font-semibold text-muted-foreground`,children:t(`publishing.webhooks.response`)}),r?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Br,{status:r.status,label:t(`publishing.webhooks.httpStatus`,{status:r.status})}),(0,J.jsx)(Vn,{value:r.body,label:t(`publishing.webhooks.responseBody`),className:`max-h-40`}),r.truncated?(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t(`publishing.webhooks.bodyTruncated`)}):null]}):(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t(`publishing.webhooks.noResponse`)}),e.error?(0,J.jsx)(`p`,{className:`text-sm text-destructive`,children:e.error}):null]})]})]})},Hr=7,Ur=({delivery:e,expanded:t,onToggle:n,onRedeliver:r,redelivering:i})=>{let{t:a}=o(),s=en[e.status],c=`delivery-${e.id}`;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(V,{children:[(0,J.jsx)(H,{className:`w-10`,children:(0,J.jsx)(w,{variant:`ghost`,size:`icon-sm`,"aria-expanded":t,"aria-controls":t?c:void 0,"aria-label":a(`publishing.webhooks.toggleAttempts`,{event:e.eventType}),onClick:n,children:t?(0,J.jsx)(De,{"aria-hidden":`true`}):(0,J.jsx)(ye,{"aria-hidden":`true`})})}),(0,J.jsx)(H,{children:(0,J.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`font-mono text-xs font-semibold`,children:e.eventType}),e.isTest?(0,J.jsx)(te,{variant:`outline`,children:a(`publishing.webhooks.testBadge`)}):null]})}),(0,J.jsx)(H,{children:(0,J.jsx)(_,{tone:s.tone,label:a(s.labelKey)})}),(0,J.jsx)(H,{children:e.lastResponseStatus===null?(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:a(`common.none`)}):(0,J.jsx)(Br,{status:e.lastResponseStatus})}),(0,J.jsx)(H,{className:`text-right tabular-nums`,children:e.attempts}),(0,J.jsx)(H,{className:`whitespace-nowrap`,title:y(e.createdAt),children:ie(e.createdAt)}),(0,J.jsx)(H,{className:`text-right`,children:(0,J.jsxs)(w,{variant:`ghost`,size:`sm`,disabled:i,"aria-label":a(`publishing.webhooks.redeliverLabel`,{event:e.eventType}),onClick:r,children:[(0,J.jsx)(ut,{"aria-hidden":`true`}),a(`publishing.webhooks.redeliver`)]})})]}),t?(0,J.jsx)(V,{className:`hover:bg-transparent`,children:(0,J.jsx)(H,{colSpan:Hr,className:`bg-muted/40 whitespace-normal`,children:(0,J.jsxs)(`div`,{id:c,className:`space-y-3 py-2`,children:[e.lastError?(0,J.jsx)(`p`,{className:`text-meta text-destructive`,children:a(`publishing.webhooks.lastErrorValue`,{error:e.lastError})}):null,e.attemptLog.length===0?(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:a(`publishing.webhooks.noAttempts`)}):(0,J.jsx)(`ol`,{className:`space-y-3`,children:e.attemptLog.map(e=>(0,J.jsx)(Vr,{attempt:e},e.attempt))})]})})}):null]})},Wr=({webhookId:e})=>{let{t}=o(),{cursor:n}=b({from:`/app/publishing/webhooks/$webhookId`}),r=l({from:`/publishing/webhooks/$webhookId`}),{pagerProps:i}=it(n,e=>void r({search:{cursor:e}})),a=Ze(e,n),s=Xe(),[c,u]=(0,Y.useState)(new Set),d=e=>u(t=>{let n=new Set(t);return n.delete(e)||n.add(e),n});return(0,J.jsx)(G,{title:t(`publishing.webhooks.deliveries`),flush:!0,children:(0,J.jsx)(W,{query:a,isEmpty:e=>e.items.length===0&&n===void 0,empty:(0,J.jsx)(v,{icon:Fe,size:`panel`,title:t(`publishing.webhooks.noDeliveries`)}),children:n=>(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(U,{children:[(0,J.jsx)(I,{children:(0,J.jsxs)(V,{children:[(0,J.jsx)(R,{className:`w-12`,children:(0,J.jsx)(`span`,{className:`sr-only`,children:t(`publishing.webhooks.attemptLog`)})}),(0,J.jsx)(R,{children:t(`publishing.webhooks.eventType`)}),(0,J.jsx)(R,{children:t(`publishing.fields.status`)}),(0,J.jsx)(R,{children:t(`publishing.webhooks.lastResponse`)}),(0,J.jsx)(R,{className:`text-right`,children:t(`publishing.webhooks.attempts`)}),(0,J.jsx)(R,{children:t(`publishing.fields.created`)}),(0,J.jsx)(R,{children:(0,J.jsx)(`span`,{className:`sr-only`,children:t(`common.actions`)})})]})}),(0,J.jsx)(B,{children:n.items.map(n=>(0,J.jsx)(Ur,{delivery:n,expanded:c.has(n.id),onToggle:()=>d(n.id),redelivering:s.isPending,onRedeliver:()=>s.mutate({id:e,deliveryId:n.id},{onSuccess:()=>S.success(t(`publishing.webhooks.redelivered`))})},n.id))})]}),(0,J.jsx)(ke,{...i(n.nextCursor),className:`border-t px-4 py-2.5`})]})})})},Gr=(e,t,n)=>{let{t:r}=o(),i=rt(),a=N({resolver:M(Cr),defaultValues:Tr(e)});return{form:a,onSubmit:a.handleSubmit(async a=>{(await P(i.mutateAsync({id:e.id,input:{...Er(a),expectedVersion:e.version}},{onError:n}))).ok&&(S.success(r(`publishing.webhooks.saved`)),t())}),update:i,error:d(i.error)?void 0:i.error}},Kr=({webhook:e,onSaved:t,onConflict:n})=>{let{t:r}=o(),{form:i,onSubmit:a,update:s,error:c}=Gr(e,t,n);return(0,J.jsxs)(`form`,{noValidate:!0,onSubmit:e=>void a(e),children:[(0,J.jsx)(oe,{when:i.formState.isDirty&&!s.isPending}),(0,J.jsxs)(ve,{children:[(0,J.jsx)(Dr,{control:i.control}),(0,J.jsx)(E,{error:c}),(0,J.jsx)(`div`,{children:(0,J.jsx)(p,{pending:s.isPending,pendingLabel:r(`common.saving`),children:r(`common.saveChanges`)})})]})]})},qr=({webhook:e})=>{let{t}=o(),n=Bn(r.publishing.webhooks.webhook(e.id)),i=Pr(e,n.onSaveError);return(0,J.jsxs)(m,{children:[(0,J.jsx)(h,{breadcrumb:[{label:t(`nav.publishing`)},{label:t(`publishing.nav.webhooks`),link:u({to:`/publishing/webhooks`})}],title:e.name,badge:(0,J.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(Z,{enabled:e.enabled}),(0,J.jsx)(jr,{webhook:e})]}),meta:(0,J.jsx)(`span`,{className:`font-mono text-xs break-all`,children:e.url}),actions:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(O,{tone:`danger`,title:t(`publishing.webhooks.deleteTitle`,{name:e.name}),description:t(`publishing.webhooks.deleteDescription`),confirmLabel:t(`common.delete`),onConfirm:i.remove,trigger:(0,J.jsxs)(w,{variant:`destructive-ghost`,disabled:i.pending,children:[(0,J.jsx)(pe,{"aria-hidden":`true`}),t(`common.delete`)]})}),(0,J.jsx)(O,{tone:`danger`,title:t(`publishing.webhooks.rotateTitle`),description:t(`publishing.webhooks.rotateDescription`),confirmLabel:t(`publishing.webhooks.rotateSecret`),onConfirm:i.rotateSecret,onCloseAutoFocus:e=>{i.secret&&e.preventDefault()},trigger:(0,J.jsxs)(w,{variant:`outline`,disabled:i.pending,children:[(0,J.jsx)(Ie,{"aria-hidden":`true`}),t(`publishing.webhooks.rotateSecret`)]})}),(0,J.jsxs)(w,{variant:`outline`,disabled:i.pending,onClick:i.toggleEnabled,children:[(0,J.jsx)(qt,{"aria-hidden":`true`}),e.enabled?t(`publishing.webhooks.disable`):t(`publishing.webhooks.enable`)]}),(0,J.jsxs)(w,{disabled:i.testing||!e.enabled,onClick:i.sendTest,children:[(0,J.jsx)(dt,{"aria-hidden":`true`}),t(`publishing.webhooks.sendTest`)]})]})}),i.secret?(0,J.jsx)(Ar,{secret:i.secret,onDismiss:i.clearSecret}):null,n.conflicted?(0,J.jsx)(T,{variant:`destructive`,children:(0,J.jsx)(D,{children:t(`publishing.conflictReloaded`)})}):null,(0,J.jsx)(Wr,{webhookId:e.id}),(0,J.jsx)(G,{title:t(`publishing.webhooks.settings`),children:(0,J.jsx)(Kr,{webhook:e,onSaved:n.clearConflict,onConflict:n.onSaveError},e.version)}),(0,J.jsx)(G,{title:t(`publishing.webhooks.signatureTitle`),children:(0,J.jsx)(Un,{description:t(`publishing.webhooks.signatureDescription`)})})]})},Jr={publishing:x(`/app/publishing`)({component:Jt}),scheduled:x(`/app/publishing/scheduled`)({component:hr}),deployments:x(`/app/publishing/deployments`)({component:zn}),connection:x(`/app/publishing/deployments/$connectionId`)({component:Zn}),run:x(`/app/publishing/deployments/runs/$runId`)({component:tr}),webhooks:x(`/app/publishing/webhooks`)({component:Nr}),webhook:x(`/app/publishing/webhooks/$webhookId`)({component:()=>{let{webhookId:e}=g({from:`/app/publishing/webhooks/$webhookId`}),t=Ke(e);return(0,J.jsx)(W,{query:t,loadingRows:6,children:e=>(0,J.jsx)(qr,{webhook:e})})}})};export{Jr as publishingLazyRoutes};
2
- //# sourceMappingURL=publishing-vCVjaSGF.js.map
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{H as n,P as r,V as i,bt as a,l as o,s}from"./cn-DnXL75B0.js";import{B as c}from"./errors-DfoXUVDI.js";var l=e(t(),1),u=5e3,d=6e4,f=1e3,p=new Set([`activated`,`failed`,`cancelled`]),m={silent:!0},h=e=>e===`model`?o.models:o.components,g=e=>c({queryKey:r.schema.definitions(e),queryFn:()=>h(e).list(),meta:m}),_=e=>n(g(e)),v=()=>{let e=_(`model`),t=_(`component`);return{definitions:(0,l.useMemo)(()=>e.data&&t.data?[...e.data,...t.data]:void 0,[e.data,t.data]),error:e.error??t.error}},y=(e,t)=>c({queryKey:r.schema.definition(e,t),queryFn:()=>h(e).get(t),meta:m}),b=(e,t)=>n(y(e,t)),x=()=>n({queryKey:r.schema.summary,queryFn:()=>o.schema.summary(),refetchInterval:u,refetchOnWindowFocus:!0,staleTime:0,meta:m}),S=()=>n({queryKey:r.schema.summary,queryFn:()=>o.schema.summary(),staleTime:d,refetchOnWindowFocus:!0,select:e=>e.schemaVersion,meta:m}),C=()=>n({queryKey:r.schema.settings,queryFn:()=>o.schema.settings(),meta:m}),w=e=>n({queryKey:r.schema.change(e??``),queryFn:()=>o.schema.change(e??``),enabled:e!==void 0,refetchInterval:e=>e.state.data&&p.has(e.state.data.status)?!1:f,staleTime:0,meta:m}),T=()=>{let e=a();return i({mutationKey:[`schema`,`create`],meta:m,mutationFn:({category:e,input:t})=>s(()=>h(e).create(t)),onSuccess:()=>e.invalidateQueries({queryKey:r.schema.all})})},E=()=>i({mutationKey:[`schema`,`plan`],meta:m,mutationFn:({category:e,id:t,definition:n,expectedVersion:r})=>s(()=>h(e).planUpdate(t,{definition:n,expectedVersion:r}))}),D=()=>{let e=a();return i({mutationKey:[`schema`,`delete`],mutationFn:({category:e,id:t,expectedVersion:n})=>s(()=>h(e).remove(t,n)),onSuccess:()=>e.invalidateQueries({queryKey:r.schema.all})})};export{b as a,E as c,x as d,S as f,T as i,w as l,g as n,_ as o,p,v as r,D as s,y as t,C as u};
2
- //# sourceMappingURL=schema-KXXSPVJn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-KXXSPVJn.js","names":["useMemo","__toESM","useQuery","queryKeys","useMutation","useQueryClient","adminApi","queryOptions","import_react","require_react","SCHEMA_POLL_INTERVAL_MS","SCHEMA_VERSION_STALE_MS","SCHEMA_CHANGE_POLL_INTERVAL_MS","FINAL_CHANGE_STATUSES","silent","definitionApi","category","definitionsQueryOptions","useDefinitions","useAllDefinitions","models","components","definitionQueryOptions","id","useDefinition","useSchemaSummary","useSchemaVersion","summary","useSchemaSettings","useSchemaChange","changeId","query","useCreateDefinition","queryClient","withCsrf","input","usePlanChange","useDeleteDefinition","expectedVersion"],"sources":["../../src/constants/schema.ts","../../src/api/schema.ts"],"sourcesContent":["/** How often the admin checks whether another session changed the schema (no SSE endpoint exists). */\nexport const SCHEMA_POLL_INTERVAL_MS = 5_000;\n\n/** The status bar's schema version is refreshed at most this often (plus on focus); it never polls. */\nexport const SCHEMA_VERSION_STALE_MS = 60_000;\n\n/** How often a running schema change (prerequisite jobs) is polled for its outcome. */\nexport const SCHEMA_CHANGE_POLL_INTERVAL_MS = 1_000;\n\n/** Final states of a planned schema change. */\nexport const FINAL_CHANGE_STATUSES: ReadonlySet<string> = new Set(['activated', 'failed', 'cancelled']);\n","import type {\n CreateDefinitionInput,\n DefinitionCategory,\n DefinitionListItem,\n DefinitionPayload,\n} from '@shapio/client';\nimport { queryOptions, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport {\n FINAL_CHANGE_STATUSES,\n SCHEMA_CHANGE_POLL_INTERVAL_MS,\n SCHEMA_POLL_INTERVAL_MS,\n SCHEMA_VERSION_STALE_MS,\n} from '@/constants/schema';\nimport { adminApi } from './client';\nimport { withCsrf } from './csrf';\nimport { queryKeys } from './queryKeys';\n\nconst silent = { silent: true } as const;\n\nconst definitionApi = (category: DefinitionCategory) =>\n category === 'model' ? adminApi.models : adminApi.components;\n\n/** Every active model or component (the registry), also read by route guards. */\nexport const definitionsQueryOptions = (category: DefinitionCategory) =>\n queryOptions({\n queryKey: queryKeys.schema.definitions(category),\n queryFn: () => definitionApi(category).list(),\n meta: silent,\n });\n\nexport const useDefinitions = (category: DefinitionCategory) => useQuery(definitionsQueryOptions(category));\n\n/** Models and components together (relation targets, component pickers, cross-definition validation). */\nexport const useAllDefinitions = () => {\n const models = useDefinitions('model');\n const components = useDefinitions('component');\n const definitions = useMemo<DefinitionListItem[] | undefined>(\n () => (models.data && components.data ? [...models.data, ...components.data] : undefined),\n [models.data, components.data],\n );\n return { definitions, error: models.error ?? components.error };\n};\n\n/** One definition with its active version and any change still running for it. */\nexport const definitionQueryOptions = (category: DefinitionCategory, id: string) =>\n queryOptions({\n queryKey: queryKeys.schema.definition(category, id),\n queryFn: () => definitionApi(category).get(id),\n meta: silent,\n });\n\nexport const useDefinition = (category: DefinitionCategory, id: string) =>\n useQuery(definitionQueryOptions(category, id));\n\n/** The global schema version and each definition's version, polled so other sessions' changes show up. */\nexport const useSchemaSummary = () =>\n useQuery({\n queryKey: queryKeys.schema.summary,\n queryFn: () => adminApi.schema.summary(),\n refetchInterval: SCHEMA_POLL_INTERVAL_MS,\n refetchOnWindowFocus: true,\n staleTime: 0,\n meta: silent,\n });\n\n/**\n * The global schema version for the status bar: the same cache entry as `useSchemaSummary`, but without\n * its poll. It loads once, refreshes on window focus and after our own schema changes (they invalidate\n * `schema.all`), and follows the builder's 5s poll while a builder is open.\n */\nexport const useSchemaVersion = () =>\n useQuery({\n queryKey: queryKeys.schema.summary,\n queryFn: () => adminApi.schema.summary(),\n staleTime: SCHEMA_VERSION_STALE_MS,\n refetchOnWindowFocus: true,\n select: (summary) => summary.schemaVersion,\n meta: silent,\n });\n\nexport const useSchemaSettings = () =>\n useQuery({\n queryKey: queryKeys.schema.settings,\n queryFn: () => adminApi.schema.settings(),\n meta: silent,\n });\n\n/** A planned change's status, polled until it activates, fails or is cancelled. */\nexport const useSchemaChange = (changeId: string | undefined) =>\n useQuery({\n queryKey: queryKeys.schema.change(changeId ?? ''),\n queryFn: () => adminApi.schema.change(changeId ?? ''),\n enabled: changeId !== undefined,\n refetchInterval: (query) =>\n query.state.data && FINAL_CHANGE_STATUSES.has(query.state.data.status)\n ? false\n : SCHEMA_CHANGE_POLL_INTERVAL_MS,\n staleTime: 0,\n meta: silent,\n });\n\nexport const useCreateDefinition = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['schema', 'create'],\n meta: silent,\n mutationFn: ({ category, input }: { category: DefinitionCategory; input: CreateDefinitionInput }) =>\n withCsrf(() => definitionApi(category).create(input)),\n onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.schema.all }),\n });\n};\n\ntype PlanVariables = {\n category: DefinitionCategory;\n id: string;\n definition: DefinitionPayload;\n expectedVersion: number;\n};\n\n/** Plan preview: classification, impact and prerequisites of the draft. Writes nothing. */\nexport const usePlanChange = () =>\n useMutation({\n mutationKey: ['schema', 'plan'],\n meta: silent,\n mutationFn: ({ category, id, definition, expectedVersion }: PlanVariables) =>\n withCsrf(() => definitionApi(category).planUpdate(id, { definition, expectedVersion })),\n });\n\nexport const useDeleteDefinition = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['schema', 'delete'],\n mutationFn: ({\n category,\n id,\n expectedVersion,\n }: {\n category: DefinitionCategory;\n id: string;\n expectedVersion: number;\n }) => withCsrf(() => definitionApi(category).remove(id, expectedVersion)),\n onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.schema.all }),\n });\n};\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{i as r}from"./cn-DnXL75B0.js";import{S as i,d as a,g as o,p as s,s as c,x as l}from"./errors-DfoXUVDI.js";import{F as u,M as d,j as f}from"./badge-CMox6-v3.js";import{r as p,t as m}from"./root-CDpNo7ef.js";import{a as h,c as g,o as _,s as v}from"./RowTitle-sFt6NjO4.js";import{_ as y,g as b,l as x}from"./table-DQzCPm7J.js";import{t as S}from"./coerce-COM3rk1i.js";function C(e){e.statusCode=e.statusCode||e.code||307;let t=new Headers(e.headers);e.href&&t.get(`Location`)===null&&t.set(`Location`,e.href);let n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function w(e){return e instanceof Response&&!!e.options}var T=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e,this._branch=void 0;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=m:this.parentRoute||u();let r=n?m:t?.path;r&&r!==`/`&&(r=l(r));let a=t?.id||r,s=n?m:o((this.parentRoute.id===`__root__`?``:this.parentRoute.id)+`/`+(a??``));r===`__root__`&&(r=`/`);let c=s===`__root__`?`/`:r===void 0?this.parentRoute.fullPath:o(this.parentRoute.fullPath+`/`+r);this._path=r,this._id=s,this._fullPath=c,this._to=i(c)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>C({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},E=class{constructor({id:e}){this.notFound=e=>p({routeId:this.id,...e}),this.redirect=e=>C({from:this.id,...e}),this.id=e}},D=class extends T{constructor(e){super(e)}},O=e(t(),1),k=e(n(),1);function A(e){return new j({id:e})}var j=class extends E{constructor({id:e}){super({id:e}),this.useMatch=e=>d({...e,from:this.id}),this.useRouteContext=e=>h({...e,from:this.id}),this.useSearch=e=>_({...e,from:this.id}),this.useParams=e=>f({...e,from:this.id}),this.useLoaderDeps=e=>v({...e,from:this.id,strict:!1}),this.useLoaderData=e=>g({...e,from:this.id,strict:!1}),this.useNavigate=()=>a({from:s().routesById[this.id].fullPath}),this.notFound=e=>p({routeId:this.id,...e}),this.Link=O.forwardRef((e,t)=>{let n=s().routesById[this.id].fullPath;return(0,k.jsx)(c,{ref:t,from:n,...e})})}},M=class extends T{constructor(e){super(e),this.useMatch=e=>d({...e,from:this.id}),this.useRouteContext=e=>h({...e,from:this.id}),this.useSearch=e=>_({...e,from:this.id}),this.useParams=e=>f({...e,from:this.id}),this.useLoaderDeps=e=>v({...e,from:this.id}),this.useLoaderData=e=>g({...e,from:this.id}),this.useNavigate=()=>a({from:this.fullPath}),this.Link=O.forwardRef((e,t)=>(0,k.jsx)(c,{ref:t,from:this.fullPath,...e}))}};function N(e){return new M(e)}function P(){return e=>I(e)}var F=class extends D{constructor(e){super(e),this.useMatch=e=>d({...e,from:this.id}),this.useRouteContext=e=>h({...e,from:this.id}),this.useSearch=e=>_({...e,from:this.id}),this.useParams=e=>f({...e,from:this.id}),this.useLoaderDeps=e=>v({...e,from:this.id}),this.useLoaderData=e=>g({...e,from:this.id}),this.useNavigate=()=>a({from:this.fullPath}),this.Link=O.forwardRef((e,t)=>(0,k.jsx)(c,{ref:t,from:this.fullPath,...e}))}};function I(e){return new F(e)}var L={name:`camera`,size:24,node:[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]};L.node;var R=r(L),z={name:`file-code-corner`,size:24,node:[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]],aliases:[`file-code-2`]};z.node;var B=r(z),V=[`rest`,`graphql`],H=b({tab:x(V).optional().catch(void 0),op:y().trim().min(1).max(200).optional().catch(void 0)}),U=[`changes`,`checks`,`consumers`,`timeline`],W=b({tab:x(U).optional().catch(void 0)}),G=b({cursor:y().max(500).optional().catch(void 0)}),K=[`diff`,`timeline`],q=S().int().min(0).optional().catch(void 0),J=b({from:q,tab:x(K).optional().catch(void 0),at:q});export{W as a,B as c,N as d,A as f,U as i,R as l,C as m,J as n,V as o,w as p,G as r,H as s,K as t,P as u};
2
- //# sourceMappingURL=searchSchema-BGrRDBL_.js.map
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{H as r,P as i,V as a,bt as o,i as s,l as c,s as l}from"./cn-DnXL75B0.js";import{t as u}from"./RowTitle-sFt6NjO4.js";import{a as d}from"./FormCheckboxGroup-Bicl1CBP.js";import{o as f,s as p}from"./constants-CS1ziZO0.js";import{t as m}from"./UserAvatar-D-yX0ozh.js";import{_ as h,b as g,g as _,l as v,m as y,u as b,v as x}from"./table-DQzCPm7J.js";import{t as S}from"./coerce-COM3rk1i.js";import{n as C,o as w,s as T,t as E}from"./constants-DUBUgzpU.js";import{i as D,n as O,t as k}from"./constants-DCtq_UOe.js";var A={name:`earth`,size:24,node:[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],aliases:[`globe-2`]};A.node;var j=s(A),M={name:`shield-check`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]};M.node;var N=s(M),P={name:`user-check`,size:24,node:[[`path`,{d:`m16 11 2 2 4-4`,key:`9rsbq5`}],[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]};P.node;var F=s(P),I={name:`user-x`,size:24,node:[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`17`,x2:`22`,y1:`8`,y2:`13`,key:`3nzzx3`}],[`line`,{x1:`22`,x2:`17`,y1:`8`,y2:`13`,key:`1swrse`}]]};I.node;var L=s(I),R=e(t(),1),z=()=>r({queryKey:i.appRoles.all,queryFn:()=>c.appRoles.list(),meta:{silent:!0}}),ee=e=>r({queryKey:i.appRoles.role(e),queryFn:()=>c.appRoles.get(e),meta:{silent:!0}}),B=()=>{let e=o();return a({mutationKey:[`appRoles`,`create`],meta:{silent:!0},mutationFn:e=>l(()=>c.appRoles.create(e)),onSuccess:()=>e.invalidateQueries({queryKey:i.appRoles.all})})},V=()=>{let e=o();return a({mutationKey:[`appRoles`,`update`],meta:{silent:!0},mutationFn:({id:e,input:t})=>l(()=>c.appRoles.update(e,t)),onSettled:()=>e.invalidateQueries({queryKey:i.appRoles.all})})},H=()=>{let e=o();return a({mutationKey:[`appRoles`,`delete`],mutationFn:e=>l(()=>c.appRoles.remove(e)),onSettled:()=>e.invalidateQueries({queryKey:i.appRoles.all})})},U=()=>{let e=z();return{names:(0,R.useMemo)(()=>new Map((e.data??[]).map(e=>[e.id,e.name])),[e.data]),error:e.error}},W=e(n(),1),G=({name:e,email:t,badge:n})=>(0,W.jsxs)(`span`,{className:`flex min-w-0 items-center gap-3`,children:[(0,W.jsx)(m,{name:e}),(0,W.jsxs)(`span`,{className:`min-w-0`,children:[(0,W.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(u,{className:`truncate`,children:e}),n]}),(0,W.jsx)(`span`,{className:`block truncate text-meta text-muted-foreground`,children:t})]})]}),K=[`admin`,`app_user`,`token`,`anonymous`,`system`],q=_({redirect:h().optional().catch(void 0)}),J=_({cursor:h().max(500).optional().catch(void 0),action:h().trim().min(1).max(200).optional().catch(void 0),actorType:v(K).optional().catch(void 0)}),Y=_({q:h().trim().min(1).max(200).optional().catch(void 0),cursor:h().max(500).optional().catch(void 0)}),X=_({tab:v(f).optional().catch(void 0)}),Z=_({kind:v(p).optional().catch(void 0)}),Q=_({folder:x([y(D),g()]).optional().catch(void 0),q:h().trim().min(1).max(200).optional().catch(void 0),type:v(k).optional().catch(void 0),view:v(O).optional().catch(void 0),asset:g().optional().catch(void 0)}),$=h().max(500).optional().catch(void 0),te=_({cursor:$}),ne=_({cursor:$,status:v(d).optional().catch(void 0)}),re=_({field:h().regex(/^[_A-Za-z][_0-9A-Za-z]*$/).max(64),operator:v(w),value:h().max(1e3).optional()}),ie=_({q:h().trim().min(1).max(200).optional().catch(void 0),page:S().int().min(1).max(1e6).optional().catch(void 0),pageSize:S().refine(e=>T.includes(e)).optional().catch(void 0),sort:h().regex(/^[_A-Za-z][_0-9A-Za-z]*:(asc|desc)$/).optional().catch(void 0),locale:h().max(35).optional().catch(void 0),filters:b(re).max(20).optional().catch(void 0),status:v(E).optional().catch(void 0),author:g().optional().catch(void 0),tab:v(C).optional().catch(void 0)}),ae=_({locale:h().max(35).optional().catch(void 0),revision:g().optional().catch(void 0)});export{j as S,H as _,ae as a,F as b,X as c,K as d,G as f,B as g,z as h,te as i,Z as l,U as m,J as n,q as o,ee as p,ie as r,Q as s,Y as t,ne as u,V as v,N as x,L as y};
2
- //# sourceMappingURL=searchSchemas-ChN9hhuQ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchSchemas-ChN9hhuQ.js","names":["__iconData","__iconData","__iconData","useMemo","z.object","z.string","z.enum","z.union","z.literal","z.uuid","z.coerce.number","z.array","__toESM","require_jsx_runtime","useQuery","queryKeys","useMutation","useQueryClient","createLucideIcon","adminApi","withCsrf","RowTitle","SCHEDULE_STATUSES","MODEL_TABS","NEW_DEFINITION_KINDS","UserAvatar","string","uuid","object","_enum","literal","array","union","number","PLACE_TABS","CONTENT_FILTER_OPERATORS","CONTENT_PAGE_SIZES","ENTRY_STATUSES","ROOT_FOLDER","MEDIA_VIEWS","MEDIA_TYPE_FILTERS","__iconData$3","Earth","__iconData$2","ShieldCheck","__iconData$1","UserCheck","__iconData","UserX","import_react","require_react","useAppRoles","useAppRole","id","useCreateAppRole","queryClient","input","useUpdateAppRole","useDeleteAppRole","useAppRoleNames","roles","role","import_jsx_runtime","Person","name","badge","email","AUDIT_ACTOR_TYPES","loginSearchSchema","auditSearchSchema","appUsersSearchSchema","modelsSearchSchema","newModelSearchSchema","mediaSearchSchema","cursorParam","cursorSearchSchema","schedulesSearchSchema","contentFilterSchema","contentListSearchSchema","size","entrySearchSchema"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/earth.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/shield-check.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/user-check.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/user-x.mjs","../../src/api/appRoles.ts","../../src/features/Users/Person/index.tsx","../../src/constants/audit.ts","../../src/app/searchSchemas.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"earth\",\n size: 24,\n node: [\n [\"path\", { d: \"M21.54 15H17a2 2 0 0 0-2 2v4.54\", key: \"1djwo0\" }],\n [\n \"path\",\n {\n d: \"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17\",\n key: \"1tzkfa\"\n }\n ],\n [\n \"path\",\n { d: \"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05\", key: \"14pb5j\" }\n ],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]\n ],\n aliases: [\"globe-2\"]\n};\n__iconData.node;\nconst Earth = createLucideIcon(__iconData);\n\nexport { __iconData, Earth as default };\n//# sourceMappingURL=earth.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"shield-check\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\n key: \"oel41y\"\n }\n ],\n [\"path\", { d: \"m9 12 2 2 4-4\", key: \"dzmm74\" }]\n ]\n};\n__iconData.node;\nconst ShieldCheck = createLucideIcon(__iconData);\n\nexport { __iconData, ShieldCheck as default };\n//# sourceMappingURL=shield-check.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"user-check\",\n size: 24,\n node: [\n [\"path\", { d: \"m16 11 2 2 4-4\", key: \"9rsbq5\" }],\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }]\n ]\n};\n__iconData.node;\nconst UserCheck = createLucideIcon(__iconData);\n\nexport { __iconData, UserCheck as default };\n//# sourceMappingURL=user-check.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"user-x\",\n size: 24,\n node: [\n [\"path\", { d: \"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\", key: \"1yyitq\" }],\n [\"circle\", { cx: \"9\", cy: \"7\", r: \"4\", key: \"nufk8\" }],\n [\"line\", { x1: \"17\", x2: \"22\", y1: \"8\", y2: \"13\", key: \"3nzzx3\" }],\n [\"line\", { x1: \"22\", x2: \"17\", y1: \"8\", y2: \"13\", key: \"1swrse\" }]\n ]\n};\n__iconData.node;\nconst UserX = createLucideIcon(__iconData);\n\nexport { __iconData, UserX as default };\n//# sourceMappingURL=user-x.mjs.map\n","import type { CreateAppRoleInput, UpdateAppRoleInput } from '@shapio/client';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { useMemo } from 'react';\nimport { adminApi } from './client';\nimport { withCsrf } from './csrf';\nimport { queryKeys } from './queryKeys';\n\nexport const useAppRoles = () =>\n useQuery({\n queryKey: queryKeys.appRoles.all,\n queryFn: () => adminApi.appRoles.list(),\n meta: { silent: true },\n });\n\nexport const useAppRole = (id: string) =>\n useQuery({\n queryKey: queryKeys.appRoles.role(id),\n queryFn: () => adminApi.appRoles.get(id),\n meta: { silent: true },\n });\n\nexport const useCreateAppRole = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['appRoles', 'create'],\n meta: { silent: true },\n mutationFn: (input: CreateAppRoleInput) => withCsrf(() => adminApi.appRoles.create(input)),\n onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.appRoles.all }),\n });\n};\n\nexport const useUpdateAppRole = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['appRoles', 'update'],\n meta: { silent: true },\n mutationFn: ({ id, input }: { id: string; input: UpdateAppRoleInput }) =>\n withCsrf(() => adminApi.appRoles.update(id, input)),\n onSettled: () => queryClient.invalidateQueries({ queryKey: queryKeys.appRoles.all }),\n });\n};\n\nexport const useDeleteAppRole = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['appRoles', 'delete'],\n mutationFn: (id: string) => withCsrf(() => adminApi.appRoles.remove(id)),\n onSettled: () => queryClient.invalidateQueries({ queryKey: queryKeys.appRoles.all }),\n });\n};\n\n/** App role names by ID, for the roles app users hold. */\nexport const useAppRoleNames = () => {\n const roles = useAppRoles();\n const names = useMemo(() => new Map((roles.data ?? []).map((role) => [role.id, role.name])), [roles.data]);\n return { names, error: roles.error };\n};\n","import type { ReactNode } from 'react';\nimport { RowTitle } from '@/components/RowTitle';\nimport { UserAvatar } from '@/components/UserAvatar';\n\ntype PersonProps = { name: string; email: string; badge?: ReactNode };\n\n/** A user list's first cell: avatar, name (with an optional badge) and email. */\nexport const Person = ({ name, email, badge }: PersonProps) => (\n <span className=\"flex min-w-0 items-center gap-3\">\n <UserAvatar name={name} />\n <span className=\"min-w-0\">\n <span className=\"flex items-center gap-2\">\n <RowTitle className=\"truncate\">{name}</RowTitle>\n {badge}\n </span>\n <span className=\"block truncate text-meta text-muted-foreground\">{email}</span>\n </span>\n </span>\n);\n","import type { AuditActorType } from '@shapio/client';\n\nexport const AUDIT_ACTOR_TYPES = [\n 'admin',\n 'app_user',\n 'token',\n 'anonymous',\n 'system',\n] as const satisfies readonly AuditActorType[];\n","import { SCHEDULE_STATUSES } from '@shapio/client';\nimport { z } from 'zod';\nimport { AUDIT_ACTOR_TYPES } from '@/constants/audit';\nimport { CONTENT_FILTER_OPERATORS, CONTENT_PAGE_SIZES } from '@/features/Content/constants';\nimport { ENTRY_STATUSES, PLACE_TABS } from '@/features/Content/Place/constants';\nimport { MEDIA_TYPE_FILTERS, MEDIA_VIEWS, ROOT_FOLDER } from '@/features/Media/constants';\nimport { MODEL_TABS, NEW_DEFINITION_KINDS } from '@/features/Models/constants';\n\nexport const AUDIT_PAGE_SIZE = 50;\n\nexport const loginSearchSchema = z.object({ redirect: z.string().optional().catch(undefined) });\n\nexport const auditSearchSchema = z.object({\n cursor: z.string().max(500).optional().catch(undefined),\n action: z.string().trim().min(1).max(200).optional().catch(undefined),\n actorType: z.enum(AUDIT_ACTOR_TYPES).optional().catch(undefined),\n});\n\nexport type AuditSearch = z.infer<typeof auditSearchSchema>;\n\nexport const appUsersSearchSchema = z.object({\n q: z.string().trim().min(1).max(200).optional().catch(undefined),\n cursor: z.string().max(500).optional().catch(undefined),\n});\n\nexport type AppUsersSearch = z.infer<typeof appUsersSearchSchema>;\n\nexport const modelsSearchSchema = z.object({ tab: z.enum(MODEL_TABS).optional().catch(undefined) });\n\nexport const newModelSearchSchema = z.object({\n kind: z.enum(NEW_DEFINITION_KINDS).optional().catch(undefined),\n});\n\nexport const mediaSearchSchema = z.object({\n /** A folder ID, `root` (no folder), or every folder when absent. */\n folder: z\n .union([z.literal(ROOT_FOLDER), z.uuid()])\n .optional()\n .catch(undefined),\n q: z.string().trim().min(1).max(200).optional().catch(undefined),\n type: z.enum(MEDIA_TYPE_FILTERS).optional().catch(undefined),\n view: z.enum(MEDIA_VIEWS).optional().catch(undefined),\n /** The asset whose details are open. */\n asset: z.uuid().optional().catch(undefined),\n});\n\nexport type MediaSearch = z.infer<typeof mediaSearchSchema>;\n\n/** A page of a cursor-paginated publishing list (runs, deliveries). */\nconst cursorParam = z.string().max(500).optional().catch(undefined);\n\nexport const cursorSearchSchema = z.object({ cursor: cursorParam });\n\nexport const schedulesSearchSchema = z.object({\n cursor: cursorParam,\n status: z.enum(SCHEDULE_STATUSES).optional().catch(undefined),\n});\n\nexport type SchedulesSearch = z.infer<typeof schedulesSearchSchema>;\n\n/** A content list's filter row: field API key (or createdAt/updatedAt), operator and text value. */\nconst contentFilterSchema = z.object({\n field: z\n .string()\n .regex(/^[_A-Za-z][_0-9A-Za-z]*$/)\n .max(64),\n operator: z.enum(CONTENT_FILTER_OPERATORS),\n value: z.string().max(1000).optional(),\n});\n\nexport const contentListSearchSchema = z.object({\n q: z.string().trim().min(1).max(200).optional().catch(undefined),\n page: z.coerce.number().int().min(1).max(1_000_000).optional().catch(undefined),\n pageSize: z.coerce\n .number()\n .refine((size) => (CONTENT_PAGE_SIZES as readonly number[]).includes(size))\n .optional()\n .catch(undefined),\n /** `field:asc` or `field:desc`. */\n sort: z\n .string()\n .regex(/^[_A-Za-z][_0-9A-Za-z]*:(asc|desc)$/)\n .optional()\n .catch(undefined),\n locale: z.string().max(35).optional().catch(undefined),\n filters: z.array(contentFilterSchema).max(20).optional().catch(undefined),\n /** Only entries in this state (in the list's locale). */\n status: z.enum(ENTRY_STATUSES).optional().catch(undefined),\n /** Only entries created by this admin (user ID). */\n author: z.uuid().optional().catch(undefined),\n /** The place's tab (Structure and API need the schema permission; Entries when absent). */\n tab: z.enum(PLACE_TABS).optional().catch(undefined),\n});\n\nexport type ContentListSearch = z.infer<typeof contentListSearchSchema>;\n\n/** The content locale an entry is edited in (the default locale when absent). */\nexport const entrySearchSchema = z.object({\n locale: z.string().max(35).optional().catch(undefined),\n /** Opens the document's history at this revision (Snapshots → Timeline, \"Open this version\"). */\n revision: z.uuid().optional().catch(undefined),\n});\n"],"ignoreList":[0,1,2,3],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{A as e,i as t,k as n,p as r}from"./cn-DnXL75B0.js";import{t as i}from"./globe-Bvs3UC3V.js";import{t as a}from"./key-round-Bcw6qqcb.js";import{t as o}from"./sparkles-B_NX7PAY.js";var s={name:`monitor-smartphone`,size:24,node:[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]};s.node;var c=t(s),l={name:`monitor`,size:24,node:[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]};l.node;var u=t(l),d={name:`moon`,size:24,node:[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]};d.node;var f=t(d),p={name:`palette`,size:24,node:[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]};p.node;var m=t(p),h={name:`sun`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]};h.node;var g=t(h),_={name:`user-round`,size:24,node:[[`circle`,{cx:`12`,cy:`8`,r:`5`,key:`1hypcn`}],[`path`,{d:`M20 21a8 8 0 0 0-16 0`,key:`rfgkzh`}]],aliases:[`user-2`]};_.node;var v=t(_),y={system:u,light:g,dark:f},b=[`system`,`light`,`dark`],x=e=>b.includes(e),S=r()(e(e=>({preference:`system`,setPreference:t=>e({preference:t})}),{name:`shapio.theme`,storage:n,version:1})),C=[{key:`account`,sections:[{key:`profile`,to:`/settings/profile`,icon:v},{key:`sessions`,to:`/settings/sessions`,icon:c},{key:`appearance`,to:`/settings/theme`,icon:m}]},{key:`workspace`,sections:[{key:`locales`,to:`/settings/locales`,icon:i},{key:`assist`,to:`/settings/assist`,icon:o}]},{key:`developer`,sections:[{key:`apiTokens`,to:`/settings/api-tokens`,icon:a,permission:`tokens.manage`}]}];export{y as a,m as c,S as i,f as l,b as n,v as o,x as r,g as s,C as t,c as u};
2
- //# sourceMappingURL=sections-BrGcWOnw.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sections-BrGcWOnw.js","names":["__iconData","__iconData","__iconData","__iconData","__iconData","persist","createLucideIcon","persistentStorage","create","Globe","KeyRound","Sparkles","__iconData$5","MonitorSmartphone","__iconData$4","Monitor","__iconData$3","Moon","__iconData$2","Palette","__iconData$1","Sun","__iconData","UserRound","THEME_ICONS","THEME_PREFERENCES","isThemePreference","value","useThemeStore","set","SETTINGS_GROUPS"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/monitor-smartphone.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/monitor.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/moon.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/palette.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/sun.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/user-round.mjs","../../src/constants/themeIcons.ts","../../src/stores/theme.ts","../../src/features/Settings/sections.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"monitor-smartphone\",\n size: 24,\n node: [\n [\"path\", { d: \"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8\", key: \"10dyio\" }],\n [\"path\", { d: \"M10 19v-3.96 3.15\", key: \"1irgej\" }],\n [\"path\", { d: \"M7 19h5\", key: \"qswx4l\" }],\n [\"rect\", { width: \"6\", height: \"10\", x: \"16\", y: \"12\", rx: \"2\", key: \"1egngj\" }]\n ]\n};\n__iconData.node;\nconst MonitorSmartphone = createLucideIcon(__iconData);\n\nexport { __iconData, MonitorSmartphone as default };\n//# sourceMappingURL=monitor-smartphone.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"monitor\",\n size: 24,\n node: [\n [\"rect\", { width: \"20\", height: \"14\", x: \"2\", y: \"3\", rx: \"2\", key: \"48i651\" }],\n [\"line\", { x1: \"8\", x2: \"16\", y1: \"21\", y2: \"21\", key: \"1svkeh\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"17\", y2: \"21\", key: \"vw1qmm\" }]\n ]\n};\n__iconData.node;\nconst Monitor = createLucideIcon(__iconData);\n\nexport { __iconData, Monitor as default };\n//# sourceMappingURL=monitor.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"moon\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\",\n key: \"kfwtm\"\n }\n ]\n ]\n};\n__iconData.node;\nconst Moon = createLucideIcon(__iconData);\n\nexport { __iconData, Moon as default };\n//# sourceMappingURL=moon.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"palette\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\",\n key: \"e79jfc\"\n }\n ],\n [\"circle\", { cx: \"13.5\", cy: \"6.5\", r: \".5\", fill: \"currentColor\", key: \"1okk4w\" }],\n [\"circle\", { cx: \"17.5\", cy: \"10.5\", r: \".5\", fill: \"currentColor\", key: \"f64h9f\" }],\n [\"circle\", { cx: \"6.5\", cy: \"12.5\", r: \".5\", fill: \"currentColor\", key: \"qy21gx\" }],\n [\"circle\", { cx: \"8.5\", cy: \"7.5\", r: \".5\", fill: \"currentColor\", key: \"fotxhn\" }]\n ]\n};\n__iconData.node;\nconst Palette = createLucideIcon(__iconData);\n\nexport { __iconData, Palette as default };\n//# sourceMappingURL=palette.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"sun\",\n size: 24,\n node: [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"4\", key: \"4exip2\" }],\n [\"path\", { d: \"M12 2v2\", key: \"tus03m\" }],\n [\"path\", { d: \"M12 20v2\", key: \"1lh1kg\" }],\n [\"path\", { d: \"m4.93 4.93 1.41 1.41\", key: \"149t6j\" }],\n [\"path\", { d: \"m17.66 17.66 1.41 1.41\", key: \"ptbguv\" }],\n [\"path\", { d: \"M2 12h2\", key: \"1t8f8n\" }],\n [\"path\", { d: \"M20 12h2\", key: \"1q8mjw\" }],\n [\"path\", { d: \"m6.34 17.66-1.41 1.41\", key: \"1m8zz5\" }],\n [\"path\", { d: \"m19.07 4.93-1.41 1.41\", key: \"1shlcs\" }]\n ]\n};\n__iconData.node;\nconst Sun = createLucideIcon(__iconData);\n\nexport { __iconData, Sun as default };\n//# sourceMappingURL=sun.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"user-round\",\n size: 24,\n node: [\n [\"circle\", { cx: \"12\", cy: \"8\", r: \"5\", key: \"1hypcn\" }],\n [\"path\", { d: \"M20 21a8 8 0 0 0-16 0\", key: \"rfgkzh\" }]\n ],\n aliases: [\"user-2\"]\n};\n__iconData.node;\nconst UserRound = createLucideIcon(__iconData);\n\nexport { __iconData, UserRound as default };\n//# sourceMappingURL=user-round.mjs.map\n","import { Monitor, Moon, Sun, type LucideIcon } from 'lucide-react';\nimport type { ThemePreference } from '@/stores/theme';\n\nexport const THEME_ICONS = { system: Monitor, light: Sun, dark: Moon } satisfies Record<\n ThemePreference,\n LucideIcon\n>;\n","import { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\nimport { persistentStorage } from '@/helpers/safeStorage';\n\nexport const THEME_PREFERENCES = ['system', 'light', 'dark'] as const;\n\nexport type ThemePreference = (typeof THEME_PREFERENCES)[number];\n\nexport const isThemePreference = (value: string): value is ThemePreference =>\n (THEME_PREFERENCES as readonly string[]).includes(value);\n\ntype ThemeState = {\n preference: ThemePreference;\n setPreference: (preference: ThemePreference) => void;\n};\n\n/** Key and shape are read before first paint by public/theme-init.js; keep them in sync. */\nexport const THEME_STORAGE_KEY = 'shapio.theme';\n\nexport const useThemeStore = create<ThemeState>()(\n persist(\n (set) => ({\n preference: 'system',\n setPreference: (preference) => set({ preference }),\n }),\n { name: THEME_STORAGE_KEY, storage: persistentStorage, version: 1 },\n ),\n);\n","import type { GlobalAction } from '@shapio/client';\nimport {\n Globe,\n KeyRound,\n MonitorSmartphone,\n Palette,\n Sparkles,\n UserRound,\n type LucideIcon,\n} from 'lucide-react';\n\ntype SettingsPath =\n | '/settings/profile'\n | '/settings/sessions'\n | '/settings/theme'\n | '/settings/locales'\n | '/settings/assist'\n | '/settings/api-tokens';\n\ntype SettingsSection = {\n key: 'profile' | 'sessions' | 'appearance' | 'locales' | 'assist' | 'apiTokens';\n to: SettingsPath;\n icon: LucideIcon;\n /** Hidden unless the admin holds this permission (the server enforces it either way). */\n permission?: GlobalAction;\n};\n\nexport const SETTINGS_GROUPS: readonly {\n key: 'account' | 'workspace' | 'developer';\n sections: readonly SettingsSection[];\n}[] = [\n {\n key: 'account',\n sections: [\n { key: 'profile', to: '/settings/profile', icon: UserRound },\n { key: 'sessions', to: '/settings/sessions', icon: MonitorSmartphone },\n { key: 'appearance', to: '/settings/theme', icon: Palette },\n ],\n },\n {\n key: 'workspace',\n sections: [\n { key: 'locales', to: '/settings/locales', icon: Globe },\n { key: 'assist', to: '/settings/assist', icon: Sparkles },\n ],\n },\n {\n key: 'developer',\n sections: [{ key: 'apiTokens', to: '/settings/api-tokens', icon: KeyRound, permission: 'tokens.manage' }],\n },\n];\n"],"ignoreList":[0,1,2,3,4,5],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{H as r,P as i,V as a,bt as o,i as s,j as c,l,s as u}from"./cn-DnXL75B0.js";import{t as d}from"./errors-DfoXUVDI.js";import{O as f,_ as p,a as m,i as h,n as g,o as _,t as ee}from"./badge-CMox6-v3.js";import{n as te}from"./Match-DaYgKrk7.js";import{i as v,n as y,r as ne,t as b}from"./RowTitle-sFt6NjO4.js";import{t as x}from"./fileRoute-BYwireXG.js";import{t as re}from"./UnsavedChangesGuard-BYwMTDsE.js";import{G as S,R as ie,f as ae,o as oe,p as se,t as ce,u as C}from"./InfoHint-DBqcrmZ3.js";import{N as w,i as T,n as E,r as D}from"./skeleton-DUvclBAr.js";import{i as le,m as ue,o as de,u as O}from"./auth-b3_9QbtL.js";import{n as fe,t as pe}from"./arrow-up-Ws7W9KsZ.js";import{a as me,i as he,n as ge,r as _e,t as ve}from"./select--nGB4WjU.js";import{i as k,r as A,t as j}from"./ConfirmDialog-D6rs75TP.js";import{t as ye}from"./ellipsis-DNdmromA.js";import{t as be}from"./globe-Bvs3UC3V.js";import{t as xe}from"./key-round-Bcw6qqcb.js";import{a as Se,i as M,n as Ce,r as we,t as Te,u as Ee}from"./sections-BrGcWOnw.js";import{t as De}from"./pencil-Zd05MDs2.js";import{t as Oe}from"./plus-B0gd63Da.js";import{a as N,p as ke,r as Ae,t as je}from"./dropdown-menu-CW3fabv5.js";import{t as Me}from"./radio-group-DVR0mTpo.js";import{a as Ne,c as Pe,f as Fe,n as P,o as F,r as Ie,s as Le,t as I,u as L}from"./zod-Pf5A-ax4.js";import{t as R}from"./settle-LRKtTN_e.js";import{_ as z,a as B,g as V,i as H,l as U,n as W,o as G,r as K,s as q,t as J,u as Re}from"./table-DQzCPm7J.js";import{t as ze}from"./HintedLabel-jKLM0ETt.js";import{t as Y}from"./QueryView-DFZtm0fn.js";import{t as Be}from"./FormRadioGroup-34iVSV4L.js";import{L as Ve}from"./src-D6DABe5J.js";import{a as He,i as Ue,n as We,r as Ge,t as Ke}from"./locales-Bnv3qcdZ.js";import{t as qe}from"./textarea-_wcx8Mn1.js";import{a as Je,l as Ye,m as Xe,p as Ze,r as Qe,t as $e}from"./AssistError-hVUWpP3F.js";import{t as X}from"./Panel-6wFe96Gr.js";import{t as et}from"./ExternalLink-Cdfcyyed.js";import{t as tt}from"./RadioTile-DsTyz7ml.js";import{n as nt,r as rt,t as it}from"./SubNavLink-C5oN5mzB.js";import{n as at,t as ot}from"./FormSelectField-Ba4fIu-8.js";import{n as st,r as ct,t as lt}from"./tokens-CqsxrApC.js";import{a as ut,i as dt,t as ft}from"./SecretReveal-Z6MOFdcL.js";import{t as pt}from"./useConfirmTarget-9JmfiY2X.js";var mt={name:`star`,size:24,node:[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]};mt.node;var ht=s(mt),Z=e(n(),1),gt=()=>{let{t:e}=c(),t=O().data?.globalPermissions??[];return(0,Z.jsx)(nt,{label:e(`settings.sections`),children:Te.map(n=>{let r=n.sections.filter(e=>!e.permission||t.includes(e.permission));return r.length===0?null:(0,Z.jsx)(rt,{label:e(`settings.${n.key}`),children:r.map(t=>{let n=t.icon;return(0,Z.jsxs)(it,{to:t.to,children:[(0,Z.jsx)(n,{"aria-hidden":`true`}),e(`settings.${t.key}`)]},t.key)})},n.key)})})},_t=()=>(0,Z.jsx)(m,{children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6 lg:flex-row lg:items-start lg:gap-8`,children:[(0,Z.jsx)(gt,{}),(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Z.jsx)(te,{})})]})}),Q=e(t(),1),vt=[`never`,`30`,`90`,`365`],yt=864e5,bt=(e,t=new Date)=>e===`never`?null:new Date(t.getTime()+Number(e)*yt).toISOString(),xt=V({name:F(),roleId:z().min(1,`validation.selectRole`),expiry:U(vt),scope:U([`site`,`network`])}),$={name:``,roleId:``,expiry:`90`,scope:`site`},St=(e,t,n)=>{let r=st(),i=L({resolver:I(xt),defaultValues:$}),{reset:a}=i;return(0,Q.useEffect)(()=>{e&&a($)},[e,a]),{form:i,onSubmit:i.handleSubmit(async({name:e,roleId:i,expiry:o,scope:s})=>{let c=s===`network`&&n(i),l=await R(r.mutateAsync({name:e,roleId:i,expiresAt:bt(o),network:c}));l.ok&&(a($),t(l.value))}),createToken:r}},Ct=({open:e,onOpenChange:t,onCreated:n,onCloseAutoFocus:r})=>{let{t:i}=c(),a=ut(),{data:o}=O(),s=o?.networkPermissions.includes(`users.manage`)??!1,l=e=>s&&a.data?.find(t=>t.id===e)?.kind===`admin`,{form:u,onSubmit:d,createToken:f}=St(e,n,l),p=Fe({control:u.control,name:`roleId`}),m=[{value:`site`,label:i(`apiTokens.scopeSite`,{name:o?.site.name??``}),description:i(`apiTokens.scopeSiteDescription`)},{value:`network`,label:i(`apiTokens.scopeNetwork`),description:i(`apiTokens.scopeNetworkDescription`)}],h=(a.data??[]).map(e=>({value:e.id,label:e.name})),g=vt.map(e=>({value:e,label:e===`never`?i(`apiTokens.expiryNever`):i(`apiTokens.expiryDays`,{count:Number(e)})}));return(0,Z.jsxs)(at,{open:e,onOpenChange:t,size:`md`,...r?{onCloseAutoFocus:r}:{},title:i(`apiTokens.createTitle`),dirty:u.formState.isDirty,pending:f.isPending,submitLabel:i(`common.create`),pendingLabel:i(`common.saving`),onSubmit:e=>void d(e),children:[(0,Z.jsx)(P,{control:u.control,name:`name`,label:i(`apiTokens.name`),autoComplete:`off`}),(0,Z.jsx)(ot,{control:u.control,name:`roleId`,label:i(`apiTokens.role`),options:h}),l(p)?(0,Z.jsx)(Be,{control:u.control,name:`scope`,legend:i(`apiTokens.scope`),options:m}):null,(0,Z.jsx)(ot,{control:u.control,name:`expiry`,label:i(`apiTokens.expiry`),options:g}),(0,Z.jsx)(k,{error:f.error??a.error})]})},wt=({tokens:e,roleNames:t,siteName:n,onRevoke:r})=>{let{t:i}=c();return(0,Z.jsx)(q,{children:(0,Z.jsxs)(J,{children:[(0,Z.jsx)(B,{children:(0,Z.jsxs)(G,{children:[(0,Z.jsx)(H,{children:i(`apiTokens.name`)}),(0,Z.jsx)(H,{children:i(`apiTokens.prefix`)}),(0,Z.jsx)(H,{children:i(`apiTokens.role`)}),(0,Z.jsx)(H,{children:i(`apiTokens.appliesTo`)}),(0,Z.jsx)(H,{children:i(`apiTokens.status`)}),(0,Z.jsx)(H,{children:i(`apiTokens.lastUsed`)}),(0,Z.jsx)(H,{children:i(`apiTokens.expires`)}),(0,Z.jsx)(H,{children:(0,Z.jsx)(`span`,{className:`sr-only`,children:i(`common.actions`)})})]})}),(0,Z.jsx)(W,{children:e.map(e=>(0,Z.jsxs)(G,{children:[(0,Z.jsx)(K,{children:(0,Z.jsx)(b,{children:e.name})}),(0,Z.jsx)(K,{className:`font-mono text-xs`,children:`${e.tokenPrefix}…`}),(0,Z.jsx)(K,{children:t.get(e.roleId)??i(`common.unknown`)}),(0,Z.jsx)(K,{children:e.siteId===null?i(`sites.everySite`):n}),(0,Z.jsx)(K,{children:e.revokedAt?(0,Z.jsx)(g,{tone:`muted`,label:i(`apiTokens.revokedBadge`)}):(0,Z.jsx)(g,{tone:`success`,label:i(`apiTokens.active`)})}),(0,Z.jsx)(K,{title:y(e.lastUsedAt)||void 0,children:e.lastUsedAt?v(e.lastUsedAt):i(`common.never`)}),(0,Z.jsx)(K,{children:e.expiresAt?y(e.expiresAt):i(`common.never`)}),(0,Z.jsx)(K,{className:`text-right`,children:e.revokedAt?null:(0,Z.jsx)(A,{tone:`danger`,title:i(`apiTokens.revokeTitle`,{name:e.name}),description:i(`apiTokens.revokeDescription`),confirmLabel:i(`common.revoke`),onConfirm:()=>r(e),trigger:(0,Z.jsx)(T,{variant:`outline`,size:`sm`,"aria-label":`${i(`common.revoke`)}: ${e.name}`,children:i(`common.revoke`)})})})]},e.id))})]})})},Tt=()=>{let{t:e}=c(),t=lt(),{names:n}=dt(),r=O().data?.site.name??``,i=ct(),[a,o]=(0,Q.useState)(!1),[s,l]=(0,Q.useState)(void 0),u=async t=>{await i.mutateAsync(t.id),S.success(e(`apiTokens.revoked`))},d=(0,Z.jsxs)(T,{onClick:()=>o(!0),children:[(0,Z.jsx)(Oe,{"aria-hidden":`true`}),e(`apiTokens.create`)]});return(0,Z.jsxs)(m,{width:`full`,children:[(0,Z.jsx)(h,{title:e(`apiTokens.title`),actions:d}),s?(0,Z.jsx)(ft,{title:e(`apiTokens.secretTitle`),description:e(`apiTokens.secretDescription`),label:e(`apiTokens.secretLabel`),secret:s,dismissLabel:e(`apiTokens.secretDone`),onDismiss:()=>l(void 0)}):null,(0,Z.jsx)(Y,{query:t,isEmpty:e=>e.length===0,empty:(0,Z.jsx)(_,{icon:xe,title:e(`apiTokens.empty`),description:e(`apiTokens.emptyDescription`),action:d}),children:e=>(0,Z.jsx)(wt,{tokens:e,roleNames:n,siteName:r,onRevoke:u})}),(0,Z.jsx)(Ct,{open:a,onOpenChange:o,onCreated:e=>{l(e.token),o(!1)},onCloseAutoFocus:e=>s!==void 0&&e.preventDefault()})]})},Et=()=>{let{t:e}=c(),t=M(e=>e.preference),n=M(e=>e.setPreference);return(0,Z.jsxs)(m,{width:`full`,children:[(0,Z.jsx)(h,{title:e(`appearance.title`)}),(0,Z.jsx)(X,{title:e(`appearance.mode`),description:e(`appearance.storedHere`),children:(0,Z.jsx)(Me,{"aria-label":e(`appearance.mode`),value:t,onValueChange:e=>{we(e)&&n(e)},className:`sm:grid-cols-3`,children:Ce.map(t=>(0,Z.jsx)(tt,{value:t,label:e(`theme.${t}`),icon:Se[t]},t))})})]})},Dt=()=>{let{t:e}=c(),t=(0,Q.useId)(),[n,r]=(0,Q.useState)(``),[i,a]=(0,Q.useState)(``),o=Ye(),s=n.trim()!==``&&i.trim()!==``;return(0,Z.jsx)(X,{title:e(`assist.settings.tryIt`),titleAs:`h2`,children:(0,Z.jsxs)(`form`,{className:`space-y-4`,onSubmit:e=>{e.preventDefault(),s&&o.mutate({text:n.trim(),instruction:i.trim()})},children:[(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(D,{htmlFor:`${t}-text`,children:e(`assist.settings.tryText`)}),(0,Z.jsx)(qe,{id:`${t}-text`,value:n,rows:3,maxLength:Xe,onChange:e=>r(e.target.value)})]}),(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(D,{htmlFor:`${t}-instruction`,children:e(`assist.rewrite.instruction`)}),(0,Z.jsx)(E,{id:`${t}-instruction`,value:i,maxLength:500,placeholder:e(`assist.rewrite.instructionPlaceholder`),onChange:e=>a(e.target.value)})]}),(0,Z.jsx)($e,{error:o.error}),(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(Qe,{type:`submit`,variant:`default`,size:`default`,pending:o.isPending,pendingLabel:e(`assist.working`),disabled:!s,children:e(`assist.rewrite.run`)})}),(0,Z.jsx)(`div`,{"aria-live":`polite`,children:o.data?(0,Z.jsxs)(`figure`,{className:`space-y-1 rounded-lg border bg-muted/40 p-3`,children:[(0,Z.jsx)(`figcaption`,{className:`text-meta text-muted-foreground`,children:e(`assist.rewrite.proposal`,{model:o.data.model})}),(0,Z.jsx)(`p`,{className:`text-sm whitespace-pre-wrap`,children:o.data.text})]}):null})]})})},Ot=({usage:e})=>{let{t}=c(),n=[{key:`runs`,label:t(`assist.settings.runs`),value:e.runs},{key:`input`,label:t(`assist.settings.inputTokens`),value:e.inputTokens},{key:`output`,label:t(`assist.settings.outputTokens`),value:e.outputTokens}];return(0,Z.jsx)(X,{title:t(`assist.settings.usage`,{month:ne(e.month)}),titleAs:`h2`,children:(0,Z.jsx)(`dl`,{className:`grid gap-4 sm:grid-cols-3`,children:n.map(e=>(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`dt`,{className:`text-meta text-muted-foreground`,children:e.label}),(0,Z.jsx)(`dd`,{className:`text-2xl font-semibold tabular-nums`,children:e.value.toLocaleString()})]},e.key))})})},kt=()=>{let{t:e}=c(),t=Je();return(0,Z.jsxs)(m,{width:`narrow`,children:[(0,Z.jsx)(h,{title:e(`settings.assist`)}),(0,Z.jsx)(Y,{query:t,loadingRows:3,children:t=>(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(X,{title:e(`assist.settings.status`),titleAs:`h2`,actions:(0,Z.jsx)(g,{tone:t.enabled?`success`:`muted`,label:t.enabled?e(`assist.settings.on`):e(`assist.settings.off`)}),children:[t.enabled?(0,Z.jsxs)(`dl`,{className:`space-y-2 text-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex justify-between gap-3`,children:[(0,Z.jsx)(`dt`,{className:`text-muted-foreground`,children:e(`assist.settings.provider`)}),(0,Z.jsx)(`dd`,{className:`font-mono`,children:t.provider})]}),(0,Z.jsxs)(`div`,{className:`flex justify-between gap-3`,children:[(0,Z.jsx)(`dt`,{className:`text-muted-foreground`,children:e(`assist.settings.model`)}),(0,Z.jsx)(`dd`,{className:`min-w-0 font-mono break-all`,children:t.model})]})]}):(0,Z.jsx)(`p`,{className:`text-sm`,children:e(`assist.settings.offDescription`)}),(0,Z.jsx)(`p`,{className:`mt-4 text-meta`,children:(0,Z.jsx)(et,{href:Ze,children:e(`assist.settings.guide`)})})]}),t.enabled&&t.usage?(0,Z.jsx)(Ot,{usage:t.usage}):null,t.enabled?(0,Z.jsx)(Dt,{}):null]})})]})},At=e=>{let t=e.details?.plan?.impact?.affectedHeads;return typeof t==`number`?t:null},jt=e=>S.success(w.t(`locales.deleted`,{label:e.label})),Mt=()=>{let e=We(),[t,n]=(0,Q.useState)(void 0),[r,i]=(0,Q.useState)(!1);return{attempt:async t=>{try{await e.mutateAsync({code:t.code,acknowledged:!1})}catch(r){if(!d(r,`SCHEMA_CHANGE_NOT_ACKNOWLEDGED`))throw r;e.reset(),n({locale:t,affectedHeads:At(r)??0}),i(!0);return}jt(t)},withContent:t,open:r,onOpenChange:i,confirm:()=>{t&&e.mutate({code:t.locale.code,acknowledged:!0},{onSuccess:()=>{jt(t.locale),i(!1)}})},pending:e.isPending,error:e.error}},Nt=`locale-fallbacks-legend`,Pt=({control:e,locales:t,code:n})=>{let{t:r}=c(),{field:i,fieldState:a}=Pe({control:e,name:`fallbacks`}),[o,s]=(0,Q.useState)(``),l=i.value,u=e=>t.find(t=>t.code===e)?.label??e,d=t.filter(e=>e.code!==n&&!l.includes(e.code)),p=(e,t)=>{let n=[...l],[r]=n.splice(e,1);n.splice(t,0,r),i.onChange(n)};return(0,Z.jsxs)(se,{className:`gap-3`,"aria-labelledby":Nt,children:[(0,Z.jsxs)(ae,{variant:`label`,className:`mb-0 flex items-center gap-1`,children:[(0,Z.jsx)(`span`,{id:Nt,children:r(`locales.fallbacks`)}),(0,Z.jsx)(ce,{about:r(`locales.fallbacks`),children:r(`locales.fallbacksHint`)})]}),l.length>0?(0,Z.jsx)(`ol`,{className:`space-y-1`,children:l.map((e,t)=>(0,Z.jsxs)(`li`,{className:`flex items-center gap-2 rounded-lg border py-1 pr-1 pl-3 text-sm`,children:[(0,Z.jsxs)(`span`,{className:`w-5 text-muted-foreground`,children:[t+1,`.`]}),(0,Z.jsxs)(`span`,{className:`flex-1`,children:[u(e),` `,(0,Z.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:e})]}),(0,Z.jsx)(T,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":r(`locales.moveUp`,{locale:u(e)}),disabled:t===0,onClick:()=>p(t,t-1),children:(0,Z.jsx)(pe,{"aria-hidden":`true`})}),(0,Z.jsx)(T,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":r(`locales.moveDown`,{locale:u(e)}),disabled:t===l.length-1,onClick:()=>p(t,t+1),children:(0,Z.jsx)(fe,{"aria-hidden":`true`})}),(0,Z.jsx)(T,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":r(`locales.removeFallback`,{locale:u(e)}),onClick:()=>i.onChange(l.filter(t=>t!==e)),children:(0,Z.jsx)(f,{"aria-hidden":`true`})})]},e))}):(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:r(`locales.noFallbacks`)}),d.length>0&&l.length<10?(0,Z.jsxs)(ve,{value:o,onValueChange:e=>{i.onChange([...l,e]),s(``)},children:[(0,Z.jsx)(he,{className:`w-full sm:w-64`,"aria-label":r(`locales.addFallback`),children:(0,Z.jsx)(me,{placeholder:r(`locales.addFallback`)})}),(0,Z.jsx)(ge,{children:d.map(e=>(0,Z.jsxs)(_e,{value:e.code,children:[e.label,` (`,e.code,`)`]},e.code))})]}):null,(0,Z.jsx)(Ie,{message:a.error?.message})]})},Ft=V({code:z().trim().min(1,`validation.required`).max(35,`validation.localeCode`).regex(Ve,`validation.localeCode`),label:F(),fallbacks:Re(z())}),It=e=>({code:e?.code??``,label:e?.label??``,fallbacks:e?.fallbacks??[]}),Lt=(e,t,n)=>{let r=Ke(),i=He(),a=L({resolver:I(Ft),defaultValues:It(t)}),{reset:o}=a;(0,Q.useEffect)(()=>{e&&(o(It(t)),r.reset(),i.reset())},[e,t,o]);let s=a.handleSubmit(async({code:e,label:a,fallbacks:o})=>{(await R(t?i.mutateAsync({code:t.code,input:{label:a,fallbacks:o}}):r.mutateAsync({code:e,label:a,fallbacks:o}))).ok&&(S.success(w.t(t?`locales.saved`:`locales.created`,{label:a})),n())}),c=t?i:r;return{form:a,onSubmit:s,pending:c.isPending,error:c.error}},Rt=({open:e,onOpenChange:t,locale:n,locales:r})=>{let{t:i}=c(),{form:a,onSubmit:o,pending:s,error:l}=Lt(e,n,()=>t(!1)),u=a.watch(`code`);return(0,Z.jsxs)(at,{open:e,onOpenChange:t,size:`md`,title:n?i(`locales.editTitle`,{label:n.label}):i(`locales.addTitle`),dirty:a.formState.isDirty,pending:s,submitLabel:i(n?`common.saveChanges`:`locales.add`),pendingLabel:i(`common.saving`),onSubmit:e=>void o(e),children:[(0,Z.jsx)(P,{control:a.control,name:`code`,label:i(`locales.code`),hint:i(`locales.codeHint`),autoComplete:`off`,spellCheck:!1,className:`font-mono`,disabled:n!==void 0}),(0,Z.jsx)(P,{control:a.control,name:`label`,label:i(`locales.label`),autoComplete:`off`}),(0,Z.jsx)(Pt,{control:a.control,locales:r,code:u}),(0,Z.jsx)(k,{error:l})]})},zt=({locale:e,chain:t,canManage:n,onEdit:r,onMakeDefault:i,onDelete:a})=>{let{t:o}=c(),[s,l]=(0,Q.useState)(!1);return(0,Z.jsxs)(G,{children:[(0,Z.jsx)(K,{children:(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(b,{children:e.label}),e.isDefault?(0,Z.jsx)(ee,{variant:`secondary`,children:o(`locales.default`)}):null]})}),(0,Z.jsx)(K,{className:`font-mono text-xs`,children:e.code}),(0,Z.jsx)(K,{className:`font-mono text-xs`,children:t.length>0?t.join(` → `):o(`common.none`)}),(0,Z.jsx)(K,{className:`text-right`,children:n?(0,Z.jsxs)(je,{children:[(0,Z.jsx)(A,{tone:`danger`,open:s,onOpenChange:l,title:o(`locales.deleteTitle`,{label:e.label}),description:o(`locales.deleteDescription`),confirmLabel:o(`common.delete`),pendingLabel:o(`locales.deleting`),onConfirm:()=>a(e),children:(0,Z.jsx)(ke,{asChild:!0,children:(0,Z.jsx)(T,{variant:`ghost`,size:`icon-sm`,"aria-label":`${o(`common.actions`)}: ${e.label}`,children:(0,Z.jsx)(ye,{"aria-hidden":`true`})})})}),(0,Z.jsxs)(Ae,{align:`end`,onCloseAutoFocus:e=>s&&e.preventDefault(),children:[(0,Z.jsxs)(N,{onSelect:()=>r(e),children:[(0,Z.jsx)(De,{"aria-hidden":`true`}),o(`common.edit`)]}),e.isDefault?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(N,{onSelect:()=>i(e),children:[(0,Z.jsx)(ht,{"aria-hidden":`true`}),o(`locales.makeDefault`)]}),(0,Z.jsxs)(N,{variant:`destructive`,onSelect:()=>l(!0),children:[(0,Z.jsx)(ie,{"aria-hidden":`true`}),o(`common.delete`)]})]})]})]}):null})]})},Bt=({locales:e,canManage:t,onEdit:n,onMakeDefault:r,onDelete:i})=>{let{t:a}=c(),o=e.find(e=>e.isDefault);return(0,Z.jsx)(q,{children:(0,Z.jsxs)(J,{children:[(0,Z.jsx)(B,{children:(0,Z.jsxs)(G,{children:[(0,Z.jsx)(H,{children:a(`locales.label`)}),(0,Z.jsx)(H,{children:a(`locales.code`)}),(0,Z.jsx)(H,{children:a(`locales.fallbacks`)}),(0,Z.jsx)(H,{children:(0,Z.jsx)(`span`,{className:`sr-only`,children:a(`common.actions`)})})]})}),(0,Z.jsx)(W,{children:e.map(e=>(0,Z.jsx)(zt,{locale:e,chain:[...e.fallbacks,...o&&!e.isDefault&&!e.fallbacks.includes(o.code)?[o.code]:[]],canManage:t,onEdit:n,onMakeDefault:r,onDelete:i},e.code))})]})})},Vt=()=>{let{t:e}=c(),t=Ge(),n=de(`schema.create`),r=Ue(),i=pt(),a=Mt(),[o,s]=(0,Q.useState)({open:!1,locale:void 0}),l=t.data?.find(e=>e.isDefault),u=a.withContent;return(0,Z.jsxs)(m,{width:`full`,children:[(0,Z.jsx)(h,{title:e(`locales.title`),actions:n?(0,Z.jsxs)(T,{onClick:()=>s({open:!0,locale:void 0}),children:[(0,Z.jsx)(Oe,{"aria-hidden":`true`}),e(`locales.add`)]}):null}),(0,Z.jsx)(Y,{query:t,isEmpty:e=>e.length===0,empty:(0,Z.jsx)(_,{icon:be,title:e(`locales.empty`)}),children:e=>(0,Z.jsx)(Bt,{locales:e,canManage:n,onEdit:e=>s({open:!0,locale:e}),onMakeDefault:e=>{r.reset(),i.ask(e)},onDelete:a.attempt})}),(0,Z.jsx)(Rt,{open:o.open,onOpenChange:e=>s(t=>({...t,open:e})),locale:o.locale,locales:t.data??[]}),(0,Z.jsx)(j,{open:i.open,onOpenChange:i.onOpenChange,title:e(`locales.defaultTitle`,{label:i.target?.label??``}),description:e(`locales.defaultDescription`,{label:i.target?.label??``,current:l?.label??``}),acknowledgement:e(`locales.defaultAcknowledge`),confirmLabel:e(`locales.makeDefault`),destructive:!0,pending:r.isPending,pendingLabel:e(`common.saving`),error:r.error,onConfirm:()=>{let t=i.target;t&&r.mutate(t.code,{onSuccess:()=>{S.success(e(`locales.defaultChanged`,{label:t.label})),i.close()}})}}),(0,Z.jsx)(j,{open:a.open,onOpenChange:a.onOpenChange,title:e(`locales.deleteTitle`,{label:u?.locale.label??``}),description:e(`locales.deleteContent`,{count:u?.affectedHeads??0,label:u?.locale.label??``}),acknowledgement:e(`locales.deleteAcknowledge`,{count:u?.affectedHeads??0}),confirmLabel:e(`common.delete`),destructive:!0,pending:a.pending,pendingLabel:e(`locales.deleting`),error:a.error,onConfirm:a.confirm})]})},Ht=V({name:F()}),Ut=()=>{let{data:e}=O(),t=ue(),n=L({resolver:I(Ht),defaultValues:{name:e?.user.name??``}}),{reset:r,formState:i}=n,a=e?.user.name;return(0,Q.useEffect)(()=>{!i.isDirty&&a!==void 0&&r({name:a})},[a,r,i.isDirty]),{form:n,onSubmit:n.handleSubmit(async e=>{let n=await R(t.mutateAsync(e));n.ok&&(r({name:n.value.name}),S.success(w.t(`profile.detailsSaved`)))}),updateProfile:t,email:e?.user.email??``}},Wt=`profile-email`,Gt=`profile-email-hint`,Kt=({onDirtyChange:e})=>{let{t}=c(),{form:n,onSubmit:r,updateProfile:i,email:a}=Ut(),{isDirty:o}=n.formState;return(0,Q.useEffect)(()=>e(o),[o,e]),(0,Z.jsx)(X,{title:t(`profile.detailsTitle`),children:(0,Z.jsx)(`form`,{noValidate:!0,onSubmit:e=>void r(e),className:`max-w-md`,children:(0,Z.jsxs)(C,{children:[(0,Z.jsx)(P,{control:n.control,name:`name`,label:t(`auth.name`),autoComplete:`name`}),(0,Z.jsxs)(oe,{children:[(0,Z.jsx)(ze,{htmlFor:Wt,label:t(`auth.email`),hint:t(`profile.emailHint`),hintId:Gt}),(0,Z.jsx)(E,{id:Wt,value:a,readOnly:!0,"aria-describedby":Gt})]}),(0,Z.jsx)(k,{error:i.error}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(p,{pending:i.isPending,pendingLabel:t(`common.saving`),disabled:!o,children:t(`common.saveChanges`)})})]})})})},qt=Le({currentPassword:z().min(1,`validation.required`),password:Ne()}),Jt={currentPassword:``,password:``,confirmPassword:``},Yt=()=>{let e=le(),t=L({resolver:I(qt),defaultValues:Jt});return{form:t,onSubmit:t.handleSubmit(async({currentPassword:n,password:r})=>{(await R(e.mutateAsync({currentPassword:n,newPassword:r}))).ok&&(t.reset(Jt),S.success(w.t(`profile.passwordChanged`)))}),changePassword:e}},Xt=({onDirtyChange:e})=>{let{t}=c(),{form:n,onSubmit:r,changePassword:i}=Yt(),{isDirty:a}=n.formState;return(0,Q.useEffect)(()=>e(a),[a,e]),(0,Z.jsx)(X,{title:t(`profile.passwordTitle`),description:t(`profile.passwordDescription`),children:(0,Z.jsx)(`form`,{noValidate:!0,onSubmit:e=>void r(e),className:`max-w-md`,children:(0,Z.jsxs)(C,{children:[(0,Z.jsx)(P,{control:n.control,name:`currentPassword`,label:t(`profile.currentPassword`),type:`password`,autoComplete:`current-password`}),(0,Z.jsx)(P,{control:n.control,name:`password`,label:t(`auth.newPassword`),description:t(`auth.passwordHint`),type:`password`,autoComplete:`new-password`}),(0,Z.jsx)(P,{control:n.control,name:`confirmPassword`,label:t(`auth.confirmPassword`),type:`password`,autoComplete:`new-password`}),(0,Z.jsx)(k,{error:i.error}),(0,Z.jsx)(`div`,{children:(0,Z.jsx)(p,{pending:i.isPending,pendingLabel:t(`common.saving`),children:t(`profile.changePassword`)})})]})})})},Zt=()=>{let{t:e}=c(),[t,n]=(0,Q.useState)(!1),[r,i]=(0,Q.useState)(!1),a=(0,Q.useCallback)(e=>n(e),[]),o=(0,Q.useCallback)(e=>i(e),[]);return(0,Z.jsxs)(m,{width:`full`,children:[(0,Z.jsx)(h,{title:e(`profile.title`)}),(0,Z.jsx)(Kt,{onDirtyChange:a}),(0,Z.jsx)(Xt,{onDirtyChange:o}),(0,Z.jsx)(re,{when:t||r})]})},Qt=()=>r({queryKey:i.sessions,queryFn:()=>l.sessions.list(),meta:{silent:!0}}),$t=()=>{let e=o();return a({mutationKey:[`sessions`,`revoke`],mutationFn:e=>u(()=>l.sessions.revoke(e)),onSettled:()=>e.invalidateQueries({queryKey:i.sessions})})},en=[[/Edg\//,`Edge`],[/OPR\//,`Opera`],[/Firefox\//,`Firefox`],[/Chrome\//,`Chrome`],[/Safari\//,`Safari`]],tn=[[/iPhone|iPad/,`iOS`],[/Android/,`Android`],[/Mac OS X|Macintosh/,`macOS`],[/Windows/,`Windows`],[/Linux/,`Linux`]],nn=(e,t)=>t.find(([t])=>t.test(e))?.[1],rn=e=>{if(!e)return;let t=nn(e,en),n=nn(e,tn);return t&&n?`${t} · ${n}`:t??n},an=({sessions:e,onRevoke:t})=>{let{t:n}=c();return(0,Z.jsx)(q,{children:(0,Z.jsxs)(J,{children:[(0,Z.jsx)(B,{children:(0,Z.jsxs)(G,{children:[(0,Z.jsx)(H,{children:n(`sessions.device`)}),(0,Z.jsx)(H,{children:n(`sessions.ipAddress`)}),(0,Z.jsx)(H,{children:n(`sessions.signedIn`)}),(0,Z.jsx)(H,{children:n(`sessions.lastActive`)}),(0,Z.jsx)(H,{children:(0,Z.jsx)(`span`,{className:`sr-only`,children:n(`common.actions`)})})]})}),(0,Z.jsx)(W,{children:e.map(e=>(0,Z.jsxs)(G,{children:[(0,Z.jsx)(K,{children:(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(b,{children:rn(e.userAgent)??n(`sessions.unknownDevice`)}),e.current?(0,Z.jsx)(ee,{variant:`secondary`,children:n(`sessions.current`)}):null]})}),(0,Z.jsx)(K,{className:`font-mono text-xs`,children:e.ip??n(`common.unknown`)}),(0,Z.jsx)(K,{title:y(e.createdAt),children:v(e.createdAt)}),(0,Z.jsx)(K,{title:y(e.lastSeenAt),children:v(e.lastSeenAt)}),(0,Z.jsx)(K,{className:`text-right`,children:e.current?null:(0,Z.jsx)(A,{tone:`danger`,title:n(`sessions.revokeTitle`),description:n(`sessions.revokeDescription`),confirmLabel:n(`common.revoke`),onConfirm:()=>t(e),trigger:(0,Z.jsx)(T,{variant:`outline`,size:`sm`,children:n(`common.revoke`)})})})]},e.id))})]})})},on={settings:x(`/app/settings`)({component:_t}),profile:x(`/app/settings/profile`)({component:Zt}),sessions:x(`/app/settings/sessions`)({component:()=>{let{t:e}=c(),t=Qt(),n=$t(),r=async t=>{await n.mutateAsync(t.id),S.success(e(`sessions.revoked`))};return(0,Z.jsxs)(m,{width:`full`,children:[(0,Z.jsx)(h,{title:e(`sessions.title`)}),(0,Z.jsx)(Y,{query:t,isEmpty:e=>e.length===0,empty:(0,Z.jsx)(_,{icon:Ee,title:e(`sessions.empty`)}),children:e=>(0,Z.jsx)(an,{sessions:e,onRevoke:r})})]})}}),theme:x(`/app/settings/theme`)({component:Et}),locales:x(`/app/settings/locales`)({component:Vt}),assist:x(`/app/settings/assist`)({component:kt}),apiTokens:x(`/app/settings/api-tokens`)({component:Tt})};export{on as settingsLazyRoutes};
2
- //# sourceMappingURL=settings-68BAxrPM.js.map