@shapio/cms 0.5.7 → 0.5.9

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 (323) hide show
  1. package/dist/admin/assets/{AssetTile-H0hABhB2.js → AssetTile-Da76KsyX.js} +2 -2
  2. package/dist/admin/assets/{AssetTile-H0hABhB2.js.map → AssetTile-Da76KsyX.js.map} +1 -1
  3. package/dist/admin/assets/AssistError-Wr62cDj3.js +2 -0
  4. package/dist/admin/assets/{AssistError-1s3PuY0X.js.map → AssistError-Wr62cDj3.js.map} +1 -1
  5. package/dist/admin/assets/{BlockMenuItems-a8zXdfcF.js → BlockMenuItems-BMiEVCIT.js} +2 -2
  6. package/dist/admin/assets/{BlockMenuItems-a8zXdfcF.js.map → BlockMenuItems-BMiEVCIT.js.map} +1 -1
  7. package/dist/admin/assets/Body-BEW1sAAB.js +2 -0
  8. package/dist/admin/assets/Body-BEW1sAAB.js.map +1 -0
  9. package/dist/admin/assets/Builder-Tk_5Orrl.js +2 -0
  10. package/dist/admin/assets/Builder-Tk_5Orrl.js.map +1 -0
  11. package/dist/admin/assets/{CodeEditor-BLbJZE9v.js → CodeEditor-Ck7ggv6w.js} +2 -2
  12. package/dist/admin/assets/{CodeEditor-BLbJZE9v.js.map → CodeEditor-Ck7ggv6w.js.map} +1 -1
  13. package/dist/admin/assets/{CopyButton-BOtR_h1H.js → CopyButton-WMWuSVsk.js} +2 -2
  14. package/dist/admin/assets/{CopyButton-BOtR_h1H.js.map → CopyButton-WMWuSVsk.js.map} +1 -1
  15. package/dist/admin/assets/{CursorPager-DwLW13ov.js → CursorPager-CsnzX1P8.js} +2 -2
  16. package/dist/admin/assets/{CursorPager-DwLW13ov.js.map → CursorPager-CsnzX1P8.js.map} +1 -1
  17. package/dist/admin/assets/{ExternalLink-BITMgS1K.js → ExternalLink-D80sb5Jj.js} +2 -2
  18. package/dist/admin/assets/{ExternalLink-BITMgS1K.js.map → ExternalLink-D80sb5Jj.js.map} +1 -1
  19. package/dist/admin/assets/{FocalPoint-n-a_AXKN.js → FocalPoint-CstZuVmt.js} +2 -2
  20. package/dist/admin/assets/{FocalPoint-n-a_AXKN.js.map → FocalPoint-CstZuVmt.js.map} +1 -1
  21. package/dist/admin/assets/Form-CEOW2OFF.js +2 -0
  22. package/dist/admin/assets/Form-CEOW2OFF.js.map +1 -0
  23. package/dist/admin/assets/{FormCheckboxGroup-1fYisXrr.js → FormCheckboxGroup-VjWVMiF3.js} +2 -2
  24. package/dist/admin/assets/{FormCheckboxGroup-1fYisXrr.js.map → FormCheckboxGroup-VjWVMiF3.js.map} +1 -1
  25. package/dist/admin/assets/{FormRadioGroup-B0VZyb1t.js → FormRadioGroup-BQurJa8M.js} +2 -2
  26. package/dist/admin/assets/{FormRadioGroup-B0VZyb1t.js.map → FormRadioGroup-BQurJa8M.js.map} +1 -1
  27. package/dist/admin/assets/FormSelectField-B4sjP-pj.js +2 -0
  28. package/dist/admin/assets/FormSelectField-B4sjP-pj.js.map +1 -0
  29. package/dist/admin/assets/FormSheet-V99zdfQe.js +2 -0
  30. package/dist/admin/assets/FormSheet-V99zdfQe.js.map +1 -0
  31. package/dist/admin/assets/{FormSwitchField-d8G-YCSX.js → FormSwitchField-RZgoP--n.js} +2 -2
  32. package/dist/admin/assets/{FormSwitchField-d8G-YCSX.js.map → FormSwitchField-RZgoP--n.js.map} +1 -1
  33. package/dist/admin/assets/{FormTextareaField-BSKNeTPW.js → FormTextareaField-CzXgoQzf.js} +2 -2
  34. package/dist/admin/assets/{FormTextareaField-BSKNeTPW.js.map → FormTextareaField-CzXgoQzf.js.map} +1 -1
  35. package/dist/admin/assets/{HintedLabel-CiTDE112.js → HintedLabel-Cd9nuSqV.js} +2 -2
  36. package/dist/admin/assets/{HintedLabel-CiTDE112.js.map → HintedLabel-Cd9nuSqV.js.map} +1 -1
  37. package/dist/admin/assets/{InfoHint-B3XcXtiN.js → InfoHint-ymRmHKMr.js} +2 -2
  38. package/dist/admin/assets/{InfoHint-B3XcXtiN.js.map → InfoHint-ymRmHKMr.js.map} +1 -1
  39. package/dist/admin/assets/{InlineConfirm-BfsNH5S_.js → InlineConfirm-A4IqkrGp.js} +2 -2
  40. package/dist/admin/assets/{InlineConfirm-BfsNH5S_.js.map → InlineConfirm-A4IqkrGp.js.map} +1 -1
  41. package/dist/admin/assets/{InsertMenuItem-BGwDW_Lu.js → InsertMenuItem-Bf7S7qbm.js} +2 -2
  42. package/dist/admin/assets/{InsertMenuItem-BGwDW_Lu.js.map → InsertMenuItem-Bf7S7qbm.js.map} +1 -1
  43. package/dist/admin/assets/{LinkTabs-8SmS1vCd.js → LinkTabs-oQXsy1I3.js} +2 -2
  44. package/dist/admin/assets/{LinkTabs-8SmS1vCd.js.map → LinkTabs-oQXsy1I3.js.map} +1 -1
  45. package/dist/admin/assets/{Match-Dc8bXsKo.js → Match-DJq8wn3e.js} +2 -2
  46. package/dist/admin/assets/{Match-Dc8bXsKo.js.map → Match-DJq8wn3e.js.map} +1 -1
  47. package/dist/admin/assets/{NoAccess-CKEKPmqD.js → NoAccess-CZufdbPI.js} +2 -2
  48. package/dist/admin/assets/{NoAccess-CKEKPmqD.js.map → NoAccess-CZufdbPI.js.map} +1 -1
  49. package/dist/admin/assets/{QueryView-KFtwko9F.js → QueryView-DO9TFWYE.js} +2 -2
  50. package/dist/admin/assets/{QueryView-KFtwko9F.js.map → QueryView-DO9TFWYE.js.map} +1 -1
  51. package/dist/admin/assets/{RadioTile-CzfxWgHx.js → RadioTile-DmKBFkpy.js} +2 -2
  52. package/dist/admin/assets/{RadioTile-CzfxWgHx.js.map → RadioTile-DmKBFkpy.js.map} +1 -1
  53. package/dist/admin/assets/{RichTextField-BsBoOAP-.js → RichTextField-BpxyusP4.js} +4 -4
  54. package/dist/admin/assets/{RichTextField-BsBoOAP-.js.map → RichTextField-BpxyusP4.js.map} +1 -1
  55. package/dist/admin/assets/{RowTitle-Cn5mAU58.js → RowTitle-DVOfgxOd.js} +2 -2
  56. package/dist/admin/assets/{RowTitle-Cn5mAU58.js.map → RowTitle-DVOfgxOd.js.map} +1 -1
  57. package/dist/admin/assets/{SecretReveal-BCOJAisI.js → SecretReveal-DRCqVEFF.js} +2 -2
  58. package/dist/admin/assets/{SecretReveal-BCOJAisI.js.map → SecretReveal-DRCqVEFF.js.map} +1 -1
  59. package/dist/admin/assets/{SharedGlyph-CA8tb7UH.js → SharedGlyph-nsXJPCew.js} +2 -2
  60. package/dist/admin/assets/{SharedGlyph-CA8tb7UH.js.map → SharedGlyph-nsXJPCew.js.map} +1 -1
  61. package/dist/admin/assets/StepList-CDZPRd3-.js +2 -0
  62. package/dist/admin/assets/StepList-CDZPRd3-.js.map +1 -0
  63. package/dist/admin/assets/Structure-CL51Bvbm.js +2 -0
  64. package/dist/admin/assets/{Structure-B2HZ9UZu.js.map → Structure-CL51Bvbm.js.map} +1 -1
  65. package/dist/admin/assets/{SubNavLink-CiCaVV8U.js → SubNavLink-7Cs1LqMv.js} +2 -2
  66. package/dist/admin/assets/{SubNavLink-CiCaVV8U.js.map → SubNavLink-7Cs1LqMv.js.map} +1 -1
  67. package/dist/admin/assets/{SuggestAltButton-CqDLAuoa.js → SuggestAltButton-4SaZQOJu.js} +2 -2
  68. package/dist/admin/assets/{SuggestAltButton-CqDLAuoa.js.map → SuggestAltButton-4SaZQOJu.js.map} +1 -1
  69. package/dist/admin/assets/{TextLink-HRn66VL1.js → TextLink-Dfs5wsc5.js} +2 -2
  70. package/dist/admin/assets/{TextLink-HRn66VL1.js.map → TextLink-Dfs5wsc5.js.map} +1 -1
  71. package/dist/admin/assets/{Thumbnail-mFfESZiW.js → Thumbnail-DauHAkh8.js} +2 -2
  72. package/dist/admin/assets/{Thumbnail-mFfESZiW.js.map → Thumbnail-DauHAkh8.js.map} +1 -1
  73. package/dist/admin/assets/Trans-B3UWiZaU.js +2 -0
  74. package/dist/admin/assets/Trans-B3UWiZaU.js.map +1 -0
  75. package/dist/admin/assets/{UnsavedChangesGuard-C8cDQGEA.js → UnsavedChangesGuard-DPgih7BX.js} +2 -2
  76. package/dist/admin/assets/{UnsavedChangesGuard-C8cDQGEA.js.map → UnsavedChangesGuard-DPgih7BX.js.map} +1 -1
  77. package/dist/admin/assets/{UserAvatar-BItYDTyH.js → UserAvatar-If-zlQNY.js} +2 -2
  78. package/dist/admin/assets/{UserAvatar-BItYDTyH.js.map → UserAvatar-If-zlQNY.js.map} +1 -1
  79. package/dist/admin/assets/auth-BFSvtV59.js +2 -0
  80. package/dist/admin/assets/{auth-CQO4MBUj.js.map → auth-BFSvtV59.js.map} +1 -1
  81. package/dist/admin/assets/{badge-DNQwGXBl.js → badge-DEe9tqLS.js} +2 -2
  82. package/dist/admin/assets/{badge-DNQwGXBl.js.map → badge-DEe9tqLS.js.map} +1 -1
  83. package/dist/admin/assets/{boxes-CAygw8zF.js → boxes-_5klpWNM.js} +2 -2
  84. package/dist/admin/assets/{boxes-CAygw8zF.js.map → boxes-_5klpWNM.js.map} +1 -1
  85. package/dist/admin/assets/{calendar-clock-BZGtAvWR.js → calendar-clock-VXok22Xj.js} +2 -2
  86. package/dist/admin/assets/{calendar-clock-BZGtAvWR.js.map → calendar-clock-VXok22Xj.js.map} +1 -1
  87. package/dist/admin/assets/changeSets-D5i2SgFV.js +2 -0
  88. package/dist/admin/assets/{changeSets-EMTUJT0M.js.map → changeSets-D5i2SgFV.js.map} +1 -1
  89. package/dist/admin/assets/chevron-left-CkRxDtvO.js +2 -0
  90. package/dist/admin/assets/{chevron-left-DGU3HGYG.js.map → chevron-left-CkRxDtvO.js.map} +1 -1
  91. package/dist/admin/assets/{circle-check-C37MSJqX.js → circle-check-DtDq7QMo.js} +2 -2
  92. package/dist/admin/assets/{circle-check-C37MSJqX.js.map → circle-check-DtDq7QMo.js.map} +1 -1
  93. package/dist/admin/assets/{clock-2arjsgZ4.js → clock-BtvZR9KD.js} +2 -2
  94. package/dist/admin/assets/{clock-2arjsgZ4.js.map → clock-BtvZR9KD.js.map} +1 -1
  95. package/dist/admin/assets/{constants-miV4q1ur.js → constants-FKg_ke3y.js} +2 -2
  96. package/dist/admin/assets/{constants-miV4q1ur.js.map → constants-FKg_ke3y.js.map} +1 -1
  97. package/dist/admin/assets/content-DKT2ziPH.js +3 -0
  98. package/dist/admin/assets/content-DKT2ziPH.js.map +1 -0
  99. package/dist/admin/assets/{contentCounts-DP7YYeZZ.js → contentCounts-BzC7IQqP.js} +2 -2
  100. package/dist/admin/assets/{contentCounts-DP7YYeZZ.js.map → contentCounts-BzC7IQqP.js.map} +1 -1
  101. package/dist/admin/assets/{contentTypes-CQsHL657.js → contentTypes-B5taZv3y.js} +2 -2
  102. package/dist/admin/assets/{contentTypes-CQsHL657.js.map → contentTypes-B5taZv3y.js.map} +1 -1
  103. package/dist/admin/assets/{context-IKYdzQJ-.js → context-CEVKblBl.js} +2 -2
  104. package/dist/admin/assets/{context-IKYdzQJ-.js.map → context-CEVKblBl.js.map} +1 -1
  105. package/dist/admin/assets/{copy-CsSRHgKZ.js → copy-B7vIq8DS.js} +2 -2
  106. package/dist/admin/assets/{copy-CsSRHgKZ.js.map → copy-B7vIq8DS.js.map} +1 -1
  107. package/dist/admin/assets/createLucideIcon-BOsNKleB.js +2 -0
  108. package/dist/admin/assets/createLucideIcon-BOsNKleB.js.map +1 -0
  109. package/dist/admin/assets/develop-CFlv7IdP.js +11 -0
  110. package/dist/admin/assets/develop-CFlv7IdP.js.map +1 -0
  111. package/dist/admin/assets/{dropdown-menu-0dyAtBEd.js → dropdown-menu-B7dJyA8h.js} +2 -2
  112. package/dist/admin/assets/{dropdown-menu-0dyAtBEd.js.map → dropdown-menu-B7dJyA8h.js.map} +1 -1
  113. package/dist/admin/assets/{ellipsis-F91991on.js → ellipsis-Ci0rsbCJ.js} +2 -2
  114. package/dist/admin/assets/{ellipsis-F91991on.js.map → ellipsis-Ci0rsbCJ.js.map} +1 -1
  115. package/dist/admin/assets/{entryLink-CVB-TdIn.js → entryLink-B0hSb_dN.js} +2 -2
  116. package/dist/admin/assets/{entryLink-CVB-TdIn.js.map → entryLink-B0hSb_dN.js.map} +1 -1
  117. package/dist/admin/assets/es2015-1nJWBurR.js +42 -0
  118. package/dist/admin/assets/es2015-1nJWBurR.js.map +1 -0
  119. package/dist/admin/assets/{external-link-CdG6kHfA.js → external-link-Bs9YRzvY.js} +2 -2
  120. package/dist/admin/assets/{external-link-CdG6kHfA.js.map → external-link-Bs9YRzvY.js.map} +1 -1
  121. package/dist/admin/assets/{field-C6NmRYUN.js → field-BDCHXkZE.js} +2 -2
  122. package/dist/admin/assets/{field-C6NmRYUN.js.map → field-BDCHXkZE.js.map} +1 -1
  123. package/dist/admin/assets/{file-stack-28ZtO1xW.js → file-stack-X4OGmkLA.js} +2 -2
  124. package/dist/admin/assets/{file-stack-28ZtO1xW.js.map → file-stack-X4OGmkLA.js.map} +1 -1
  125. package/dist/admin/assets/{fileRoute-Bm90K4UY.js → fileRoute-c9UMUr9b.js} +2 -2
  126. package/dist/admin/assets/{fileRoute-Bm90K4UY.js.map → fileRoute-c9UMUr9b.js.map} +1 -1
  127. package/dist/admin/assets/{folder-plus-DIk0pWkP.js → folder-plus-De2GNvry.js} +2 -2
  128. package/dist/admin/assets/{folder-plus-DIk0pWkP.js.map → folder-plus-De2GNvry.js.map} +1 -1
  129. package/dist/admin/assets/followPlural-CHpz-yo4.js +2 -0
  130. package/dist/admin/assets/followPlural-CHpz-yo4.js.map +1 -0
  131. package/dist/admin/assets/{globe-DFr3Gd2w.js → globe-DBw84s8Z.js} +2 -2
  132. package/dist/admin/assets/{globe-DFr3Gd2w.js.map → globe-DBw84s8Z.js.map} +1 -1
  133. package/dist/admin/assets/{image-DT79QFa_.js → image-CX4mT-_R.js} +2 -2
  134. package/dist/admin/assets/{image-DT79QFa_.js.map → image-CX4mT-_R.js.map} +1 -1
  135. package/dist/admin/assets/{image-off-DFs5upyX.js → image-off-CVaH_qKf.js} +2 -2
  136. package/dist/admin/assets/{image-off-DFs5upyX.js.map → image-off-CVaH_qKf.js.map} +1 -1
  137. package/dist/admin/assets/{inbox-CySnQydm.js → inbox-D9SmWt5L.js} +2 -2
  138. package/dist/admin/assets/{inbox-CySnQydm.js.map → inbox-D9SmWt5L.js.map} +1 -1
  139. package/dist/admin/assets/inbox-Daw10v5C.js +2 -0
  140. package/dist/admin/assets/inbox-Daw10v5C.js.map +1 -0
  141. package/dist/admin/assets/index-BRx5mel0.js +4 -0
  142. package/dist/admin/assets/index-BRx5mel0.js.map +1 -0
  143. package/dist/admin/assets/index-DZsQq6fY.css +2 -0
  144. package/dist/admin/assets/{key-round-D36CePnN.js → key-round-C8sd9CLN.js} +2 -2
  145. package/dist/admin/assets/{key-round-D36CePnN.js.map → key-round-C8sd9CLN.js.map} +1 -1
  146. package/dist/admin/assets/{labels-B2HIVxXg.js → labels-B83cEX9w.js} +2 -2
  147. package/dist/admin/assets/{labels-B2HIVxXg.js.map → labels-B83cEX9w.js.map} +1 -1
  148. package/dist/admin/assets/{languages-CzbTaQv9.js → languages-DLjdz6gb.js} +2 -2
  149. package/dist/admin/assets/{languages-CzbTaQv9.js.map → languages-DLjdz6gb.js.map} +1 -1
  150. package/dist/admin/assets/{layers-BmcodiaH.js → layers-swLuw-3a.js} +2 -2
  151. package/dist/admin/assets/{layers-BmcodiaH.js.map → layers-swLuw-3a.js.map} +1 -1
  152. package/dist/admin/assets/{link-2-off-CoJNwrxm.js → link-2-off-CEsI5T8h.js} +2 -2
  153. package/dist/admin/assets/{link-2-off-CoJNwrxm.js.map → link-2-off-CEsI5T8h.js.map} +1 -1
  154. package/dist/admin/assets/{link-Pyr2Y35S.js → link-C98FG_p5.js} +2 -2
  155. package/dist/admin/assets/{link-Pyr2Y35S.js.map → link-C98FG_p5.js.map} +1 -1
  156. package/dist/admin/assets/locales-CkuC7TJ1.js +2 -0
  157. package/dist/admin/assets/{locales-Bg3htKo8.js.map → locales-CkuC7TJ1.js.map} +1 -1
  158. package/dist/admin/assets/media-CbGSd_Mw.js +2 -0
  159. package/dist/admin/assets/{media-BCnVhaDH.js.map → media-CbGSd_Mw.js.map} +1 -1
  160. package/dist/admin/assets/{media-CtbfNgc-.js → media-CgxriwNL.js} +2 -2
  161. package/dist/admin/assets/{media-CtbfNgc-.js.map → media-CgxriwNL.js.map} +1 -1
  162. package/dist/admin/assets/network-Cc1TAyal.js +2 -0
  163. package/dist/admin/assets/network-Cc1TAyal.js.map +1 -0
  164. package/dist/admin/assets/{plus-BoDtdLCo.js → plus-cr9ZfO6j.js} +2 -2
  165. package/dist/admin/assets/{plus-BoDtdLCo.js.map → plus-cr9ZfO6j.js.map} +1 -1
  166. package/dist/admin/assets/publishing-RQUj-CyN.js +2 -0
  167. package/dist/admin/assets/{publishing-DdmWXRaM.js.map → publishing-RQUj-CyN.js.map} +1 -1
  168. package/dist/admin/assets/{radio-group-BoN9R_3K.js → radio-group-Btmx7dlD.js} +2 -2
  169. package/dist/admin/assets/{radio-group-BoN9R_3K.js.map → radio-group-Btmx7dlD.js.map} +1 -1
  170. package/dist/admin/assets/{rotate-ccw-DL6TzcZh.js → rotate-ccw-BP8Ba-mY.js} +2 -2
  171. package/dist/admin/assets/{rotate-ccw-DL6TzcZh.js.map → rotate-ccw-BP8Ba-mY.js.map} +1 -1
  172. package/dist/admin/assets/schedules-BIyBlsYZ.js +2 -0
  173. package/dist/admin/assets/{schedules-BmB9Y73z.js.map → schedules-BIyBlsYZ.js.map} +1 -1
  174. package/dist/admin/assets/schema-BMQEabwO.js +2 -0
  175. package/dist/admin/assets/{schema-D-qo7XSF.js.map → schema-BMQEabwO.js.map} +1 -1
  176. package/dist/admin/assets/{scroll-text-PqeZm472.js → scroll-text-B5vfi9fD.js} +2 -2
  177. package/dist/admin/assets/{scroll-text-PqeZm472.js.map → scroll-text-B5vfi9fD.js.map} +1 -1
  178. package/dist/admin/assets/{search-BdwIwOzC.js → search-wj7zbkx1.js} +2 -2
  179. package/dist/admin/assets/{search-BdwIwOzC.js.map → search-wj7zbkx1.js.map} +1 -1
  180. package/dist/admin/assets/{searchSchemas-DNjfDxmj.js → searchSchemas-fO_49fDI.js} +2 -2
  181. package/dist/admin/assets/{searchSchemas-DNjfDxmj.js.map → searchSchemas-fO_49fDI.js.map} +1 -1
  182. package/dist/admin/assets/{sections-BTS683ur.js → sections-DBQpB0uv.js} +2 -2
  183. package/dist/admin/assets/{sections-BTS683ur.js.map → sections-DBQpB0uv.js.map} +1 -1
  184. package/dist/admin/assets/{sections-BfxPwK0u.js → sections-SX-oiQoE.js} +2 -2
  185. package/dist/admin/assets/{sections-BfxPwK0u.js.map → sections-SX-oiQoE.js.map} +1 -1
  186. package/dist/admin/assets/{select-Bp8kO5Ko.js → select-JB2Vv7ep.js} +2 -2
  187. package/dist/admin/assets/{select-Bp8kO5Ko.js.map → select-JB2Vv7ep.js.map} +1 -1
  188. package/dist/admin/assets/{send-XPWo3m4u.js → send-CzFdgUc_.js} +2 -2
  189. package/dist/admin/assets/{send-XPWo3m4u.js.map → send-CzFdgUc_.js.map} +1 -1
  190. package/dist/admin/assets/seo-Bd0sWQMo.js +2 -0
  191. package/dist/admin/assets/{seo-CceGYTIX.js.map → seo-Bd0sWQMo.js.map} +1 -1
  192. package/dist/admin/assets/settings-CrRFxhSo.js +2 -0
  193. package/dist/admin/assets/{settings-TEbLvC-v.js.map → settings-CrRFxhSo.js.map} +1 -1
  194. package/dist/admin/assets/shapes-EMjfYsXV.js +6 -0
  195. package/dist/admin/assets/shapes-EMjfYsXV.js.map +1 -0
  196. package/dist/admin/assets/{skeleton-vXOCdnJv.js → skeleton-Dk-qdg0z.js} +2 -2
  197. package/dist/admin/assets/{skeleton-vXOCdnJv.js.map → skeleton-Dk-qdg0z.js.map} +1 -1
  198. package/dist/admin/assets/{snapshots-DUI2t-qF.js → snapshots-DbFQNJgN.js} +2 -2
  199. package/dist/admin/assets/{snapshots-DUI2t-qF.js.map → snapshots-DbFQNJgN.js.map} +1 -1
  200. package/dist/admin/assets/{sparkles-CvT-jxrW.js → sparkles-D_kmZJVd.js} +2 -2
  201. package/dist/admin/assets/{sparkles-CvT-jxrW.js.map → sparkles-D_kmZJVd.js.map} +1 -1
  202. package/dist/admin/assets/src-CMor9izq.js +7 -0
  203. package/dist/admin/assets/src-CMor9izq.js.map +1 -0
  204. package/dist/admin/assets/{stableId-BrtQedPy.js → stableId-g1uxJGSz.js} +2 -2
  205. package/dist/admin/assets/{stableId-BrtQedPy.js.map → stableId-g1uxJGSz.js.map} +1 -1
  206. package/dist/admin/assets/{store-CdIFG90N.js → store-CznhNKEi.js} +2 -2
  207. package/dist/admin/assets/{store-CdIFG90N.js.map → store-CznhNKEi.js.map} +1 -1
  208. package/dist/admin/assets/{switch-B1xClhNG.js → switch-DyCRGDs7.js} +2 -2
  209. package/dist/admin/assets/{switch-B1xClhNG.js.map → switch-DyCRGDs7.js.map} +1 -1
  210. package/dist/admin/assets/{theme-65PB8uAu.js → theme-Cv-MfOv8.js} +2 -2
  211. package/dist/admin/assets/{theme-65PB8uAu.js.map → theme-Cv-MfOv8.js.map} +1 -1
  212. package/dist/admin/assets/titles-DrQhW8z3.js +2 -0
  213. package/dist/admin/assets/titles-DrQhW8z3.js.map +1 -0
  214. package/dist/admin/assets/tokens-B1S81Epe.js +2 -0
  215. package/dist/admin/assets/{tokens-ixHjAkDK.js.map → tokens-B1S81Epe.js.map} +1 -1
  216. package/dist/admin/assets/{tooltip-CS_8cJu2.js → tooltip-CCOeMqiL.js} +2 -2
  217. package/dist/admin/assets/{tooltip-CS_8cJu2.js.map → tooltip-CCOeMqiL.js.map} +1 -1
  218. package/dist/admin/assets/{undo-2-BiTANHFz.js → undo-2-DpwwRQTf.js} +2 -2
  219. package/dist/admin/assets/{undo-2-BiTANHFz.js.map → undo-2-DpwwRQTf.js.map} +1 -1
  220. package/dist/admin/assets/useContentSchema-uXOfT985.js +2 -0
  221. package/dist/admin/assets/useContentSchema-uXOfT985.js.map +1 -0
  222. package/dist/admin/assets/useCursorPager-BHYqHb3M.js +2 -0
  223. package/dist/admin/assets/{useCursorPager-0zHjlm-7.js.map → useCursorPager-BHYqHb3M.js.map} +1 -1
  224. package/dist/admin/assets/{useDiscardGuard-CMMJgkI2.js → useDiscardGuard-DvBI3VIz.js} +2 -2
  225. package/dist/admin/assets/{useDiscardGuard-CMMJgkI2.js.map → useDiscardGuard-DvBI3VIz.js.map} +1 -1
  226. package/dist/admin/assets/{useMediaPickerDialog-xvQ8cofO.js → useMediaPickerDialog-CehOsykG.js} +2 -2
  227. package/dist/admin/assets/{useMediaPickerDialog-xvQ8cofO.js.map → useMediaPickerDialog-CehOsykG.js.map} +1 -1
  228. package/dist/admin/assets/{useMediaUploader-BVNTeSAU.js → useMediaUploader-DvtxYXxD.js} +2 -2
  229. package/dist/admin/assets/{useMediaUploader-BVNTeSAU.js.map → useMediaUploader-DvtxYXxD.js.map} +1 -1
  230. package/dist/admin/assets/useModelIndex-D8Q0oM4M.js +2 -0
  231. package/dist/admin/assets/useModelIndex-D8Q0oM4M.js.map +1 -0
  232. package/dist/admin/assets/useNetworkPermission-DehDln-U.js +2 -0
  233. package/dist/admin/assets/{useNetworkPermission-Cts98h9d.js.map → useNetworkPermission-DehDln-U.js.map} +1 -1
  234. package/dist/admin/assets/{usePaletteItems-DtReWmkd.js → usePaletteItems-CFpNlSOs.js} +2 -2
  235. package/dist/admin/assets/{usePaletteItems-DtReWmkd.js.map → usePaletteItems-CFpNlSOs.js.map} +1 -1
  236. package/dist/admin/assets/usePlaces-CySN2Vwz.js +2 -0
  237. package/dist/admin/assets/usePlaces-CySN2Vwz.js.map +1 -0
  238. package/dist/admin/assets/useResolvedDefinitions-C279ueCH.js +2 -0
  239. package/dist/admin/assets/useResolvedDefinitions-C279ueCH.js.map +1 -0
  240. package/dist/admin/assets/{useResolvedScheme-CScQpr-P.js → useResolvedScheme-DEq7P4R5.js} +2 -2
  241. package/dist/admin/assets/{useResolvedScheme-CScQpr-P.js.map → useResolvedScheme-DEq7P4R5.js.map} +1 -1
  242. package/dist/admin/assets/useSaveShortcut-DQuNL1uJ.js +2 -0
  243. package/dist/admin/assets/useSaveShortcut-DQuNL1uJ.js.map +1 -0
  244. package/dist/admin/assets/{useSchemaScopeAccess-ByrxIdKM.js → useSchemaScopeAccess-JXOMx51q.js} +2 -2
  245. package/dist/admin/assets/{useSchemaScopeAccess-ByrxIdKM.js.map → useSchemaScopeAccess-JXOMx51q.js.map} +1 -1
  246. package/dist/admin/assets/users-38jLQ7zr.js +2 -0
  247. package/dist/admin/assets/users-38jLQ7zr.js.map +1 -0
  248. package/dist/admin/assets/{users-DM7CXUBJ.js → users-DYwcVDqp.js} +2 -2
  249. package/dist/admin/assets/{users-DM7CXUBJ.js.map → users-DYwcVDqp.js.map} +1 -1
  250. package/dist/admin/assets/{zod-hUh5nXnX.js → zod-vPzaNsuW.js} +2 -2
  251. package/dist/admin/assets/{zod-hUh5nXnX.js.map → zod-vPzaNsuW.js.map} +1 -1
  252. package/dist/admin/index.html +60 -58
  253. package/dist/cli.js +1 -1
  254. package/dist/{cliMain-D08HeAd_.js → cliMain-DzBXO7Oa.js} +98 -21
  255. package/dist/cliMain-DzBXO7Oa.js.map +1 -0
  256. package/dist/config.d.ts +2 -2
  257. package/dist/index.d.ts +42 -5
  258. package/dist/index.js +1 -1
  259. package/dist/public-B57h4F7Y.js.map +1 -1
  260. package/dist/{public-COKbHR-N.d.ts → public-jttKsns_.d.ts} +47 -5
  261. package/dist/{worker-jspgh10V.js → worker-6ru1tYBs.js} +2790 -1063
  262. package/dist/worker-6ru1tYBs.js.map +1 -0
  263. package/package.json +5 -5
  264. package/dist/admin/assets/AssistError-1s3PuY0X.js +0 -2
  265. package/dist/admin/assets/Body-BzZD-TZT.js +0 -2
  266. package/dist/admin/assets/Body-BzZD-TZT.js.map +0 -1
  267. package/dist/admin/assets/Builder-60jO_nbS.js +0 -2
  268. package/dist/admin/assets/Builder-60jO_nbS.js.map +0 -1
  269. package/dist/admin/assets/Form-D_4fhOy0.js +0 -2
  270. package/dist/admin/assets/Form-D_4fhOy0.js.map +0 -1
  271. package/dist/admin/assets/FormSelectField-Br8bkwRF.js +0 -2
  272. package/dist/admin/assets/FormSelectField-Br8bkwRF.js.map +0 -1
  273. package/dist/admin/assets/StepList-sriwGP1e.js +0 -2
  274. package/dist/admin/assets/StepList-sriwGP1e.js.map +0 -1
  275. package/dist/admin/assets/Structure-B2HZ9UZu.js +0 -2
  276. package/dist/admin/assets/auth-CQO4MBUj.js +0 -2
  277. package/dist/admin/assets/changeSets-EMTUJT0M.js +0 -2
  278. package/dist/admin/assets/chevron-left-DGU3HGYG.js +0 -2
  279. package/dist/admin/assets/content-CgZS_S7P.js +0 -3
  280. package/dist/admin/assets/content-CgZS_S7P.js.map +0 -1
  281. package/dist/admin/assets/createLucideIcon-CLmh7Go-.js +0 -2
  282. package/dist/admin/assets/createLucideIcon-CLmh7Go-.js.map +0 -1
  283. package/dist/admin/assets/develop-9ZeAjSIw.js +0 -11
  284. package/dist/admin/assets/develop-9ZeAjSIw.js.map +0 -1
  285. package/dist/admin/assets/es2015-BJge4oQL.js +0 -42
  286. package/dist/admin/assets/es2015-BJge4oQL.js.map +0 -1
  287. package/dist/admin/assets/followPlural-DEr2kxEc.js +0 -2
  288. package/dist/admin/assets/followPlural-DEr2kxEc.js.map +0 -1
  289. package/dist/admin/assets/inbox-B8XZ8L6s.js +0 -2
  290. package/dist/admin/assets/inbox-B8XZ8L6s.js.map +0 -1
  291. package/dist/admin/assets/index-DoJsnLI1.js +0 -4
  292. package/dist/admin/assets/index-DoJsnLI1.js.map +0 -1
  293. package/dist/admin/assets/index-lxe7WimO.css +0 -2
  294. package/dist/admin/assets/locales-Bg3htKo8.js +0 -2
  295. package/dist/admin/assets/media-BCnVhaDH.js +0 -2
  296. package/dist/admin/assets/network--5X46kWN.js +0 -2
  297. package/dist/admin/assets/network--5X46kWN.js.map +0 -1
  298. package/dist/admin/assets/publishing-DdmWXRaM.js +0 -2
  299. package/dist/admin/assets/schedules-BmB9Y73z.js +0 -2
  300. package/dist/admin/assets/schema-D-qo7XSF.js +0 -2
  301. package/dist/admin/assets/seo-CceGYTIX.js +0 -2
  302. package/dist/admin/assets/settings-TEbLvC-v.js +0 -2
  303. package/dist/admin/assets/shapes-WrYO9Spf.js +0 -6
  304. package/dist/admin/assets/shapes-WrYO9Spf.js.map +0 -1
  305. package/dist/admin/assets/src-ndgTSYLX.js +0 -7
  306. package/dist/admin/assets/src-ndgTSYLX.js.map +0 -1
  307. package/dist/admin/assets/titles-CQiqqDw-.js +0 -2
  308. package/dist/admin/assets/titles-CQiqqDw-.js.map +0 -1
  309. package/dist/admin/assets/tokens-ixHjAkDK.js +0 -2
  310. package/dist/admin/assets/useContentSchema-DtYfhsd2.js +0 -2
  311. package/dist/admin/assets/useContentSchema-DtYfhsd2.js.map +0 -1
  312. package/dist/admin/assets/useCursorPager-0zHjlm-7.js +0 -2
  313. package/dist/admin/assets/useNetworkPermission-Cts98h9d.js +0 -2
  314. package/dist/admin/assets/usePlaces-DC47wVeU.js +0 -2
  315. package/dist/admin/assets/usePlaces-DC47wVeU.js.map +0 -1
  316. package/dist/admin/assets/useQueries-CirW3Mvp.js +0 -2
  317. package/dist/admin/assets/useQueries-CirW3Mvp.js.map +0 -1
  318. package/dist/admin/assets/useSaveShortcut-rKtp1qK7.js +0 -2
  319. package/dist/admin/assets/useSaveShortcut-rKtp1qK7.js.map +0 -1
  320. package/dist/admin/assets/users-2iJYwlJb.js +0 -2
  321. package/dist/admin/assets/users-2iJYwlJb.js.map +0 -1
  322. package/dist/cliMain-D08HeAd_.js.map +0 -1
  323. package/dist/worker-jspgh10V.js.map +0 -1
@@ -0,0 +1,2 @@
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{Bt as r,Ct as i,En as a,Jt as o,S as s,St as c,gt as l,mt as u,qt as d,xt as f}from"./src-CMor9izq.js";import{E as p,S as m,u as h,w as g}from"./auth-BFSvtV59.js";import{O as _,_ as ee,a as v,i as y,j as te,n as ne,o as b,r as re,t as x}from"./badge-DEe9tqLS.js";import{n as S,t as ie}from"./createLucideIcon-BOsNKleB.js";import{i as ae,n as C,o as oe,t as se}from"./RowTitle-DVOfgxOd.js";import{t as w}from"./fileRoute-c9UMUr9b.js";import{t as ce}from"./UnsavedChangesGuard-DPgih7BX.js";import{t as le}from"./FormCheckboxGroup-VjWVMiF3.js";import{E as T,S as ue}from"./InfoHint-ymRmHKMr.js";import{T as E,x as de}from"./es2015-1nJWBurR.js";import{a as fe,i as pe,n as me,r as he,t as ge}from"./Form-CEOW2OFF.js";import{u as _e}from"./constants-FKg_ke3y.js";import{t as ve}from"./boxes-_5klpWNM.js";import{i as D,n as ye,r as be}from"./skeleton-Dk-qdg0z.js";import{a as xe,i as Se,n as Ce,r as we,s as Te,t as Ee}from"./select-JB2Vv7ep.js";import{t as De}from"./CursorPager-CsnzX1P8.js";import{a as O,i as Oe,o as ke,r as Ae,s as je,t as k}from"./InlineConfirm-A4IqkrGp.js";import{_ as Me,a as A,c as Ne,o as Pe,s as Fe,t as j}from"./field-BDCHXkZE.js";import{t as Ie}from"./link-C98FG_p5.js";import{t as Le}from"./ellipsis-Ci0rsbCJ.js";import{t as Re}from"./search-wj7zbkx1.js";import{a as M,l as ze,p as Be,r as Ve,t as He}from"./dropdown-menu-B7dJyA8h.js";import{t as N}from"./plus-cr9ZfO6j.js";import{t as Ue}from"./scroll-text-B5vfi9fD.js";import{_ as We,b as Ge,d as Ke,f as qe,g as Je,h as Ye,p as Xe,v as Ze,x as Qe,y as $e}from"./searchSchemas-fO_49fDI.js";import{a as et,c as tt,d as nt,f as rt,i as it,l as at,n as ot,o as st,r as ct,s as lt,t as ut,u as dt}from"./users-38jLQ7zr.js";import{t as ft}from"./users-DYwcVDqp.js";import{t as pt}from"./cn-DVhJ55Mo.js";import{t as mt}from"./UserAvatar-If-zlQNY.js";import{n as ht,t as gt}from"./radio-group-Btmx7dlD.js";import{t as _t}from"./switch-DyCRGDs7.js";import{d as vt,f as P,i as yt,l as bt,n as F,o as I,r as xt,t as L,u as R}from"./zod-vPzaNsuW.js";import{t as z}from"./settle-CFU6YpQ0.js";import{a as B,f as St,g as V,i as H,l as Ct,n as U,o as W,r as G,s as K,t as q,u as wt,v as J}from"./table-zG68ipQc.js";import{t as Tt}from"./HintedLabel-Cd9nuSqV.js";import{t as Et}from"./SharedGlyph-nsXJPCew.js";import{_ as Dt,d as Ot}from"./schema-BMQEabwO.js";import{t as Y}from"./QueryView-DO9TFWYE.js";import{t as kt}from"./FormRadioGroup-BQurJa8M.js";import{t as At}from"./useNetworkPermission-DehDln-U.js";import{t as jt}from"./slugify-rYFum3Sc.js";import{t as X}from"./Panel-Bcl09TtM.js";import{c as Mt,s as Nt}from"./followPlural-CHpz-yo4.js";import{t as Pt}from"./FormTextareaField-CzXgoQzf.js";import{t as Ft}from"./FormSelectField-B4sjP-pj.js";import{t as Z}from"./FormSheet-V99zdfQe.js";import{a as It,c as Lt,n as Rt,o as zt,r as Bt,s as Vt,t as Ht}from"./SecretReveal-DRCqVEFF.js";import{t as Ut}from"./useConfirmTarget-9JmfiY2X.js";import{t as Wt}from"./LinkTabs-oQXsy1I3.js";var Gt=[`read`,`create`,`update`,`delete`,`publish`,`schemaManage`],Kt=[`schema.create`,`users.manage`,`roles.manage`,`tokens.manage`,`audit.read`,`sites.manage`,`media.read`,`media.write`,`media.manage`,`publishing.manage`,`webhooks.manage`,`deployments.manage`,`deployments.trigger`,`changes.manage`,`changes.ship`,`site.settings`],qt=[`read`,`create`,`update`,`delete`,`publish`],Jt={name:`book-open`,size:24,node:[[`path`,{d:`M12 5v16`,key:`1f6ucr`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`,key:`1fyvmf`}]]};Jt.node;var Yt=ie(Jt),Xt={name:`corner-left-up`,size:24,node:[[`path`,{d:`M14 9 9 4 4 9`,key:`1af5af`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`,key:`1blwi3`}]]};Xt.node;var Zt=ie(Xt),Qt={name:`sliders-horizontal`,size:24,node:[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]};Qt.node;var $t=ie(Qt),Q=e(n(),1),en=()=>{let{t:e}=S(),t=Dt(),{locked:n,reason:r}=Mt(),i=n?null:(0,Q.jsx)(D,{asChild:!0,children:(0,Q.jsxs)(m,{to:`/network/content-types/new`,children:[(0,Q.jsx)(N,{"aria-hidden":`true`}),e(`contentTypes.network.create`)]})});return(0,Q.jsxs)(v,{children:[(0,Q.jsx)(y,{title:e(`contentTypes.network.title`),meta:t.data?e(`contentTypes.network.count`,{count:t.data.length}):void 0,actions:i}),n?(0,Q.jsx)(Nt,{reason:r}):null,(0,Q.jsx)(Y,{query:t,isEmpty:e=>e.length===0,empty:(0,Q.jsx)(b,{icon:ve,title:e(`contentTypes.network.empty`),description:e(`contentTypes.network.emptyDescription`),action:i}),children:e=>(0,Q.jsx)(he,{items:e,showKind:!0,markShared:!1})})]})},tn=[`collection`,`singleton`,`component`],nn=()=>{let{t:e}=S();return(0,Q.jsx)(ge,{title:e(`contentTypes.network.newTitle`),kinds:tn,back:g({to:`/network/content-types`}),backLabel:e(`contentTypes.network.title`),scope:`network`})},$=e(t(),1),rn=e=>Promise.all([e.invalidateQueries({queryKey:r.sites.all}),e.invalidateQueries({queryKey:r.me})]),an=()=>o({queryKey:r.sites.all,queryFn:()=>l.sites.list(),meta:{silent:!0}}),on=e=>o({queryKey:r.sites.site(e),queryFn:()=>l.sites.get(e),meta:{silent:!0}}),sn=()=>{let e=an();return{names:(0,$.useMemo)(()=>new Map((e.data??[]).map(e=>[e.id,e.name])),[e.data]),error:e.error}},cn=()=>{let e=a();return d({mutationKey:[`sites`,`create`],meta:{silent:!0},mutationFn:e=>u(()=>l.sites.create(e)),onSuccess:()=>rn(e)})},ln=()=>{let e=a();return d({mutationKey:[`sites`,`update`],meta:{silent:!0},mutationFn:({id:e,input:t})=>u(()=>l.sites.update(e,t)),onSettled:()=>rn(e)})},un=()=>{let e=a();return d({mutationKey:[`sites`,`delete`],meta:{silent:!0},mutationFn:e=>u(()=>l.sites.remove(e.id)),onSuccess:(t,n)=>{if(n.key===f().key){i();return}return e.removeQueries({queryKey:r.sites.site(n.id)}),rn(e)}})},dn=e=>o({queryKey:r.sites.appRoles(e),queryFn:()=>l.sites.appRoles.get(e),meta:{silent:!0}}),fn=()=>{let e=a();return d({mutationKey:[`sites`,`appRoles`,`set`],meta:{silent:!0},mutationFn:({id:e,input:t})=>u(()=>l.sites.appRoles.set(e,t)),onSuccess:t=>e.setQueryData(r.sites.appRoles(t.siteId),t)})},pn=e=>{let t=fn(),n=R({defaultValues:{public:e.public,authenticated:e.authenticated}}),{reset:r,formState:i}=n;return(0,$.useEffect)(()=>{i.isDirty||r({public:e.public,authenticated:e.authenticated})},[e,r,i.isDirty]),{form:n,onSubmit:n.handleSubmit(async n=>{let i=await z(t.mutateAsync({id:e.siteId,input:n}));i.ok&&(r({public:i.value.public,authenticated:i.value.authenticated}),T.success(E.t(`sites.appRoles.saved`)))}),setBindings:t}},mn=({bindings:e,roles:t,canManage:n})=>{let{t:r}=S(),{form:i,onSubmit:a,setBindings:o}=pn(e),s=t.map(e=>({value:e.id,label:e.name})),{isDirty:c}=i.formState;return(0,Q.jsxs)(`form`,{noValidate:!0,onSubmit:e=>void a(e),children:[(0,Q.jsxs)(A,{children:[(0,Q.jsx)(le,{control:i.control,name:`public`,legend:r(`sites.appRoles.public`),options:s,disabled:!n}),(0,Q.jsx)(le,{control:i.control,name:`authenticated`,legend:r(`sites.appRoles.authenticated`),options:s,disabled:!n}),(0,Q.jsx)(O,{error:o.error}),n?(0,Q.jsx)(`div`,{children:(0,Q.jsx)(ee,{pending:o.isPending,pendingLabel:r(`common.saving`),disabled:!c,children:r(`common.saveChanges`)})}):null]}),(0,Q.jsx)(ce,{when:c})]})},hn=({siteId:e,canManage:t})=>{let{t:n}=S(),r=dn(e),i=Ye();return(0,Q.jsx)(X,{title:n(`sites.appRoles.title`),description:n(`sites.appRoles.description`),children:(0,Q.jsx)(Y,{query:r,children:e=>(0,Q.jsx)(Y,{query:i,children:n=>(0,Q.jsx)(mn,{bindings:e,roles:n,canManage:t})})})})},gn=({site:e})=>{let{t}=S(),n=p(),r=un();return(0,Q.jsx)(X,{title:t(`sites.danger`),description:t(`sites.deleteDescription`),children:(0,Q.jsx)(k,{tone:`danger`,title:t(`sites.deleteTitle`,{name:e.name}),description:t(`sites.deleteConsequence`),confirmLabel:t(`common.delete`),onConfirm:async()=>{await r.mutateAsync(e),e.key!==f().key&&(T.success(t(`sites.deleted`,{name:e.name})),n({to:`/network/sites`}))},trigger:(0,Q.jsx)(D,{variant:`destructive-ghost`,children:t(`sites.delete`)})})})},_n=V({name:I().max(200,`validation.tooLong`)}),vn=e=>{let t=ln(),n=R({resolver:L(_n),defaultValues:{name:e.name}}),{reset:r,formState:i}=n;return(0,$.useEffect)(()=>{i.isDirty||r({name:e.name})},[e.name,r,i.isDirty]),{form:n,onSubmit:n.handleSubmit(async({name:n})=>{let i=await z(t.mutateAsync({id:e.id,input:{expectedVersion:e.version,name:n}}));i.ok&&(r({name:i.value.name}),T.success(E.t(`sites.renamed`)))}),updateSite:t}},yn=`site-key`,bn=`site-key-hint`,xn=({site:e,canManage:t})=>{let{t:n}=S(),{form:r,onSubmit:i,updateSite:a}=vn(e),{isDirty:o}=r.formState;return(0,Q.jsxs)(X,{title:n(`sites.details`),children:[(0,Q.jsx)(`form`,{noValidate:!0,onSubmit:e=>void i(e),className:`max-w-md`,children:(0,Q.jsxs)(A,{children:[(0,Q.jsx)(F,{control:r.control,name:`name`,label:n(`sites.name`),autoComplete:`off`,readOnly:!t}),(0,Q.jsxs)(j,{children:[(0,Q.jsx)(Tt,{htmlFor:yn,label:n(`sites.key`),hint:n(`sites.keyHint`),hintId:bn}),(0,Q.jsx)(ye,{id:yn,value:e.key,readOnly:!0,className:`font-mono`,"aria-describedby":bn})]}),(0,Q.jsx)(O,{error:a.error}),t?(0,Q.jsx)(`div`,{children:(0,Q.jsx)(ee,{pending:a.isPending,pendingLabel:n(`common.saving`),disabled:!o,children:n(`common.saveChanges`)})}):null]})}),(0,Q.jsx)(ce,{when:o})]})},Sn=()=>{let{t:e}=S(),{siteId:t}=te({from:`/app/network/sites/$siteId`}),n=on(t),r=At(`sites.manage`),i=At(`roles.manage`);return(0,Q.jsx)(v,{width:`narrow`,children:(0,Q.jsx)(Y,{query:n,children:t=>(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(y,{breadcrumb:[{label:e(`sites.title`),link:g({to:`/network/sites`})}],title:t.name,badge:t.isPrimary?(0,Q.jsx)(x,{variant:`secondary`,children:e(`sites.primary`)}):null,meta:t.key,actions:(0,Q.jsx)(D,{variant:`outline`,onClick:()=>c(t.key),children:e(`sites.open`)})}),(0,Q.jsx)(xn,{site:t,canManage:r},t.id),(0,Q.jsx)(hn,{siteId:t.id,canManage:i}),r&&!t.isPrimary?(0,Q.jsx)(gn,{site:t}):null]})})})},Cn=63,wn=e=>jt(e).replace(/^[^a-z]+/,``).slice(0,Cn).replace(/-+$/,``),Tn=V({name:I().max(200,`validation.tooLong`),key:J().trim().regex(/^[a-z][a-z0-9-]{0,62}$/,`validation.siteKey`)}),En={name:``,key:``},Dn=(e,t)=>{let n=cn(),r=R({resolver:L(Tn),defaultValues:En}),{reset:i,getValues:a,setValue:o}=r;return me(P({control:r.control,name:`name`}),(0,$.useCallback)(()=>a(`key`),[a]),(0,$.useCallback)(e=>o(`key`,e,{shouldValidate:!1}),[o]),wn),(0,$.useEffect)(()=>{e&&i(En)},[e,i]),{form:r,onSubmit:r.handleSubmit(async e=>{let r=await z(n.mutateAsync(e));r.ok&&(i(En),t(r.value))}),createSite:n}},On=({open:e,onOpenChange:t,onCreated:n})=>{let{t:r}=S(),{form:i,onSubmit:a,createSite:o}=Dn(e,n);return(0,Q.jsxs)(Z,{open:e,onOpenChange:t,size:`md`,title:r(`sites.createTitle`),dirty:i.formState.isDirty,pending:o.isPending,submitLabel:r(`common.create`),pendingLabel:r(`common.saving`),onSubmit:e=>void a(e),children:[(0,Q.jsx)(F,{control:i.control,name:`name`,label:r(`sites.name`),autoComplete:`off`}),(0,Q.jsx)(F,{control:i.control,name:`key`,label:r(`sites.key`),autoComplete:`off`,spellCheck:!1,hint:r(`sites.keyHint`),description:r(`sites.keyFixed`)}),(0,Q.jsx)(O,{error:o.error})]})},kn=({sites:e})=>{let{t}=S();return(0,Q.jsx)(K,{children:(0,Q.jsxs)(q,{children:[(0,Q.jsx)(B,{children:(0,Q.jsxs)(W,{children:[(0,Q.jsx)(H,{children:t(`sites.name`)}),(0,Q.jsx)(H,{children:t(`sites.key`)}),(0,Q.jsx)(H,{children:t(`sites.createdAt`)}),(0,Q.jsx)(H,{children:(0,Q.jsx)(`span`,{className:`sr-only`,children:t(`common.actions`)})})]})}),(0,Q.jsx)(U,{children:e.map(e=>(0,Q.jsxs)(W,{children:[(0,Q.jsx)(G,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(se,{asChild:!0,children:(0,Q.jsx)(m,{to:`/network/sites/$siteId`,params:{siteId:e.id},children:e.name})}),e.isPrimary?(0,Q.jsx)(x,{variant:`secondary`,children:t(`sites.primary`)}):null]})}),(0,Q.jsx)(G,{className:`font-mono text-xs`,children:e.key}),(0,Q.jsx)(G,{title:C(e.createdAt),children:ae(e.createdAt)}),(0,Q.jsx)(G,{className:`text-right`,children:(0,Q.jsx)(D,{variant:`outline`,size:`sm`,"aria-label":t(`sites.openNamed`,{name:e.name}),onClick:()=>c(e.key),children:t(`sites.open`)})})]},e.id))})]})})},An=()=>{let{t:e}=S(),t=p(),n=an(),r=At(`sites.manage`),[i,a]=(0,$.useState)(!1);return(0,Q.jsxs)(v,{children:[(0,Q.jsx)(y,{title:e(`sites.title`),meta:n.data?e(`sites.count`,{count:n.data.length}):void 0,actions:r?(0,Q.jsxs)(D,{onClick:()=>a(!0),children:[(0,Q.jsx)(N,{"aria-hidden":`true`}),e(`sites.create`)]}):null}),(0,Q.jsx)(Y,{query:n,isEmpty:e=>e.length===0,empty:(0,Q.jsx)(b,{icon:_e,title:e(`sites.empty`)}),children:e=>(0,Q.jsx)(kn,{sites:e})}),r?(0,Q.jsx)(On,{open:i,onOpenChange:a,onCreated:n=>{a(!1),T.success(e(`sites.created`,{name:n.name})),t({to:`/network/sites/$siteId`,params:{siteId:n.id}})}}):null]})},jn=`all`,Mn=e=>Ke.includes(e),Nn=({action:e,actorType:t,onChange:n})=>{let{t:r}=S(),[i,a]=(0,$.useState)(e??``),o=!!e||!!t;return(0,Q.jsxs)(`form`,{role:`search`,className:`flex w-full flex-wrap items-center gap-2`,onSubmit:e=>{e.preventDefault(),n({action:i.trim()||void 0,actorType:t})},children:[(0,Q.jsx)(be,{htmlFor:`audit-action`,className:`sr-only`,children:r(`audit.filterAction`)}),(0,Q.jsxs)(`div`,{className:`relative w-full sm:w-80`,children:[(0,Q.jsx)(Re,{"aria-hidden":`true`,className:`absolute top-1/2 left-2.5 size-4 -translate-y-1/2 text-muted-foreground`}),(0,Q.jsx)(ye,{id:`audit-action`,inputSize:`sm`,value:i,placeholder:r(`audit.filterActionPlaceholder`),onChange:e=>a(e.target.value),onBlur:()=>n({action:i.trim()||void 0,actorType:t}),className:`pl-8`})]}),(0,Q.jsx)(be,{htmlFor:`audit-actor-type`,className:`sr-only`,children:r(`audit.filterActor`)}),(0,Q.jsxs)(Ee,{value:t??jn,onValueChange:t=>n({action:e,actorType:Mn(t)?t:void 0}),children:[(0,Q.jsx)(Se,{id:`audit-actor-type`,size:`sm`,className:`w-44`,children:(0,Q.jsx)(xe,{})}),(0,Q.jsxs)(Ce,{children:[(0,Q.jsx)(we,{value:jn,children:r(`audit.allActors`)}),Ke.map(e=>(0,Q.jsx)(we,{value:e,children:r(`audit.actorTypes.${e}`)},e))]})]}),o?(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>{a(``),n({action:void 0,actorType:void 0})},children:r(`audit.clearFilters`)}):null]})},Pn=()=>{let e=oe({from:`/app/network/audit-log`}),t=p({from:`/network/audit-log`}),[n,r]=(0,$.useState)([]),i=e=>void t({search:t=>({...t,...e})});return{search:e,goFirst:e.cursor===void 0?void 0:()=>{r([]),i({cursor:void 0})},goPrevious:n.length===0?void 0:()=>{i({cursor:n.at(-1)}),r(e=>e.slice(0,-1))},goNext:t=>{r(t=>[...t,e.cursor]),i({cursor:t})},setFilters:e=>{r([]),i({...e,cursor:void 0})}}},Fn=e=>e.targetType?`${e.targetType}:${e.targetId??``}`:void 0,In=({events:e})=>{let{t}=S(),{actionLabel:n,targetLabel:r}=at();return(0,Q.jsxs)(q,{children:[(0,Q.jsx)(B,{children:(0,Q.jsxs)(W,{children:[(0,Q.jsx)(H,{children:t(`audit.actor`)}),(0,Q.jsx)(H,{children:t(`audit.action`)}),(0,Q.jsx)(H,{children:t(`audit.target`)}),(0,Q.jsx)(H,{children:t(`audit.outcome`)}),(0,Q.jsx)(H,{children:t(`audit.ipAddress`)}),(0,Q.jsx)(H,{children:t(`audit.when`)})]})}),(0,Q.jsx)(U,{children:e.map(e=>{let i=t(`audit.actorTypes.${e.actorType}`),a=e.actorName??e.actorEmail??i,o=e.actorName&&e.actorEmail?e.actorEmail:e.actorName||e.actorEmail?i:e.actorId??void 0,s=n(e.action),c=Fn(e),l=dt(e.metadata);return(0,Q.jsxs)(W,{children:[(0,Q.jsx)(G,{children:(0,Q.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,Q.jsx)(mt,{name:a,size:`sm`}),(0,Q.jsxs)(`span`,{className:`min-w-0`,children:[(0,Q.jsx)(`span`,{className:`block max-w-48 truncate text-sm font-semibold`,children:a}),o?(0,Q.jsx)(`span`,{className:`block max-w-48 truncate text-xs text-muted-foreground`,title:o,children:o}):null]})]})}),(0,Q.jsx)(G,{title:e.action,children:s?(0,Q.jsx)(x,{variant:`secondary`,children:s}):(0,Q.jsx)(x,{variant:`secondary`,className:`font-mono`,children:e.action})}),(0,Q.jsx)(G,{className:`max-w-64`,title:c,children:e.targetType?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`block truncate text-sm`,children:r(e.targetType)??(0,Q.jsx)(`span`,{className:`font-mono text-xs`,children:e.targetType})}),(0,Q.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:l??(0,Q.jsx)(`span`,{className:`font-mono`,children:e.targetId})})]}):(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:t(`common.none`)})}),(0,Q.jsx)(G,{children:(0,Q.jsx)(ne,{tone:e.outcome===`success`?`success`:`danger`,label:e.outcome===`success`?t(`audit.success`):t(`audit.failure`)})}),(0,Q.jsx)(G,{className:`font-mono text-xs`,children:e.ip??t(`common.unknown`)}),(0,Q.jsx)(G,{className:`whitespace-nowrap`,title:C(e.occurredAt),children:ae(e.occurredAt)})]},e.id)})})]})},Ln=()=>{let{t:e}=S(),{search:t,goFirst:n,goPrevious:r,goNext:i,setFilters:a}=Pn(),o=nt({cursor:t.cursor,limit:50,action:t.action,actorType:t.actorType}),s=o.data?.nextCursor;return(0,Q.jsxs)(v,{width:`full`,children:[(0,Q.jsx)(y,{title:e(`audit.title`)}),(0,Q.jsx)(K,{toolbar:(0,Q.jsx)(Nn,{action:t.action,actorType:t.actorType,onChange:a},`${t.action??``}|${t.actorType??``}`),footer:(0,Q.jsx)(De,{onFirst:n,onPrevious:r,onNext:s?()=>i(s):void 0}),children:(0,Q.jsx)(Y,{query:o,loadingRows:8,isEmpty:e=>e.items.length===0&&t.cursor===void 0,empty:(0,Q.jsx)(b,{size:`panel`,icon:Ue,title:e(`audit.empty`)}),children:e=>(0,Q.jsx)(In,{events:e.items})})})]})},Rn={admin:{actions:Gt,ownOnlyActions:new Set([`read`,`update`,`delete`,`publish`]),fieldScopedActions:new Set([`read`,`create`,`update`])},delivery:{actions:[`read`],ownOnlyActions:new Set,fieldScopedActions:new Set([`read`])}},zn={admin:Kt,delivery:[`readDrafts`]},Bn={read:`roles.actions.read`,readDrafts:`roles.actions.readDrafts`,create:`roles.actions.create`,update:`roles.actions.update`,delete:`roles.actions.delete`,publish:`roles.actions.publish`,schemaManage:`roles.actions.schemaManage`,"schema.create":`roles.actions.schemaCreate`,"users.manage":`roles.actions.usersManage`,"roles.manage":`roles.actions.rolesManage`,"tokens.manage":`roles.actions.tokensManage`,"audit.read":`roles.actions.auditRead`,"sites.manage":`roles.actions.sitesManage`,"media.read":`roles.actions.mediaRead`,"media.write":`roles.actions.mediaWrite`,"media.manage":`roles.actions.mediaManage`,"publishing.manage":`roles.actions.publishingManage`,"webhooks.manage":`roles.actions.webhooksManage`,"deployments.manage":`roles.actions.deploymentsManage`,"deployments.trigger":`roles.actions.deploymentsTrigger`,"changes.manage":`roles.actions.changesManage`,"changes.ship":`roles.actions.changesShip`,"site.settings":`roles.actions.siteSettings`},Vn=[`admin`,`delivery`],Hn=/^[a-z][a-z0-9-]{0,62}$/,Un=V({key:J().trim().regex(Hn,`validation.roleKey`),name:I(),description:J().trim(),kind:Ct([`admin`,`delivery`])}),Wn={key:``,name:``,description:``,kind:`admin`},Gn=(e,t)=>{let n=Rt(),r=R({resolver:L(Un),defaultValues:Wn}),{reset:i,getValues:a,setValue:o}=r;return me(P({control:r.control,name:`name`}),(0,$.useCallback)(()=>a(`key`),[a]),(0,$.useCallback)(e=>o(`key`,e,{shouldValidate:!1}),[o]),wn),(0,$.useEffect)(()=>{e&&i(Wn)},[e,i]),{form:r,onSubmit:r.handleSubmit(async e=>{let r=await z(n.mutateAsync({...e,permissions:[]}));r.ok&&(T.success(E.t(`roles.created`)),t(r.value))}),createRole:n}},Kn={admin:`roles.kindAdmin`,delivery:`roles.kindDelivery`},qn=({open:e,onOpenChange:t,onCreated:n})=>{let{t:r}=S(),{form:i,onSubmit:a,createRole:o}=Gn(e,n);return(0,Q.jsxs)(Z,{open:e,onOpenChange:t,size:`md`,title:r(`roles.createTitle`),dirty:i.formState.isDirty,pending:o.isPending,submitLabel:r(`common.create`),pendingLabel:r(`common.saving`),onSubmit:e=>void a(e),children:[(0,Q.jsx)(F,{control:i.control,name:`name`,label:r(`roles.name`),autoComplete:`off`}),(0,Q.jsx)(F,{control:i.control,name:`key`,label:r(`roles.key`),hint:r(`roles.keyHint`),autoComplete:`off`,spellCheck:!1,className:`font-mono`}),(0,Q.jsx)(Pt,{control:i.control,name:`description`,label:r(`roles.roleDescription`),rows:2}),(0,Q.jsx)(Ft,{control:i.control,name:`kind`,label:r(`roles.kind`),hint:r(`roles.kindHint`),options:Vn.map(e=>({value:e,label:r(Kn[e])}))}),(0,Q.jsx)(O,{error:o.error})]})},Jn=({roles:e,onDelete:t})=>{let{t:n}=S();return(0,Q.jsx)(K,{children:(0,Q.jsxs)(q,{children:[(0,Q.jsx)(B,{children:(0,Q.jsxs)(W,{children:[(0,Q.jsx)(H,{children:n(`roles.name`)}),(0,Q.jsx)(H,{children:n(`roles.key`)}),(0,Q.jsx)(H,{children:n(`roles.kind`)}),(0,Q.jsx)(H,{children:n(`roles.permissions`)}),(0,Q.jsx)(H,{children:(0,Q.jsx)(`span`,{className:`sr-only`,children:n(`common.actions`)})})]})}),(0,Q.jsx)(U,{children:e.map(e=>(0,Q.jsxs)(W,{children:[(0,Q.jsxs)(G,{className:`max-w-xs`,children:[(0,Q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(se,{asChild:!0,children:(0,Q.jsx)(m,{to:`/network/roles/$roleId`,params:{roleId:e.id},children:e.name})}),(0,Q.jsx)(x,{variant:e.isSystem?`secondary`:`outline`,children:e.isSystem?n(`roles.builtIn`):n(`roles.custom`)})]}),e.description?(0,Q.jsx)(`span`,{className:`block truncate text-meta whitespace-normal text-muted-foreground`,children:e.description}):null]}),(0,Q.jsx)(G,{className:`font-mono text-xs`,children:e.key}),(0,Q.jsx)(G,{children:e.kind===`admin`?n(`roles.kindAdmin`):n(`roles.kindDelivery`)}),(0,Q.jsx)(G,{children:n(`roles.permissionsCount`,{count:e.permissions.length})}),(0,Q.jsx)(G,{className:`text-right`,children:e.isSystem?null:(0,Q.jsxs)(He,{children:[(0,Q.jsx)(Be,{asChild:!0,children:(0,Q.jsx)(D,{variant:`ghost`,size:`icon-sm`,"aria-label":`${n(`common.actions`)}: ${e.name}`,children:(0,Q.jsx)(Le,{"aria-hidden":`true`})})}),(0,Q.jsxs)(Ve,{align:`end`,children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsxs)(m,{to:`/network/roles/$roleId`,params:{roleId:e.id},children:[(0,Q.jsx)($t,{"aria-hidden":`true`}),n(`roles.editPermissions`)]})}),(0,Q.jsxs)(M,{variant:`destructive`,onSelect:()=>t(e),children:[(0,Q.jsx)(Me,{"aria-hidden":`true`}),n(`common.delete`)]})]})]})})]},e.id))})]})})},Yn=()=>{let{t:e}=S();return(0,Q.jsx)(Wt,{label:e(`roles.sections`),tabs:[{to:`/network/roles`,label:e(`roles.tabAdmin`)},{to:`/network/roles/app`,label:e(`roles.tabApp`)}]})},Xn=()=>{let{t:e}=S(),t=Vt(),n=Bt(),r=Ut(),i=p(),[a,o]=(0,$.useState)(!1);return(0,Q.jsxs)(v,{width:`full`,children:[(0,Q.jsx)(y,{title:e(`roles.title`),tabs:(0,Q.jsx)(Yn,{}),actions:(0,Q.jsxs)(D,{onClick:()=>o(!0),children:[(0,Q.jsx)(N,{"aria-hidden":`true`}),e(`roles.create`)]})}),(0,Q.jsx)(Y,{query:t,isEmpty:e=>e.length===0,empty:(0,Q.jsx)(b,{icon:Qe,title:e(`roles.empty`)}),children:e=>(0,Q.jsx)(Jn,{roles:e,onDelete:e=>r.ask(e)})}),(0,Q.jsx)(qn,{open:a,onOpenChange:o,onCreated:e=>{o(!1),i({to:`/network/roles/$roleId`,params:{roleId:e.id}})}}),(0,Q.jsx)(Ae,{open:r.open,onOpenChange:r.onOpenChange,title:e(`roles.deleteTitle`,{name:r.target?.name??``}),description:e(`roles.deleteDescription`),confirmLabel:e(`common.delete`),destructive:!0,onConfirm:()=>{r.target&&n.mutate(r.target.id,{onSuccess:()=>T.success(e(`roles.deleted`))})}})]})},Zn=V({key:J().trim().regex(Hn,`validation.roleKey`),name:I(),description:J().trim()}),Qn={key:``,name:``,description:``},$n=(e,t)=>{let n=Je(),r=R({resolver:L(Zn),defaultValues:Qn}),{reset:i,getValues:a,setValue:o}=r;return me(P({control:r.control,name:`name`}),(0,$.useCallback)(()=>a(`key`),[a]),(0,$.useCallback)(e=>o(`key`,e,{shouldValidate:!1}),[o]),wn),(0,$.useEffect)(()=>{e&&i(Qn)},[e,i]),{form:r,onSubmit:r.handleSubmit(async e=>{let r=await z(n.mutateAsync({...e,permissions:[]}));r.ok&&(T.success(E.t(`appRoles.created`)),t(r.value))}),createAppRole:n}},er=({open:e,onOpenChange:t,onCreated:n})=>{let{t:r}=S(),{form:i,onSubmit:a,createAppRole:o}=$n(e,n);return(0,Q.jsxs)(Z,{open:e,onOpenChange:t,size:`md`,title:r(`appRoles.createTitle`),dirty:i.formState.isDirty,pending:o.isPending,submitLabel:r(`common.create`),pendingLabel:r(`common.saving`),onSubmit:e=>void a(e),children:[(0,Q.jsx)(F,{control:i.control,name:`name`,label:r(`roles.name`),autoComplete:`off`}),(0,Q.jsx)(F,{control:i.control,name:`key`,label:r(`roles.key`),hint:r(`roles.keyHint`),autoComplete:`off`,spellCheck:!1,className:`font-mono`}),(0,Q.jsx)(Pt,{control:i.control,name:`description`,label:r(`roles.roleDescription`),rows:2}),(0,Q.jsx)(O,{error:o.error})]})},tr=e=>e.permissions.some(e=>e.action===`read`&&e.modelId===null&&e.condition===null),nr=()=>{let e=Ze();return{grantReadAll:t=>e.mutate({id:t.id,input:{expectedVersion:t.version,permissions:[...t.permissions.filter(e=>e.action!==`read`||e.modelId!==null),{action:`read`,modelId:null,condition:null,fieldIds:null}]}},{onSuccess:()=>T.success(E.t(`appRoles.readAllGranted`,{name:t.name})),onError:e=>T.error(de(e))}),pendingRoleId:e.isPending?e.variables?.id:void 0}},rr=({role:e,onDelete:t})=>{let{t:n}=S(),[r,i]=(0,$.useState)(!1);return(0,Q.jsxs)(He,{children:[(0,Q.jsx)(k,{tone:`danger`,open:r,onOpenChange:i,title:n(`roles.deleteTitle`,{name:e.name}),description:n(`appRoles.deleteDescription`),confirmLabel:n(`common.delete`),onConfirm:()=>t(e),children:(0,Q.jsx)(Be,{asChild:!0,children:(0,Q.jsx)(D,{variant:`ghost`,size:`icon-sm`,"aria-label":`${n(`common.actions`)}: ${e.name}`,children:(0,Q.jsx)(Le,{"aria-hidden":`true`})})})}),(0,Q.jsxs)(Ve,{align:`end`,onCloseAutoFocus:e=>r&&e.preventDefault(),children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsxs)(m,{to:`/network/roles/app/$roleId`,params:{roleId:e.id},children:[(0,Q.jsx)($t,{"aria-hidden":`true`}),n(`roles.editPermissions`)]})}),e.isSystem?null:(0,Q.jsxs)(M,{variant:`destructive`,onSelect:()=>i(!0),children:[(0,Q.jsx)(Me,{"aria-hidden":`true`}),n(`common.delete`)]})]})]})},ir={public:`appRoles.holdersPublic`,authenticated:`appRoles.holdersAuthenticated`},ar=e=>Object.hasOwn(ir,e)?ir[e]:void 0,or=({roles:e,onDelete:t,onGrantReadAll:n,pendingRoleId:r})=>{let{t:i}=S();return(0,Q.jsx)(K,{children:(0,Q.jsxs)(q,{children:[(0,Q.jsx)(B,{children:(0,Q.jsxs)(W,{children:[(0,Q.jsx)(H,{children:i(`roles.name`)}),(0,Q.jsx)(H,{children:i(`roles.key`)}),(0,Q.jsx)(H,{children:i(`appRoles.heldBy`)}),(0,Q.jsx)(H,{children:i(`roles.permissions`)}),(0,Q.jsx)(H,{children:(0,Q.jsx)(`span`,{className:`sr-only`,children:i(`common.actions`)})})]})}),(0,Q.jsx)(U,{children:e.map(e=>{let a=e.isSystem?ar(e.key):void 0;return(0,Q.jsxs)(W,{children:[(0,Q.jsxs)(G,{className:`max-w-xs`,children:[(0,Q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(se,{asChild:!0,children:(0,Q.jsx)(m,{to:`/network/roles/app/$roleId`,params:{roleId:e.id},children:e.name})}),(0,Q.jsx)(x,{variant:e.isSystem?`secondary`:`outline`,children:e.isSystem?i(`roles.builtIn`):i(`roles.custom`)})]}),e.description?(0,Q.jsx)(`span`,{className:`block text-meta whitespace-normal text-muted-foreground`,children:e.description}):null]}),(0,Q.jsx)(G,{className:`font-mono text-xs`,children:e.key}),(0,Q.jsx)(G,{children:a?i(a):i(`appRoles.userCount`,{count:e.userCount})}),(0,Q.jsx)(G,{children:(0,Q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[i(`roles.permissionsCount`,{count:e.permissions.length}),e.isSystem&&!tr(e)?(0,Q.jsxs)(D,{variant:`outline`,size:`sm`,disabled:r===e.id,"aria-label":`${i(`appRoles.grantReadAll`)}: ${e.name}`,onClick:()=>n(e),children:[(0,Q.jsx)(Yt,{"aria-hidden":`true`}),i(`appRoles.grantReadAll`)]}):null]})}),(0,Q.jsx)(G,{className:`text-right`,children:(0,Q.jsx)(rr,{role:e,onDelete:t})})]},e.id)})})]})})},sr=()=>{let{t:e}=S(),t=p(),n=Ye(),r=We(),[i,a]=(0,$.useState)(!1),{grantReadAll:o,pendingRoleId:s}=nr(),c=async t=>{await r.mutateAsync(t.id),T.success(e(`roles.deleted`))};return(0,Q.jsxs)(v,{width:`full`,children:[(0,Q.jsx)(y,{title:e(`appRoles.title`),tabs:(0,Q.jsx)(Yn,{}),actions:(0,Q.jsxs)(D,{onClick:()=>a(!0),children:[(0,Q.jsx)(N,{"aria-hidden":`true`}),e(`appRoles.create`)]})}),(0,Q.jsx)(Y,{query:n,isEmpty:e=>e.length===0,empty:(0,Q.jsx)(b,{icon:Qe,title:e(`roles.empty`)}),children:t=>(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[t.some(e=>e.isSystem&&!tr(e))?(0,Q.jsxs)(ke,{variant:`info`,role:`note`,children:[(0,Q.jsx)(ue,{"aria-hidden":`true`}),(0,Q.jsx)(je,{children:e(`appRoles.denyByDefault`)})]}):null,(0,Q.jsx)(or,{roles:t,onDelete:c,onGrantReadAll:o,pendingRoleId:s})]})}),(0,Q.jsx)(er,{open:i,onOpenChange:a,onCreated:e=>{a(!1),t({to:`/network/roles/app/$roleId`,params:{roleId:e.id}})}})]})},cr={read:`roles.matrix.actions.read`,create:`roles.matrix.actions.create`,update:`roles.matrix.actions.update`,delete:`roles.matrix.actions.delete`,publish:`roles.matrix.actions.publish`,schemaManage:`roles.matrix.actions.schemaManage`},lr=e=>{let t={};for(let n of e){let e=n.modelId??`*`;t[e]={...t[e],[n.action]:{ownOnly:n.condition===`ownedByPrincipal`,fieldIds:n.fieldIds===null?null:[...n.fieldIds].sort()}}}return t},ur=(e,t)=>Object.keys(e).sort((e,t)=>e===`*`?-1:t===`*`?1:e.localeCompare(t)).flatMap(n=>t.actions.flatMap(t=>{let r=e[n]?.[t];return r?[{action:t,modelId:n===`*`?null:n,condition:r.ownOnly?`ownedByPrincipal`:null,fieldIds:r.fieldIds}]:[]})),dr=(e,t,n,r)=>{let i={...e[t]};return r?i[n]=r:delete i[n],{...e,[t]:i}},fr=(e,t,n,r)=>dr(e,t,n,r?e[t]?.[n]??{ownOnly:!1,fieldIds:null}:void 0),pr=(e,t,n,r)=>{let i=e[t]?.[n];return i?dr(e,t,n,{...i,...r}):e},mr=(e,t)=>t.ownOnlyActions.has(e),hr=(e,t,n)=>e!==`*`&&n.fieldScopedActions.has(t),gr=(e,t,n,r)=>({ownOnly:n.ownOnly&&!mr(t,r),fieldIds:hr(e,t,r)?null:n.fieldIds}),_r=(e,t,n,r)=>{let i=gr(e,t,n,r);return mr(t,r)||hr(e,t,r)||i.ownOnly||i.fieldIds!==null},vr=(e,t,n)=>n.actions.some(r=>{let i=t?.[r];return i!==void 0&&_r(e,r,i,n)}),yr=(e,t,n)=>Object.keys(e).filter(e=>e!==`*`&&!t.has(e)).sort().flatMap(t=>n.actions.flatMap(n=>{let r=e[t]?.[n];return r?[{modelId:t,action:n,grant:r}]:[]})),br=(e,t,n,r)=>t.reduce((e,t)=>fr(e,t,n,r),e),xr=(e,t,n)=>{let r=t.filter(t=>e[t]?.[n]!==void 0).length;return r===0?!1:r===t.length||`indeterminate`},Sr=(e,t,n)=>{let r=e.filter(e=>!e.deprecated),i=r.map(e=>({id:e.id,label:e.label,note:n===`delivery`&&!e.public?`notPublic`:void 0})),a=new Set(r.map(e=>e.id));for(let n of t??[])if(!a.has(n)){let t=e.find(e=>e.id===n);i.push({id:n,label:t?.label,note:t?`deprecated`:`unknown`})}return{choices:i,defaultSelection:(n===`admin`?r:r.filter(e=>e.public)).map(e=>e.id)}},Cr=(e,t,n)=>{let r={};for(let i of n.actions){let n=t.flatMap(t=>{let n=e[t]?.[i];return n?[{modelId:t,grant:n}]:[]});n.length>0&&(r[i]=n)}return r},wr=`all`,Tr=`selected`,Er=({id:e,fields:t,fieldIds:n,audience:r,readOnly:i,onChange:a})=>{let{t:o}=S(),{choices:s,defaultSelection:c}=Sr(t,n,r),l=n??[];return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(gt,{"aria-label":o(`roles.matrix.fieldScope`),value:n===null?wr:Tr,disabled:i,onValueChange:e=>a(e===wr?null:c),children:[(0,Q.jsxs)(j,{orientation:`horizontal`,children:[(0,Q.jsx)(ht,{id:`${e}-all`,value:wr}),(0,Q.jsx)(Pe,{htmlFor:`${e}-all`,className:`font-normal`,children:o(r===`admin`?`roles.matrix.allFields`:`roles.matrix.allPublicFields`)})]}),(0,Q.jsxs)(j,{orientation:`horizontal`,children:[(0,Q.jsx)(ht,{id:`${e}-selected`,value:Tr}),(0,Q.jsx)(Pe,{htmlFor:`${e}-selected`,className:`font-normal`,children:o(`roles.matrix.selectedFields`)})]})]}),n===null?null:(0,Q.jsx)(`div`,{className:`grid gap-2 pl-6 sm:grid-cols-2`,children:s.map(t=>{let n=`${e}-field-${t.id}`;return(0,Q.jsxs)(j,{orientation:`horizontal`,children:[(0,Q.jsx)(Oe,{id:n,checked:l.includes(t.id),disabled:i,onCheckedChange:e=>a(e===!0?[...l,t.id].sort():l.filter(e=>e!==t.id))}),(0,Q.jsxs)(Pe,{htmlFor:n,className:`font-normal`,children:[t.label??(0,Q.jsx)(`span`,{className:`font-mono text-xs`,children:t.id}),t.note===`notPublic`?(0,Q.jsx)(x,{variant:`secondary`,children:o(`roles.matrix.notPublic`)}):null,t.note===`deprecated`?(0,Q.jsx)(x,{variant:`secondary`,children:o(`roles.matrix.deprecatedField`)}):null,t.note===`unknown`?(0,Q.jsx)(x,{variant:`secondary`,children:o(`roles.matrix.unknownField`)}):null]})]},t.id)})})]})},Dr=({id:e,checked:t,disabled:n,onCheckedChange:r})=>{let{t:i}=S();return(0,Q.jsxs)(j,{orientation:`horizontal`,children:[(0,Q.jsx)(Pe,{htmlFor:e,children:i(`roles.matrix.ownOnly`)}),(0,Q.jsx)(_t,{id:e,checked:t,disabled:n,onCheckedChange:r})]})},Or=({base:e,action:t,rowKey:n,grant:r,rules:i,fields:a,audience:o,readOnly:s,onChange:c})=>{let{t:l}=S(),u=gr(n,t,r,i);return(0,Q.jsxs)(Q.Fragment,{children:[mr(t,i)?(0,Q.jsx)(Dr,{id:`${e}-own`,checked:r.ownOnly,disabled:s,onCheckedChange:e=>c(t,{ownOnly:e})}):null,hr(n,t,i)?(0,Q.jsx)(Er,{id:e,fields:a??[],fieldIds:r.fieldIds,audience:o,readOnly:s,onChange:e=>c(t,{fieldIds:e})}):null,u.ownOnly?(0,Q.jsx)(j,{children:(0,Q.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:l(`roles.matrix.fixedOwnOnly`)})}):null,u.fieldIds===null?null:(0,Q.jsx)(j,{children:(0,Q.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:l(`roles.matrix.fixedFields`,{fields:u.fieldIds.join(`, `)||`–`})})})]})},kr=({id:e,rules:t,rowKey:n,fields:r,grants:i,inherited:a,nameOf:o,audience:s,readOnly:c,onChange:l})=>{let{t:u}=S(),d=e=>r?.find(t=>t.id===e)?.label??e,f=({modelId:e,grant:t})=>u(t.ownOnly?`roles.matrix.inheritedGrantOwnOnly`:`roles.matrix.inheritedGrant`,{model:o(e),fields:t.fieldIds===null?u(s===`admin`?`roles.matrix.allFields`:`roles.matrix.allPublicFields`):t.fieldIds.map(d).join(`, `)||`–`});return(0,Q.jsx)(`div`,{id:e,className:`sticky left-0 grid max-w-[100cqw] gap-6 border-t bg-muted/40 px-5 py-4 @3xl:grid-cols-2`,children:t.actions.map(o=>{let d=i[o],p=a[o]??[],m=d!==void 0&&_r(n,o,d,t);if(!m&&p.length===0)return null;let h=`${e}-${o}`;return(0,Q.jsxs)(Ne,{className:`gap-3`,children:[(0,Q.jsx)(Fe,{variant:`label`,children:u(cr[o])}),p.map(e=>(0,Q.jsx)(j,{children:(0,Q.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:f(e)})},e.modelId)),p.length>0?(0,Q.jsx)(j,{children:(0,Q.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:u(`roles.matrix.widenOnly`)})}):null,d&&m?(0,Q.jsx)(Or,{base:h,action:o,rowKey:n,grant:d,rules:t,fields:r,audience:s,readOnly:c,onChange:l}):null]},o)})})},Ar=({actions:e,label:t,detail:n,shared:r,siteName:i,readOnly:a,grants:o,depth:s,parentLabel:c,inherited:l,nameOf:u,optionsId:d,expanded:f,canExpand:p,onToggle:m,onToggleExpanded:h})=>{let{t:g}=S();return(0,Q.jsxs)(W,{className:`hover:bg-transparent has-aria-expanded:bg-transparent`,children:[(0,Q.jsx)(G,{className:`sticky left-0 z-10 h-9 bg-card py-0`,children:(0,Q.jsxs)(`span`,{className:`flex items-baseline gap-2 pl-[calc(var(--depth)*1.25rem)]`,style:{"--depth":Math.max(s-1,0)},children:[s>0?(0,Q.jsx)(fe,{"aria-hidden":`true`,className:`size-3.5 shrink-0 self-center text-muted-foreground`}):null,(0,Q.jsx)(`span`,{className:`font-semibold`,children:t}),r?(0,Q.jsx)(Et,{className:`self-center`}):null,(0,Q.jsxs)(`span`,{className:`truncate text-xs text-muted-foreground`,children:[i?`${i} · ${n}`:n,c?` · ${g(`roles.matrix.inheritedFrom`,{model:c})}`:null]})]})}),e.map(e=>{let n=g(cr[e]),r=l[e]?.map(e=>u(e.modelId)).join(`, `);return(0,Q.jsx)(G,{className:`h-9 py-0 text-center`,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 align-middle`,children:[r?(0,Q.jsxs)(`span`,{title:g(`roles.matrix.inheritedAction`,{action:n,model:r}),children:[(0,Q.jsx)(Zt,{"aria-hidden":`true`,className:`size-3.5 text-muted-foreground`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:g(`roles.matrix.inheritedAction`,{action:n,model:r})})]}):null,(0,Q.jsx)(Oe,{checked:o[e]!==void 0,disabled:a,onCheckedChange:t=>m(e,t===!0),"aria-label":`${n}: ${t}`})]})},e)}),(0,Q.jsx)(G,{className:`h-9 py-0 text-right`,children:(0,Q.jsxs)(D,{type:`button`,variant:`ghost`,size:`xs`,disabled:!p,"aria-expanded":f,"aria-controls":f?d:void 0,"aria-label":`${g(`roles.matrix.options`)}: ${t}`,onClick:h,children:[g(`roles.matrix.options`),(0,Q.jsx)(Te,{"aria-hidden":`true`,className:pt(`transition-transform`,f&&`rotate-180`)})]})})]})},jr=({matrix:e,listedKeys:t,rules:n,readOnly:r,onRemove:i})=>{let{t:a}=S(),o=yr(e,t,n);return o.length===0?null:(0,Q.jsxs)(`section`,{"aria-labelledby":`unlisted-grants-title`,className:`space-y-3 border-t px-5 py-4`,children:[(0,Q.jsx)(`h3`,{id:`unlisted-grants-title`,className:`text-sm font-semibold`,children:a(`roles.matrix.unlistedTitle`)}),(0,Q.jsx)(`ul`,{className:`space-y-2`,children:o.map(({modelId:e,action:t,grant:n})=>{let o=a(cr[t]);return(0,Q.jsxs)(`li`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0 text-sm`,children:[(0,Q.jsx)(`span`,{className:`font-semibold`,children:o}),` `,(0,Q.jsx)(`span`,{className:`font-mono text-xs break-all text-muted-foreground`,children:e}),n.ownOnly?(0,Q.jsx)(`span`,{className:`block text-meta text-muted-foreground`,children:a(`roles.matrix.ownOnly`)}):null,n.fieldIds===null?null:(0,Q.jsx)(`span`,{className:`block text-meta text-muted-foreground`,children:a(`roles.matrix.fixedFields`,{fields:n.fieldIds.join(`, `)||`–`})})]}),r?null:(0,Q.jsxs)(D,{type:`button`,variant:`ghost`,size:`xs`,"aria-label":a(`roles.matrix.removeGrant`,{action:o,model:e}),onClick:()=>i(e,t),children:[(0,Q.jsx)(_,{"aria-hidden":`true`}),a(`common.remove`)]})]},`${e}:${t}`)})})]})},Mr=({matrix:e,models:t,showSites:n,rules:r,audience:i,readOnly:a=!1,onChange:o})=>{let{t:c}=S(),[l,u]=(0,$.useState)(new Set),d=e=>u(t=>{let n=new Set(t);return n.delete(e)||n.add(e),n}),f=(0,$.useMemo)(()=>s(t.map(({definition:e})=>e)),[t]),p=(0,$.useMemo)(()=>pe(t,({definition:e})=>e.id,({definition:e})=>e.extends),[t]),m=e=>f.get(e)?.label??e,h=[{key:`*`,label:c(`roles.matrix.allModels`),detail:c(`roles.matrix.allModelsHint`),shared:!1,siteName:void 0,fields:void 0,depth:0,parentLabel:void 0,ancestorIds:[]},...p.map(({item:{definition:e,site:t},depth:r,parentId:i})=>({key:e.id,label:e.label,detail:e.apiKey,shared:t===null,siteName:n?t?.name:void 0,fields:f.resolve(e.id)?.fields??e.fields,depth:r,parentLabel:i===void 0?void 0:m(i),ancestorIds:f.ancestors(e.id)}))],g=h.some(e=>e.parentLabel!==void 0),_=h.map(e=>e.key);return(0,Q.jsxs)(`div`,{className:`@container`,children:[(0,Q.jsxs)(q,{children:[(0,Q.jsx)(B,{children:(0,Q.jsxs)(W,{children:[(0,Q.jsx)(H,{className:`sticky left-0 z-10 min-w-60 bg-muted`,children:c(`roles.matrix.model`)}),r.actions.map(t=>{let n=c(cr[t]);return(0,Q.jsx)(H,{className:`w-24 bg-muted`,children:(0,Q.jsxs)(`span`,{className:`flex items-center justify-center gap-2`,children:[(0,Q.jsx)(Oe,{checked:xr(e,_,t),disabled:a,onCheckedChange:n=>o(br(e,_,t,n===!0)),"aria-label":c(`roles.matrix.everyRow`,{action:n})}),n]})},t)}),(0,Q.jsx)(H,{className:`bg-muted`,children:(0,Q.jsx)(`span`,{className:`sr-only`,children:c(`roles.matrix.options`)})})]})}),(0,Q.jsx)(U,{children:h.map(t=>{let n=e[t.key]??{},s=Cr(e,t.ancestorIds,r),c=Object.keys(s).length>0,u=vr(t.key,n,r)||c,f=u&&l.has(t.key),p=`permission-options-${t.key===`*`?`all`:t.key}`;return(0,Q.jsxs)($.Fragment,{children:[(0,Q.jsx)(Ar,{actions:r.actions,label:t.label,detail:t.detail,shared:t.shared,siteName:t.siteName,readOnly:a,grants:n,depth:t.depth,parentLabel:t.parentLabel,inherited:s,nameOf:m,optionsId:p,expanded:f,canExpand:u,onToggle:(n,r)=>o(fr(e,t.key,n,r)),onToggleExpanded:()=>d(t.key)}),f?(0,Q.jsx)(W,{className:`hover:bg-transparent`,children:(0,Q.jsx)(G,{colSpan:r.actions.length+2,className:`h-auto p-0 whitespace-normal`,children:(0,Q.jsx)(kr,{id:p,rules:r,rowKey:t.key,fields:t.fields,grants:n,inherited:s,nameOf:m,audience:i,readOnly:a,onChange:(n,r)=>o(pr(e,t.key,n,r))})})}):null]},t.key)})})]}),g?(0,Q.jsx)(`p`,{className:`sticky left-0 max-w-[100cqw] border-t px-5 py-3 text-meta text-muted-foreground`,children:c(`roles.matrix.inheritanceNote`)}):null,(0,Q.jsx)(jr,{matrix:e,listedKeys:new Set(_),rules:r,readOnly:a,onRemove:(t,n)=>o(fr(e,t,n,!1))})]})},Nr={actions:qt,ownOnlyActions:new Set([`read`,`update`,`delete`,`publish`]),fieldScopedActions:new Set([`read`,`create`,`update`])},Pr=V({name:I(),description:J().trim()}),Fr=e=>{let t=Ze(),n=R({resolver:L(Pr),defaultValues:{name:e.name,description:e.description}}),[r,i]=(0,$.useState)(()=>lr(e.permissions)),a=(0,$.useMemo)(()=>JSON.stringify(ur(lr(e.permissions),Nr)),[e.permissions]),o=(0,$.useMemo)(()=>ur(r,Nr),[r]),s=JSON.stringify(o)!==a,c=!e.isSystem&&n.formState.isDirty,l=n.handleSubmit(async n=>{(await z(t.mutateAsync({id:e.id,input:{expectedVersion:e.version,...c?n:{},...s?{permissions:o}:{}}}))).ok&&T.success(E.t(`roles.saved`))});return{form:n,matrix:r,setMatrix:i,dirty:s||c,onSubmit:l,pending:t.isPending,error:t.error}},Ir={public:`appRoles.publicExplained`,authenticated:`appRoles.authenticatedExplained`},Lr=e=>Object.hasOwn(Ir,e)?Ir[e]:void 0,Rr=({role:e,models:t,showSites:n})=>{let{t:r}=S(),i=Fr(e),a=e.isSystem?Lr(e.key):void 0,o=[{label:r(`roles.title`),link:g({to:`/network/roles`})},{label:r(`appRoles.title`),link:g({to:`/network/roles/app`})}];return(0,Q.jsxs)(`form`,{noValidate:!0,className:`space-y-6`,onSubmit:e=>void i.onSubmit(e),children:[(0,Q.jsx)(y,{sticky:!0,breadcrumb:o,title:e.name,badge:e.isSystem?(0,Q.jsx)(x,{variant:`secondary`,children:r(`roles.builtIn`)}):null,meta:a?r(a):e.description||void 0,actions:(0,Q.jsx)(ee,{pending:i.pending,pendingLabel:r(`common.saving`),disabled:!i.dirty,children:r(`common.saveChanges`)})}),e.isSystem?null:(0,Q.jsx)(X,{title:r(`appRoles.details`),children:(0,Q.jsxs)(A,{className:`max-w-xl`,children:[(0,Q.jsx)(F,{control:i.form.control,name:`name`,label:r(`roles.name`),autoComplete:`off`}),(0,Q.jsx)(Pt,{control:i.form.control,name:`description`,label:r(`roles.roleDescription`),rows:2})]})}),(0,Q.jsx)(X,{title:r(`roles.permissions`),description:r(`appRoles.permissionsHint`),flush:!0,children:(0,Q.jsx)(Mr,{matrix:i.matrix,models:t,showSites:n,rules:Nr,audience:`delivery`,onChange:i.setMatrix})}),(0,Q.jsx)(O,{error:i.error}),(0,Q.jsx)(ce,{when:i.dirty&&!i.pending})]})},zr=()=>{let{roleId:e}=te({from:`/app/network/roles/app/$roleId`}),t=Xe(e),n=Ot();return(0,Q.jsx)(v,{width:`full`,children:(0,Q.jsx)(Y,{query:t,loadingRows:6,children:e=>(0,Q.jsx)(Y,{query:n,loadingRows:6,children:({models:t,siteCount:n})=>(0,Q.jsx)(Rr,{role:e,models:t,showSites:n>1},`${e.id}:${e.version}`)})})})},Br=e=>Gt.includes(e.action),Vr=(e,t)=>zn[e].includes(t.action)&&t.modelId===null&&t.condition===null&&t.fieldIds===null,Hr=(e,t)=>{let n=Rn[e].actions,r=t.filter(e=>Br(e)&&n.includes(e.action));return{matrix:lr(r),actions:t.filter(t=>Vr(e,t)).map(e=>e.action),others:t.filter(t=>!r.includes(t)&&!Vr(e,t))}},Ur=(e,t)=>{let n=zn[e];return[...ur(t.matrix,Rn[e]),...n.filter(e=>t.actions.includes(e)).map(e=>({action:e,modelId:null,condition:null,fieldIds:null})),...t.others]},Wr=V({name:I(),description:J().trim(),actions:wt(St(e=>typeof e==`string`))}),Gr=e=>{let t=Lt(),n=(0,$.useMemo)(()=>Hr(e.kind,e.permissions),[e.kind,e.permissions]),r=R({resolver:L(Wr),defaultValues:{name:e.name,description:e.description,actions:n.actions}}),[i,a]=(0,$.useState)(n.matrix),o=P({control:r.control,name:`actions`}),s=(0,$.useMemo)(()=>JSON.stringify(Ur(e.kind,n)),[e.kind,n]),c=(0,$.useMemo)(()=>Ur(e.kind,{matrix:i,actions:o,others:n.others}),[e.kind,i,o,n.others]),l=JSON.stringify(c)!==s,{dirtyFields:u}=r.formState,d=!!(u.name??u.description),f=r.handleSubmit(async({name:n,description:r})=>{(await z(t.mutateAsync({id:e.id,input:{expectedVersion:e.version,...d?{name:n,description:r}:{},...l?{permissions:c}:{}}}))).ok&&T.success(E.t(`roles.saved`))});return{form:r,matrix:i,setMatrix:a,dirty:l||d,onSubmit:f,pending:t.isPending,error:t.error}},Kr={admin:`roles.kindAdmin`,delivery:`roles.kindDelivery`},qr={admin:`roles.contentHintAdmin`,delivery:`roles.contentHintDelivery`},Jr={admin:`roles.instancePermissions`,delivery:`roles.drafts`},Yr=({role:e,models:t,showSites:n})=>{let{t:r}=S(),i=Gr(e),a=e.isSystem,o=[{label:r(`roles.title`),link:g({to:`/network/roles`})}];return(0,Q.jsxs)(`form`,{noValidate:!0,className:`space-y-6`,onSubmit:e=>void i.onSubmit(e),children:[(0,Q.jsx)(y,{sticky:!0,breadcrumb:o,title:e.name,badge:(0,Q.jsx)(x,{variant:e.isSystem?`secondary`:`outline`,children:e.isSystem?r(`roles.builtIn`):r(`roles.custom`)}),meta:`${r(Kr[e.kind])} · ${e.key}`,actions:a?null:(0,Q.jsx)(ee,{pending:i.pending,pendingLabel:r(`common.saving`),disabled:!i.dirty,children:r(`common.saveChanges`)})}),a?(0,Q.jsxs)(ke,{variant:`info`,role:`note`,children:[(0,Q.jsx)(ue,{"aria-hidden":`true`}),(0,Q.jsx)(je,{children:r(`roles.builtInReadOnly`)})]}):(0,Q.jsx)(X,{title:r(`roles.details`),children:(0,Q.jsxs)(A,{className:`max-w-xl`,children:[(0,Q.jsx)(F,{control:i.form.control,name:`name`,label:r(`roles.name`),autoComplete:`off`}),(0,Q.jsx)(Pt,{control:i.form.control,name:`description`,label:r(`roles.roleDescription`),rows:2})]})}),(0,Q.jsx)(X,{title:r(`roles.contentPermissions`),description:r(qr[e.kind]),flush:!0,children:(0,Q.jsx)(Mr,{matrix:i.matrix,models:t,showSites:n,rules:Rn[e.kind],audience:e.kind===`admin`?`admin`:`delivery`,readOnly:a,onChange:i.setMatrix})}),(0,Q.jsx)(X,{children:(0,Q.jsx)(le,{control:i.form.control,name:`actions`,legend:r(Jr[e.kind]),disabled:a,options:zn[e.kind].map(e=>({value:e,label:r(Bn[e]),...e===`readDrafts`?{hint:r(`roles.actions.readDraftsHint`)}:{}}))})}),(0,Q.jsx)(O,{error:i.error}),(0,Q.jsx)(ce,{when:i.dirty&&!i.pending})]})},Xr=()=>{let{roleId:e}=te({from:`/app/network/roles/$roleId`}),t=It(e),n=Ot();return(0,Q.jsx)(v,{width:`full`,children:(0,Q.jsx)(Y,{query:t,loadingRows:6,children:e=>(0,Q.jsx)(Y,{query:n,loadingRows:6,children:({models:t,siteCount:n})=>(0,Q.jsx)(Yr,{role:e,models:t,showSites:n>1},`${e.id}:${e.version}`)})})})},Zr=()=>{let{t:e}=S(),t=h().data?.emailDelivery,n=ct(),[r,i]=(0,$.useState)(void 0),a=async({id:e,email:t})=>{let r=await n.mutateAsync(e);i({...r,email:t})};return{revealed:r,emailDelivery:t,reveal:a,announceInvitation:async n=>{if(t===`console`){await a(n);return}T.success(e(`users.invited`,{email:n.email}),{action:{label:e(`users.copyLink`),onClick:()=>void z(a(n))}})},dismiss:()=>i(void 0),keepFocusOnReveal:e=>{r&&e.preventDefault()}}},Qr=({link:e,emailDelivery:t,onDismiss:n})=>{let{t:r}=S(),i=C(e.expiresAt);return(0,Q.jsx)(Ht,{title:r(`users.invitationLink.title`,{email:e.email}),description:r(t===`console`?`users.invitationLink.noEmailDescription`:`users.invitationLink.description`,{date:i}),label:r(`users.invitationLink.label`),secret:e.acceptUrl,dismissLabel:r(`users.invitationLink.done`),onDismiss:n})},$r=({assignments:e,roleNames:t,siteNames:n})=>{let{t:r}=S(),i=n.size>1;return e.map(({roleId:e,siteId:a})=>{let o=t.get(e)??r(`common.unknown`),s=a===null?r(`sites.switcher.allSites`):n.get(a)??r(`common.unknown`);return(0,Q.jsx)(x,{variant:`outline`,children:i?r(`users.access.badge`,{role:o,site:s}):o},`${e}:${a??``}`)})},ei=({siteNames:e,onCopyLink:t,onCloseAutoFocus:n})=>{let{t:r}=S(),i=ut(),{names:a}=zt(),o=et();return i.isError?(0,Q.jsx)(re,{error:i.error,onRetry:()=>void i.refetch()}):!i.data||i.data.length===0?null:(0,Q.jsx)(X,{title:r(`users.invitationsTitle`),flush:!0,children:(0,Q.jsxs)(q,{children:[(0,Q.jsx)(B,{children:(0,Q.jsxs)(W,{children:[(0,Q.jsx)(H,{children:r(`users.email`)}),(0,Q.jsx)(H,{children:r(`users.roles`)}),(0,Q.jsx)(H,{children:r(`users.invitationExpires`)}),(0,Q.jsx)(H,{children:(0,Q.jsx)(`span`,{className:`sr-only`,children:r(`common.actions`)})})]})}),(0,Q.jsx)(U,{children:i.data.map(i=>(0,Q.jsxs)(W,{children:[(0,Q.jsx)(G,{children:(0,Q.jsx)(se,{children:i.email})}),(0,Q.jsx)(G,{children:(0,Q.jsx)(`span`,{className:`flex flex-wrap gap-1`,children:(0,Q.jsx)($r,{assignments:i.assignments,roleNames:a,siteNames:e})})}),(0,Q.jsx)(G,{title:C(i.expiresAt),children:ae(i.expiresAt)}),(0,Q.jsx)(G,{children:(0,Q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Q.jsx)(k,{tone:`default`,title:r(`users.invitationLink.confirmTitle`,{email:i.email}),description:r(`users.invitationLink.confirmDescription`),confirmLabel:r(`users.invitationLink.create`),onConfirm:()=>t(i),onCloseAutoFocus:n,trigger:(0,Q.jsxs)(D,{variant:`outline`,size:`sm`,"aria-label":`${r(`users.copyLink`)}: ${i.email}`,children:[(0,Q.jsx)(Ie,{"aria-hidden":`true`}),r(`users.copyLink`)]})}),(0,Q.jsx)(k,{tone:`danger`,title:r(`users.revokeInvitationTitle`,{email:i.email}),description:r(`users.revokeInvitationDescription`),confirmLabel:r(`common.revoke`),onConfirm:async()=>{await o.mutateAsync(i.id),T.success(r(`users.invitationRevoked`))},trigger:(0,Q.jsx)(D,{variant:`outline`,size:`sm`,"aria-label":`${r(`common.revoke`)}: ${i.email}`,children:r(`common.revoke`)})})]})})]},i.id))})]})})},ti=e=>e??`all`,ni=(e,t)=>{let n=new Map;for(let{roleId:r,siteId:i}of e){let e=ti(i);(!n.has(e)||r===t)&&n.set(e,r)}return[...n].map(([e,t])=>({site:e,roleId:t}))},ri=e=>e.map(({site:e,roleId:t})=>({roleId:t,siteId:e===`all`?null:e})),ii=e=>wt(V({site:J().min(1),roleId:J().min(1,`validation.selectRole`)})).min(1).superRefine((t,n)=>{let r=new Set;t.forEach((t,i)=>{r.has(t.site)&&n.addIssue({code:`custom`,path:[i,`site`],message:`validation.siteTwice`}),r.add(t.site),e!==void 0&&t.roleId===e&&t.site!==`all`&&n.addIssue({code:`custom`,path:[i,`roleId`],message:`validation.ownerAllSites`})})}),ai=(e,t,n)=>{let r=new Set(e.map(e=>e.site)),i=[`all`,...t].find(e=>!r.has(e));return i===void 0?void 0:{site:i,roleId:n}},oi=({control:e,roleOptions:t,siteOptions:n,siteIds:r,multiSite:i,defaultRoleId:a})=>{let{t:o}=S(),{fields:s,append:c,remove:l}=bt({control:e,name:`rows`}),{errors:u}=vt({control:e,name:`rows`}),d=P({control:e,name:`rows`}),f=(e,t)=>`rows.${e}.${t}`;if(!i)return(0,Q.jsx)(kt,{control:e,name:f(0,`roleId`),legend:o(`users.role`),options:t});let p=ai(d??[],r,a??``),m=u.rows;return(0,Q.jsxs)(Ne,{children:[(0,Q.jsx)(Fe,{variant:`label`,children:o(`users.access.title`)}),(0,Q.jsx)(`div`,{className:`space-y-3`,children:s.map((r,i)=>(0,Q.jsxs)(`fieldset`,{"aria-label":o(`users.access.row`,{n:i+1}),className:`grid grid-cols-[1fr_1fr_auto] items-start gap-3`,children:[(0,Q.jsx)(Ft,{control:e,name:f(i,`site`),label:o(`users.access.site`),options:n}),(0,Q.jsx)(Ft,{control:e,name:f(i,`roleId`),label:o(`users.role`),options:t}),(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`icon`,className:`mt-7`,disabled:s.length===1,"aria-label":o(`users.access.remove`,{n:i+1}),onClick:()=>l(i),children:(0,Q.jsx)(_,{"aria-hidden":`true`})})]},r.id))}),(0,Q.jsx)(xt,{message:m?.root?.message??m?.message}),(0,Q.jsx)(`div`,{children:(0,Q.jsxs)(D,{type:`button`,variant:`outline`,size:`sm`,disabled:!p,onClick:()=>p&&c(p),children:[(0,Q.jsx)(N,{"aria-hidden":`true`}),o(`users.access.add`)]})})]})},si={owner:`owner`,editor:`editor`},ci=({includeOwner:e,heldRoleIds:t=[]})=>{let n=Vt(),r=(n.data??[]).filter(e=>e.kind===`admin`),i=e=>e===si.owner;return{options:r.filter(n=>!i(n.key)||e||t.includes(n.id)).map(e=>({value:e.id,label:e.name,...e.description?{description:e.description}:{}})),editorRoleId:r.find(e=>e.key===si.editor)?.id,ownerRoleId:r.find(e=>i(e.key))?.id,isPending:n.isPending,error:n.error}},li=({includeOwner:e,heldRoleIds:t})=>{let{t:n}=S(),r=ci({includeOwner:e,...t?{heldRoleIds:t}:{}}),i=an(),a=(0,$.useMemo)(()=>[{value:`all`,label:n(`sites.switcher.allSites`)},...(i.data??[]).map(e=>({value:e.id,label:e.name}))],[i.data,n]),o=(0,$.useMemo)(()=>(i.data??[]).map(e=>e.id),[i.data]);return{roleOptions:r.options,siteOptions:a,siteIds:o,multiSite:o.length>1,editorRoleId:r.editorRoleId,ownerRoleId:r.ownerRoleId,error:r.error??i.error}},ui=e=>({email:``,rows:[{site:`all`,roleId:e}]}),di=({open:e,defaultRoleId:t,ownerRoleId:n,onInvited:r,onDone:i})=>{let a=ot(),o=(0,$.useMemo)(()=>V({email:yt(),rows:ii(n)}),[n]),s=R({resolver:L(o),defaultValues:ui(``)}),{reset:c}=s;return(0,$.useEffect)(()=>{e&&c(ui(t??``))},[e,t,c]),{form:s,onSubmit:s.handleSubmit(async({email:e,rows:n})=>{let o=await z(a.mutateAsync({email:e,assignments:ri(n)}));o.ok&&(await z(r(o.value)),c(ui(t??``)),i())}),invite:a}},fi=({open:e,onOpenChange:t,onInvited:n,onCloseAutoFocus:r})=>{let{t:i}=S(),a=li({includeOwner:!1}),{form:o,onSubmit:s,invite:c}=di({open:e,defaultRoleId:a.editorRoleId,ownerRoleId:a.ownerRoleId,onInvited:n,onDone:()=>t(!1)});return(0,Q.jsxs)(Z,{open:e,onOpenChange:t,size:`md`,title:i(`users.inviteTitle`),dirty:o.formState.isDirty,pending:o.formState.isSubmitting,submitLabel:i(`users.invite`),pendingLabel:i(`common.saving`),onSubmit:e=>void s(e),onCloseAutoFocus:r,children:[(0,Q.jsx)(F,{control:o.control,name:`email`,label:i(`users.email`),type:`email`,autoComplete:`off`}),(0,Q.jsx)(oi,{control:o.control,roleOptions:a.roleOptions,siteOptions:a.siteOptions,siteIds:a.siteIds,multiSite:a.multiSite,defaultRoleId:a.editorRoleId}),(0,Q.jsx)(O,{error:c.error??a.error})]})},pi=(e,t,n,r)=>{let i=lt(),a=(0,$.useMemo)(()=>V({rows:ii(n)}),[n]),o=R({resolver:L(a),defaultValues:{rows:[]}}),{reset:s}=o;return(0,$.useEffect)(()=>{e&&s({rows:ni(t.assignments,n)})},[e,t.assignments,n,s]),{form:o,onSubmit:o.handleSubmit(async({rows:e})=>{(await z(i.mutateAsync({id:t.id,input:{assignments:ri(e)}}))).ok&&(T.success(E.t(`users.rolesSaved`)),r())}),updateUser:i}},mi=()=>h().data?.roles.some(e=>e.key===si.owner)??!1,hi=({open:e,onOpenChange:t,user:n})=>{let{t:r}=S(),i=li({includeOwner:mi(),heldRoleIds:n.assignments.map(e=>e.roleId)}),{form:a,onSubmit:o,updateUser:s}=pi(e,n,i.ownerRoleId,()=>t(!1));return(0,Q.jsxs)(Z,{open:e,onOpenChange:t,size:`md`,title:r(`users.accessTitle`,{name:n.name||n.email}),dirty:a.formState.isDirty,pending:s.isPending,submitLabel:r(`common.saveChanges`),pendingLabel:r(`common.saving`),onSubmit:e=>void o(e),children:[(0,Q.jsx)(oi,{control:a.control,roleOptions:i.roleOptions,siteOptions:i.siteOptions,siteIds:i.siteIds,multiSite:i.multiSite,defaultRoleId:i.editorRoleId}),(0,Q.jsx)(O,{error:s.error??i.error})]})},gi=(e,t)=>new Intl.ListFormat(t,{type:`conjunction`}).format(e.map(e=>`“${e.name}”`)),_i=e=>{let{t,i18n:n}=S(),[r,i]=(0,$.useState)(null),[a,o]=(0,$.useState)(`remove`),s=e=>{e&&o(e),i(e)},c=e.name||e.email,l=e.apiTokens,u=gi(l,n.language);return{kind:r,setKind:s,copy:{remove:{title:t(`users.removeTitle`,{name:c}),description:l.length>0?t(`users.removeDescriptionWithTokens`,{count:l.length,names:u}):t(`users.removeDescription`),confirmLabel:t(`common.remove`)},disable:{title:t(`users.disableTitle`,{name:c}),description:t(`users.disableDescriptionWithTokens`,{count:l.length,names:u}),confirmLabel:t(`users.disable`)}}[a],disableNeedsConfirm:e.status===`active`&&l.length>0}},vi=({user:e,roleNames:t,siteNames:n,isSelf:r,onToggleStatus:i,onRemove:a})=>{let{t:o}=S(),[s,c]=(0,$.useState)(void 0),l=_i(e),u=e.name||e.email;return(0,Q.jsxs)(W,{children:[(0,Q.jsx)(G,{children:(0,Q.jsx)(qe,{name:u,email:e.email,badge:r?(0,Q.jsx)(x,{variant:`secondary`,children:o(`users.you`)}):null})}),(0,Q.jsxs)(G,{children:[(0,Q.jsx)(`span`,{className:`flex flex-wrap gap-1`,children:(0,Q.jsx)($r,{assignments:e.assignments,roleNames:t,siteNames:n})}),s===void 0?null:(0,Q.jsx)(hi,{open:s,onOpenChange:c,user:e})]}),(0,Q.jsx)(G,{children:e.status===`active`?(0,Q.jsx)(ne,{tone:`success`,label:o(`users.active`)}):(0,Q.jsx)(ne,{tone:`muted`,label:o(`users.disabled`)})}),(0,Q.jsx)(G,{title:C(e.lastLoginAt)||void 0,children:e.lastLoginAt?ae(e.lastLoginAt):o(`common.never`)}),(0,Q.jsx)(G,{className:`text-right`,children:r?null:(0,Q.jsxs)(He,{children:[(0,Q.jsx)(k,{tone:`danger`,open:l.kind!==null,onOpenChange:e=>!e&&l.setKind(null),title:l.copy.title,description:l.copy.description,confirmLabel:l.copy.confirmLabel,onConfirm:()=>l.kind===`disable`?i(e):a(e),children:(0,Q.jsx)(Be,{asChild:!0,children:(0,Q.jsx)(D,{variant:`ghost`,size:`icon-sm`,"aria-label":`${o(`common.actions`)}: ${u}`,children:(0,Q.jsx)(Le,{"aria-hidden":`true`})})})}),(0,Q.jsxs)(Ve,{align:`end`,onCloseAutoFocus:e=>(l.kind!==null||s)&&e.preventDefault(),children:[(0,Q.jsxs)(M,{onSelect:()=>c(!0),children:[(0,Q.jsx)(Qe,{"aria-hidden":`true`}),o(`users.editAccess`)]}),(0,Q.jsxs)(M,{onSelect:()=>{if(l.disableNeedsConfirm){l.setKind(`disable`);return}z(i(e))},children:[e.status===`active`?(0,Q.jsx)($e,{"aria-hidden":`true`}):(0,Q.jsx)(Ge,{"aria-hidden":`true`}),e.status===`active`?o(`users.disable`):o(`users.enable`)]}),(0,Q.jsx)(ze,{}),(0,Q.jsxs)(M,{variant:`destructive`,onSelect:()=>l.setKind(`remove`),children:[(0,Q.jsx)(Me,{"aria-hidden":`true`}),o(`common.remove`)]})]})]})})]})},yi=({users:e,roleNames:t,siteNames:n,currentUserId:r,onToggleStatus:i,onRemove:a})=>{let{t:o}=S();return(0,Q.jsx)(K,{children:(0,Q.jsxs)(q,{children:[(0,Q.jsx)(B,{children:(0,Q.jsxs)(W,{children:[(0,Q.jsx)(H,{children:o(`users.name`)}),(0,Q.jsx)(H,{children:o(`users.roles`)}),(0,Q.jsx)(H,{children:o(`users.status`)}),(0,Q.jsx)(H,{children:o(`users.lastLogin`)}),(0,Q.jsx)(H,{children:(0,Q.jsx)(`span`,{className:`sr-only`,children:o(`common.actions`)})})]})}),(0,Q.jsx)(U,{children:e.map(e=>(0,Q.jsx)(vi,{user:e,roleNames:t,siteNames:n,isSelf:e.id===r,onToggleStatus:i,onRemove:a},e.id))})]})})},bi={sites:w(`/app/network/sites`)({component:An}),site:w(`/app/network/sites/$siteId`)({component:Sn}),contentTypes:w(`/app/network/content-types/`)({component:en}),newContentType:w(`/app/network/content-types/new`)({component:nn}),users:w(`/app/network/users`)({component:()=>{let{t:e}=S(),{data:t}=h(),n=tt(),{names:r}=zt(),{names:i}=sn(),a=st(),o=it(),[s,c]=(0,$.useState)(!1),l=Zr(),u=async t=>{await a.mutateAsync({id:t.id,status:t.status===`active`?`disabled`:`active`}),T.success(e(`users.statusChanged`))},d=async t=>{await o.mutateAsync(t.id),T.success(e(`users.removed`))};return(0,Q.jsxs)(v,{children:[(0,Q.jsx)(y,{title:e(`users.title`),actions:(0,Q.jsxs)(D,{onClick:()=>c(!0),children:[(0,Q.jsx)(rt,{"aria-hidden":`true`}),e(`users.invite`)]})}),(0,Q.jsx)(Y,{query:n,isEmpty:e=>e.length===0,empty:(0,Q.jsx)(b,{icon:ft,title:e(`users.empty`)}),children:e=>(0,Q.jsx)(yi,{users:e,roleNames:r,siteNames:i,currentUserId:t?.user.id,onToggleStatus:u,onRemove:d})}),l.revealed?(0,Q.jsx)(Qr,{link:l.revealed,emailDelivery:l.emailDelivery,onDismiss:l.dismiss},l.revealed.acceptUrl):null,(0,Q.jsx)(ei,{siteNames:i,onCopyLink:l.reveal,onCloseAutoFocus:l.keepFocusOnReveal}),(0,Q.jsx)(fi,{open:s,onOpenChange:c,onInvited:l.announceInvitation,onCloseAutoFocus:l.keepFocusOnReveal})]})}}),roles:w(`/app/network/roles`)({component:Xn}),role:w(`/app/network/roles/$roleId`)({component:Xr}),appRoles:w(`/app/network/roles/app`)({component:sr}),appRole:w(`/app/network/roles/app/$roleId`)({component:zr}),auditLog:w(`/app/network/audit-log`)({component:Ln})};export{bi as networkLazyRoutes};
2
+ //# sourceMappingURL=network-Cc1TAyal.js.map