@shapio/cms 0.4.1 → 0.5.0

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 (260) hide show
  1. package/dist/admin/assets/{AssetTile-CoNClUYS.js → AssetTile-zOf0K0nN.js} +2 -2
  2. package/dist/admin/assets/{AssetTile-CoNClUYS.js.map → AssetTile-zOf0K0nN.js.map} +1 -1
  3. package/dist/admin/assets/{AssistError-BoejyShH.js → AssistError-D_vY2CO0.js} +2 -2
  4. package/dist/admin/assets/{AssistError-BoejyShH.js.map → AssistError-D_vY2CO0.js.map} +1 -1
  5. package/dist/admin/assets/{BlockMenuItems-B2Jugisa.js → BlockMenuItems-BEnSpClj.js} +2 -2
  6. package/dist/admin/assets/{BlockMenuItems-B2Jugisa.js.map → BlockMenuItems-BEnSpClj.js.map} +1 -1
  7. package/dist/admin/assets/{Body-D3GwLGaB.js → Body-B_IVN5wp.js} +2 -2
  8. package/dist/admin/assets/{Body-D3GwLGaB.js.map → Body-B_IVN5wp.js.map} +1 -1
  9. package/dist/admin/assets/{Builder-CmT5-8hI.js → Builder-CnEtRudv.js} +2 -2
  10. package/dist/admin/assets/{Builder-CmT5-8hI.js.map → Builder-CnEtRudv.js.map} +1 -1
  11. package/dist/admin/assets/{ConfirmDialog-HS8Gc2t3.js → ConfirmDialog-BW-l3Whg.js} +2 -2
  12. package/dist/admin/assets/{ConfirmDialog-HS8Gc2t3.js.map → ConfirmDialog-BW-l3Whg.js.map} +1 -1
  13. package/dist/admin/assets/{CopyButton-DS-bAA23.js → CopyButton-CyoUMStc.js} +2 -2
  14. package/dist/admin/assets/{CopyButton-DS-bAA23.js.map → CopyButton-CyoUMStc.js.map} +1 -1
  15. package/dist/admin/assets/{CursorPager-C6PyD3wE.js → CursorPager-BW2Dl_hn.js} +2 -2
  16. package/dist/admin/assets/{CursorPager-C6PyD3wE.js.map → CursorPager-BW2Dl_hn.js.map} +1 -1
  17. package/dist/admin/assets/{ExternalLink-KdO72pTj.js → ExternalLink-BCI0q9ib.js} +2 -2
  18. package/dist/admin/assets/{ExternalLink-KdO72pTj.js.map → ExternalLink-BCI0q9ib.js.map} +1 -1
  19. package/dist/admin/assets/{FocalPoint-C62fRhmM.js → FocalPoint-CxicvlJO.js} +2 -2
  20. package/dist/admin/assets/{FocalPoint-C62fRhmM.js.map → FocalPoint-CxicvlJO.js.map} +1 -1
  21. package/dist/admin/assets/{Form-CLEr5Csd.js → Form-DB03drS9.js} +2 -2
  22. package/dist/admin/assets/{Form-CLEr5Csd.js.map → Form-DB03drS9.js.map} +1 -1
  23. package/dist/admin/assets/{FormCheckboxGroup-BrXY6qBg.js → FormCheckboxGroup-JP1xzReQ.js} +2 -2
  24. package/dist/admin/assets/{FormCheckboxGroup-BrXY6qBg.js.map → FormCheckboxGroup-JP1xzReQ.js.map} +1 -1
  25. package/dist/admin/assets/{FormRadioGroup-BjE1Jhar.js → FormRadioGroup-BvSC8SRm.js} +2 -2
  26. package/dist/admin/assets/{FormRadioGroup-BjE1Jhar.js.map → FormRadioGroup-BvSC8SRm.js.map} +1 -1
  27. package/dist/admin/assets/{FormSelectField-g4zrUlhv.js → FormSelectField-BDIVhZh6.js} +2 -2
  28. package/dist/admin/assets/{FormSelectField-g4zrUlhv.js.map → FormSelectField-BDIVhZh6.js.map} +1 -1
  29. package/dist/admin/assets/{FormSwitchField-gciThNGV.js → FormSwitchField-OM4F8ln4.js} +2 -2
  30. package/dist/admin/assets/{FormSwitchField-gciThNGV.js.map → FormSwitchField-OM4F8ln4.js.map} +1 -1
  31. package/dist/admin/assets/{FormTextareaField-tsS-UXym.js → FormTextareaField-Bw7EkC4H.js} +2 -2
  32. package/dist/admin/assets/{FormTextareaField-tsS-UXym.js.map → FormTextareaField-Bw7EkC4H.js.map} +1 -1
  33. package/dist/admin/assets/{HintedLabel-CVe-PIyv.js → HintedLabel-BGidukgy.js} +2 -2
  34. package/dist/admin/assets/{HintedLabel-CVe-PIyv.js.map → HintedLabel-BGidukgy.js.map} +1 -1
  35. package/dist/admin/assets/{InfoHint-DtaHU1Cg.js → InfoHint-D3uwei-E.js} +2 -2
  36. package/dist/admin/assets/{InfoHint-DtaHU1Cg.js.map → InfoHint-D3uwei-E.js.map} +1 -1
  37. package/dist/admin/assets/{InsertMenuItem-DlzaD9zr.js → InsertMenuItem-DAihGvbw.js} +2 -2
  38. package/dist/admin/assets/{InsertMenuItem-DlzaD9zr.js.map → InsertMenuItem-DAihGvbw.js.map} +1 -1
  39. package/dist/admin/assets/{LinkTabs-stM3j4aH.js → LinkTabs-DBXbfzME.js} +2 -2
  40. package/dist/admin/assets/{LinkTabs-stM3j4aH.js.map → LinkTabs-DBXbfzME.js.map} +1 -1
  41. package/dist/admin/assets/{Match-ErAxnNAY.js → Match-CgfZTzqs.js} +2 -2
  42. package/dist/admin/assets/{Match-ErAxnNAY.js.map → Match-CgfZTzqs.js.map} +1 -1
  43. package/dist/admin/assets/{Panel-ClY9b33D.js → Panel-DDky5_x9.js} +2 -2
  44. package/dist/admin/assets/{Panel-ClY9b33D.js.map → Panel-DDky5_x9.js.map} +1 -1
  45. package/dist/admin/assets/{QueryView-C630REML.js → QueryView-C2d392ly.js} +2 -2
  46. package/dist/admin/assets/{QueryView-C630REML.js.map → QueryView-C2d392ly.js.map} +1 -1
  47. package/dist/admin/assets/{RadioTile-CD4mel7U.js → RadioTile-CcP78eb_.js} +2 -2
  48. package/dist/admin/assets/{RadioTile-CD4mel7U.js.map → RadioTile-CcP78eb_.js.map} +1 -1
  49. package/dist/admin/assets/{RichTextField-CxeVX6C-.js → RichTextField-CeztaFET.js} +2 -2
  50. package/dist/admin/assets/{RichTextField-CxeVX6C-.js.map → RichTextField-CeztaFET.js.map} +1 -1
  51. package/dist/admin/assets/{RowTitle-B-7RptyN.js → RowTitle-mkKp4yfl.js} +2 -2
  52. package/dist/admin/assets/{RowTitle-B-7RptyN.js.map → RowTitle-mkKp4yfl.js.map} +1 -1
  53. package/dist/admin/assets/{SecretReveal-Dhw_dYxe.js → SecretReveal-mYCzxF96.js} +2 -2
  54. package/dist/admin/assets/{SecretReveal-Dhw_dYxe.js.map → SecretReveal-mYCzxF96.js.map} +1 -1
  55. package/dist/admin/assets/{SharedGlyph-97RaO6Bh.js → SharedGlyph-CuDT7OUU.js} +2 -2
  56. package/dist/admin/assets/{SharedGlyph-97RaO6Bh.js.map → SharedGlyph-CuDT7OUU.js.map} +1 -1
  57. package/dist/admin/assets/{StepList--0Fiqsq-.js → StepList-BDO0Q3Wc.js} +2 -2
  58. package/dist/admin/assets/{StepList--0Fiqsq-.js.map → StepList-BDO0Q3Wc.js.map} +1 -1
  59. package/dist/admin/assets/Structure-CL_0hVci.js +2 -0
  60. package/dist/admin/assets/{Structure-CoO3iah3.js.map → Structure-CL_0hVci.js.map} +1 -1
  61. package/dist/admin/assets/{SubNavLink-YjjaDN40.js → SubNavLink-C4eSybWd.js} +2 -2
  62. package/dist/admin/assets/{SubNavLink-YjjaDN40.js.map → SubNavLink-C4eSybWd.js.map} +1 -1
  63. package/dist/admin/assets/{SuggestAltButton-Dlyxoypu.js → SuggestAltButton-CxYlhwyd.js} +2 -2
  64. package/dist/admin/assets/{SuggestAltButton-Dlyxoypu.js.map → SuggestAltButton-CxYlhwyd.js.map} +1 -1
  65. package/dist/admin/assets/{TextLink-DIqr5zkJ.js → TextLink-DzNaAft6.js} +2 -2
  66. package/dist/admin/assets/{TextLink-DIqr5zkJ.js.map → TextLink-DzNaAft6.js.map} +1 -1
  67. package/dist/admin/assets/{Thumbnail-BUYOr4XJ.js → Thumbnail-DSPArZ9h.js} +2 -2
  68. package/dist/admin/assets/{Thumbnail-BUYOr4XJ.js.map → Thumbnail-DSPArZ9h.js.map} +1 -1
  69. package/dist/admin/assets/{UnsavedChangesGuard-BfzHgUkF.js → UnsavedChangesGuard-BPOCBD5T.js} +2 -2
  70. package/dist/admin/assets/{UnsavedChangesGuard-BfzHgUkF.js.map → UnsavedChangesGuard-BPOCBD5T.js.map} +1 -1
  71. package/dist/admin/assets/{UserAvatar-DNOWhSWS.js → UserAvatar-BHNWHDVb.js} +2 -2
  72. package/dist/admin/assets/{UserAvatar-DNOWhSWS.js.map → UserAvatar-BHNWHDVb.js.map} +1 -1
  73. package/dist/admin/assets/{auth-YVfK3SxF.js → auth-BzCgJtgr.js} +2 -2
  74. package/dist/admin/assets/{auth-YVfK3SxF.js.map → auth-BzCgJtgr.js.map} +1 -1
  75. package/dist/admin/assets/{badge-lJ4Ih_Zn.js → badge-DBoaS0nQ.js} +2 -2
  76. package/dist/admin/assets/{badge-lJ4Ih_Zn.js.map → badge-DBoaS0nQ.js.map} +1 -1
  77. package/dist/admin/assets/{boxes-DRvd25_u.js → boxes-DhN0ctLo.js} +2 -2
  78. package/dist/admin/assets/{boxes-DRvd25_u.js.map → boxes-DhN0ctLo.js.map} +1 -1
  79. package/dist/admin/assets/{calendar-clock-VENf4s1R.js → calendar-clock-BEA3tG17.js} +2 -2
  80. package/dist/admin/assets/{calendar-clock-VENf4s1R.js.map → calendar-clock-BEA3tG17.js.map} +1 -1
  81. package/dist/admin/assets/{changeSets-JmSyu3tu.js → changeSets-C54Ku-X9.js} +2 -2
  82. package/dist/admin/assets/{changeSets-JmSyu3tu.js.map → changeSets-C54Ku-X9.js.map} +1 -1
  83. package/dist/admin/assets/chevron-left-BeJdUVAX.js +2 -0
  84. package/dist/admin/assets/{chevron-left-D2DnQyeV.js.map → chevron-left-BeJdUVAX.js.map} +1 -1
  85. package/dist/admin/assets/{circle-check-jmRQz1Jq.js → circle-check-ktACw37r.js} +2 -2
  86. package/dist/admin/assets/{circle-check-jmRQz1Jq.js.map → circle-check-ktACw37r.js.map} +1 -1
  87. package/dist/admin/assets/{clock-DrSTMGjp.js → clock-BKNNASKp.js} +2 -2
  88. package/dist/admin/assets/{clock-DrSTMGjp.js.map → clock-BKNNASKp.js.map} +1 -1
  89. package/dist/admin/assets/cn-h5ORT3LK.js +2 -0
  90. package/dist/admin/assets/cn-h5ORT3LK.js.map +1 -0
  91. package/dist/admin/assets/coerce-DDQ1vGLx.js +2 -0
  92. package/dist/admin/assets/{coerce-B4MJTGg1.js.map → coerce-DDQ1vGLx.js.map} +1 -1
  93. package/dist/admin/assets/{constants-ahk0YSYl.js → constants-DH7oqfO_.js} +2 -2
  94. package/dist/admin/assets/{constants-ahk0YSYl.js.map → constants-DH7oqfO_.js.map} +1 -1
  95. package/dist/admin/assets/{content-DcvNzKGe.js → content-BptqQO8c.js} +3 -3
  96. package/dist/admin/assets/{content-DcvNzKGe.js.map → content-BptqQO8c.js.map} +1 -1
  97. package/dist/admin/assets/{contentCounts-DzIvdeXR.js → contentCounts-BpGlmyeZ.js} +2 -2
  98. package/dist/admin/assets/{contentCounts-DzIvdeXR.js.map → contentCounts-BpGlmyeZ.js.map} +1 -1
  99. package/dist/admin/assets/{contentTypes-YAd-AzOF.js → contentTypes-B_mAlIcH.js} +2 -2
  100. package/dist/admin/assets/{contentTypes-YAd-AzOF.js.map → contentTypes-B_mAlIcH.js.map} +1 -1
  101. package/dist/admin/assets/{context-4Jl20mYc.js → context-DyyMW7Md.js} +2 -2
  102. package/dist/admin/assets/{context-4Jl20mYc.js.map → context-DyyMW7Md.js.map} +1 -1
  103. package/dist/admin/assets/{copy-t6kAFw-O.js → copy-DjzlFY9u.js} +2 -2
  104. package/dist/admin/assets/{copy-t6kAFw-O.js.map → copy-DjzlFY9u.js.map} +1 -1
  105. package/dist/admin/assets/{dateTimeLocal-IDUOKulz.js → dateTimeLocal-DFXY779D.js} +2 -2
  106. package/dist/admin/assets/{dateTimeLocal-IDUOKulz.js.map → dateTimeLocal-DFXY779D.js.map} +1 -1
  107. package/dist/admin/assets/{develop-DYwiTd6R.js → develop-DJap_z-1.js} +2 -2
  108. package/dist/admin/assets/{develop-DYwiTd6R.js.map → develop-DJap_z-1.js.map} +1 -1
  109. package/dist/admin/assets/{dropdown-menu-DiYSm-g3.js → dropdown-menu-DGSMTf23.js} +2 -2
  110. package/dist/admin/assets/{dropdown-menu-DiYSm-g3.js.map → dropdown-menu-DGSMTf23.js.map} +1 -1
  111. package/dist/admin/assets/{ellipsis-DEHUaCkn.js → ellipsis-BMP-j3yO.js} +2 -2
  112. package/dist/admin/assets/{ellipsis-DEHUaCkn.js.map → ellipsis-BMP-j3yO.js.map} +1 -1
  113. package/dist/admin/assets/{external-link-B8UFREQ_.js → external-link-DzOkt97S.js} +2 -2
  114. package/dist/admin/assets/{external-link-B8UFREQ_.js.map → external-link-DzOkt97S.js.map} +1 -1
  115. package/dist/admin/assets/{fileRoute-CVQpW8cj.js → fileRoute-CG0Dufvt.js} +2 -2
  116. package/dist/admin/assets/{fileRoute-CVQpW8cj.js.map → fileRoute-CG0Dufvt.js.map} +1 -1
  117. package/dist/admin/assets/{folder-plus-iDg1hhew.js → folder-plus-C-LhI4a2.js} +2 -2
  118. package/dist/admin/assets/{folder-plus-iDg1hhew.js.map → folder-plus-C-LhI4a2.js.map} +1 -1
  119. package/dist/admin/assets/{followPlural-BdqfEe48.js → followPlural-D-8kzFOe.js} +2 -2
  120. package/dist/admin/assets/{followPlural-BdqfEe48.js.map → followPlural-D-8kzFOe.js.map} +1 -1
  121. package/dist/admin/assets/{globe-TooNSp9V.js → globe-DOoGBy23.js} +2 -2
  122. package/dist/admin/assets/{globe-TooNSp9V.js.map → globe-DOoGBy23.js.map} +1 -1
  123. package/dist/admin/assets/{image-CXZXXH58.js → image-D9p_gGE2.js} +2 -2
  124. package/dist/admin/assets/{image-CXZXXH58.js.map → image-D9p_gGE2.js.map} +1 -1
  125. package/dist/admin/assets/{image-off-cxva5G-Y.js → image-off-G0M2Nh1I.js} +2 -2
  126. package/dist/admin/assets/{image-off-cxva5G-Y.js.map → image-off-G0M2Nh1I.js.map} +1 -1
  127. package/dist/admin/assets/{inbox-B8c9Kj_z.js → inbox-CMzYVMZo.js} +2 -2
  128. package/dist/admin/assets/{inbox-B8c9Kj_z.js.map → inbox-CMzYVMZo.js.map} +1 -1
  129. package/dist/admin/assets/{inbox-CnzNfqt9.js → inbox-XaM-nvsM.js} +2 -2
  130. package/dist/admin/assets/{inbox-CnzNfqt9.js.map → inbox-XaM-nvsM.js.map} +1 -1
  131. package/dist/admin/assets/{index-D9KL7arJ.js → index-DHmfMpqz.js} +4 -4
  132. package/dist/admin/assets/{index-D9KL7arJ.js.map → index-DHmfMpqz.js.map} +1 -1
  133. package/dist/admin/assets/{key-round-CFJ61iCd.js → key-round-HBvMrmMo.js} +2 -2
  134. package/dist/admin/assets/{key-round-CFJ61iCd.js.map → key-round-HBvMrmMo.js.map} +1 -1
  135. package/dist/admin/assets/{languages-eh7U4anI.js → languages-BOv0jYhe.js} +2 -2
  136. package/dist/admin/assets/{languages-eh7U4anI.js.map → languages-BOv0jYhe.js.map} +1 -1
  137. package/dist/admin/assets/{layers-mGfmMsKE.js → layers-CkZyCaeb.js} +2 -2
  138. package/dist/admin/assets/{layers-mGfmMsKE.js.map → layers-CkZyCaeb.js.map} +1 -1
  139. package/dist/admin/assets/{link-2-off-DbZzRN_w.js → link-2-off-UUkSmPIL.js} +2 -2
  140. package/dist/admin/assets/{link-2-off-DbZzRN_w.js.map → link-2-off-UUkSmPIL.js.map} +1 -1
  141. package/dist/admin/assets/{link-b2pFaN-A.js → link-Bvqcg7db.js} +2 -2
  142. package/dist/admin/assets/{link-b2pFaN-A.js.map → link-Bvqcg7db.js.map} +1 -1
  143. package/dist/admin/assets/{locales-oBD0q1pN.js → locales-DbrcdhZi.js} +2 -2
  144. package/dist/admin/assets/{locales-oBD0q1pN.js.map → locales-DbrcdhZi.js.map} +1 -1
  145. package/dist/admin/assets/{media-Cs9LCQcz.js → media-CO0HSS3b.js} +2 -2
  146. package/dist/admin/assets/{media-Cs9LCQcz.js.map → media-CO0HSS3b.js.map} +1 -1
  147. package/dist/admin/assets/{media-5ks_0Rre.js → media-ugEyLgwN.js} +2 -2
  148. package/dist/admin/assets/{media-5ks_0Rre.js.map → media-ugEyLgwN.js.map} +1 -1
  149. package/dist/admin/assets/{network-DS8MW3AZ.js → network-BfDaUb7D.js} +2 -2
  150. package/dist/admin/assets/{network-DS8MW3AZ.js.map → network-BfDaUb7D.js.map} +1 -1
  151. package/dist/admin/assets/{pencil-C7eD5mlZ.js → pencil-BLNGNJmL.js} +2 -2
  152. package/dist/admin/assets/{pencil-C7eD5mlZ.js.map → pencil-BLNGNJmL.js.map} +1 -1
  153. package/dist/admin/assets/{plus-BDZHQBlU.js → plus-BXMBYPoB.js} +2 -2
  154. package/dist/admin/assets/{plus-BDZHQBlU.js.map → plus-BXMBYPoB.js.map} +1 -1
  155. package/dist/admin/assets/{preload-helper-CJNJ4S3k.js → preload-helper-DEbJbZwX.js} +2 -2
  156. package/dist/admin/assets/{preload-helper-CJNJ4S3k.js.map → preload-helper-DEbJbZwX.js.map} +1 -1
  157. package/dist/admin/assets/{publishing-C4YQ4XKt.js → publishing-DKrATBaj.js} +2 -2
  158. package/dist/admin/assets/{publishing-C4YQ4XKt.js.map → publishing-DKrATBaj.js.map} +1 -1
  159. package/dist/admin/assets/{radio-group-zOsGAYRP.js → radio-group-BIhT_uEK.js} +2 -2
  160. package/dist/admin/assets/{radio-group-zOsGAYRP.js.map → radio-group-BIhT_uEK.js.map} +1 -1
  161. package/dist/admin/assets/{rotate-ccw-DCWwb4Ga.js → rotate-ccw-DqbffhiC.js} +2 -2
  162. package/dist/admin/assets/{rotate-ccw-DCWwb4Ga.js.map → rotate-ccw-DqbffhiC.js.map} +1 -1
  163. package/dist/admin/assets/{schedules-DXrBSypK.js → schedules-CETl2eLe.js} +2 -2
  164. package/dist/admin/assets/{schedules-DXrBSypK.js.map → schedules-CETl2eLe.js.map} +1 -1
  165. package/dist/admin/assets/{schema-B7L9OJrX.js → schema-CWHuez0q.js} +2 -2
  166. package/dist/admin/assets/{schema-B7L9OJrX.js.map → schema-CWHuez0q.js.map} +1 -1
  167. package/dist/admin/assets/{scroll-text-BLThe4Ki.js → scroll-text-DlcDEi2k.js} +2 -2
  168. package/dist/admin/assets/{scroll-text-BLThe4Ki.js.map → scroll-text-DlcDEi2k.js.map} +1 -1
  169. package/dist/admin/assets/{search-CcJQqtRw.js → search-Dy2dtwyR.js} +2 -2
  170. package/dist/admin/assets/{search-CcJQqtRw.js.map → search-Dy2dtwyR.js.map} +1 -1
  171. package/dist/admin/assets/{searchSchemas-BCRZ1jyL.js → searchSchemas-Cz4P1iku.js} +2 -2
  172. package/dist/admin/assets/{searchSchemas-BCRZ1jyL.js.map → searchSchemas-Cz4P1iku.js.map} +1 -1
  173. package/dist/admin/assets/{sections-v5Flaor9.js → sections-BfG6DTFr.js} +2 -2
  174. package/dist/admin/assets/{sections-v5Flaor9.js.map → sections-BfG6DTFr.js.map} +1 -1
  175. package/dist/admin/assets/{sections-TIN_Nl1b.js → sections-EgXyXN3-.js} +2 -2
  176. package/dist/admin/assets/{sections-TIN_Nl1b.js.map → sections-EgXyXN3-.js.map} +1 -1
  177. package/dist/admin/assets/{select-CpHp3YOH.js → select--mePTdz8.js} +2 -2
  178. package/dist/admin/assets/{select-CpHp3YOH.js.map → select--mePTdz8.js.map} +1 -1
  179. package/dist/admin/assets/{send-CbP0Rc9_.js → send-DVgq5Iwg.js} +2 -2
  180. package/dist/admin/assets/{send-CbP0Rc9_.js.map → send-DVgq5Iwg.js.map} +1 -1
  181. package/dist/admin/assets/{seo-1n9s7YuX.js → seo-Zhb62Ojz.js} +2 -2
  182. package/dist/admin/assets/{seo-1n9s7YuX.js.map → seo-Zhb62Ojz.js.map} +1 -1
  183. package/dist/admin/assets/{settings-CuEO5l07.js → settings-Mscp6tN5.js} +2 -2
  184. package/dist/admin/assets/{settings-CuEO5l07.js.map → settings-Mscp6tN5.js.map} +1 -1
  185. package/dist/admin/assets/{skeleton-DElTumgk.js → skeleton-DJVukcn6.js} +2 -2
  186. package/dist/admin/assets/{skeleton-DElTumgk.js.map → skeleton-DJVukcn6.js.map} +1 -1
  187. package/dist/admin/assets/{snapshots-DkyyrWX3.js → snapshots-BpLhILlt.js} +2 -2
  188. package/dist/admin/assets/{snapshots-DkyyrWX3.js.map → snapshots-BpLhILlt.js.map} +1 -1
  189. package/dist/admin/assets/{sparkles-D88gf3vX.js → sparkles-Dd6S_roX.js} +2 -2
  190. package/dist/admin/assets/{sparkles-D88gf3vX.js.map → sparkles-Dd6S_roX.js.map} +1 -1
  191. package/dist/admin/assets/{stableId-DlNKh3HM.js → stableId-DFVM13gJ.js} +2 -2
  192. package/dist/admin/assets/{stableId-DlNKh3HM.js.map → stableId-DFVM13gJ.js.map} +1 -1
  193. package/dist/admin/assets/{store-jUWyOXDG.js → store-BP-xStwU.js} +2 -2
  194. package/dist/admin/assets/{store-jUWyOXDG.js.map → store-BP-xStwU.js.map} +1 -1
  195. package/dist/admin/assets/{switch-CijNGYkG.js → switch-skVypg5O.js} +2 -2
  196. package/dist/admin/assets/{switch-CijNGYkG.js.map → switch-skVypg5O.js.map} +1 -1
  197. package/dist/admin/assets/{table-DQ5ILlSh.js → table-BMbbRUK9.js} +2 -2
  198. package/dist/admin/assets/{table-DQ5ILlSh.js.map → table-BMbbRUK9.js.map} +1 -1
  199. package/dist/admin/assets/{tabs-CSqGW9Du.js → tabs-C1lgOg1B.js} +3 -3
  200. package/dist/admin/assets/{tabs-CSqGW9Du.js.map → tabs-C1lgOg1B.js.map} +1 -1
  201. package/dist/admin/assets/{textarea-FwSvwmyT.js → textarea-CffBBxoQ.js} +2 -2
  202. package/dist/admin/assets/{textarea-FwSvwmyT.js.map → textarea-CffBBxoQ.js.map} +1 -1
  203. package/dist/admin/assets/{theme-CHHVK8Ps.js → theme-RHTVnR9j.js} +2 -2
  204. package/dist/admin/assets/{theme-CHHVK8Ps.js.map → theme-RHTVnR9j.js.map} +1 -1
  205. package/dist/admin/assets/{titles-CQYc9nDQ.js → titles-DWiPmNvn.js} +2 -2
  206. package/dist/admin/assets/{titles-CQYc9nDQ.js.map → titles-DWiPmNvn.js.map} +1 -1
  207. package/dist/admin/assets/{tokens-C-20gLAT.js → tokens-BqyeN1D-.js} +2 -2
  208. package/dist/admin/assets/{tokens-C-20gLAT.js.map → tokens-BqyeN1D-.js.map} +1 -1
  209. package/dist/admin/assets/{tooltip-BXqFQv9N.js → tooltip-BfSF6EyR.js} +2 -2
  210. package/dist/admin/assets/{tooltip-BXqFQv9N.js.map → tooltip-BfSF6EyR.js.map} +1 -1
  211. package/dist/admin/assets/{undo-2-CLy2zklL.js → undo-2-p4YlNhBp.js} +2 -2
  212. package/dist/admin/assets/{undo-2-CLy2zklL.js.map → undo-2-p4YlNhBp.js.map} +1 -1
  213. package/dist/admin/assets/{useAuditLabels-BJF7M5RY.js → useAuditLabels-DV5gcaaG.js} +2 -2
  214. package/dist/admin/assets/{useAuditLabels-BJF7M5RY.js.map → useAuditLabels-DV5gcaaG.js.map} +1 -1
  215. package/dist/admin/assets/{useConfirmTarget-BUvlrGSW.js → useConfirmTarget-DCvnxNVg.js} +2 -2
  216. package/dist/admin/assets/{useConfirmTarget-BUvlrGSW.js.map → useConfirmTarget-DCvnxNVg.js.map} +1 -1
  217. package/dist/admin/assets/{useContentSchema-Cvtes34f.js → useContentSchema-z6tNif86.js} +2 -2
  218. package/dist/admin/assets/{useContentSchema-Cvtes34f.js.map → useContentSchema-z6tNif86.js.map} +1 -1
  219. package/dist/admin/assets/{useCursorPager-CzB6NDOB.js → useCursorPager-CQGX41_L.js} +2 -2
  220. package/dist/admin/assets/{useCursorPager-CzB6NDOB.js.map → useCursorPager-CQGX41_L.js.map} +1 -1
  221. package/dist/admin/assets/{useDiscardGuard-BAEGkGK9.js → useDiscardGuard-Dhbif7VL.js} +2 -2
  222. package/dist/admin/assets/{useDiscardGuard-BAEGkGK9.js.map → useDiscardGuard-Dhbif7VL.js.map} +1 -1
  223. package/dist/admin/assets/{useMediaPickerDialog-CiN_pias.js → useMediaPickerDialog-D-5uKsMG.js} +2 -2
  224. package/dist/admin/assets/{useMediaPickerDialog-CiN_pias.js.map → useMediaPickerDialog-D-5uKsMG.js.map} +1 -1
  225. package/dist/admin/assets/{useMediaUploader-CapEHBIt.js → useMediaUploader-BtLoimmQ.js} +2 -2
  226. package/dist/admin/assets/{useMediaUploader-CapEHBIt.js.map → useMediaUploader-BtLoimmQ.js.map} +1 -1
  227. package/dist/admin/assets/{usePaletteItems-wpn3ms6o.js → usePaletteItems-D3PZsW0Q.js} +2 -2
  228. package/dist/admin/assets/{usePaletteItems-wpn3ms6o.js.map → usePaletteItems-D3PZsW0Q.js.map} +1 -1
  229. package/dist/admin/assets/{usePlaces-6iTN15Xy.js → usePlaces-Cj5PljTy.js} +2 -2
  230. package/dist/admin/assets/{usePlaces-6iTN15Xy.js.map → usePlaces-Cj5PljTy.js.map} +1 -1
  231. package/dist/admin/assets/{useQueries-CYfcxI0Q.js → useQueries-CeDzli4Z.js} +2 -2
  232. package/dist/admin/assets/{useQueries-CYfcxI0Q.js.map → useQueries-CeDzli4Z.js.map} +1 -1
  233. package/dist/admin/assets/{useResolvedScheme-i1EwGHuF.js → useResolvedScheme-DHD-zisP.js} +2 -2
  234. package/dist/admin/assets/{useResolvedScheme-i1EwGHuF.js.map → useResolvedScheme-DHD-zisP.js.map} +1 -1
  235. package/dist/admin/assets/{useSchemaScopeAccess-WQKmj8_3.js → useSchemaScopeAccess-BNeVslcv.js} +2 -2
  236. package/dist/admin/assets/{useSchemaScopeAccess-WQKmj8_3.js.map → useSchemaScopeAccess-BNeVslcv.js.map} +1 -1
  237. package/dist/admin/assets/{users-BgTNDPXx.js → users-BRefbzuS.js} +2 -2
  238. package/dist/admin/assets/{users-BgTNDPXx.js.map → users-BRefbzuS.js.map} +1 -1
  239. package/dist/admin/assets/{users-B01EH47o.js → users-CppI8ctO.js} +2 -2
  240. package/dist/admin/assets/{users-B01EH47o.js.map → users-CppI8ctO.js.map} +1 -1
  241. package/dist/admin/assets/{zod-79xzBIrW.js → zod-Dcwk-m8X.js} +2 -2
  242. package/dist/admin/assets/{zod-79xzBIrW.js.map → zod-Dcwk-m8X.js.map} +1 -1
  243. package/dist/admin/index.html +55 -55
  244. package/dist/cli.js +110 -18
  245. package/dist/cli.js.map +1 -1
  246. package/dist/config.d.ts +1 -1
  247. package/dist/index.d.ts +1 -1
  248. package/dist/index.js +1 -1
  249. package/dist/{public-CTK82y3t.d.ts → public-DYR4mtVQ.d.ts} +2 -1
  250. package/dist/s3Adapter-C8AgFVYw.js +125 -0
  251. package/dist/s3Adapter-C8AgFVYw.js.map +1 -0
  252. package/dist/{worker-BDYDbaea.js → worker-jz_0yAmS.js} +388 -358
  253. package/dist/worker-jz_0yAmS.js.map +1 -0
  254. package/package.json +8 -5
  255. package/dist/admin/assets/Structure-CoO3iah3.js +0 -2
  256. package/dist/admin/assets/chevron-left-D2DnQyeV.js +0 -2
  257. package/dist/admin/assets/cn-CL1YHRrS.js +0 -2
  258. package/dist/admin/assets/cn-CL1YHRrS.js.map +0 -1
  259. package/dist/admin/assets/coerce-B4MJTGg1.js +0 -2
  260. package/dist/worker-BDYDbaea.js.map +0 -1
@@ -1,2 +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{H as r,P as i,V as a,bt as o,i as s,j as c,l,s as u}from"./cn-CL1YHRrS.js";import{i as d}from"./media-5ks_0Rre.js";import{g as f,h as p,i as m,m as h,u as g}from"./auth-YVfK3SxF.js";import{O as _,_ as v,a as y,i as b,n as x,o as S,t as ee}from"./badge-lJ4Ih_Zn.js";import{n as te}from"./Match-ErAxnNAY.js";import{i as C,n as w,r as ne,t as T}from"./RowTitle-B-7RptyN.js";import{t as E}from"./fileRoute-CVQpW8cj.js";import{t as re}from"./UnsavedChangesGuard-BfzHgUkF.js";import{H as ie,nt as ae}from"./src-Be3Ds5Dc.js";import{c as oe,i as se,n as ce,o as le}from"./seo-1n9s7YuX.js";import{G as D,R as ue,U as de,f as fe,o as pe,p as me,t as he,u as O}from"./InfoHint-DtaHU1Cg.js";import{N as k,i as A,k as ge,n as _e,r as ve}from"./skeleton-DElTumgk.js";import{i as ye,n as be,r as xe,t as Se}from"./AssetTile-CoNClUYS.js";import{a as Ce,i as we,n as Te,r as Ee,t as De}from"./select-CpHp3YOH.js";import{i as j,r as M,t as Oe}from"./ConfirmDialog-HS8Gc2t3.js";import{t as ke}from"./ellipsis-DEHUaCkn.js";import{c as Ae}from"./Thumbnail-BUYOr4XJ.js";import{t as je}from"./globe-TooNSp9V.js";import{t as Me}from"./key-round-CFJ61iCd.js";import{a as Ne,p as Pe,r as Fe,t as Ie}from"./dropdown-menu-DiYSm-g3.js";import{c as Le,i as Re,n as ze,t as Be}from"./sections-v5Flaor9.js";import{t as Ve}from"./pencil-C7eD5mlZ.js";import{t as He}from"./plus-BDZHQBlU.js";import{t as Ue}from"./radio-group-zOsGAYRP.js";import{a as We,c as Ge,f as Ke,n as N,o as P,r as qe,s as Je,t as F,u as I}from"./zod-79xzBIrW.js";import{n as Ye,t as L}from"./settle-LRKtTN_e.js";import{_ as Xe,a as R,g as z,i as B,l as Ze,n as V,o as H,r as U,s as W,t as G,u as Qe,v as K}from"./table-DQ5ILlSh.js";import{t as $e}from"./HintedLabel-CVe-PIyv.js";import{t as q}from"./QueryView-C630REML.js";import{t as et}from"./FormRadioGroup-BjE1Jhar.js";import{a as tt,i as nt,n as rt,r as it,t as at}from"./locales-oBD0q1pN.js";import{n as ot,t as st}from"./useMediaPickerDialog-CiN_pias.js";import{t as ct}from"./textarea-FwSvwmyT.js";import{a as lt,l as ut,m as dt,p as ft,r as pt,t as mt}from"./AssistError-BoejyShH.js";import{t as J}from"./Panel-ClY9b33D.js";import{t as ht}from"./ExternalLink-KdO72pTj.js";import{t as gt}from"./RadioTile-CD4mel7U.js";import{t as _t}from"./FormTextareaField-tsS-UXym.js";import{n as vt,r as yt,t as bt}from"./SubNavLink-YjjaDN40.js";import{n as xt,t as St}from"./FormSelectField-g4zrUlhv.js";import{n as Ct,r as wt,t as Tt}from"./tokens-C-20gLAT.js";import{n as Et,t as Dt}from"./useConfirmTarget-BUvlrGSW.js";import{a as Ot,i as kt,t as At}from"./SecretReveal-Dhw_dYxe.js";var jt={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`}]]};jt.node;var Mt=s(jt),Y=e(n(),1),Nt=()=>{let{t:e}=c(),t=g().data?.globalPermissions??[];return(0,Y.jsx)(vt,{label:e(`settings.sections`),children:Be.map(n=>{let r=n.sections.filter(e=>!e.permission||t.includes(e.permission));return r.length===0?null:(0,Y.jsx)(yt,{label:e(`settings.${n.key}`),children:r.map(t=>{let n=t.icon;return(0,Y.jsxs)(bt,{to:t.to,children:[(0,Y.jsx)(n,{"aria-hidden":`true`}),e(`settings.${t.key}`)]},t.key)})},n.key)})})},Pt=()=>(0,Y.jsx)(y,{children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6 lg:flex-row lg:items-start lg:gap-8`,children:[(0,Y.jsx)(Nt,{}),(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Y.jsx)(te,{})})]})}),X=e(t(),1),Ft=[`never`,`30`,`90`,`365`],It=864e5,Lt=(e,t=new Date)=>e===`never`?null:new Date(t.getTime()+Number(e)*It).toISOString(),Rt=z({name:P(),roleId:K().min(1,`validation.selectRole`),expiry:Ze(Ft),scope:Ze([`site`,`network`])}),Z={name:``,roleId:``,expiry:`90`,scope:`site`},zt=(e,t,n)=>{let r=Ct(),i=I({resolver:F(Rt),defaultValues:Z}),{reset:a}=i;return(0,X.useEffect)(()=>{e&&a(Z)},[e,a]),{form:i,onSubmit:i.handleSubmit(async({name:e,roleId:i,expiry:o,scope:s})=>{let c=s===`network`&&n(i),l=await L(r.mutateAsync({name:e,roleId:i,expiresAt:Lt(o),network:c}));l.ok&&(a(Z),t(l.value))}),createToken:r}},Bt=({open:e,onOpenChange:t,onCreated:n,onCloseAutoFocus:r})=>{let{t:i}=c(),a=Ot(),{data:o}=g(),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}=zt(e,n,l),p=Ke({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})),_=Ft.map(e=>({value:e,label:e===`never`?i(`apiTokens.expiryNever`):i(`apiTokens.expiryDays`,{count:Number(e)})}));return(0,Y.jsxs)(xt,{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,Y.jsx)(N,{control:u.control,name:`name`,label:i(`apiTokens.name`),autoComplete:`off`}),(0,Y.jsx)(St,{control:u.control,name:`roleId`,label:i(`apiTokens.role`),options:h}),l(p)?(0,Y.jsx)(et,{control:u.control,name:`scope`,legend:i(`apiTokens.scope`),options:m}):null,(0,Y.jsx)(St,{control:u.control,name:`expiry`,label:i(`apiTokens.expiry`),options:_}),(0,Y.jsx)(j,{error:f.error??a.error})]})},Vt=({tokens:e,roleNames:t,siteName:n,onRevoke:r})=>{let{t:i}=c();return(0,Y.jsx)(W,{children:(0,Y.jsxs)(G,{children:[(0,Y.jsx)(R,{children:(0,Y.jsxs)(H,{children:[(0,Y.jsx)(B,{children:i(`apiTokens.name`)}),(0,Y.jsx)(B,{children:i(`apiTokens.prefix`)}),(0,Y.jsx)(B,{children:i(`apiTokens.role`)}),(0,Y.jsx)(B,{children:i(`apiTokens.appliesTo`)}),(0,Y.jsx)(B,{children:i(`apiTokens.status`)}),(0,Y.jsx)(B,{children:i(`apiTokens.lastUsed`)}),(0,Y.jsx)(B,{children:i(`apiTokens.expires`)}),(0,Y.jsx)(B,{children:(0,Y.jsx)(`span`,{className:`sr-only`,children:i(`common.actions`)})})]})}),(0,Y.jsx)(V,{children:e.map(e=>(0,Y.jsxs)(H,{children:[(0,Y.jsx)(U,{children:(0,Y.jsx)(T,{children:e.name})}),(0,Y.jsx)(U,{className:`font-mono text-xs`,children:`${e.tokenPrefix}…`}),(0,Y.jsx)(U,{children:t.get(e.roleId)??i(`common.unknown`)}),(0,Y.jsx)(U,{children:e.siteId===null?i(`sites.everySite`):n}),(0,Y.jsx)(U,{children:e.revokedAt?(0,Y.jsx)(x,{tone:`muted`,label:i(`apiTokens.revokedBadge`)}):(0,Y.jsx)(x,{tone:`success`,label:i(`apiTokens.active`)})}),(0,Y.jsx)(U,{title:w(e.lastUsedAt)||void 0,children:e.lastUsedAt?C(e.lastUsedAt):i(`common.never`)}),(0,Y.jsx)(U,{children:e.expiresAt?w(e.expiresAt):i(`common.never`)}),(0,Y.jsx)(U,{className:`text-right`,children:e.revokedAt?null:(0,Y.jsx)(M,{tone:`danger`,title:i(`apiTokens.revokeTitle`,{name:e.name}),description:i(`apiTokens.revokeDescription`),confirmLabel:i(`common.revoke`),onConfirm:()=>r(e),trigger:(0,Y.jsx)(A,{variant:`outline`,size:`sm`,"aria-label":`${i(`common.revoke`)}: ${e.name}`,children:i(`common.revoke`)})})})]},e.id))})]})})},Ht=()=>{let{t:e}=c(),t=Tt(),{names:n}=kt(),r=g().data?.site.name??``,i=wt(),[a,o]=(0,X.useState)(!1),[s,l]=(0,X.useState)(void 0),u=async t=>{await i.mutateAsync(t.id),D.success(e(`apiTokens.revoked`))},d=(0,Y.jsxs)(A,{onClick:()=>o(!0),children:[(0,Y.jsx)(He,{"aria-hidden":`true`}),e(`apiTokens.create`)]});return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`apiTokens.title`),actions:d}),s?(0,Y.jsx)(At,{title:e(`apiTokens.secretTitle`),description:e(`apiTokens.secretDescription`),label:e(`apiTokens.secretLabel`),secret:s,dismissLabel:e(`apiTokens.secretDone`),onDismiss:()=>l(void 0)}):null,(0,Y.jsx)(q,{query:t,isEmpty:e=>e.length===0,empty:(0,Y.jsx)(S,{icon:Me,title:e(`apiTokens.empty`),description:e(`apiTokens.emptyDescription`),action:d}),children:e=>(0,Y.jsx)(Vt,{tokens:e,roleNames:n,siteName:r,onRevoke:u})}),(0,Y.jsx)(Bt,{open:a,onOpenChange:o,onCreated:e=>{l(e.token),o(!1)},onCloseAutoFocus:e=>s!==void 0&&e.preventDefault()})]})},Ut=()=>{let{t:e}=c(),{looks:t,selectedLook:n,selectLook:r}=ze();return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`appearance.title`)}),(0,Y.jsx)(J,{title:e(`appearance.theme`),description:e(`appearance.storedHere`),children:(0,Y.jsx)(Ue,{"aria-label":e(`appearance.theme`),value:n,onValueChange:r,className:`sm:grid-cols-2 xl:grid-cols-3`,children:t.map(e=>(0,Y.jsx)(gt,{value:e.value,label:e.name,description:e.description,media:(0,Y.jsx)(Re,{themeKey:e.themeKey,variant:e.variant,size:`lg`})},e.value))})})]})},Wt=()=>{let{t:e}=c(),t=(0,X.useId)(),[n,r]=(0,X.useState)(``),[i,a]=(0,X.useState)(``),o=ut(),s=n.trim()!==``&&i.trim()!==``;return(0,Y.jsx)(J,{title:e(`assist.settings.tryIt`),titleAs:`h2`,children:(0,Y.jsxs)(`form`,{className:`space-y-4`,onSubmit:e=>{e.preventDefault(),s&&o.mutate({text:n.trim(),instruction:i.trim()})},children:[(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsx)(ve,{htmlFor:`${t}-text`,children:e(`assist.settings.tryText`)}),(0,Y.jsx)(ct,{id:`${t}-text`,value:n,rows:3,maxLength:dt,onChange:e=>r(e.target.value)})]}),(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsx)(ve,{htmlFor:`${t}-instruction`,children:e(`assist.rewrite.instruction`)}),(0,Y.jsx)(_e,{id:`${t}-instruction`,value:i,maxLength:500,placeholder:e(`assist.rewrite.instructionPlaceholder`),onChange:e=>a(e.target.value)})]}),(0,Y.jsx)(mt,{error:o.error}),(0,Y.jsx)(`div`,{className:`flex justify-end`,children:(0,Y.jsx)(pt,{type:`submit`,variant:`default`,size:`default`,pending:o.isPending,pendingLabel:e(`assist.working`),disabled:!s,children:e(`assist.rewrite.run`)})}),(0,Y.jsx)(`div`,{"aria-live":`polite`,children:o.data?(0,Y.jsxs)(`figure`,{className:`space-y-1 rounded-lg border bg-muted/40 p-3`,children:[(0,Y.jsx)(`figcaption`,{className:`text-meta text-muted-foreground`,children:e(`assist.rewrite.proposal`,{model:o.data.model})}),(0,Y.jsx)(`p`,{className:`text-sm whitespace-pre-wrap`,children:o.data.text})]}):null})]})})},Gt=({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,Y.jsx)(J,{title:t(`assist.settings.usage`,{month:ne(e.month)}),titleAs:`h2`,children:(0,Y.jsx)(`dl`,{className:`grid gap-4 sm:grid-cols-3`,children:n.map(e=>(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`dt`,{className:`text-meta text-muted-foreground`,children:e.label}),(0,Y.jsx)(`dd`,{className:`text-2xl font-semibold tabular-nums`,children:e.value.toLocaleString()})]},e.key))})})},Kt=()=>{let{t:e}=c(),t=lt();return(0,Y.jsxs)(y,{width:`narrow`,children:[(0,Y.jsx)(b,{title:e(`settings.assist`)}),(0,Y.jsx)(q,{query:t,loadingRows:3,children:t=>(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(J,{title:e(`assist.settings.status`),titleAs:`h2`,actions:(0,Y.jsx)(x,{tone:t.enabled?`success`:`muted`,label:t.enabled?e(`assist.settings.on`):e(`assist.settings.off`)}),children:[t.enabled?(0,Y.jsxs)(`dl`,{className:`space-y-2 text-sm`,children:[(0,Y.jsxs)(`div`,{className:`flex justify-between gap-3`,children:[(0,Y.jsx)(`dt`,{className:`text-muted-foreground`,children:e(`assist.settings.provider`)}),(0,Y.jsx)(`dd`,{className:`font-mono`,children:t.provider})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between gap-3`,children:[(0,Y.jsx)(`dt`,{className:`text-muted-foreground`,children:e(`assist.settings.model`)}),(0,Y.jsx)(`dd`,{className:`min-w-0 font-mono break-all`,children:t.model})]})]}):(0,Y.jsx)(`p`,{className:`text-sm`,children:e(`assist.settings.offDescription`)}),(0,Y.jsx)(`p`,{className:`mt-4 text-meta`,children:(0,Y.jsx)(ht,{href:ft,children:e(`assist.settings.guide`)})})]}),t.enabled&&t.usage?(0,Y.jsx)(Gt,{usage:t.usage}):null,t.enabled?(0,Y.jsx)(Wt,{}):null]})})]})},qt=e=>{let t=e.details?.plan?.impact?.affectedHeads;return typeof t==`number`?t:null},Jt=e=>D.success(k.t(`locales.deleted`,{label:e.label})),Yt=()=>{let e=rt(),[t,n]=(0,X.useState)(void 0),[r,i]=(0,X.useState)(!1);return{attempt:async t=>{try{await e.mutateAsync({code:t.code,acknowledged:!1})}catch(r){if(!p(r,`SCHEMA_CHANGE_NOT_ACKNOWLEDGED`))throw r;e.reset(),n({locale:t,affectedHeads:qt(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}},Xt=`locale-fallbacks-legend`,Zt=({control:e,locales:t,code:n})=>{let{t:r}=c(),{field:i,fieldState:a}=Ge({control:e,name:`fallbacks`}),[o,s]=(0,X.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)),f=(e,t)=>{let n=[...l],[r]=n.splice(e,1);n.splice(t,0,r),i.onChange(n)};return(0,Y.jsxs)(me,{className:`gap-3`,"aria-labelledby":Xt,children:[(0,Y.jsxs)(fe,{variant:`label`,className:`mb-0 flex items-center gap-1`,children:[(0,Y.jsx)(`span`,{id:Xt,children:r(`locales.fallbacks`)}),(0,Y.jsx)(he,{about:r(`locales.fallbacks`),children:r(`locales.fallbacksHint`)})]}),l.length>0?(0,Y.jsx)(`ol`,{className:`space-y-1`,children:l.map((e,t)=>(0,Y.jsxs)(`li`,{className:`flex items-center gap-2 rounded-lg border py-1 pr-1 pl-3 text-sm`,children:[(0,Y.jsxs)(`span`,{className:`w-5 text-muted-foreground`,children:[t+1,`.`]}),(0,Y.jsxs)(`span`,{className:`flex-1`,children:[u(e),` `,(0,Y.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:e})]}),(0,Y.jsx)(A,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":r(`locales.moveUp`,{locale:u(e)}),disabled:t===0,onClick:()=>f(t,t-1),children:(0,Y.jsx)(xe,{"aria-hidden":`true`})}),(0,Y.jsx)(A,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":r(`locales.moveDown`,{locale:u(e)}),disabled:t===l.length-1,onClick:()=>f(t,t+1),children:(0,Y.jsx)(ye,{"aria-hidden":`true`})}),(0,Y.jsx)(A,{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,Y.jsx)(_,{"aria-hidden":`true`})})]},e))}):(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:r(`locales.noFallbacks`)}),d.length>0&&l.length<10?(0,Y.jsxs)(De,{value:o,onValueChange:e=>{i.onChange([...l,e]),s(``)},children:[(0,Y.jsx)(we,{className:`w-full sm:w-64`,"aria-label":r(`locales.addFallback`),children:(0,Y.jsx)(Ce,{placeholder:r(`locales.addFallback`)})}),(0,Y.jsx)(Te,{children:d.map(e=>(0,Y.jsxs)(Ee,{value:e.code,children:[e.label,` (`,e.code,`)`]},e.code))})]}):null,(0,Y.jsx)(qe,{message:a.error?.message})]})},Qt=z({code:K().trim().min(1,`validation.required`).max(35,`validation.localeCode`).regex(ie,`validation.localeCode`),label:P(),fallbacks:Qe(K())}),$t=e=>({code:e?.code??``,label:e?.label??``,fallbacks:e?.fallbacks??[]}),en=(e,t,n)=>{let r=at(),i=tt(),a=I({resolver:F(Qt),defaultValues:$t(t)}),{reset:o}=a;(0,X.useEffect)(()=>{e&&(o($t(t)),r.reset(),i.reset())},[e,t,o]);let s=a.handleSubmit(async({code:e,label:a,fallbacks:o})=>{(await L(t?i.mutateAsync({code:t.code,input:{label:a,fallbacks:o}}):r.mutateAsync({code:e,label:a,fallbacks:o}))).ok&&(D.success(k.t(t?`locales.saved`:`locales.created`,{label:a})),n())}),c=t?i:r;return{form:a,onSubmit:s,pending:c.isPending,error:c.error}},tn=({open:e,onOpenChange:t,locale:n,locales:r})=>{let{t:i}=c(),{form:a,onSubmit:o,pending:s,error:l}=en(e,n,()=>t(!1)),u=a.watch(`code`);return(0,Y.jsxs)(xt,{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,Y.jsx)(N,{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,Y.jsx)(N,{control:a.control,name:`label`,label:i(`locales.label`),autoComplete:`off`}),(0,Y.jsx)(Zt,{control:a.control,locales:r,code:u}),(0,Y.jsx)(j,{error:l})]})},nn=({locale:e,chain:t,canManage:n,onEdit:r,onMakeDefault:i,onDelete:a})=>{let{t:o}=c(),[s,l]=(0,X.useState)(!1);return(0,Y.jsxs)(H,{children:[(0,Y.jsx)(U,{children:(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(T,{children:e.label}),e.isDefault?(0,Y.jsx)(ee,{variant:`secondary`,children:o(`locales.default`)}):null]})}),(0,Y.jsx)(U,{className:`font-mono text-xs`,children:e.code}),(0,Y.jsx)(U,{className:`font-mono text-xs`,children:t.length>0?t.join(` → `):o(`common.none`)}),(0,Y.jsx)(U,{className:`text-right`,children:n?(0,Y.jsxs)(Ie,{children:[(0,Y.jsx)(M,{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,Y.jsx)(Pe,{asChild:!0,children:(0,Y.jsx)(A,{variant:`ghost`,size:`icon-sm`,"aria-label":`${o(`common.actions`)}: ${e.label}`,children:(0,Y.jsx)(ke,{"aria-hidden":`true`})})})}),(0,Y.jsxs)(Fe,{align:`end`,onCloseAutoFocus:e=>s&&e.preventDefault(),children:[(0,Y.jsxs)(Ne,{onSelect:()=>r(e),children:[(0,Y.jsx)(Ve,{"aria-hidden":`true`}),o(`common.edit`)]}),e.isDefault?null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Ne,{onSelect:()=>i(e),children:[(0,Y.jsx)(Mt,{"aria-hidden":`true`}),o(`locales.makeDefault`)]}),(0,Y.jsxs)(Ne,{variant:`destructive`,onSelect:()=>l(!0),children:[(0,Y.jsx)(ue,{"aria-hidden":`true`}),o(`common.delete`)]})]})]})]}):null})]})},rn=({locales:e,canManage:t,onEdit:n,onMakeDefault:r,onDelete:i})=>{let{t:a}=c(),o=e.find(e=>e.isDefault);return(0,Y.jsx)(W,{children:(0,Y.jsxs)(G,{children:[(0,Y.jsx)(R,{children:(0,Y.jsxs)(H,{children:[(0,Y.jsx)(B,{children:a(`locales.label`)}),(0,Y.jsx)(B,{children:a(`locales.code`)}),(0,Y.jsx)(B,{children:a(`locales.fallbacks`)}),(0,Y.jsx)(B,{children:(0,Y.jsx)(`span`,{className:`sr-only`,children:a(`common.actions`)})})]})}),(0,Y.jsx)(V,{children:e.map(e=>(0,Y.jsx)(nn,{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))})]})})},an=()=>{let{t:e}=c(),t=it(),n=Et(`schema.create`),r=nt(),i=Dt(),a=Yt(),[o,s]=(0,X.useState)({open:!1,locale:void 0}),l=t.data?.find(e=>e.isDefault),u=a.withContent;return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`locales.title`),actions:n?(0,Y.jsxs)(A,{onClick:()=>s({open:!0,locale:void 0}),children:[(0,Y.jsx)(He,{"aria-hidden":`true`}),e(`locales.add`)]}):null}),(0,Y.jsx)(q,{query:t,isEmpty:e=>e.length===0,empty:(0,Y.jsx)(S,{icon:je,title:e(`locales.empty`)}),children:e=>(0,Y.jsx)(rn,{locales:e,canManage:n,onEdit:e=>s({open:!0,locale:e}),onMakeDefault:e=>{r.reset(),i.ask(e)},onDelete:a.attempt})}),(0,Y.jsx)(tn,{open:o.open,onOpenChange:e=>s(t=>({...t,open:e})),locale:o.locale,locales:t.data??[]}),(0,Y.jsx)(Oe,{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:()=>{D.success(e(`locales.defaultChanged`,{label:t.label})),i.close()}})}}),(0,Y.jsx)(Oe,{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})]})},on=z({name:P()}),sn=()=>{let{data:e}=g(),t=h(),n=I({resolver:F(on),defaultValues:{name:e?.user.name??``}}),{reset:r,formState:i}=n,a=e?.user.name;return(0,X.useEffect)(()=>{!i.isDirty&&a!==void 0&&r({name:a})},[a,r,i.isDirty]),{form:n,onSubmit:n.handleSubmit(async e=>{let n=await L(t.mutateAsync(e));n.ok&&(r({name:n.value.name}),D.success(k.t(`profile.detailsSaved`)))}),updateProfile:t,email:e?.user.email??``}},cn=`profile-email`,ln=`profile-email-hint`,un=({onDirtyChange:e})=>{let{t}=c(),{form:n,onSubmit:r,updateProfile:i,email:a}=sn(),{isDirty:o}=n.formState;return(0,X.useEffect)(()=>e(o),[o,e]),(0,Y.jsx)(J,{title:t(`profile.detailsTitle`),children:(0,Y.jsx)(`form`,{noValidate:!0,onSubmit:e=>void r(e),className:`max-w-md`,children:(0,Y.jsxs)(O,{children:[(0,Y.jsx)(N,{control:n.control,name:`name`,label:t(`auth.name`),autoComplete:`name`}),(0,Y.jsxs)(pe,{children:[(0,Y.jsx)($e,{htmlFor:cn,label:t(`auth.email`),hint:t(`profile.emailHint`),hintId:ln}),(0,Y.jsx)(_e,{id:cn,value:a,readOnly:!0,"aria-describedby":ln})]}),(0,Y.jsx)(j,{error:i.error}),(0,Y.jsx)(`div`,{children:(0,Y.jsx)(v,{pending:i.isPending,pendingLabel:t(`common.saving`),disabled:!o,children:t(`common.saveChanges`)})})]})})})},dn=Je({currentPassword:K().min(1,`validation.required`),password:We()}),fn={currentPassword:``,password:``,confirmPassword:``},pn=()=>{let e=m(),t=I({resolver:F(dn),defaultValues:fn});return{form:t,onSubmit:t.handleSubmit(async({currentPassword:n,password:r})=>{(await L(e.mutateAsync({currentPassword:n,newPassword:r}))).ok&&(t.reset(fn),D.success(k.t(`profile.passwordChanged`)))}),changePassword:e}},mn=({onDirtyChange:e})=>{let{t}=c(),{form:n,onSubmit:r,changePassword:i}=pn(),{isDirty:a}=n.formState;return(0,X.useEffect)(()=>e(a),[a,e]),(0,Y.jsx)(J,{title:t(`profile.passwordTitle`),description:t(`profile.passwordDescription`),children:(0,Y.jsx)(`form`,{noValidate:!0,onSubmit:e=>void r(e),className:`max-w-md`,children:(0,Y.jsxs)(O,{children:[(0,Y.jsx)(N,{control:n.control,name:`currentPassword`,label:t(`profile.currentPassword`),type:`password`,autoComplete:`current-password`}),(0,Y.jsx)(N,{control:n.control,name:`password`,label:t(`auth.newPassword`),description:t(`auth.passwordHint`),type:`password`,autoComplete:`new-password`}),(0,Y.jsx)(N,{control:n.control,name:`confirmPassword`,label:t(`auth.confirmPassword`),type:`password`,autoComplete:`new-password`}),(0,Y.jsx)(j,{error:i.error}),(0,Y.jsx)(`div`,{children:(0,Y.jsx)(v,{pending:i.isPending,pendingLabel:t(`common.saving`),children:t(`profile.changePassword`)})})]})})})},hn=()=>{let{t:e}=c(),[t,n]=(0,X.useState)(!1),[r,i]=(0,X.useState)(!1),a=(0,X.useCallback)(e=>n(e),[]),o=(0,X.useCallback)(e=>i(e),[]);return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`profile.title`)}),(0,Y.jsx)(un,{onDirtyChange:a}),(0,Y.jsx)(mn,{onDirtyChange:o}),(0,Y.jsx)(re,{when:t||r})]})},Q=`seo-default-image`,gn=`${Q}-hint`,_n=`${Q}-error`,vn=({control:e,imagePrivate:t})=>{let{t:n}=c(),{field:r,fieldState:i}=Ge({control:e,name:`imageId`}),a=t?n(`seo.settings.imagePrivate`):i.error?.message,{canWrite:o}=Ae(),s=st(),l=async()=>{let e=(await s.pickMedia({multiple:!1,allowedKinds:[`image`]}))?.[0];e&&r.onChange(e.id)};return(0,Y.jsxs)(pe,{"data-invalid":a?!0:void 0,children:[(0,Y.jsx)($e,{htmlFor:Q,label:n(`seo.settings.image`),hint:n(`seo.settings.imageHint`),hintId:gn}),r.value?(0,Y.jsx)(`ul`,{children:(0,Y.jsx)(Se,{assetId:r.value,inputId:Q,index:0,count:1,editable:!0,canEditAlt:o,onRemove:()=>r.onChange(null)})}):null,(0,Y.jsx)(`div`,{children:(0,Y.jsxs)(A,{id:Q,type:`button`,variant:`outline`,size:`sm`,"aria-describedby":Ye(gn,a?_n:void 0),onClick:()=>void l(),children:[(0,Y.jsx)(be,{"aria-hidden":`true`}),r.value?n(`seo.settings.changeImage`):n(`seo.settings.chooseImage`)]})}),(0,Y.jsx)(qe,{id:a?_n:void 0,message:a}),s.dialog]})},yn=200,bn=1e3,xn=e=>K().trim().max(e,`validation.tooLong`),Sn=z({siteName:xn(yn),titleTemplate:xn(yn).refine(e=>e===``||oe(e),`validation.titleTemplate`),description:xn(bn)}),Cn=z({locales:Xe(K(),Sn),imageId:K().nullable(),twitterHandle:K().trim().refine(e=>e===``||ae.test(e),`validation.twitterHandle`)}),wn={siteName:``,titleTemplate:``,description:``},$=(e,t)=>{let n=[...new Set([...t.map(e=>e.code),...Object.keys(e.locales)])];return{locales:Object.fromEntries(n.map(t=>[t,{...wn,...e.locales[t]}])),imageId:e.imageId,twitterHandle:e.twitterHandle??``}},Tn=e=>{let t={};for(let[n,r]of Object.entries(e.locales)){let e=Object.fromEntries(Object.entries(r).map(([e,t])=>[e,t.trim()]).filter(([,e])=>e!==``));Object.keys(e).length>0&&(t[n]=e)}let n=e.twitterHandle.trim();return{locales:t,imageId:e.imageId,twitterHandle:n===``?null:n}},En=e=>Object.keys(e.locales??{})[0],Dn=`SEO_IMAGE_INVALID`,On=(e,t)=>{let n=o(),r=le(),i=t.find(e=>e.isDefault)?.code??t[0]?.code??``,[a,s]=(0,X.useState)(i),[c,l]=(0,X.useState)(e.version),u=I({resolver:F(Cn),defaultValues:$(e.seo,t)}),m=Ke({control:u.control,name:`imageId`}),h=d(m??void 0),g=m!==null&&h.data?.visibility===`private`,{clearErrors:_}=u;(0,X.useEffect)(()=>_(`imageId`),[m,_]);let v=async()=>{try{let e=await n.fetchQuery({...ce,staleTime:0});u.reset($(e.seo,t)),l(e.version)}catch(e){de(e,`reloading the SEO settings`)}};return{form:u,locale:a,setLocale:s,imagePrivate:g,pending:r.isPending,onSubmit:u.handleSubmit(async e=>{if(!g)try{let n=await r.mutateAsync({expectedVersion:c,seo:Tn(e)});u.reset($(n.seo,t)),l(n.version),D.success(k.t(`seo.settings.saved`))}catch(e){if(f(e)){D.error(k.t(`seo.settings.conflict`),{action:{label:k.t(`seo.settings.reload`),onClick:()=>void v()}});return}if(p(e,Dn)){u.setError(`imageId`,{message:ge(e)},{shouldFocus:!1});return}D.error(ge(e))}},e=>{let t=En(e);t!==void 0&&s(t)})}},kn=({control:e,locales:t,locale:n,onLocaleChange:r})=>{let{t:i}=c();return(0,Y.jsx)(J,{title:i(`seo.settings.textsTitle`),titleAs:`h2`,actions:t.length>1?(0,Y.jsx)(ot,{locales:t,value:n,onChange:r,size:`sm`}):null,children:(0,Y.jsxs)(O,{className:`max-w-xl`,children:[(0,Y.jsx)(N,{control:e,name:`locales.${n}.siteName`,label:i(`seo.settings.siteName`),hint:i(`seo.settings.siteNameHint`)}),(0,Y.jsx)(N,{control:e,name:`locales.${n}.titleTemplate`,label:i(`seo.settings.titleTemplate`),hint:i(`seo.settings.titleTemplateHint`),placeholder:i(`seo.settings.titleTemplatePlaceholder`)}),(0,Y.jsx)(_t,{control:e,name:`locales.${n}.description`,label:i(`seo.settings.description`),hint:i(`seo.settings.descriptionHint`),rows:3})]},n)})},An=({siteSeo:e,locales:t})=>{let{t:n}=c(),{form:r,locale:i,setLocale:a,imagePrivate:o,pending:s,onSubmit:l}=On(e,t),{isDirty:u}=r.formState;return(0,Y.jsxs)(`form`,{noValidate:!0,onSubmit:e=>void l(e),className:`space-y-6`,children:[(0,Y.jsx)(re,{when:u}),(0,Y.jsx)(kn,{control:r.control,locales:t,locale:i,onLocaleChange:a}),(0,Y.jsx)(J,{title:n(`seo.settings.socialTitle`),titleAs:`h2`,children:(0,Y.jsxs)(O,{className:`max-w-xl`,children:[(0,Y.jsx)(vn,{control:r.control,imagePrivate:o}),(0,Y.jsx)(N,{control:r.control,name:`twitterHandle`,label:n(`seo.settings.twitterHandle`),hint:n(`seo.settings.twitterHandleHint`),placeholder:n(`seo.settings.twitterHandlePlaceholder`),autoComplete:`off`})]})}),(0,Y.jsx)(`div`,{children:(0,Y.jsx)(v,{pending:s,pendingLabel:n(`common.saving`),disabled:!u||o,children:n(`common.saveChanges`)})})]})},jn=()=>{let{t:e}=c(),t=se(),n=it();return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`seo.settings.title`)}),(0,Y.jsx)(q,{query:t,loadingRows:4,children:e=>(0,Y.jsx)(q,{query:n,loadingRows:4,children:t=>(0,Y.jsx)(An,{siteSeo:e,locales:t})})})]})},Mn=()=>r({queryKey:i.sessions,queryFn:()=>l.sessions.list(),meta:{silent:!0}}),Nn=()=>{let e=o();return a({mutationKey:[`sessions`,`revoke`],mutationFn:e=>u(()=>l.sessions.revoke(e)),onSettled:()=>e.invalidateQueries({queryKey:i.sessions})})},Pn=[[/Edg\//,`Edge`],[/OPR\//,`Opera`],[/Firefox\//,`Firefox`],[/Chrome\//,`Chrome`],[/Safari\//,`Safari`]],Fn=[[/iPhone|iPad/,`iOS`],[/Android/,`Android`],[/Mac OS X|Macintosh/,`macOS`],[/Windows/,`Windows`],[/Linux/,`Linux`]],In=(e,t)=>t.find(([t])=>t.test(e))?.[1],Ln=e=>{if(!e)return;let t=In(e,Pn),n=In(e,Fn);return t&&n?`${t} · ${n}`:t??n},Rn=({sessions:e,onRevoke:t})=>{let{t:n}=c();return(0,Y.jsx)(W,{children:(0,Y.jsxs)(G,{children:[(0,Y.jsx)(R,{children:(0,Y.jsxs)(H,{children:[(0,Y.jsx)(B,{children:n(`sessions.device`)}),(0,Y.jsx)(B,{children:n(`sessions.ipAddress`)}),(0,Y.jsx)(B,{children:n(`sessions.signedIn`)}),(0,Y.jsx)(B,{children:n(`sessions.lastActive`)}),(0,Y.jsx)(B,{children:(0,Y.jsx)(`span`,{className:`sr-only`,children:n(`common.actions`)})})]})}),(0,Y.jsx)(V,{children:e.map(e=>(0,Y.jsxs)(H,{children:[(0,Y.jsx)(U,{children:(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(T,{children:Ln(e.userAgent)??n(`sessions.unknownDevice`)}),e.current?(0,Y.jsx)(ee,{variant:`secondary`,children:n(`sessions.current`)}):null]})}),(0,Y.jsx)(U,{className:`font-mono text-xs`,children:e.ip??n(`common.unknown`)}),(0,Y.jsx)(U,{title:w(e.createdAt),children:C(e.createdAt)}),(0,Y.jsx)(U,{title:w(e.lastSeenAt),children:C(e.lastSeenAt)}),(0,Y.jsx)(U,{className:`text-right`,children:e.current?null:(0,Y.jsx)(M,{tone:`danger`,title:n(`sessions.revokeTitle`),description:n(`sessions.revokeDescription`),confirmLabel:n(`common.revoke`),onConfirm:()=>t(e),trigger:(0,Y.jsx)(A,{variant:`outline`,size:`sm`,children:n(`common.revoke`)})})})]},e.id))})]})})},zn={settings:E(`/app/settings`)({component:Pt}),profile:E(`/app/settings/profile`)({component:hn}),sessions:E(`/app/settings/sessions`)({component:()=>{let{t:e}=c(),t=Mn(),n=Nn(),r=async t=>{await n.mutateAsync(t.id),D.success(e(`sessions.revoked`))};return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`sessions.title`)}),(0,Y.jsx)(q,{query:t,isEmpty:e=>e.length===0,empty:(0,Y.jsx)(S,{icon:Le,title:e(`sessions.empty`)}),children:e=>(0,Y.jsx)(Rn,{sessions:e,onRevoke:r})})]})}}),theme:E(`/app/settings/theme`)({component:Ut}),locales:E(`/app/settings/locales`)({component:an}),seo:E(`/app/settings/seo`)({component:jn}),assist:E(`/app/settings/assist`)({component:Kt}),apiTokens:E(`/app/settings/api-tokens`)({component:Ht})};export{zn as settingsLazyRoutes};
2
- //# sourceMappingURL=settings-CuEO5l07.js.map
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-h5ORT3LK.js";import{i as d}from"./media-ugEyLgwN.js";import{g as f,h as p,i as m,m as h,u as g}from"./auth-BzCgJtgr.js";import{O as _,_ as v,a as y,i as b,n as x,o as S,t as ee}from"./badge-DBoaS0nQ.js";import{n as te}from"./Match-CgfZTzqs.js";import{i as C,n as w,r as ne,t as T}from"./RowTitle-mkKp4yfl.js";import{t as E}from"./fileRoute-CG0Dufvt.js";import{t as re}from"./UnsavedChangesGuard-BPOCBD5T.js";import{H as ie,nt as ae}from"./src-Be3Ds5Dc.js";import{c as oe,i as se,n as ce,o as le}from"./seo-Zhb62Ojz.js";import{G as D,R as ue,U as de,f as fe,o as pe,p as me,t as he,u as O}from"./InfoHint-D3uwei-E.js";import{N as k,i as A,k as ge,n as _e,r as ve}from"./skeleton-DJVukcn6.js";import{i as ye,n as be,r as xe,t as Se}from"./AssetTile-zOf0K0nN.js";import{a as Ce,i as we,n as Te,r as Ee,t as De}from"./select--mePTdz8.js";import{i as j,r as M,t as Oe}from"./ConfirmDialog-BW-l3Whg.js";import{t as ke}from"./ellipsis-BMP-j3yO.js";import{c as Ae}from"./Thumbnail-DSPArZ9h.js";import{t as je}from"./globe-DOoGBy23.js";import{t as Me}from"./key-round-HBvMrmMo.js";import{a as Ne,p as Pe,r as Fe,t as Ie}from"./dropdown-menu-DGSMTf23.js";import{c as Le,i as Re,n as ze,t as Be}from"./sections-BfG6DTFr.js";import{t as Ve}from"./pencil-BLNGNJmL.js";import{t as He}from"./plus-BXMBYPoB.js";import{t as Ue}from"./radio-group-BIhT_uEK.js";import{a as We,c as Ge,f as Ke,n as N,o as P,r as qe,s as Je,t as F,u as I}from"./zod-Dcwk-m8X.js";import{n as Ye,t as L}from"./settle-LRKtTN_e.js";import{_ as Xe,a as R,g as z,i as B,l as Ze,n as V,o as H,r as U,s as W,t as G,u as Qe,v as K}from"./table-BMbbRUK9.js";import{t as $e}from"./HintedLabel-BGidukgy.js";import{t as q}from"./QueryView-C2d392ly.js";import{t as et}from"./FormRadioGroup-BvSC8SRm.js";import{a as tt,i as nt,n as rt,r as it,t as at}from"./locales-DbrcdhZi.js";import{n as ot,t as st}from"./useMediaPickerDialog-D-5uKsMG.js";import{t as ct}from"./textarea-CffBBxoQ.js";import{a as lt,l as ut,m as dt,p as ft,r as pt,t as mt}from"./AssistError-D_vY2CO0.js";import{t as J}from"./Panel-DDky5_x9.js";import{t as ht}from"./ExternalLink-BCI0q9ib.js";import{t as gt}from"./RadioTile-CcP78eb_.js";import{t as _t}from"./FormTextareaField-Bw7EkC4H.js";import{n as vt,r as yt,t as bt}from"./SubNavLink-C4eSybWd.js";import{n as xt,t as St}from"./FormSelectField-BDIVhZh6.js";import{n as Ct,r as wt,t as Tt}from"./tokens-BqyeN1D-.js";import{n as Et,t as Dt}from"./useConfirmTarget-DCvnxNVg.js";import{a as Ot,i as kt,t as At}from"./SecretReveal-mYCzxF96.js";var jt={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`}]]};jt.node;var Mt=s(jt),Y=e(n(),1),Nt=()=>{let{t:e}=c(),t=g().data?.globalPermissions??[];return(0,Y.jsx)(vt,{label:e(`settings.sections`),children:Be.map(n=>{let r=n.sections.filter(e=>!e.permission||t.includes(e.permission));return r.length===0?null:(0,Y.jsx)(yt,{label:e(`settings.${n.key}`),children:r.map(t=>{let n=t.icon;return(0,Y.jsxs)(bt,{to:t.to,children:[(0,Y.jsx)(n,{"aria-hidden":`true`}),e(`settings.${t.key}`)]},t.key)})},n.key)})})},Pt=()=>(0,Y.jsx)(y,{children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6 lg:flex-row lg:items-start lg:gap-8`,children:[(0,Y.jsx)(Nt,{}),(0,Y.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Y.jsx)(te,{})})]})}),X=e(t(),1),Ft=[`never`,`30`,`90`,`365`],It=864e5,Lt=(e,t=new Date)=>e===`never`?null:new Date(t.getTime()+Number(e)*It).toISOString(),Rt=z({name:P(),roleId:K().min(1,`validation.selectRole`),expiry:Ze(Ft),scope:Ze([`site`,`network`])}),Z={name:``,roleId:``,expiry:`90`,scope:`site`},zt=(e,t,n)=>{let r=Ct(),i=I({resolver:F(Rt),defaultValues:Z}),{reset:a}=i;return(0,X.useEffect)(()=>{e&&a(Z)},[e,a]),{form:i,onSubmit:i.handleSubmit(async({name:e,roleId:i,expiry:o,scope:s})=>{let c=s===`network`&&n(i),l=await L(r.mutateAsync({name:e,roleId:i,expiresAt:Lt(o),network:c}));l.ok&&(a(Z),t(l.value))}),createToken:r}},Bt=({open:e,onOpenChange:t,onCreated:n,onCloseAutoFocus:r})=>{let{t:i}=c(),a=Ot(),{data:o}=g(),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}=zt(e,n,l),p=Ke({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})),_=Ft.map(e=>({value:e,label:e===`never`?i(`apiTokens.expiryNever`):i(`apiTokens.expiryDays`,{count:Number(e)})}));return(0,Y.jsxs)(xt,{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,Y.jsx)(N,{control:u.control,name:`name`,label:i(`apiTokens.name`),autoComplete:`off`}),(0,Y.jsx)(St,{control:u.control,name:`roleId`,label:i(`apiTokens.role`),options:h}),l(p)?(0,Y.jsx)(et,{control:u.control,name:`scope`,legend:i(`apiTokens.scope`),options:m}):null,(0,Y.jsx)(St,{control:u.control,name:`expiry`,label:i(`apiTokens.expiry`),options:_}),(0,Y.jsx)(j,{error:f.error??a.error})]})},Vt=({tokens:e,roleNames:t,siteName:n,onRevoke:r})=>{let{t:i}=c();return(0,Y.jsx)(W,{children:(0,Y.jsxs)(G,{children:[(0,Y.jsx)(R,{children:(0,Y.jsxs)(H,{children:[(0,Y.jsx)(B,{children:i(`apiTokens.name`)}),(0,Y.jsx)(B,{children:i(`apiTokens.prefix`)}),(0,Y.jsx)(B,{children:i(`apiTokens.role`)}),(0,Y.jsx)(B,{children:i(`apiTokens.appliesTo`)}),(0,Y.jsx)(B,{children:i(`apiTokens.status`)}),(0,Y.jsx)(B,{children:i(`apiTokens.lastUsed`)}),(0,Y.jsx)(B,{children:i(`apiTokens.expires`)}),(0,Y.jsx)(B,{children:(0,Y.jsx)(`span`,{className:`sr-only`,children:i(`common.actions`)})})]})}),(0,Y.jsx)(V,{children:e.map(e=>(0,Y.jsxs)(H,{children:[(0,Y.jsx)(U,{children:(0,Y.jsx)(T,{children:e.name})}),(0,Y.jsx)(U,{className:`font-mono text-xs`,children:`${e.tokenPrefix}…`}),(0,Y.jsx)(U,{children:t.get(e.roleId)??i(`common.unknown`)}),(0,Y.jsx)(U,{children:e.siteId===null?i(`sites.everySite`):n}),(0,Y.jsx)(U,{children:e.revokedAt?(0,Y.jsx)(x,{tone:`muted`,label:i(`apiTokens.revokedBadge`)}):(0,Y.jsx)(x,{tone:`success`,label:i(`apiTokens.active`)})}),(0,Y.jsx)(U,{title:w(e.lastUsedAt)||void 0,children:e.lastUsedAt?C(e.lastUsedAt):i(`common.never`)}),(0,Y.jsx)(U,{children:e.expiresAt?w(e.expiresAt):i(`common.never`)}),(0,Y.jsx)(U,{className:`text-right`,children:e.revokedAt?null:(0,Y.jsx)(M,{tone:`danger`,title:i(`apiTokens.revokeTitle`,{name:e.name}),description:i(`apiTokens.revokeDescription`),confirmLabel:i(`common.revoke`),onConfirm:()=>r(e),trigger:(0,Y.jsx)(A,{variant:`outline`,size:`sm`,"aria-label":`${i(`common.revoke`)}: ${e.name}`,children:i(`common.revoke`)})})})]},e.id))})]})})},Ht=()=>{let{t:e}=c(),t=Tt(),{names:n}=kt(),r=g().data?.site.name??``,i=wt(),[a,o]=(0,X.useState)(!1),[s,l]=(0,X.useState)(void 0),u=async t=>{await i.mutateAsync(t.id),D.success(e(`apiTokens.revoked`))},d=(0,Y.jsxs)(A,{onClick:()=>o(!0),children:[(0,Y.jsx)(He,{"aria-hidden":`true`}),e(`apiTokens.create`)]});return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`apiTokens.title`),actions:d}),s?(0,Y.jsx)(At,{title:e(`apiTokens.secretTitle`),description:e(`apiTokens.secretDescription`),label:e(`apiTokens.secretLabel`),secret:s,dismissLabel:e(`apiTokens.secretDone`),onDismiss:()=>l(void 0)}):null,(0,Y.jsx)(q,{query:t,isEmpty:e=>e.length===0,empty:(0,Y.jsx)(S,{icon:Me,title:e(`apiTokens.empty`),description:e(`apiTokens.emptyDescription`),action:d}),children:e=>(0,Y.jsx)(Vt,{tokens:e,roleNames:n,siteName:r,onRevoke:u})}),(0,Y.jsx)(Bt,{open:a,onOpenChange:o,onCreated:e=>{l(e.token),o(!1)},onCloseAutoFocus:e=>s!==void 0&&e.preventDefault()})]})},Ut=()=>{let{t:e}=c(),{looks:t,selectedLook:n,selectLook:r}=ze();return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`appearance.title`)}),(0,Y.jsx)(J,{title:e(`appearance.theme`),description:e(`appearance.storedHere`),children:(0,Y.jsx)(Ue,{"aria-label":e(`appearance.theme`),value:n,onValueChange:r,className:`sm:grid-cols-2 xl:grid-cols-3`,children:t.map(e=>(0,Y.jsx)(gt,{value:e.value,label:e.name,description:e.description,media:(0,Y.jsx)(Re,{themeKey:e.themeKey,variant:e.variant,size:`lg`})},e.value))})})]})},Wt=()=>{let{t:e}=c(),t=(0,X.useId)(),[n,r]=(0,X.useState)(``),[i,a]=(0,X.useState)(``),o=ut(),s=n.trim()!==``&&i.trim()!==``;return(0,Y.jsx)(J,{title:e(`assist.settings.tryIt`),titleAs:`h2`,children:(0,Y.jsxs)(`form`,{className:`space-y-4`,onSubmit:e=>{e.preventDefault(),s&&o.mutate({text:n.trim(),instruction:i.trim()})},children:[(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsx)(ve,{htmlFor:`${t}-text`,children:e(`assist.settings.tryText`)}),(0,Y.jsx)(ct,{id:`${t}-text`,value:n,rows:3,maxLength:dt,onChange:e=>r(e.target.value)})]}),(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsx)(ve,{htmlFor:`${t}-instruction`,children:e(`assist.rewrite.instruction`)}),(0,Y.jsx)(_e,{id:`${t}-instruction`,value:i,maxLength:500,placeholder:e(`assist.rewrite.instructionPlaceholder`),onChange:e=>a(e.target.value)})]}),(0,Y.jsx)(mt,{error:o.error}),(0,Y.jsx)(`div`,{className:`flex justify-end`,children:(0,Y.jsx)(pt,{type:`submit`,variant:`default`,size:`default`,pending:o.isPending,pendingLabel:e(`assist.working`),disabled:!s,children:e(`assist.rewrite.run`)})}),(0,Y.jsx)(`div`,{"aria-live":`polite`,children:o.data?(0,Y.jsxs)(`figure`,{className:`space-y-1 rounded-lg border bg-muted/40 p-3`,children:[(0,Y.jsx)(`figcaption`,{className:`text-meta text-muted-foreground`,children:e(`assist.rewrite.proposal`,{model:o.data.model})}),(0,Y.jsx)(`p`,{className:`text-sm whitespace-pre-wrap`,children:o.data.text})]}):null})]})})},Gt=({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,Y.jsx)(J,{title:t(`assist.settings.usage`,{month:ne(e.month)}),titleAs:`h2`,children:(0,Y.jsx)(`dl`,{className:`grid gap-4 sm:grid-cols-3`,children:n.map(e=>(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`dt`,{className:`text-meta text-muted-foreground`,children:e.label}),(0,Y.jsx)(`dd`,{className:`text-2xl font-semibold tabular-nums`,children:e.value.toLocaleString()})]},e.key))})})},Kt=()=>{let{t:e}=c(),t=lt();return(0,Y.jsxs)(y,{width:`narrow`,children:[(0,Y.jsx)(b,{title:e(`settings.assist`)}),(0,Y.jsx)(q,{query:t,loadingRows:3,children:t=>(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(J,{title:e(`assist.settings.status`),titleAs:`h2`,actions:(0,Y.jsx)(x,{tone:t.enabled?`success`:`muted`,label:t.enabled?e(`assist.settings.on`):e(`assist.settings.off`)}),children:[t.enabled?(0,Y.jsxs)(`dl`,{className:`space-y-2 text-sm`,children:[(0,Y.jsxs)(`div`,{className:`flex justify-between gap-3`,children:[(0,Y.jsx)(`dt`,{className:`text-muted-foreground`,children:e(`assist.settings.provider`)}),(0,Y.jsx)(`dd`,{className:`font-mono`,children:t.provider})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between gap-3`,children:[(0,Y.jsx)(`dt`,{className:`text-muted-foreground`,children:e(`assist.settings.model`)}),(0,Y.jsx)(`dd`,{className:`min-w-0 font-mono break-all`,children:t.model})]})]}):(0,Y.jsx)(`p`,{className:`text-sm`,children:e(`assist.settings.offDescription`)}),(0,Y.jsx)(`p`,{className:`mt-4 text-meta`,children:(0,Y.jsx)(ht,{href:ft,children:e(`assist.settings.guide`)})})]}),t.enabled&&t.usage?(0,Y.jsx)(Gt,{usage:t.usage}):null,t.enabled?(0,Y.jsx)(Wt,{}):null]})})]})},qt=e=>{let t=e.details?.plan?.impact?.affectedHeads;return typeof t==`number`?t:null},Jt=e=>D.success(k.t(`locales.deleted`,{label:e.label})),Yt=()=>{let e=rt(),[t,n]=(0,X.useState)(void 0),[r,i]=(0,X.useState)(!1);return{attempt:async t=>{try{await e.mutateAsync({code:t.code,acknowledged:!1})}catch(r){if(!p(r,`SCHEMA_CHANGE_NOT_ACKNOWLEDGED`))throw r;e.reset(),n({locale:t,affectedHeads:qt(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}},Xt=`locale-fallbacks-legend`,Zt=({control:e,locales:t,code:n})=>{let{t:r}=c(),{field:i,fieldState:a}=Ge({control:e,name:`fallbacks`}),[o,s]=(0,X.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)),f=(e,t)=>{let n=[...l],[r]=n.splice(e,1);n.splice(t,0,r),i.onChange(n)};return(0,Y.jsxs)(me,{className:`gap-3`,"aria-labelledby":Xt,children:[(0,Y.jsxs)(fe,{variant:`label`,className:`mb-0 flex items-center gap-1`,children:[(0,Y.jsx)(`span`,{id:Xt,children:r(`locales.fallbacks`)}),(0,Y.jsx)(he,{about:r(`locales.fallbacks`),children:r(`locales.fallbacksHint`)})]}),l.length>0?(0,Y.jsx)(`ol`,{className:`space-y-1`,children:l.map((e,t)=>(0,Y.jsxs)(`li`,{className:`flex items-center gap-2 rounded-lg border py-1 pr-1 pl-3 text-sm`,children:[(0,Y.jsxs)(`span`,{className:`w-5 text-muted-foreground`,children:[t+1,`.`]}),(0,Y.jsxs)(`span`,{className:`flex-1`,children:[u(e),` `,(0,Y.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:e})]}),(0,Y.jsx)(A,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":r(`locales.moveUp`,{locale:u(e)}),disabled:t===0,onClick:()=>f(t,t-1),children:(0,Y.jsx)(xe,{"aria-hidden":`true`})}),(0,Y.jsx)(A,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":r(`locales.moveDown`,{locale:u(e)}),disabled:t===l.length-1,onClick:()=>f(t,t+1),children:(0,Y.jsx)(ye,{"aria-hidden":`true`})}),(0,Y.jsx)(A,{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,Y.jsx)(_,{"aria-hidden":`true`})})]},e))}):(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:r(`locales.noFallbacks`)}),d.length>0&&l.length<10?(0,Y.jsxs)(De,{value:o,onValueChange:e=>{i.onChange([...l,e]),s(``)},children:[(0,Y.jsx)(we,{className:`w-full sm:w-64`,"aria-label":r(`locales.addFallback`),children:(0,Y.jsx)(Ce,{placeholder:r(`locales.addFallback`)})}),(0,Y.jsx)(Te,{children:d.map(e=>(0,Y.jsxs)(Ee,{value:e.code,children:[e.label,` (`,e.code,`)`]},e.code))})]}):null,(0,Y.jsx)(qe,{message:a.error?.message})]})},Qt=z({code:K().trim().min(1,`validation.required`).max(35,`validation.localeCode`).regex(ie,`validation.localeCode`),label:P(),fallbacks:Qe(K())}),$t=e=>({code:e?.code??``,label:e?.label??``,fallbacks:e?.fallbacks??[]}),en=(e,t,n)=>{let r=at(),i=tt(),a=I({resolver:F(Qt),defaultValues:$t(t)}),{reset:o}=a;(0,X.useEffect)(()=>{e&&(o($t(t)),r.reset(),i.reset())},[e,t,o]);let s=a.handleSubmit(async({code:e,label:a,fallbacks:o})=>{(await L(t?i.mutateAsync({code:t.code,input:{label:a,fallbacks:o}}):r.mutateAsync({code:e,label:a,fallbacks:o}))).ok&&(D.success(k.t(t?`locales.saved`:`locales.created`,{label:a})),n())}),c=t?i:r;return{form:a,onSubmit:s,pending:c.isPending,error:c.error}},tn=({open:e,onOpenChange:t,locale:n,locales:r})=>{let{t:i}=c(),{form:a,onSubmit:o,pending:s,error:l}=en(e,n,()=>t(!1)),u=a.watch(`code`);return(0,Y.jsxs)(xt,{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,Y.jsx)(N,{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,Y.jsx)(N,{control:a.control,name:`label`,label:i(`locales.label`),autoComplete:`off`}),(0,Y.jsx)(Zt,{control:a.control,locales:r,code:u}),(0,Y.jsx)(j,{error:l})]})},nn=({locale:e,chain:t,canManage:n,onEdit:r,onMakeDefault:i,onDelete:a})=>{let{t:o}=c(),[s,l]=(0,X.useState)(!1);return(0,Y.jsxs)(H,{children:[(0,Y.jsx)(U,{children:(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(T,{children:e.label}),e.isDefault?(0,Y.jsx)(ee,{variant:`secondary`,children:o(`locales.default`)}):null]})}),(0,Y.jsx)(U,{className:`font-mono text-xs`,children:e.code}),(0,Y.jsx)(U,{className:`font-mono text-xs`,children:t.length>0?t.join(` → `):o(`common.none`)}),(0,Y.jsx)(U,{className:`text-right`,children:n?(0,Y.jsxs)(Ie,{children:[(0,Y.jsx)(M,{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,Y.jsx)(Pe,{asChild:!0,children:(0,Y.jsx)(A,{variant:`ghost`,size:`icon-sm`,"aria-label":`${o(`common.actions`)}: ${e.label}`,children:(0,Y.jsx)(ke,{"aria-hidden":`true`})})})}),(0,Y.jsxs)(Fe,{align:`end`,onCloseAutoFocus:e=>s&&e.preventDefault(),children:[(0,Y.jsxs)(Ne,{onSelect:()=>r(e),children:[(0,Y.jsx)(Ve,{"aria-hidden":`true`}),o(`common.edit`)]}),e.isDefault?null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Ne,{onSelect:()=>i(e),children:[(0,Y.jsx)(Mt,{"aria-hidden":`true`}),o(`locales.makeDefault`)]}),(0,Y.jsxs)(Ne,{variant:`destructive`,onSelect:()=>l(!0),children:[(0,Y.jsx)(ue,{"aria-hidden":`true`}),o(`common.delete`)]})]})]})]}):null})]})},rn=({locales:e,canManage:t,onEdit:n,onMakeDefault:r,onDelete:i})=>{let{t:a}=c(),o=e.find(e=>e.isDefault);return(0,Y.jsx)(W,{children:(0,Y.jsxs)(G,{children:[(0,Y.jsx)(R,{children:(0,Y.jsxs)(H,{children:[(0,Y.jsx)(B,{children:a(`locales.label`)}),(0,Y.jsx)(B,{children:a(`locales.code`)}),(0,Y.jsx)(B,{children:a(`locales.fallbacks`)}),(0,Y.jsx)(B,{children:(0,Y.jsx)(`span`,{className:`sr-only`,children:a(`common.actions`)})})]})}),(0,Y.jsx)(V,{children:e.map(e=>(0,Y.jsx)(nn,{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))})]})})},an=()=>{let{t:e}=c(),t=it(),n=Et(`schema.create`),r=nt(),i=Dt(),a=Yt(),[o,s]=(0,X.useState)({open:!1,locale:void 0}),l=t.data?.find(e=>e.isDefault),u=a.withContent;return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`locales.title`),actions:n?(0,Y.jsxs)(A,{onClick:()=>s({open:!0,locale:void 0}),children:[(0,Y.jsx)(He,{"aria-hidden":`true`}),e(`locales.add`)]}):null}),(0,Y.jsx)(q,{query:t,isEmpty:e=>e.length===0,empty:(0,Y.jsx)(S,{icon:je,title:e(`locales.empty`)}),children:e=>(0,Y.jsx)(rn,{locales:e,canManage:n,onEdit:e=>s({open:!0,locale:e}),onMakeDefault:e=>{r.reset(),i.ask(e)},onDelete:a.attempt})}),(0,Y.jsx)(tn,{open:o.open,onOpenChange:e=>s(t=>({...t,open:e})),locale:o.locale,locales:t.data??[]}),(0,Y.jsx)(Oe,{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:()=>{D.success(e(`locales.defaultChanged`,{label:t.label})),i.close()}})}}),(0,Y.jsx)(Oe,{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})]})},on=z({name:P()}),sn=()=>{let{data:e}=g(),t=h(),n=I({resolver:F(on),defaultValues:{name:e?.user.name??``}}),{reset:r,formState:i}=n,a=e?.user.name;return(0,X.useEffect)(()=>{!i.isDirty&&a!==void 0&&r({name:a})},[a,r,i.isDirty]),{form:n,onSubmit:n.handleSubmit(async e=>{let n=await L(t.mutateAsync(e));n.ok&&(r({name:n.value.name}),D.success(k.t(`profile.detailsSaved`)))}),updateProfile:t,email:e?.user.email??``}},cn=`profile-email`,ln=`profile-email-hint`,un=({onDirtyChange:e})=>{let{t}=c(),{form:n,onSubmit:r,updateProfile:i,email:a}=sn(),{isDirty:o}=n.formState;return(0,X.useEffect)(()=>e(o),[o,e]),(0,Y.jsx)(J,{title:t(`profile.detailsTitle`),children:(0,Y.jsx)(`form`,{noValidate:!0,onSubmit:e=>void r(e),className:`max-w-md`,children:(0,Y.jsxs)(O,{children:[(0,Y.jsx)(N,{control:n.control,name:`name`,label:t(`auth.name`),autoComplete:`name`}),(0,Y.jsxs)(pe,{children:[(0,Y.jsx)($e,{htmlFor:cn,label:t(`auth.email`),hint:t(`profile.emailHint`),hintId:ln}),(0,Y.jsx)(_e,{id:cn,value:a,readOnly:!0,"aria-describedby":ln})]}),(0,Y.jsx)(j,{error:i.error}),(0,Y.jsx)(`div`,{children:(0,Y.jsx)(v,{pending:i.isPending,pendingLabel:t(`common.saving`),disabled:!o,children:t(`common.saveChanges`)})})]})})})},dn=Je({currentPassword:K().min(1,`validation.required`),password:We()}),fn={currentPassword:``,password:``,confirmPassword:``},pn=()=>{let e=m(),t=I({resolver:F(dn),defaultValues:fn});return{form:t,onSubmit:t.handleSubmit(async({currentPassword:n,password:r})=>{(await L(e.mutateAsync({currentPassword:n,newPassword:r}))).ok&&(t.reset(fn),D.success(k.t(`profile.passwordChanged`)))}),changePassword:e}},mn=({onDirtyChange:e})=>{let{t}=c(),{form:n,onSubmit:r,changePassword:i}=pn(),{isDirty:a}=n.formState;return(0,X.useEffect)(()=>e(a),[a,e]),(0,Y.jsx)(J,{title:t(`profile.passwordTitle`),description:t(`profile.passwordDescription`),children:(0,Y.jsx)(`form`,{noValidate:!0,onSubmit:e=>void r(e),className:`max-w-md`,children:(0,Y.jsxs)(O,{children:[(0,Y.jsx)(N,{control:n.control,name:`currentPassword`,label:t(`profile.currentPassword`),type:`password`,autoComplete:`current-password`}),(0,Y.jsx)(N,{control:n.control,name:`password`,label:t(`auth.newPassword`),description:t(`auth.passwordHint`),type:`password`,autoComplete:`new-password`}),(0,Y.jsx)(N,{control:n.control,name:`confirmPassword`,label:t(`auth.confirmPassword`),type:`password`,autoComplete:`new-password`}),(0,Y.jsx)(j,{error:i.error}),(0,Y.jsx)(`div`,{children:(0,Y.jsx)(v,{pending:i.isPending,pendingLabel:t(`common.saving`),children:t(`profile.changePassword`)})})]})})})},hn=()=>{let{t:e}=c(),[t,n]=(0,X.useState)(!1),[r,i]=(0,X.useState)(!1),a=(0,X.useCallback)(e=>n(e),[]),o=(0,X.useCallback)(e=>i(e),[]);return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`profile.title`)}),(0,Y.jsx)(un,{onDirtyChange:a}),(0,Y.jsx)(mn,{onDirtyChange:o}),(0,Y.jsx)(re,{when:t||r})]})},Q=`seo-default-image`,gn=`${Q}-hint`,_n=`${Q}-error`,vn=({control:e,imagePrivate:t})=>{let{t:n}=c(),{field:r,fieldState:i}=Ge({control:e,name:`imageId`}),a=t?n(`seo.settings.imagePrivate`):i.error?.message,{canWrite:o}=Ae(),s=st(),l=async()=>{let e=(await s.pickMedia({multiple:!1,allowedKinds:[`image`]}))?.[0];e&&r.onChange(e.id)};return(0,Y.jsxs)(pe,{"data-invalid":a?!0:void 0,children:[(0,Y.jsx)($e,{htmlFor:Q,label:n(`seo.settings.image`),hint:n(`seo.settings.imageHint`),hintId:gn}),r.value?(0,Y.jsx)(`ul`,{children:(0,Y.jsx)(Se,{assetId:r.value,inputId:Q,index:0,count:1,editable:!0,canEditAlt:o,onRemove:()=>r.onChange(null)})}):null,(0,Y.jsx)(`div`,{children:(0,Y.jsxs)(A,{id:Q,type:`button`,variant:`outline`,size:`sm`,"aria-describedby":Ye(gn,a?_n:void 0),onClick:()=>void l(),children:[(0,Y.jsx)(be,{"aria-hidden":`true`}),r.value?n(`seo.settings.changeImage`):n(`seo.settings.chooseImage`)]})}),(0,Y.jsx)(qe,{id:a?_n:void 0,message:a}),s.dialog]})},yn=200,bn=1e3,xn=e=>K().trim().max(e,`validation.tooLong`),Sn=z({siteName:xn(yn),titleTemplate:xn(yn).refine(e=>e===``||oe(e),`validation.titleTemplate`),description:xn(bn)}),Cn=z({locales:Xe(K(),Sn),imageId:K().nullable(),twitterHandle:K().trim().refine(e=>e===``||ae.test(e),`validation.twitterHandle`)}),wn={siteName:``,titleTemplate:``,description:``},$=(e,t)=>{let n=[...new Set([...t.map(e=>e.code),...Object.keys(e.locales)])];return{locales:Object.fromEntries(n.map(t=>[t,{...wn,...e.locales[t]}])),imageId:e.imageId,twitterHandle:e.twitterHandle??``}},Tn=e=>{let t={};for(let[n,r]of Object.entries(e.locales)){let e=Object.fromEntries(Object.entries(r).map(([e,t])=>[e,t.trim()]).filter(([,e])=>e!==``));Object.keys(e).length>0&&(t[n]=e)}let n=e.twitterHandle.trim();return{locales:t,imageId:e.imageId,twitterHandle:n===``?null:n}},En=e=>Object.keys(e.locales??{})[0],Dn=`SEO_IMAGE_INVALID`,On=(e,t)=>{let n=o(),r=le(),i=t.find(e=>e.isDefault)?.code??t[0]?.code??``,[a,s]=(0,X.useState)(i),[c,l]=(0,X.useState)(e.version),u=I({resolver:F(Cn),defaultValues:$(e.seo,t)}),m=Ke({control:u.control,name:`imageId`}),h=d(m??void 0),g=m!==null&&h.data?.visibility===`private`,{clearErrors:_}=u;(0,X.useEffect)(()=>_(`imageId`),[m,_]);let v=async()=>{try{let e=await n.fetchQuery({...ce,staleTime:0});u.reset($(e.seo,t)),l(e.version)}catch(e){de(e,`reloading the SEO settings`)}};return{form:u,locale:a,setLocale:s,imagePrivate:g,pending:r.isPending,onSubmit:u.handleSubmit(async e=>{if(!g)try{let n=await r.mutateAsync({expectedVersion:c,seo:Tn(e)});u.reset($(n.seo,t)),l(n.version),D.success(k.t(`seo.settings.saved`))}catch(e){if(f(e)){D.error(k.t(`seo.settings.conflict`),{action:{label:k.t(`seo.settings.reload`),onClick:()=>void v()}});return}if(p(e,Dn)){u.setError(`imageId`,{message:ge(e)},{shouldFocus:!1});return}D.error(ge(e))}},e=>{let t=En(e);t!==void 0&&s(t)})}},kn=({control:e,locales:t,locale:n,onLocaleChange:r})=>{let{t:i}=c();return(0,Y.jsx)(J,{title:i(`seo.settings.textsTitle`),titleAs:`h2`,actions:t.length>1?(0,Y.jsx)(ot,{locales:t,value:n,onChange:r,size:`sm`}):null,children:(0,Y.jsxs)(O,{className:`max-w-xl`,children:[(0,Y.jsx)(N,{control:e,name:`locales.${n}.siteName`,label:i(`seo.settings.siteName`),hint:i(`seo.settings.siteNameHint`)}),(0,Y.jsx)(N,{control:e,name:`locales.${n}.titleTemplate`,label:i(`seo.settings.titleTemplate`),hint:i(`seo.settings.titleTemplateHint`),placeholder:i(`seo.settings.titleTemplatePlaceholder`)}),(0,Y.jsx)(_t,{control:e,name:`locales.${n}.description`,label:i(`seo.settings.description`),hint:i(`seo.settings.descriptionHint`),rows:3})]},n)})},An=({siteSeo:e,locales:t})=>{let{t:n}=c(),{form:r,locale:i,setLocale:a,imagePrivate:o,pending:s,onSubmit:l}=On(e,t),{isDirty:u}=r.formState;return(0,Y.jsxs)(`form`,{noValidate:!0,onSubmit:e=>void l(e),className:`space-y-6`,children:[(0,Y.jsx)(re,{when:u}),(0,Y.jsx)(kn,{control:r.control,locales:t,locale:i,onLocaleChange:a}),(0,Y.jsx)(J,{title:n(`seo.settings.socialTitle`),titleAs:`h2`,children:(0,Y.jsxs)(O,{className:`max-w-xl`,children:[(0,Y.jsx)(vn,{control:r.control,imagePrivate:o}),(0,Y.jsx)(N,{control:r.control,name:`twitterHandle`,label:n(`seo.settings.twitterHandle`),hint:n(`seo.settings.twitterHandleHint`),placeholder:n(`seo.settings.twitterHandlePlaceholder`),autoComplete:`off`})]})}),(0,Y.jsx)(`div`,{children:(0,Y.jsx)(v,{pending:s,pendingLabel:n(`common.saving`),disabled:!u||o,children:n(`common.saveChanges`)})})]})},jn=()=>{let{t:e}=c(),t=se(),n=it();return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`seo.settings.title`)}),(0,Y.jsx)(q,{query:t,loadingRows:4,children:e=>(0,Y.jsx)(q,{query:n,loadingRows:4,children:t=>(0,Y.jsx)(An,{siteSeo:e,locales:t})})})]})},Mn=()=>r({queryKey:i.sessions,queryFn:()=>l.sessions.list(),meta:{silent:!0}}),Nn=()=>{let e=o();return a({mutationKey:[`sessions`,`revoke`],mutationFn:e=>u(()=>l.sessions.revoke(e)),onSettled:()=>e.invalidateQueries({queryKey:i.sessions})})},Pn=[[/Edg\//,`Edge`],[/OPR\//,`Opera`],[/Firefox\//,`Firefox`],[/Chrome\//,`Chrome`],[/Safari\//,`Safari`]],Fn=[[/iPhone|iPad/,`iOS`],[/Android/,`Android`],[/Mac OS X|Macintosh/,`macOS`],[/Windows/,`Windows`],[/Linux/,`Linux`]],In=(e,t)=>t.find(([t])=>t.test(e))?.[1],Ln=e=>{if(!e)return;let t=In(e,Pn),n=In(e,Fn);return t&&n?`${t} · ${n}`:t??n},Rn=({sessions:e,onRevoke:t})=>{let{t:n}=c();return(0,Y.jsx)(W,{children:(0,Y.jsxs)(G,{children:[(0,Y.jsx)(R,{children:(0,Y.jsxs)(H,{children:[(0,Y.jsx)(B,{children:n(`sessions.device`)}),(0,Y.jsx)(B,{children:n(`sessions.ipAddress`)}),(0,Y.jsx)(B,{children:n(`sessions.signedIn`)}),(0,Y.jsx)(B,{children:n(`sessions.lastActive`)}),(0,Y.jsx)(B,{children:(0,Y.jsx)(`span`,{className:`sr-only`,children:n(`common.actions`)})})]})}),(0,Y.jsx)(V,{children:e.map(e=>(0,Y.jsxs)(H,{children:[(0,Y.jsx)(U,{children:(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(T,{children:Ln(e.userAgent)??n(`sessions.unknownDevice`)}),e.current?(0,Y.jsx)(ee,{variant:`secondary`,children:n(`sessions.current`)}):null]})}),(0,Y.jsx)(U,{className:`font-mono text-xs`,children:e.ip??n(`common.unknown`)}),(0,Y.jsx)(U,{title:w(e.createdAt),children:C(e.createdAt)}),(0,Y.jsx)(U,{title:w(e.lastSeenAt),children:C(e.lastSeenAt)}),(0,Y.jsx)(U,{className:`text-right`,children:e.current?null:(0,Y.jsx)(M,{tone:`danger`,title:n(`sessions.revokeTitle`),description:n(`sessions.revokeDescription`),confirmLabel:n(`common.revoke`),onConfirm:()=>t(e),trigger:(0,Y.jsx)(A,{variant:`outline`,size:`sm`,children:n(`common.revoke`)})})})]},e.id))})]})})},zn={settings:E(`/app/settings`)({component:Pt}),profile:E(`/app/settings/profile`)({component:hn}),sessions:E(`/app/settings/sessions`)({component:()=>{let{t:e}=c(),t=Mn(),n=Nn(),r=async t=>{await n.mutateAsync(t.id),D.success(e(`sessions.revoked`))};return(0,Y.jsxs)(y,{width:`full`,children:[(0,Y.jsx)(b,{title:e(`sessions.title`)}),(0,Y.jsx)(q,{query:t,isEmpty:e=>e.length===0,empty:(0,Y.jsx)(S,{icon:Le,title:e(`sessions.empty`)}),children:e=>(0,Y.jsx)(Rn,{sessions:e,onRevoke:r})})]})}}),theme:E(`/app/settings/theme`)({component:Ut}),locales:E(`/app/settings/locales`)({component:an}),seo:E(`/app/settings/seo`)({component:jn}),assist:E(`/app/settings/assist`)({component:Kt}),apiTokens:E(`/app/settings/api-tokens`)({component:Ht})};export{zn as settingsLazyRoutes};
2
+ //# sourceMappingURL=settings-Mscp6tN5.js.map