@shapio/cms 0.5.5 → 0.5.6
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.
- package/dist/admin/assets/{AssetTile-CaYPqR_F.js → AssetTile-_qRYsivK.js} +2 -2
- package/dist/admin/assets/{AssetTile-CaYPqR_F.js.map → AssetTile-_qRYsivK.js.map} +1 -1
- package/dist/admin/assets/{AssistError-drmpXSbS.js → AssistError-CMXQWiQo.js} +2 -2
- package/dist/admin/assets/{AssistError-drmpXSbS.js.map → AssistError-CMXQWiQo.js.map} +1 -1
- package/dist/admin/assets/{BlockMenuItems-D-jZ0oaU.js → BlockMenuItems-WIrbyv1a.js} +2 -2
- package/dist/admin/assets/{BlockMenuItems-D-jZ0oaU.js.map → BlockMenuItems-WIrbyv1a.js.map} +1 -1
- package/dist/admin/assets/{Body-Gn_z2KPN.js → Body-BYc1IVsQ.js} +2 -2
- package/dist/admin/assets/{Body-Gn_z2KPN.js.map → Body-BYc1IVsQ.js.map} +1 -1
- package/dist/admin/assets/Builder-CwHpRhZN.js +2 -0
- package/dist/admin/assets/Builder-CwHpRhZN.js.map +1 -0
- package/dist/admin/assets/{CodeEditor-CzRU6och.js → CodeEditor-NMvrWgxT.js} +2 -2
- package/dist/admin/assets/{CodeEditor-CzRU6och.js.map → CodeEditor-NMvrWgxT.js.map} +1 -1
- package/dist/admin/assets/{ConfirmDialog-DZRJfdvH.js → ConfirmDialog-Rd6WDt6q.js} +2 -2
- package/dist/admin/assets/{ConfirmDialog-DZRJfdvH.js.map → ConfirmDialog-Rd6WDt6q.js.map} +1 -1
- package/dist/admin/assets/{CopyButton-h4HYhnYp.js → CopyButton-B0RuxynJ.js} +2 -2
- package/dist/admin/assets/{CopyButton-h4HYhnYp.js.map → CopyButton-B0RuxynJ.js.map} +1 -1
- package/dist/admin/assets/{CursorPager-H4SpVYw7.js → CursorPager-CQZsKNxR.js} +2 -2
- package/dist/admin/assets/{CursorPager-H4SpVYw7.js.map → CursorPager-CQZsKNxR.js.map} +1 -1
- package/dist/admin/assets/{FocalPoint-CSeKI4Iw.js → FocalPoint-BYu2fOTb.js} +2 -2
- package/dist/admin/assets/{FocalPoint-CSeKI4Iw.js.map → FocalPoint-BYu2fOTb.js.map} +1 -1
- package/dist/admin/assets/{Form-DF_YmR1G.js → Form-CiZUsLPp.js} +2 -2
- package/dist/admin/assets/{Form-DF_YmR1G.js.map → Form-CiZUsLPp.js.map} +1 -1
- package/dist/admin/assets/{FormCheckboxGroup-V3IKrvzc.js → FormCheckboxGroup-Bz8KERs1.js} +2 -2
- package/dist/admin/assets/{FormCheckboxGroup-V3IKrvzc.js.map → FormCheckboxGroup-Bz8KERs1.js.map} +1 -1
- package/dist/admin/assets/{FormRadioGroup-DIv-MYgn.js → FormRadioGroup-c-wyx7dq.js} +2 -2
- package/dist/admin/assets/{FormRadioGroup-DIv-MYgn.js.map → FormRadioGroup-c-wyx7dq.js.map} +1 -1
- package/dist/admin/assets/{FormSelectField-CUhaPIMY.js → FormSelectField-ijG9qPpb.js} +2 -2
- package/dist/admin/assets/{FormSelectField-CUhaPIMY.js.map → FormSelectField-ijG9qPpb.js.map} +1 -1
- package/dist/admin/assets/{FormSwitchField-DW8ysyk_.js → FormSwitchField-Bp3hNpeP.js} +2 -2
- package/dist/admin/assets/{FormSwitchField-DW8ysyk_.js.map → FormSwitchField-Bp3hNpeP.js.map} +1 -1
- package/dist/admin/assets/{FormTextareaField-DbqZ-MwI.js → FormTextareaField-BSKMqHcW.js} +2 -2
- package/dist/admin/assets/{FormTextareaField-DbqZ-MwI.js.map → FormTextareaField-BSKMqHcW.js.map} +1 -1
- package/dist/admin/assets/{HintedLabel-BlLtqVVz.js → HintedLabel-BrLH4NQW.js} +2 -2
- package/dist/admin/assets/{HintedLabel-BlLtqVVz.js.map → HintedLabel-BrLH4NQW.js.map} +1 -1
- package/dist/admin/assets/{InfoHint-bYMd_t0J.js → InfoHint-Dyzyf59c.js} +2 -2
- package/dist/admin/assets/{InfoHint-bYMd_t0J.js.map → InfoHint-Dyzyf59c.js.map} +1 -1
- package/dist/admin/assets/{InsertMenuItem-D2HGERzb.js → InsertMenuItem-BvRDuXtd.js} +2 -2
- package/dist/admin/assets/{InsertMenuItem-D2HGERzb.js.map → InsertMenuItem-BvRDuXtd.js.map} +1 -1
- package/dist/admin/assets/{Match-GDx_orOH.js → Match-Bixf1ygj.js} +2 -2
- package/dist/admin/assets/{Match-GDx_orOH.js.map → Match-Bixf1ygj.js.map} +1 -1
- package/dist/admin/assets/{QueryView-UBO-U5Wo.js → QueryView--_vvV7dC.js} +2 -2
- package/dist/admin/assets/{QueryView-UBO-U5Wo.js.map → QueryView--_vvV7dC.js.map} +1 -1
- package/dist/admin/assets/{RadioTile-CJbIIV8t.js → RadioTile-BCp6auUz.js} +2 -2
- package/dist/admin/assets/{RadioTile-CJbIIV8t.js.map → RadioTile-BCp6auUz.js.map} +1 -1
- package/dist/admin/assets/{RichTextField-M7HyUhYF.js → RichTextField-fWNjndUc.js} +2 -2
- package/dist/admin/assets/{RichTextField-M7HyUhYF.js.map → RichTextField-fWNjndUc.js.map} +1 -1
- package/dist/admin/assets/{RowTitle-DoxDM1XL.js → RowTitle-B4CE8tt7.js} +2 -2
- package/dist/admin/assets/{RowTitle-DoxDM1XL.js.map → RowTitle-B4CE8tt7.js.map} +1 -1
- package/dist/admin/assets/{SecretReveal-kCkLH5jg.js → SecretReveal-BhSqdWqh.js} +2 -2
- package/dist/admin/assets/{SecretReveal-kCkLH5jg.js.map → SecretReveal-BhSqdWqh.js.map} +1 -1
- package/dist/admin/assets/{SharedGlyph-D1OMHXPf.js → SharedGlyph-71FTypoi.js} +2 -2
- package/dist/admin/assets/{SharedGlyph-D1OMHXPf.js.map → SharedGlyph-71FTypoi.js.map} +1 -1
- package/dist/admin/assets/StepList-CZJmwy9e.js +2 -0
- package/dist/admin/assets/StepList-CZJmwy9e.js.map +1 -0
- package/dist/admin/assets/Structure-Dk87778W.js +2 -0
- package/dist/admin/assets/{Structure-CO4aJZVP.js.map → Structure-Dk87778W.js.map} +1 -1
- package/dist/admin/assets/{SuggestAltButton-CbRUxD5s.js → SuggestAltButton-CxS8IR6m.js} +2 -2
- package/dist/admin/assets/{SuggestAltButton-CbRUxD5s.js.map → SuggestAltButton-CxS8IR6m.js.map} +1 -1
- package/dist/admin/assets/{Thumbnail-D1XuDElk.js → Thumbnail-BwbCNpgQ.js} +2 -2
- package/dist/admin/assets/{Thumbnail-D1XuDElk.js.map → Thumbnail-BwbCNpgQ.js.map} +1 -1
- package/dist/admin/assets/{UnsavedChangesGuard-C1n7egF6.js → UnsavedChangesGuard-C6nD55Fn.js} +2 -2
- package/dist/admin/assets/{UnsavedChangesGuard-C1n7egF6.js.map → UnsavedChangesGuard-C6nD55Fn.js.map} +1 -1
- package/dist/admin/assets/{UserAvatar-Bl32IpG_.js → UserAvatar-D7IbSpsP.js} +2 -2
- package/dist/admin/assets/{UserAvatar-Bl32IpG_.js.map → UserAvatar-D7IbSpsP.js.map} +1 -1
- package/dist/admin/assets/{badge-ydvfgE8a.js → badge-vLiQczOd.js} +2 -2
- package/dist/admin/assets/{badge-ydvfgE8a.js.map → badge-vLiQczOd.js.map} +1 -1
- package/dist/admin/assets/{changeSets-DgfCKja3.js → changeSets-D5VevASj.js} +2 -2
- package/dist/admin/assets/{changeSets-DgfCKja3.js.map → changeSets-D5VevASj.js.map} +1 -1
- package/dist/admin/assets/{constants-esJAnNTh.js → constants-CKGh8uwT.js} +2 -2
- package/dist/admin/assets/{constants-esJAnNTh.js.map → constants-CKGh8uwT.js.map} +1 -1
- package/dist/admin/assets/{content-DsMSB6Wb.js → content-Cbavyq0x.js} +3 -3
- package/dist/admin/assets/{content-DsMSB6Wb.js.map → content-Cbavyq0x.js.map} +1 -1
- package/dist/admin/assets/{contentTypes-C-AKiYu1.js → contentTypes-DzQ_0v36.js} +2 -2
- package/dist/admin/assets/{contentTypes-C-AKiYu1.js.map → contentTypes-DzQ_0v36.js.map} +1 -1
- package/dist/admin/assets/{develop-DL-2W9jv.js → develop-BDqMOEql.js} +2 -2
- package/dist/admin/assets/{develop-DL-2W9jv.js.map → develop-BDqMOEql.js.map} +1 -1
- package/dist/admin/assets/{dropdown-menu-C53v9ioW.js → dropdown-menu-CVAnm22s.js} +2 -2
- package/dist/admin/assets/{dropdown-menu-C53v9ioW.js.map → dropdown-menu-CVAnm22s.js.map} +1 -1
- package/dist/admin/assets/es2015-BKfbx3rz.js +42 -0
- package/dist/admin/assets/es2015-BKfbx3rz.js.map +1 -0
- package/dist/admin/assets/{field-W1dB_h6d.js → field-Bg-JRgsB.js} +2 -2
- package/dist/admin/assets/{field-W1dB_h6d.js.map → field-Bg-JRgsB.js.map} +1 -1
- package/dist/admin/assets/{fileRoute-DzWMBrRx.js → fileRoute-DQCI1nMN.js} +2 -2
- package/dist/admin/assets/{fileRoute-DzWMBrRx.js.map → fileRoute-DQCI1nMN.js.map} +1 -1
- package/dist/admin/assets/{followPlural-D-5ZJqJF.js → followPlural-D0bENI5E.js} +2 -2
- package/dist/admin/assets/{followPlural-D-5ZJqJF.js.map → followPlural-D0bENI5E.js.map} +1 -1
- package/dist/admin/assets/{inbox-DUqOrFEA.js → inbox-Dfy4YBZ2.js} +2 -2
- package/dist/admin/assets/{inbox-DUqOrFEA.js.map → inbox-Dfy4YBZ2.js.map} +1 -1
- package/dist/admin/assets/{index-D03RZB7e.js → index-M4TUI1dl.js} +4 -4
- package/dist/admin/assets/{index-D03RZB7e.js.map → index-M4TUI1dl.js.map} +1 -1
- package/dist/admin/assets/{labels-CHE0gg1n.js → labels-BrwwGWnv.js} +2 -2
- package/dist/admin/assets/{labels-CHE0gg1n.js.map → labels-BrwwGWnv.js.map} +1 -1
- package/dist/admin/assets/{media-BUUEsWxd.js → media-DBdx-UmR.js} +2 -2
- package/dist/admin/assets/{media-BUUEsWxd.js.map → media-DBdx-UmR.js.map} +1 -1
- package/dist/admin/assets/{network-Bolr2lmf.js → network-BpbMYp6D.js} +2 -2
- package/dist/admin/assets/{network-Bolr2lmf.js.map → network-BpbMYp6D.js.map} +1 -1
- package/dist/admin/assets/{publishing-ClNjPLQ9.js → publishing-CpSDO3M7.js} +2 -2
- package/dist/admin/assets/{publishing-ClNjPLQ9.js.map → publishing-CpSDO3M7.js.map} +1 -1
- package/dist/admin/assets/{radio-group-rFxn7cz2.js → radio-group-DQ3sC1ol.js} +2 -2
- package/dist/admin/assets/{radio-group-rFxn7cz2.js.map → radio-group-DQ3sC1ol.js.map} +1 -1
- package/dist/admin/assets/{searchSchemas-C4qp-vCa.js → searchSchemas-D4S2ceA0.js} +2 -2
- package/dist/admin/assets/{searchSchemas-C4qp-vCa.js.map → searchSchemas-D4S2ceA0.js.map} +1 -1
- package/dist/admin/assets/{sections-C7Z6Xd8r.js → sections-Cl1LrzqH.js} +2 -2
- package/dist/admin/assets/{sections-C7Z6Xd8r.js.map → sections-Cl1LrzqH.js.map} +1 -1
- package/dist/admin/assets/{select-DUhL27UN.js → select-DjCAH45V.js} +2 -2
- package/dist/admin/assets/{select-DUhL27UN.js.map → select-DjCAH45V.js.map} +1 -1
- package/dist/admin/assets/{seo-l1ZORjtv.js → seo-DJ4k3LtY.js} +2 -2
- package/dist/admin/assets/{seo-l1ZORjtv.js.map → seo-DJ4k3LtY.js.map} +1 -1
- package/dist/admin/assets/{settings-DgoG3H8C.js → settings-DRZ33PTg.js} +2 -2
- package/dist/admin/assets/{settings-DgoG3H8C.js.map → settings-DRZ33PTg.js.map} +1 -1
- package/dist/admin/assets/{shapes-BZ87ap5s.js → shapes-BJe3IMuj.js} +5 -5
- package/dist/admin/assets/{shapes-BZ87ap5s.js.map → shapes-BJe3IMuj.js.map} +1 -1
- package/dist/admin/assets/{skeleton-Dyi_b1wq.js → skeleton-D4eOLKLY.js} +2 -2
- package/dist/admin/assets/{skeleton-Dyi_b1wq.js.map → skeleton-D4eOLKLY.js.map} +1 -1
- package/dist/admin/assets/src-DUpL-qwG.js +7 -0
- package/dist/admin/assets/src-DUpL-qwG.js.map +1 -0
- package/dist/admin/assets/{switch-C3dDDUIk.js → switch-B2R13aVU.js} +2 -2
- package/dist/admin/assets/{switch-C3dDDUIk.js.map → switch-B2R13aVU.js.map} +1 -1
- package/dist/admin/assets/{theme-DPe080iG.js → theme-X-qeg74W.js} +2 -2
- package/dist/admin/assets/{theme-DPe080iG.js.map → theme-X-qeg74W.js.map} +1 -1
- package/dist/admin/assets/{titles-C5PaMgFJ.js → titles-CLh5ftA2.js} +2 -2
- package/dist/admin/assets/{titles-C5PaMgFJ.js.map → titles-CLh5ftA2.js.map} +1 -1
- package/dist/admin/assets/{tooltip-BEaZkRPK.js → tooltip-u2epXfJF.js} +2 -2
- package/dist/admin/assets/{tooltip-BEaZkRPK.js.map → tooltip-u2epXfJF.js.map} +1 -1
- package/dist/admin/assets/{useContentSchema-wLDa2L3f.js → useContentSchema-DaQHlL19.js} +2 -2
- package/dist/admin/assets/{useContentSchema-wLDa2L3f.js.map → useContentSchema-DaQHlL19.js.map} +1 -1
- package/dist/admin/assets/{useDiscardGuard-WTUINqD5.js → useDiscardGuard-BVJGUCiH.js} +2 -2
- package/dist/admin/assets/{useDiscardGuard-WTUINqD5.js.map → useDiscardGuard-BVJGUCiH.js.map} +1 -1
- package/dist/admin/assets/{useMediaPickerDialog-CFN9ZKfe.js → useMediaPickerDialog-C23eOHQR.js} +2 -2
- package/dist/admin/assets/{useMediaPickerDialog-CFN9ZKfe.js.map → useMediaPickerDialog-C23eOHQR.js.map} +1 -1
- package/dist/admin/assets/{useMediaUploader-B42H_CMG.js → useMediaUploader-CTViR0LX.js} +2 -2
- package/dist/admin/assets/{useMediaUploader-B42H_CMG.js.map → useMediaUploader-CTViR0LX.js.map} +1 -1
- package/dist/admin/assets/{useResolvedScheme-aV0QDPi3.js → useResolvedScheme-Cg8TdO85.js} +2 -2
- package/dist/admin/assets/{useResolvedScheme-aV0QDPi3.js.map → useResolvedScheme-Cg8TdO85.js.map} +1 -1
- package/dist/admin/assets/{zod-C-k48Hnc.js → zod-D5i60ErJ.js} +2 -2
- package/dist/admin/assets/{zod-C-k48Hnc.js.map → zod-D5i60ErJ.js.map} +1 -1
- package/dist/admin/index.html +27 -27
- package/dist/cli.js +10 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +1 -1
- package/dist/{s3Adapter-sL1zP4Zl.js → s3Adapter-CtPzkzf0.js} +2 -2
- package/dist/{s3Adapter-sL1zP4Zl.js.map → s3Adapter-CtPzkzf0.js.map} +1 -1
- package/dist/{worker-DMES6pqh.js → worker-DRCCGGjl.js} +3823 -3719
- package/dist/worker-DRCCGGjl.js.map +1 -0
- package/package.json +5 -5
- package/dist/admin/assets/Builder-DyCcikfS.js +0 -2
- package/dist/admin/assets/Builder-DyCcikfS.js.map +0 -1
- package/dist/admin/assets/StepList-BIQjDaWQ.js +0 -2
- package/dist/admin/assets/StepList-BIQjDaWQ.js.map +0 -1
- package/dist/admin/assets/Structure-CO4aJZVP.js +0 -2
- package/dist/admin/assets/es2015-DrAA1N2V.js +0 -42
- package/dist/admin/assets/es2015-DrAA1N2V.js.map +0 -1
- package/dist/admin/assets/src-BcLeD2-K.js +0 -7
- package/dist/admin/assets/src-BcLeD2-K.js.map +0 -1
- package/dist/worker-DMES6pqh.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapio/cms",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.6",
|
|
4
4
|
"description": "Self-hosted headless CMS: model content live, deliver it over REST and GraphQL.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://shapio.dev",
|
|
@@ -74,10 +74,10 @@
|
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@modelcontextprotocol/client": "2.2.0",
|
|
77
|
-
"@shapio/cli": "0.5.
|
|
78
|
-
"@shapio/client": "0.5.
|
|
79
|
-
"@shapio/mcp": "0.5.
|
|
80
|
-
"@shapio/schema": "0.5.
|
|
77
|
+
"@shapio/cli": "0.5.6",
|
|
78
|
+
"@shapio/client": "0.5.6",
|
|
79
|
+
"@shapio/mcp": "0.5.6",
|
|
80
|
+
"@shapio/schema": "0.5.6",
|
|
81
81
|
"@types/node": "24.19.1",
|
|
82
82
|
"@types/nodemailer": "8.0.2",
|
|
83
83
|
"@types/pg": "8.23.1",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./jsx-runtime-DREnUpxT.js";import{lt as r,t as i,u as a}from"./loader-circle-C-9trZPI.js";import{C as o,T as s,h as c,u as l}from"./auth-C4fHG9Iu.js";import{_ as u,a as d,c as f,d as p,f as m,i as h,j as g,l as _,m as v,n as y,o as b,p as x,s as ee,t as S,u as te,v as ne}from"./badge-ydvfgE8a.js";import{n as C,t as w}from"./createLucideIcon-CqygG5K6.js";import{t as T}from"./UnsavedChangesGuard-C1n7egF6.js";import{C as E,D,E as O,F as k,J as A,L as re,M as ie,N as ae,P as oe,S as j,T as M,Y as se,Z as ce,at as le,c as N,d as ue,et as de,f as fe,g as P,it as pe,j as me,m as he,rt as ge,tt as _e,u as ve,v as ye,w as be,x as xe}from"./src-BcLeD2-K.js";import{r as Se,t as Ce}from"./seo-l1ZORjtv.js";import{C as we,E as F,t as I}from"./InfoHint-bYMd_t0J.js";import{x as Te}from"./es2015-DrAA1N2V.js";import{a as Ee,c as De,i as Oe,n as ke,t as Ae,u as je}from"./constants-esJAnNTh.js";import{t as Me}from"./useSchemaScopeAccess-DyfiZnzs.js";import{i as L,n as R}from"./skeleton-Dyi_b1wq.js";import{a as Ne,i as Pe,n as Fe,o as Ie,r as Le,s as Re,t as ze}from"./select-DUhL27UN.js";import{a as Be,c as Ve,i as He,n as Ue,o as We,r as Ge,s as Ke,t as qe}from"./ConfirmDialog-DZRJfdvH.js";import{a as Je,i as Ye,l as Xe,n as Ze,o as Qe,r as $e,t as et}from"./StepList-BIQjDaWQ.js";import{_ as tt,a as nt,c as rt,i as it,n as at,o as ot,r as z,s as st,t as B}from"./field-W1dB_h6d.js";import{t as ct}from"./ellipsis-BHtU4ov6.js";import{t as lt}from"./search-CW3iBC4k.js";import{n as ut,t as dt}from"./stableId-iRkUbVIP.js";import{a as ft,p as pt,r as mt,t as ht}from"./dropdown-menu-C53v9ioW.js";import{t as gt}from"./plus-WfYKHW7G.js";import{l as _t,m as vt,v as yt}from"./changeSets-DgfCKja3.js";import{t as bt}from"./undo-2-Zd1OT6qk.js";import{t as V}from"./cn-DVhJ55Mo.js";import{t as xt}from"./radio-group-rFxn7cz2.js";import{t as St}from"./switch-C3dDDUIk.js";import{n as Ct,t as wt}from"./settle-LRKtTN_e.js";import{t as Tt}from"./HintedLabel-BlLtqVVz.js";import{t as Et}from"./SharedGlyph-D1OMHXPf.js";import{c as Dt,f as Ot,h as kt,i as At,l as jt,o as Mt,r as Nt,s as Pt,t as Ft,u as It}from"./schema-D9BgCVzZ.js";import{t as Lt}from"./QueryView-UBO-U5Wo.js";import{t as Rt}from"./useSaveShortcut-rKtp1qK7.js";import{n as zt,r as Bt,t as Vt}from"./labels-CHE0gg1n.js";import{t as Ht}from"./textarea-BBjqMF-Y.js";import{t as Ut}from"./Panel-B1TkcP8V.js";import{a as Wt,i as Gt,n as Kt,r as qt,t as Jt}from"./followPlural-D-5ZJqJF.js";import{t as Yt}from"./RadioTile-CJbIIV8t.js";var Xt={name:`eye-off`,size:24,node:[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]};Xt.node;var Zt=w(Xt),Qt={name:`mouse-pointer-click`,size:24,node:[[`path`,{d:`M14 4.1 12 6`,key:`ita8i4`}],[`path`,{d:`m5.1 8-2.9-.8`,key:`1go3kf`}],[`path`,{d:`m6 12-1.9 2`,key:`mnht97`}],[`path`,{d:`M7.2 2.2 8 5.1`,key:`1cfko1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`,key:`s0h3yz`}]]};Qt.node;var $t=w(Qt),en={name:`shapes`,size:24,node:[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`,key:`1bo67w`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`,key:`w3z12y`}]]};en.node;var tn=w(en),H=e(t(),1),nn=(e,t)=>`${e}:${t}`,U=a()(e=>({key:null,category:`model`,base:null,baseVersion:0,draft:null,selection:{type:`definition`},load:(t,n,r)=>e(e=>{let i=nn(t,n.id),{selection:a}=e;return{key:i,category:t,base:n,baseVersion:r,draft:n,selection:e.key===i&&(a.type===`definition`||n.fields.some(e=>e.id===a.fieldId))?a:{type:`definition`}}}),reset:()=>e({key:null,base:null,baseVersion:0,draft:null,selection:{type:`definition`}}),rebase:(t,n,r)=>e({base:t,baseVersion:n,draft:r}),update:t=>e(e=>e.draft?{draft:t(e.draft)}:{}),updateField:(t,n)=>e(e=>e.draft?{draft:{...e.draft,fields:e.draft.fields.map(e=>e.id===t?n(e):e)}}:{}),select:t=>e({selection:t})})),rn=nn,an=e=>{let{canShare:t}=Me();return e===`network`&&!t},W=e(n(),1),on=()=>{let{t:e}=C();return(0,W.jsxs)(Be,{children:[(0,W.jsx)(je,{"aria-hidden":`true`}),(0,W.jsx)(We,{children:e(`models.scope.readOnly`)})]})},sn=({canDiscard:e,canReview:t,reviewing:n,onReview:r,onDiscard:i})=>{let{t:a}=C();return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Ge,{tone:`danger`,title:a(`models.builder.discardTitle`),description:a(`models.builder.discardDescription`),confirmLabel:a(`models.builder.discard`),onConfirm:i,trigger:(0,W.jsxs)(L,{type:`button`,variant:`ghost`,disabled:!e,children:[(0,W.jsx)(bt,{"aria-hidden":`true`}),a(`models.builder.discard`)]})}),(0,W.jsx)(u,{pending:n,pendingLabel:a(`models.builder.planning`),disabled:!t,onClick:r,children:a(`models.builder.review`)})]})},cn=e=>(0,W.jsx)(`div`,{className:`sticky bottom-0 z-20 -mx-4 flex justify-end gap-2 border-t bg-background/95 px-4 py-3 backdrop-blur supports-[backdrop-filter]:bg-background/80 sm:-mx-8 sm:px-8 md:bottom-(--statusbar-h) xl:hidden`,children:(0,W.jsx)(sn,{...e})}),ln=e=>typeof e==`object`&&e?e:{},un=({changeId:e,onFinished:t,onDismiss:n})=>{let{t:r}=C(),a=It(e),o=a.data?.status,s=(0,H.useRef)(!1);if((0,H.useEffect)(()=>{o&&kt.has(o)&&!s.current&&(s.current=!0,t(o))},[o,t]),o===`activated`)return null;if(o===`failed`||o===`cancelled`){let e=ln(a.data?.error);return(0,W.jsxs)(Be,{variant:`destructive`,children:[(0,W.jsx)(Ve,{"aria-hidden":`true`}),(0,W.jsx)(Ke,{children:r(`models.progress.failedTitle`)}),(0,W.jsxs)(We,{children:[(0,W.jsx)(`p`,{children:r(`models.progress.failedDescription`)}),typeof e.invalidCount==`number`?(0,W.jsx)(`p`,{children:r(`models.progress.invalidCount`,{count:e.invalidCount})}):null,typeof e.reason==`string`?(0,W.jsx)(`p`,{children:e.reason}):null,(0,W.jsx)(L,{type:`button`,size:`sm`,variant:`outline`,className:`mt-2`,onClick:n,children:r(`common.close`)})]})]})}return(0,W.jsxs)(Be,{variant:`info`,role:`status`,children:[(0,W.jsx)(i,{className:`animate-spin`,"aria-hidden":`true`}),(0,W.jsx)(Ke,{children:r(`models.progress.runningTitle`)}),(0,W.jsx)(We,{children:r(`models.progress.runningDescription`)})]})},dn=(e,t)=>N(e??null)===N(t??null),fn=e=>typeof e==`object`&&!!e&&!Array.isArray(e),pn=(e,t,n)=>{if(dn(t,e))return n;if(dn(n,e))return t;if(fn(e)&&fn(t)&&fn(n)){let r=new Set([...Object.keys(e),...Object.keys(t),...Object.keys(n)]),i={};for(let a of r){let r=pn(e[a],t[a],n[a]);r!==void 0&&(i[a]=r)}return i}return t},mn=(e,t)=>e.filter(e=>t.has(e.id)).map(e=>e.id),hn=(e,t,n)=>{let r=new Map(e.map(e=>[e.id,e])),i=new Map(t.map(e=>[e.id,e])),a=new Map(n.map(e=>[e.id,e])),[o,s]=dn(mn(t,r),mn(e,i))?[n,t]:[t,n];return[...new Set([...o,...s].map(e=>e.id))].flatMap(e=>{let t=r.get(e),n=i.get(e),o=a.get(e);return t&&!n?[]:t&&!o?n&&!dn(n,t)?[n]:[]:t?[pn(t,n,o)]:[n??o]})},gn=(e,t,n)=>{let{fields:r,...i}=e,{fields:a,...o}=t,{fields:s,...c}=n;return{...pn(i,o,c),fields:hn(r,a,s)}},_n=(e,t)=>{let n=r(),i=U(e=>e.load),a=U(e=>e.rebase);return(0,H.useCallback)(async r=>{let o=await n.fetchQuery({...Ft(e,t),staleTime:0}),{base:s,draft:c}=U.getState();return r===`rebase`&&s&&c?a(o.definition,o.version,gn(s,c,o.definition)):i(e,o.definition,o.version),o},[n,e,t,i,a])},vn=(e,t,n)=>{let{t:r}=C(),i=At(),a=_n(e,t);return async o=>{let s=U.getState().baseVersion;try{await i.mutateAsync({category:e,id:t,input:{scope:o,version:s}})}catch(e){if(c(e,`SCHEMA_VERSION_CONFLICT`)){n();return}throw e}await a(`replace`),F.success(r(o===`network`?`models.scope.shared`:`models.scope.kept`))}},G=({title:e,titleId:t,className:n,children:r})=>(0,W.jsxs)(`section`,{className:V(`space-y-4 border-t pt-5 first:border-t-0 first:pt-0`,n),children:[(0,W.jsx)(`h3`,{id:t,className:`text-xs font-semibold tracking-wide text-muted-foreground uppercase`,children:e}),(0,W.jsx)(nt,{className:`gap-5`,children:r})]}),yn=({category:e,id:t,label:n,scope:r,blocked:i,locked:a,onConflict:o})=>{let{t:s}=C(),c=l().data?.site,{canShare:u}=Me(),d=vn(e,t,o),f=(0,H.useId)(),p=r===`network`,m=p?`site`:`network`,h=c?.name??``;return(0,W.jsxs)(G,{title:s(`contentTypes.availableOn`),children:[(0,W.jsxs)(`p`,{className:`flex items-center gap-1.5 text-sm`,"data-scope":r,children:[p?(0,W.jsx)(Et,{}):null,p?s(`contentTypes.sharedWithAllSites`):s(`models.scope.onlyOn`,{site:h})]}),u?(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(Ge,{tone:`default`,title:p?s(`models.scope.keepTitle`,{label:n,site:h}):s(`models.scope.shareTitle`,{label:n}),description:s(p?`models.scope.keepDescription`:`models.scope.shareDescription`),confirmLabel:s(p?`models.scope.keep`:`models.scope.share`),pendingLabel:s(`common.saving`),onConfirm:()=>d(m),trigger:(0,W.jsx)(L,{type:`button`,variant:`outline`,size:`sm`,disabled:i||a,"aria-describedby":i?f:void 0,children:s(p?`models.scope.keep`:`models.scope.share`)})}),i?(0,W.jsx)(I,{about:s(p?`models.scope.keep`:`models.scope.share`),id:f,children:s(`models.scope.blocked`)}):null]}):null]})},bn=(e,t)=>e.flatMap(e=>{if(!e.fieldIds.includes(t))return[e];let n=e.fieldIds.filter(e=>e!==t);return n.length>0?[{...e,fieldIds:n}]:[]}),xn={enum:{values:[]},relation:{target:``,cardinality:`one`},component:{component:``},dynamiczone:{components:[]}},Sn=(e,t)=>{let n={id:dt(),apiKey:t.apiKey,label:t.label,type:t.type,settings:t.settings??xn[t.type]??{},...t.editorId===void 0?{}:{editor:{id:t.editorId}},...t.localized===void 0?{}:{localized:t.localized}};return ye({...e,fields:[n]}).fields[0]},K=(e,t,n)=>{let r={...e};return n===void 0?delete r[t]:r[t]=n,r},Cn=(e,t,n)=>({...e,settings:K(e.settings,t,n)}),wn=(e,t)=>N(ye(e))!==N(ye(t)),Tn=(e,t,n)=>{if(t===n||t<0||n<0||t>=e.length||n>=e.length)return[...e];let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r},En=(e,t)=>{let n=e.fields.filter(e=>e.id!==t).map(e=>e.type===`slug`&&e.settings.sourceFieldId===t?Cn(e,`sourceFieldId`,void 0):e),r={...e.display};if(r.titleFieldId===t&&delete r.titleFieldId,`listFieldIds`in e.display&&e.display.listFieldIds&&(r.listFieldIds=e.display.listFieldIds.filter(e=>e!==t)),`defaultSort`in e.display&&e.display.defaultSort?.fieldId===t&&delete r.defaultSort,e.display.groups){let n=bn(e.display.groups,t);n.length>0?r.groups=n:delete r.groups}return q({...e,fields:n,display:r})},q=e=>{if(e.kind===`component`)return e;let{canvasFieldIds:t,coverFieldId:n,stripFieldIds:r}=e.display;if(t===void 0&&n===void 0&&r===void 0)return e;let i=new Map(e.fields.map(e=>[e.id,e])),a=(e,t)=>{let n=i.get(e);return n!==void 0&&t(n)},o=me(e),s=t?.filter(e=>a(e,e=>D(e,o))),c=n!==void 0&&a(n,O)&&!s?.includes(n)?n:void 0,l=r?.filter(e=>i.has(e)&&e!==c&&!(s??[]).includes(e)),u=K(e.display,`canvasFieldIds`,s);return u=K(u,`coverFieldId`,c),u=K(u,`stripFieldIds`,l),{...e,display:u}},Dn=e=>{if(oe(e.editor.id))return e;let t=k(e);return t.some(t=>t.id===e.editor.id)?e:{...e,editor:{id:t[0]?.id??ie[e.type],options:{}}}},On=(e,t,n)=>{let r=ue(e,{previous:t});if(!r.ok)return r.issues;let i=[...n.filter(t=>t.id!==e.id),r.definition];return ve(i).filter(t=>t.definitionId===void 0||t.definitionId===e.id)},J=(e,t)=>e.filter(e=>e.path===t||e.path.startsWith(`${t}/`)),kn=e=>`/fields/${e}`,Y=({id:e,issues:t})=>{if(t.length===0)return null;let n=[...new Set(t.map(qt))];return(0,W.jsx)(it,{id:e,errors:n.map(e=>({message:e}))})},X=e=>e.fields.filter(t=>{let n={...e,fields:[t],display:{titleFieldId:t.id}};return!fe(n).some(e=>e.path===`/display/titleFieldId`)}),An=(e,t)=>{let n={...e,fields:[...e.fields,t]},r=e.display.titleFieldId===void 0&&X(e).length===0&&X(n).some(e=>e.id===t.id)?{...n,display:{...n.display,titleFieldId:t.id}}:n;return r.kind===`component`||r.display.canvasFieldIds===void 0||!M(t)?r:{...r,display:{...r.display,canvasFieldIds:[...r.display.canvasFieldIds,t.id]}}},jn=(e,t)=>{let n=E(e),r=n.canvas.some(e=>e.id===t.id);return{inDocument:r,lock:n.title?.id===t.id?`title`:e.display.coverFieldId===t.id&&n.cover?.id===t.id?`cover`:r&&n.canvas.length===1?`last`:void 0}},Mn=(e,t,n)=>{let r=E(e).canvas.map(e=>e.id).filter(e=>e!==t),i=r;if(n){let n=new Map(e.fields.map((e,t)=>[e.id,t])),a=n.get(t)??e.fields.length,o=r.findIndex(e=>(n.get(e)??0)>a);i=o===-1?[...r,t]:[...r.slice(0,o),t,...r.slice(o)]}let a=K(e.display,`canvasFieldIds`,i.length>0?i:void 0);return q({...e,display:a})},Nn=e=>{let t=e.fields.filter(e=>!e.deprecated),n=E(e),r=n.canvas.map(e=>e.id),i=t.filter(e=>M(e)&&!r.includes(e.id));return{coverOptions:t.filter(O),canvasOptions:[...n.canvas,...i],canvas:r,stripOptions:n.properties}},Pn=new Set(he.map(xe)),Fn=(e,t)=>{let n=new Set(e.fields.map(e=>e.label)),r=new Set(e.fields.map(e=>xe(e.apiKey)));for(let e=1;;e+=1){let i=e===1?t:`${t} ${e}`,a=Kt(i),o=xe(a);if(!n.has(i)&&!r.has(o)&&!Pn.has(o))return{label:i,apiKey:a}}},In=(e,t,n)=>{let r=e.fields.find(e=>e.id===t);if(!r||r.type===n)return e;let i=Sn(e,{type:n,label:r.label,apiKey:r.apiKey}),{defaultValue:a,...o}=r,s={...o,type:n,settings:i.settings,editor:i.editor},c=e.fields.map(e=>e.id===t?s:e),l={...e,fields:e.fields.filter(e=>e.id!==t)},u={...e.display},d={...e,fields:c,display:u},f=X(d).some(e=>e.id===t);return u.titleFieldId===t&&!f?delete u.titleFieldId:u.titleFieldId===void 0&&f&&X(l).length===0&&(u.titleFieldId=t),d},Ln=(e,t,n,r)=>{let i=In(e,t,n);if(r?.type!==n)return i;let{settings:a,editor:o}=r,s=r.defaultValue;return{...i,fields:i.fields.map(e=>e.id===t?{...e,settings:a,editor:o,...s===void 0?{}:{defaultValue:s}}:e)}},Rn=`add-field-button`,zn=e=>`field-${e}-label`,Bn=e=>requestAnimationFrame(e),Vn=()=>{let{t:e}=C(),t=U(e=>e.update),n=U(e=>e.select),[r,i]=(0,H.useState)(null);return{add:()=>{let{draft:r}=U.getState();if(!r)return;let a=Sn(r,{type:`string`,...Fn(r,e(`models.builder.newField`))});t(e=>An(e,a)),n({type:`field`,fieldId:a.id}),i(a),Bn(()=>{let e=document.getElementById(zn(a.id));e instanceof HTMLInputElement&&(e.scrollIntoView({block:`center`}),e.focus({preventScroll:!0}),e.select())})},isUntouched:e=>r!==null&&e.id===r.id&&N(e)===N(r),discard:e=>{t(t=>En(t,e)),n({type:`definition`}),i(null),Bn(()=>document.getElementById(Rn)?.focus())}}},Hn={askAdmin:`seo.builder.askAdmin`,present:`seo.builder.present`},Un=({disabled:e,onAdd:t,seo:n})=>{let{t:r}=C(),i=(0,H.useId)(),[a,o]=(0,H.useState)(!1),s=(0,W.jsxs)(L,{id:Rn,type:`button`,size:`sm`,onClick:t,disabled:e,className:n?`rounded-r-none`:void 0,children:[(0,W.jsx)(gt,{"aria-hidden":`true`}),r(`models.builder.addField`)]});if(!n)return s;let{availability:c}=n,l=c===`askAdmin`||c===`present`?Hn[c]:null;return(0,W.jsxs)(`div`,{className:`flex`,children:[s,(0,W.jsxs)(ht,{children:[(0,W.jsx)(Ge,{tone:`default`,open:a,onOpenChange:o,title:r(`seo.builder.enableTitle`),description:r(`seo.builder.enableDescription`),confirmLabel:r(`seo.builder.enable`),pendingLabel:r(`seo.builder.enabling`),onConfirm:n.enableAndAdd,children:(0,W.jsx)(pt,{asChild:!0,children:(0,W.jsx)(L,{type:`button`,size:`icon-sm`,disabled:e,"aria-label":r(`seo.builder.menu`),className:`rounded-l-none border-l border-primary-foreground/25`,children:(0,W.jsx)(Re,{"aria-hidden":`true`})})})}),(0,W.jsxs)(mt,{align:`end`,className:`w-64`,onCloseAutoFocus:e=>a&&e.preventDefault(),children:[(0,W.jsxs)(ft,{onSelect:t,children:[(0,W.jsx)(gt,{"aria-hidden":`true`}),r(`seo.builder.field`)]}),(0,W.jsxs)(ft,{disabled:c!==`ready`&&c!==`enable`,"aria-describedby":l?i:void 0,onSelect:()=>c===`enable`?o(!0):n.add(),children:[(0,W.jsx)(lt,{"aria-hidden":`true`}),r(`seo.builder.seoFields`)]}),l?(0,W.jsx)(`p`,{id:i,className:`px-2 pb-1.5 pl-8 text-meta text-muted-foreground`,children:r(l)}):null]})]})]})},Wn=e=>`field-handle-${e}`,Gn=({field:e,index:t,total:n,selected:r,hasIssues:i,showLocalized:a,dropTarget:o,disabled:s,onSelect:c,onMove:l,onDragStart:u,onDragOver:d,onDrop:f,onDragEnd:p})=>{let{t:m}=C(),h=ke[e.type];return(0,W.jsxs)(`li`,{draggable:!s,onDragStart:u,onDragOver:d,onDrop:f,onDragEnd:p,"data-selected":r||void 0,className:V(`group/row flex h-11 items-center gap-0.5 rounded-lg border border-transparent pr-1 transition-colors hover:bg-muted/50 data-[selected]:bg-accent`,o&&`border-dashed border-primary`),children:[(0,W.jsx)(`button`,{type:`button`,id:Wn(e.id),"aria-label":m(`models.builder.reorder`,{label:e.label}),"aria-describedby":`field-reorder-help`,onKeyDown:e=>{e.key===`ArrowUp`&&t>0?(e.preventDefault(),l(t-1)):e.key===`ArrowDown`&&t<n-1&&(e.preventDefault(),l(t+1))},disabled:s,className:`flex h-9 w-6 shrink-0 cursor-grab items-center justify-center rounded-md text-muted-foreground outline-none hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed`,children:(0,W.jsx)(ut,{className:`size-4`,"aria-hidden":`true`})}),(0,W.jsxs)(`button`,{type:`button`,onClick:c,"aria-current":r||void 0,className:`flex h-9 min-w-0 flex-1 items-center gap-2.5 rounded-md px-1.5 text-left outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[(0,W.jsx)(h,{className:V(`size-4 shrink-0 text-muted-foreground`,r&&`text-accent-foreground`),"aria-hidden":`true`}),(0,W.jsxs)(`span`,{className:`min-w-0 flex-1 leading-tight`,children:[(0,W.jsx)(`span`,{className:`block truncate text-sm font-medium`,children:e.label}),(0,W.jsx)(`span`,{className:`block truncate font-mono text-2xs text-muted-foreground`,children:e.apiKey})]}),(0,W.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[e.required?(0,W.jsx)(S,{variant:`outline`,children:m(`models.builder.requiredBadge`)}):null,a&&e.localized?(0,W.jsx)(S,{variant:`outline`,children:m(`models.builder.localizedBadge`)}):null,e.public?null:(0,W.jsxs)(`span`,{title:m(`models.builder.hiddenBadge`),children:[(0,W.jsx)(Zt,{className:`size-4 text-muted-foreground`,"aria-hidden":`true`}),(0,W.jsx)(`span`,{className:`sr-only`,children:m(`models.builder.hiddenBadge`)})]}),i?(0,W.jsxs)(`span`,{title:m(`models.builder.hasProblems`),children:[(0,W.jsx)(Ve,{className:`size-4 text-destructive`,"aria-hidden":`true`}),(0,W.jsx)(`span`,{className:`sr-only`,children:m(`models.builder.hasProblems`)})]}):null]})]}),(0,W.jsxs)(`span`,{className:`hidden shrink-0 items-center group-focus-within/row:flex group-hover/row:flex`,children:[(0,W.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-xs`,tabIndex:-1,disabled:s||t===0,"aria-label":m(`models.builder.moveUp`,{label:e.label}),onClick:()=>l(t-1),children:(0,W.jsx)(Ie,{"aria-hidden":`true`})}),(0,W.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-xs`,tabIndex:-1,disabled:s||t===n-1,"aria-label":m(`models.builder.moveDown`,{label:e.label}),onClick:()=>l(t+1),children:(0,W.jsx)(Re,{"aria-hidden":`true`})})]})]})},Kn=[],qn=({issues:e,disabled:t,onAdd:n,seo:r})=>{let{t:i}=C(),a=U(e=>e.draft?.fields??Kn),o=U(e=>e.draft?.kind!==`component`&&e.draft?.localized===!0),s=U(e=>e.selection),c=U(e=>e.select),l=U(e=>e.update),u=(0,H.useRef)(null),[d,f]=(0,H.useState)(null),[p,m]=(0,H.useState)(``),h=(e,t,n)=>{let r=a[e];r&&e!==t&&(l(n=>q({...n,fields:Tn(n.fields,e,t)})),m(i(`models.builder.moved`,{label:r.label,position:t+1,total:a.length})),n&&requestAnimationFrame(()=>document.getElementById(Wn(r.id))?.focus()))},g=J(e,`/fields`).filter(e=>!/^\/fields\/\d+/.test(e.path)),_=i(`models.builder.fields`,{count:a.length});return(0,W.jsxs)(Ut,{title:i(`models.builder.fieldsTitle`),flush:!0,actions:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(S,{variant:`secondary`,"aria-hidden":`true`,children:a.length}),(0,W.jsx)(Un,{disabled:t,onAdd:n,seo:r})]}),bodyClassName:`p-2`,children:[g.length>0?(0,W.jsx)(`div`,{className:`px-3 py-2`,children:(0,W.jsx)(Y,{issues:g})}):null,a.length===0?(0,W.jsx)(`p`,{className:`px-3 py-6 text-center text-meta text-muted-foreground`,children:i(`models.builder.noFields`)}):(0,W.jsx)(`ol`,{className:`space-y-0.5`,"aria-label":_,children:a.map((n,r)=>(0,W.jsx)(Gn,{field:n,index:r,total:a.length,selected:s.type===`field`&&s.fieldId===n.id,hasIssues:J(e,kn(r)).length>0,showLocalized:o,dropTarget:d===r,disabled:t,onSelect:()=>c({type:`field`,fieldId:n.id}),onMove:e=>h(r,e,!0),onDragStart:e=>{u.current=r,e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,n.id)},onDragOver:e=>{u.current!==null&&(e.preventDefault(),f(r))},onDrop:e=>{e.preventDefault(),u.current!==null&&h(u.current,r,!1),u.current=null,f(null)},onDragEnd:()=>{u.current=null,f(null)}},n.id))}),(0,W.jsx)(`p`,{id:`field-reorder-help`,className:`sr-only`,children:i(`models.builder.reorderHelp`)}),(0,W.jsx)(`p`,{"aria-live":`polite`,className:`sr-only`,children:p})]})},Jn=new Set([`string`,`text`,`slug`,`email`,`url`,`uid`,`date`,`datetime`,`time`,`decimal`,`biginteger`]),Yn=e=>Jn.has(e.type)||e.type===`number`||e.type===`integer`||e.type===`boolean`||e.type===`enum`&&!e.settings.multiple,Xn=(e,{hint:t,description:n,issues:r=[]})=>{let i=t?`${e}-hint`:void 0,a=n?`${e}-description`:void 0,o=r.length>0?`${e}-error`:void 0;return{hintId:i,descriptionId:a,errorId:o,describedBy:Ct(i,a,o)}},Z=({id:e,label:t,hint:n,description:r,issues:i=[],disabled:a,value:o,onChange:s,emptyAsUndefined:c=!1,multiline:l=!1,monospace:u=!1,maxLength:d})=>{let f=Xn(e,{hint:n,description:r,issues:i}),p={id:e,value:o??``,disabled:a,maxLength:d,"aria-invalid":i.length>0||void 0,"aria-describedby":f.describedBy,onChange:e=>s(c&&e.target.value===``?void 0:e.target.value)};return(0,W.jsxs)(B,{"data-invalid":i.length>0||void 0,children:[(0,W.jsx)(Tt,{htmlFor:e,label:t,hint:n,hintId:f.hintId}),l?(0,W.jsx)(Ht,{...p,rows:2}):(0,W.jsx)(R,{...p,autoComplete:`off`,spellCheck:!u,className:V(u&&`font-mono`)}),r?(0,W.jsx)(z,{id:f.descriptionId,children:r}):null,(0,W.jsx)(Y,{id:f.errorId,issues:i})]})},Zn=Ae.flatMap(e=>e.types),Qn=e=>de.includes(e),$n=({labelledBy:e,value:t,unavailable:n,unavailableReason:r,notes:i,limitedNote:a,disabled:o,onChange:s})=>{let{t:c}=C(),l=(0,H.useId)();return(0,W.jsxs)(`div`,{className:`@container space-y-3`,children:[(0,W.jsx)(xt,{value:t,disabled:o,onValueChange:e=>Qn(e)&&s(e),"aria-labelledby":e,"aria-describedby":l,className:`grid-cols-4 gap-2 @xl:grid-cols-6`,children:Zn.map(e=>(0,W.jsx)(Yt,{value:e,variant:`tile`,icon:ke[e],label:c(`models.dataTypes.${e}.name`),disabled:n.has(e),description:n.has(e)?r(e):c(`models.dataTypes.${e}.description`)},e))}),(0,W.jsxs)(`p`,{id:l,className:`text-meta text-muted-foreground`,children:[(0,W.jsx)(`span`,{className:`font-semibold text-foreground`,children:c(`models.dataTypes.${t}.name`)}),` · `,c(`models.dataTypes.${t}.description`)]}),i.length>0?(0,W.jsx)(`p`,{role:`status`,className:`text-meta font-medium text-warning`,children:i.join(` `)}):null,a?(0,W.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:a}):null]})},er=(e,t)=>{if(e.trim()===``)return;let n=Number(e);if(Number.isFinite(n))return t?Math.trunc(n):n},tr=({id:e,label:t,hint:n,description:r,issues:i=[],disabled:a,value:o,onChange:s,integer:c=!1,min:l,max:u})=>{let[d,f]=(0,H.useState)(o===void 0?``:String(o)),[p,m]=(0,H.useState)(o);o!==p&&(m(o),er(d,c)!==o&&f(o===void 0?``:String(o)));let h=Xn(e,{hint:n,description:r,issues:i});return(0,W.jsxs)(B,{"data-invalid":i.length>0||void 0,children:[(0,W.jsx)(Tt,{htmlFor:e,label:t,hint:n,hintId:h.hintId}),(0,W.jsx)(R,{id:e,type:`number`,inputMode:c?`numeric`:`decimal`,step:c?1:`any`,min:l,max:u,value:d,disabled:a,"aria-invalid":i.length>0||void 0,"aria-describedby":h.describedBy,onChange:e=>{let t=er(e.target.value,c);f(e.target.value),m(t),s(t)}}),r?(0,W.jsx)(z,{id:h.descriptionId,children:r}):null,(0,W.jsx)(Y,{id:h.errorId,issues:i})]})},nr=`__unset__`,Q=({id:e,label:t,hint:n,description:r,issues:i=[],disabled:a,value:o,options:s,onChange:c,unsetLabel:l,placeholder:u})=>{let{t:d}=C(),f=Xn(e,{hint:n,description:r,issues:i}),p=o!==void 0&&s.some(e=>e.value===o);return(0,W.jsxs)(B,{"data-invalid":i.length>0||void 0,children:[(0,W.jsx)(Tt,{htmlFor:e,label:t,hint:n,hintId:f.hintId}),(0,W.jsxs)(ze,{value:p?o:l?nr:``,onValueChange:e=>c(e===nr?void 0:e),disabled:a,children:[(0,W.jsx)(Pe,{id:e,className:`w-full`,"aria-invalid":i.length>0||void 0,"aria-describedby":f.describedBy,children:(0,W.jsx)(Ne,{placeholder:u??d(`models.choose`)})}),(0,W.jsxs)(Fe,{children:[l?(0,W.jsx)(Le,{value:nr,children:l}):null,s.map(e=>(0,W.jsx)(Le,{value:e.value,children:e.label},e.value))]})]}),r?(0,W.jsx)(z,{id:f.descriptionId,children:r}):null,(0,W.jsx)(Y,{id:f.errorId,issues:i})]})},rr=({field:e,issues:t,disabled:n,onChange:r})=>{let{t:i}=C(),a={id:`field-${e.id}-default`,label:i(`models.builder.defaultValue`),hint:i(`models.builder.defaultValueHint`),issues:t,disabled:n},o=e.defaultValue;return e.type===`number`||e.type===`integer`?(0,W.jsx)(tr,{...a,integer:e.type===`integer`,value:typeof o==`number`?o:void 0,onChange:r}):e.type===`boolean`?(0,W.jsx)(Q,{...a,value:typeof o==`boolean`?String(o):void 0,options:[{value:`true`,label:i(`models.builder.booleanTrue`)},{value:`false`,label:i(`models.builder.booleanFalse`)}],unsetLabel:i(`models.notSet`),onChange:e=>r(e===void 0?void 0:e===`true`)}):e.type===`enum`?(0,W.jsx)(Q,{...a,value:typeof o==`string`?o:void 0,options:e.settings.values.filter(e=>e.value!==``).map(e=>({value:e.value,label:e.label||e.value})),unsetLabel:i(`models.notSet`),onChange:r}):(0,W.jsx)(Z,{...a,value:typeof o==`string`?o:void 0,onChange:r,emptyAsUndefined:!0})},ir=e=>e?.enum?.every(e=>typeof e==`string`)?e.enum:void 0,ar=e=>{let t=ir(e);if(t)return{kind:`choice`,options:t};switch(e.type){case`boolean`:return{kind:`boolean`};case`integer`:return{kind:`integer`,...e.minimum===void 0?{}:{minimum:e.minimum},...e.maximum===void 0?{}:{maximum:e.maximum}};case`number`:return{kind:`number`,...e.minimum===void 0?{}:{minimum:e.minimum}};case`string`:return{kind:`text`,...e.maxLength===void 0?{}:{maxLength:e.maxLength}};case`array`:{let t=ir(e.items);return t?{kind:`choices`,options:t}:e.items?.type===`string`?{kind:`textList`}:{kind:`other`}}default:return{kind:`other`}}},or=e=>{let t=e,n=new Set(t.required??[]);return Object.entries(t.properties??{}).map(([e,t])=>({key:e,control:ar(t),required:n.has(e)}))},$=({id:e,label:t,hint:n,description:r,issues:i=[],disabled:a,value:o,options:s,onChange:c,locked:l=[]})=>{let u=(e,t)=>{let n=new Set(o);t?n.add(e):n.delete(e),c(s.map(e=>e.value).filter(e=>n.has(e)))};return(0,W.jsxs)(rt,{"data-invalid":i.length>0||void 0,className:`gap-3`,children:[(0,W.jsxs)(st,{variant:`label`,className:`mb-0 flex items-center gap-1`,children:[t,n?(0,W.jsx)(I,{about:t,children:n}):null]}),r?(0,W.jsx)(z,{children:r}):null,(0,W.jsx)(`div`,{"data-slot":`checkbox-group`,className:`grid gap-3 @sm/field-group:grid-cols-2`,children:s.map(t=>{let n=`${e}-${t.value}`;return(0,W.jsxs)(B,{orientation:`horizontal`,children:[(0,W.jsx)(Ue,{id:n,checked:o.includes(t.value),onCheckedChange:e=>u(t.value,e===!0),disabled:a||l.includes(t.value)}),(0,W.jsx)(ot,{htmlFor:n,className:`font-normal`,children:t.label})]},t.value)})}),(0,W.jsx)(Y,{issues:i})]})},sr=({id:e,label:t,hint:n,description:r,issues:i=[],disabled:a,checked:o,onChange:s,layout:c=`row`})=>{let l=Xn(e,{hint:n,description:r,issues:i}),u=(0,W.jsx)(St,{id:e,checked:o,onCheckedChange:s,disabled:a,"aria-invalid":i.length>0||void 0,"aria-describedby":l.describedBy,className:V(c===`compact`&&`mt-0.5 self-start`)});return(0,W.jsxs)(B,{orientation:`horizontal`,"data-invalid":i.length>0||void 0,children:[c===`compact`?u:null,(0,W.jsxs)(at,{children:[(0,W.jsx)(Tt,{htmlFor:e,label:t,hint:n,hintId:l.hintId}),r?(0,W.jsx)(z,{id:l.descriptionId,children:r}):null,(0,W.jsx)(Y,{id:l.errorId,issues:i})]}),c===`row`?u:null]})},cr=/\s*,\s*/,lr=({idPrefix:e,property:{key:t,control:n,required:r},value:i,onChange:a,issues:o,description:s,hint:c,disabled:l})=>{let{t:u}=C(),d={id:`${e}-${t}`,label:zt(t),issues:o,disabled:l,description:s,hint:c};switch(n.kind){case`boolean`:return(0,W.jsx)(sr,{...d,checked:i===!0,onChange:e=>a(e||void 0)});case`integer`:case`number`:return(0,W.jsx)(tr,{...d,integer:n.kind===`integer`,min:n.minimum,max:n.kind===`integer`?n.maximum:void 0,value:typeof i==`number`?i:void 0,onChange:a});case`choice`:return(0,W.jsx)(Q,{...d,value:typeof i==`string`?i:void 0,options:n.options.map(e=>({value:e,label:Bt(e)})),onChange:a,...r?{}:{unsetLabel:u(`models.notSet`)}});case`choices`:return(0,W.jsx)($,{...d,value:Array.isArray(i)?i:[],options:n.options.map(e=>({value:e,label:Bt(e)})),onChange:e=>a(e.length>0?e:void 0)});case`textList`:return(0,W.jsx)(Z,{...d,description:s??u(`models.commaSeparated`),value:Array.isArray(i)?i.join(`, `):``,onChange:e=>{let t=(e??``).split(cr).filter(Boolean);a(t.length>0?t:void 0)}});case`text`:return(0,W.jsx)(Z,{...d,maxLength:n.maxLength,value:typeof i==`string`?i:void 0,onChange:a,emptyAsUndefined:!r});default:return null}},ur=({field:e,path:t,issues:n,disabled:r,onChange:i})=>{let{t:a}=C(),{id:o,options:s}=e.editor,c=k(e).map(e=>e.id),l=oe(o)||!c.includes(o)?[...c,o]:c,u=ae.get(o),d=u?or(u.optionsSchema):[];return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Q,{id:`field-${e.id}-editor`,label:a(`models.builder.editor`),hint:a(`models.builder.editorHint`),value:o,options:l.map(e=>({value:e,label:Vt(e)})),onChange:e=>e&&i({id:e,options:{}}),issues:J(n,`${t}/editor/id`),disabled:r}),d.map(a=>(0,W.jsx)(lr,{idPrefix:`field-${e.id}-editor-options`,property:a,value:s[a.key],onChange:e=>i({id:o,options:K(s,a.key,e)}),issues:J(n,`${t}/editor/options/${a.key}`),disabled:r},`${o}-${a.key}`))]})},dr={required:{label:`models.builder.required`,hint:`models.builder.requiredHint`},unique:{label:`models.builder.unique`,hint:`models.builder.uniqueHint`},localized:{label:`models.builder.fieldLocalized`,hint:`models.builder.fieldLocalizedHint`},public:{label:`models.builder.public`,hint:`models.builder.publicHint`},filterable:{label:`models.builder.filterable`,hint:`models.builder.indexHint`},sortable:{label:`models.builder.sortable`,hint:`models.builder.indexHint`},deprecated:{label:`models.builder.deprecated`,hint:`models.builder.deprecatedHint`}},fr=(e,t)=>{let n=t.kind===`component`,r=t.kind!==`component`&&t.localized,i=!n&&_e.has(e.type)&&!(e.type===`enum`&&e.settings.multiple);return[`required`,...ge.has(e.type)&&!n?[`unique`]:[],...r?[`localized`]:[],`public`,...i?[`filterable`,`sortable`]:[],`deprecated`]},pr=({field:e,draft:t,at:n,disabled:r,onChange:i})=>{let{t:a}=C();return(0,W.jsx)(`div`,{className:`grid gap-x-6 gap-y-4 @md/field-group:grid-cols-2`,children:fr(e,t).map(t=>(0,W.jsx)(sr,{id:`field-${e.id}-${t}`,layout:`compact`,label:a(dr[t].label),hint:a(dr[t].hint),checked:e[t],onChange:e=>i({[t]:e}),issues:n(t),disabled:r},t))})},mr=(e,t)=>({...e,display:K(e.display,`groups`,t.length>0?t:void 0)}),hr=(e,t)=>e.display.groups?.find(e=>e.fieldIds.includes(t))?.id,gr=(e,t,n)=>{let r=e.display.groups??[];return hr(e,t)===n||n&&!r.some(e=>e.id===n)?e:mr(e,bn(r,t).map(e=>e.id===n?{...e,fieldIds:[...e.fieldIds,t]}:e))},_r=(e,t,n)=>mr(e,[...bn(e.display.groups??[],t),{...n,fieldIds:[t]}]),vr=(e,t,n)=>mr(e,(e.display.groups??[]).map(e=>e.id===t?{...e,label:n}:e)),yr=(e,t)=>mr(e,(e.display.groups??[]).filter(e=>e.id!==t)),br=({id:e,disabled:t,onCreate:n,onCancel:r})=>{let{t:i}=C(),[a,o]=(0,H.useState)(``),s=a.trim(),c=()=>{s&&n(s)};return(0,W.jsxs)(B,{children:[(0,W.jsx)(ot,{htmlFor:e,children:i(`models.builder.groupName`)}),(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(R,{id:e,value:a,autoComplete:`off`,maxLength:200,autoFocus:!0,disabled:t,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),c()):e.key===`Escape`&&(e.preventDefault(),r())}}),(0,W.jsx)(L,{type:`button`,size:`sm`,disabled:t||!s,onClick:c,children:i(`common.create`)}),(0,W.jsx)(L,{type:`button`,variant:`ghost`,size:`sm`,onClick:r,children:i(`common.cancel`)})]})]})},xr=`__new_group__`,Sr=({model:e,field:t,disabled:n})=>{let{t:r}=C(),i=U(e=>e.update),[a,o]=(0,H.useState)(!1),s=`field-${t.id}-group`,c=e=>i(t=>t.kind===`component`?t:e(t)),l=[...(e.display.groups??[]).map(e=>({value:e.id,label:e.label})),{value:xr,label:r(`models.builder.groupNew`)}];return(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(Q,{id:s,label:r(`models.builder.group`),hint:r(`models.builder.groupHint`),value:a?xr:hr(e,t.id),options:l,unsetLabel:r(`models.builder.groupNone`),disabled:n,onChange:e=>{o(e===xr),e!==xr&&c(n=>gr(n,t.id,e))}}),a?(0,W.jsx)(br,{id:`${s}-new`,disabled:n,onCancel:()=>o(!1),onCreate:e=>{c(n=>_r(n,t.id,{id:dt(),label:e})),o(!1)}}):null]})},Cr=(e,t,n)=>t.type===n?null:Qe({kind:`field.type`,definitionId:e.id,fieldId:t.id,from:t.type,to:n},{before:e,after:In(e,t.id,n)}),wr=new Set,Tr={conversion:`models.builder.typeConverted`,validation:`models.builder.typeChecked`},Er=e=>e===`conversion`||e===`validation`?Tr[e]:`models.builder.typeKept`,Dr=(e,t,n)=>{let{t:r}=C(),i=(0,H.useMemo)(()=>e&&t?new Set(de.filter(n=>Cr(e,t,n)?.supported===!1)):wr,[e,t]),a=(0,H.useMemo)(()=>e&&t?Cr(e,t,n):null,[e,t,n]),o=[];a&&a.supported!==!1&&(o.push(r(`models.builder.typeAllowed`)),o.push(r(Er(a.category))),a.breaking&&o.push(r(`models.builder.typeBreaking`)),a.destructive&&o.push(r(`models.builder.typeDestructive`)));let s=t?r(`models.dataTypes.${t.type}.name`):``;return{unavailable:i,unavailableReason:e=>r(`models.builder.typeUnsupported`,{from:s,to:r(`models.dataTypes.${e}.name`)}),notes:o,limitedNote:i.size>0?r(`models.builder.typeLimited`,{type:s}):void 0}},Or={title:`models.builder.placement.lockedTitle`,cover:`models.builder.placement.lockedCover`,last:`models.builder.placement.lockedLast`},kr=({model:e,field:t,issues:n,disabled:r})=>{let{t:i}=C(),a=U(e=>e.update),{inDocument:o,lock:s}=jn(e,t),c=e.display.canvasFieldIds?.indexOf(t.id)??-1;return(0,W.jsx)(sr,{id:`field-${t.id}-in-document`,label:i(`models.builder.placement.label`),hint:i(`models.builder.placement.hint`),description:s?i(Or[s]):void 0,issues:c===-1?[]:J(n,`/display/canvasFieldIds/${c}`),checked:o,disabled:r||s!==void 0,onChange:e=>a(n=>n.kind===`component`?n:Mn(n,t.id,e))})},Ar=({idPrefix:e,field:t,path:n,issues:r,disabled:i,onChange:a})=>{let{t:o}=C(),s=t.settings.values,c=(e,t)=>a(s.map((n,r)=>r===e?{...n,...t}:n)),l=r.filter(e=>e.path===n);return(0,W.jsxs)(rt,{className:`gap-3`,"data-invalid":l.length>0||void 0,children:[(0,W.jsxs)(st,{variant:`label`,className:`mb-0 flex items-center gap-1`,children:[o(`models.properties.values`),(0,W.jsx)(I,{about:o(`models.properties.values`),children:o(`models.builder.enumValuesHint`)})]}),s.length>0?(0,W.jsx)(`ol`,{className:`space-y-2`,children:s.map((t,l)=>{let u=J(r,`${n}/${l}`),d=`${e}-value-${l}`,f=`${e}-label-${l}`;return(0,W.jsxs)(`li`,{className:`space-y-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`label`,{htmlFor:f,className:`sr-only`,children:o(`models.builder.enumLabel`,{position:l+1})}),(0,W.jsx)(R,{id:f,value:t.label,placeholder:o(`models.builder.enumLabelPlaceholder`),disabled:i,onChange:e=>c(l,{label:e.target.value})}),(0,W.jsx)(`label`,{htmlFor:d,className:`sr-only`,children:o(`models.builder.enumValue`,{position:l+1})}),(0,W.jsx)(R,{id:d,value:t.value,placeholder:o(`models.builder.enumValuePlaceholder`),className:`font-mono`,spellCheck:!1,disabled:i,"aria-invalid":u.length>0||void 0,onChange:e=>c(l,{value:e.target.value})}),(0,W.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,disabled:i,"aria-label":o(`models.builder.enumRemove`,{position:l+1}),onClick:()=>a(s.filter((e,t)=>t!==l)),children:(0,W.jsx)(tt,{"aria-hidden":`true`})})]}),(0,W.jsx)(Y,{issues:u})]},l)})}):null,(0,W.jsx)(Y,{issues:l}),(0,W.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,className:`w-fit`,disabled:i,onClick:()=>a([...s,{value:``,label:``}]),children:[(0,W.jsx)(gt,{"aria-hidden":`true`}),o(`models.builder.enumAdd`)]})]})},jr=new Set([`formatVersion`]),Mr={date:`models.formats.date`,datetime:`models.formats.datetime`,time:`models.formats.time`,decimal:`models.formats.decimal`,biginteger:`models.formats.biginteger`},Nr=new Set([`string`,`text`]),Pr=`json`,Fr=({field:e,draft:t,path:n,issues:r,disabled:i,onChange:a})=>{let{t:o}=C(),{definitions:s}=Nt(),c=e.settings,l=`${n}/settings`,u=`field-${e.id}-settings`,d=[...(s??[]).map(({definition:e})=>e).filter(e=>e.id!==t.id),t],f=d.filter(e=>e.kind!==`component`),p=d.filter(e=>e.kind===`component`&&e.id!==t.id),m=e=>({value:e.id,label:e.label}),h=e=>J(r,`${l}/${e}`),g=n=>{let{key:s}=n,d={id:`${u}-${s}`,issues:h(s),disabled:i};if(e.type===`enum`&&s===`values`)return(0,W.jsx)(Ar,{idPrefix:d.id,field:e,path:`${l}/values`,issues:r,disabled:i,onChange:e=>a(`values`,e)},s);if(s===`target`)return(0,W.jsx)(Q,{...d,label:o(`models.properties.target`),value:c.target,options:f.map(m),onChange:e=>a(`target`,e??``),placeholder:o(`models.builder.chooseModel`)},s);if(s===`component`)return(0,W.jsx)(Q,{...d,label:o(`models.properties.component`),value:c.component,options:p.map(m),onChange:e=>a(`component`,e??``),placeholder:o(`models.builder.chooseComponent`),...p.length===0?{description:o(`models.builder.noComponents`)}:{}},s);if(s===`components`)return(0,W.jsx)($,{...d,label:o(`models.properties.components`),value:c.components??[],options:p.map(m),onChange:e=>a(`components`,e),...p.length===0?{description:o(`models.builder.noComponents`)}:{}},s);if(s===`sourceFieldId`)return(0,W.jsx)(Q,{...d,label:o(`models.properties.sourceFieldId`),hint:o(`models.builder.sourceFieldHint`),value:c.sourceFieldId,options:t.fields.filter(t=>t.id!==e.id&&Nr.has(t.type)).map(e=>({value:e.id,label:e.label})),onChange:e=>a(`sourceFieldId`,e),unsetLabel:o(`models.notSet`)},s);if(e.type===`code`&&s===`validate`&&c.language!==Pr&&c.validate!==!0)return null;let g=n.control.kind===`text`&&e.type in Mr?Mr[e.type]:void 0;return(0,W.jsx)(lr,{idPrefix:u,property:e.type===`code`&&s===`language`?{...n,required:!0}:n,value:c[s],onChange:t=>{a(s,t),e.type===`code`&&s===`language`&&t!==Pr&&a(`validate`,void 0)},issues:d.issues,disabled:i,description:g===void 0?void 0:o(g),hint:s===`pattern`?o(`models.builder.patternHint`):void 0},s)},_=or(re[e.type]).filter(e=>!jr.has(e.key)),v=new Set(_.map(e=>e.key)),y=J(r,l).filter(e=>!v.has(e.path.slice(l.length+1).split(`/`)[0]??``));return _.length===0?(0,W.jsx)(`p`,{className:`text-meta text-muted-foreground`,children:o(`models.builder.noSettings`)}):(0,W.jsxs)(W.Fragment,{children:[_.map(g),(0,W.jsx)(Y,{issues:y})]})},Ir={full:`models.builder.widthFull`,"two-thirds":`models.builder.widthTwoThirds`,half:`models.builder.widthHalf`,third:`models.builder.widthThird`},Lr=e=>se.some(t=>t===e),Rr=({field:e,issues:t,disabled:n})=>{let{t:r}=C(),i=U(e=>e.updateField);return(0,W.jsx)(Q,{id:`field-${e.id}-width`,label:r(`models.builder.width`),hint:r(`models.builder.widthHint`),value:e.width??`full`,options:se.map(e=>({value:e,label:r(Ir[e])})),onChange:t=>i(e.id,e=>K(e,`width`,Lr(t)&&t!==`full`?t:void 0)),issues:t,disabled:n})},zr=new Set([`label`,`apiKey`,`description`,`required`,`unique`,`filterable`,`sortable`,`public`,`localized`,`deprecated`,`defaultValue`,`editor`,`settings`,`width`]),Br=({field:e,index:t,issues:n,disabled:r,untouched:i,onDiscard:a})=>{let{t:o}=C(),s=U(e=>e.draft),c=U(e=>e.base),l=U(e=>e.updateField),u=U(e=>e.update),d=U(e=>e.select),f=c?.fields.find(t=>t.id===e.id),p=Dr(c,f,e.type);if(!s)return null;let m=kn(t),h=e=>J(n,`${m}/${e}`),g=s.kind===`component`?void 0:s,_=g!==void 0&&be(g)===`form`,v=g!==void 0&&!e.deprecated&&(_||h(`width`).length>0),y=J(n,m).filter(e=>{let t=e.path.slice(m.length+1).split(`/`)[0]??``;return!zr.has(t)||t===`width`&&!v}),b=t=>l(e.id,e=>({...e,...t})),x=t=>`field-${e.id}-${t}`,te=f!==void 0&&f.apiKey!==e.apiKey,ne=c!==null&&f===void 0,w=e.label||o(`models.builder.untitled`),T=t=>{let n=ne&&e.apiKey===Kt(e.label);b({label:t,...n?{apiKey:Kt(t)}:{}})};return(0,W.jsx)(`div`,{onKeyDown:e=>{e.key===`Escape`&&!e.nativeEvent.defaultPrevented&&i&&e.target instanceof Node&&e.currentTarget.contains(e.target)&&(e.preventDefault(),a())},children:(0,W.jsxs)(Ut,{"aria-label":o(`models.builder.fieldProperties`,{label:w}),flush:!0,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b px-5 py-4`,children:[(0,W.jsx)(ee,{icon:ke[e.type]}),(0,W.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center gap-x-2.5 gap-y-1`,children:[(0,W.jsx)(`h2`,{className:`min-w-0 truncate text-base font-semibold`,children:w}),(0,W.jsx)(S,{variant:`secondary`,children:o(`models.dataTypes.${e.type}.name`)})]}),(0,W.jsxs)(L,{type:`button`,variant:`destructive-ghost`,size:`sm`,disabled:r,onClick:()=>{u(t=>En(t,e.id)),d({type:`definition`})},children:[(0,W.jsx)(tt,{"aria-hidden":`true`}),o(`models.builder.removeField`)]})]}),(0,W.jsxs)(`div`,{className:`space-y-5 p-5`,children:[(0,W.jsx)(Y,{issues:y}),(0,W.jsx)(G,{title:o(`models.builder.dataType`),titleId:x(`type-heading`),children:(0,W.jsx)($n,{labelledBy:x(`type-heading`),value:e.type,...p,disabled:r,onChange:t=>u(n=>q(Ln(n,e.id,t,f)))})}),(0,W.jsxs)(G,{title:o(`models.builder.general`),children:[(0,W.jsxs)(`div`,{className:`grid items-start gap-5 @lg/field-group:grid-cols-2`,children:[(0,W.jsx)(Z,{id:zn(e.id),label:o(`models.label`),value:e.label,onChange:e=>T(e??``),issues:h(`label`),disabled:r}),(0,W.jsx)(Z,{id:x(`apiKey`),label:o(`models.apiKey`),hint:o(`models.fieldApiKeyHint`),description:te?o(`models.builder.apiKeyRenameWarning`):void 0,value:e.apiKey,onChange:e=>b({apiKey:e??``}),issues:h(`apiKey`),disabled:r,monospace:!0})]}),(0,W.jsx)(Z,{id:x(`description`),label:o(`models.builder.helpText`),value:e.description,onChange:e=>b({description:e}),issues:h(`description`),disabled:r,emptyAsUndefined:!0,multiline:!0}),g&&!e.deprecated&&!_?(0,W.jsx)(kr,{model:g,field:e,issues:n,disabled:r}):null,g&&!e.deprecated?(0,W.jsxs)(`div`,{className:`grid items-start gap-5 @lg/field-group:grid-cols-2`,children:[(0,W.jsx)(Sr,{model:g,field:e,disabled:r}),v?(0,W.jsx)(Rr,{field:e,issues:h(`width`),disabled:r}):null]}):null]}),(0,W.jsx)(G,{title:o(`models.builder.options`),children:(0,W.jsx)(pr,{field:e,draft:s,at:h,disabled:r,onChange:b})}),(0,W.jsxs)(G,{title:o(`models.builder.settings`),children:[(0,W.jsx)(Fr,{field:e,draft:s,path:m,issues:n,disabled:r,onChange:(t,n)=>u(r=>q({...r,fields:r.fields.map(r=>r.id===e.id?Dn(Cn(r,t,n)):r)}))}),Yn(e)?(0,W.jsx)(rr,{field:e,issues:h(`defaultValue`),disabled:r,onChange:t=>l(e.id,e=>{let n={...e,defaultValue:t};return t===void 0&&delete n.defaultValue,n})}):null]}),(0,W.jsx)(G,{title:o(`models.builder.editorSection`),children:(0,W.jsx)(ur,{field:e,path:m,issues:n,disabled:r,onChange:e=>b({editor:e})})})]})]})})},Vr=({draft:e,version:t,dirty:n,issueCount:r,deleteBlocked:i,onDelete:a,...s})=>{let{t:c}=C(),{modelKey:l=e.apiKey}=g({strict:!1}),u=e.kind===`component`?[{label:c(`shell.nav.components`),link:o({to:`/develop/components`})}]:[{label:e.label,link:o({to:`/content/$modelKey`,params:{modelKey:l}})},{label:c(`place.tabs.structure`)}];return(0,W.jsx)(h,{sticky:!0,breadcrumb:u,title:e.label||c(`models.builder.untitled`),badge:n||r>0?(0,W.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[n?(0,W.jsx)(y,{tone:`warning`,label:c(`models.builder.unsaved`)}):null,r>0?(0,W.jsx)(y,{tone:`danger`,label:c(`models.builder.problems`,{count:r})}):null]}):null,meta:e.kind===`collection`?c(`models.builder.subtitleCollection`,{apiKey:e.apiKey,pluralApiKey:P(e),version:t}):c(`models.builder.subtitle`,{apiKey:e.apiKey,version:t}),actions:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{className:`hidden items-center gap-2 xl:flex`,children:(0,W.jsx)(sn,{...s})}),(0,W.jsxs)(ht,{children:[(0,W.jsx)(pt,{asChild:!0,children:(0,W.jsx)(L,{variant:`ghost`,size:`icon`,"aria-label":c(`models.builder.more`),children:(0,W.jsx)(ct,{"aria-hidden":`true`})})}),(0,W.jsx)(mt,{align:`end`,children:(0,W.jsxs)(ft,{variant:`destructive`,disabled:i,onSelect:a,children:[(0,W.jsx)(tt,{"aria-hidden":`true`}),c(`models.builder.delete`)]})})]})]})})},Hr=`SEO`,Ur=e=>e.fields.some(e=>e.type===`component`&&e.settings.component===`f3905a00-d2a3-4c62-899a-c894bfd6cb9b`),Wr=e=>Sn(e,{type:`component`,...Fn(e,Hr),settings:{component:pe,repeatable:!1},editorId:le,localized:e.kind!==`component`&&e.localized}),Gr=()=>{let{t:e}=C(),t=Pt(`component`),{canShare:n}=Me(),r=U(e=>e.draft?Ur(e.draft):!1),i=U(e=>e.update),a=U(e=>e.select),o=Se(),s=t.data?.some(e=>e.definition.id===pe),c=r?`present`:s===void 0?`loading`:s?`ready`:n?`enable`:`askAdmin`,l=()=>{let{draft:t}=U.getState();if(!t||Ur(t))return;let n=Wr(t);i(e=>An(e,n)),a({type:`field`,fieldId:n.id}),requestAnimationFrame(()=>{document.getElementById(zn(n.id))?.scrollIntoView({block:`center`})}),F.success(e(`seo.builder.added`))};return{availability:c,add:l,enableAndAdd:async()=>{try{await o.mutateAsync()}catch(t){we(t,`enabling the SEO component`);let n=Ce(t);F.error(n?e(`seo.builder.conflict`,{label:n.label,apiKey:n.apiKey}):Te(t));return}l()},enabling:o.isPending}},Kr=[],qr=()=>{let e=U(e=>e.draft),t=U(e=>e.base),{definitions:n}=Nt(),r=(0,H.useDeferredValue)(e);return{issues:(0,H.useMemo)(()=>r&&t?On(r,t,(n??[]).map(({definition:e})=>e)):Kr,[r,t,n])}},Jr=()=>{let e=U(e=>e.draft),t=U(e=>e.base);return(0,H.useMemo)(()=>!!(e&&t&&wn(e,t)),[e,t])},Yr=(e,t,n)=>{let r=Ot().data?.definitions.find(t=>t.id===e);return{changedElsewhere:!n&&r!==void 0&&r.version>t,remoteVersion:r?.version}},Xr=e=>c(e,`SCHEMA_VERSION_CONFLICT`),Zr=(e,t,n)=>{let{t:i}=C(),a=jt(),o=r(),s=vt(),[c,l]=(0,H.useState)({step:`idle`}),[u,d]=(0,H.useState)(void 0),f=e=>{if(Xr(e)){l({step:`conflict`});return}F.error(Te(e))},p=async()=>{F.success(i(`models.updated`));try{await n(`rebase`)}catch(e){we(e,`reloading the definition after a schema change`),F.error(Te(e))}};return{state:c,review:async()=>{let{draft:n,baseVersion:r}=U.getState();if(n){s.reset();try{let i=await a.mutateAsync({category:e,id:t,definition:n,expectedVersion:r});l({step:`review`,preview:i})}catch(e){f(e)}}},reviewing:a.isPending,confirm:async n=>{let{draft:r,baseVersion:a}=U.getState();if(r)try{let c=await s.mutateAsync({definitionId:t,input:{category:e,definition:r,baseVersion:a},acknowledgement:n,title:i(`changes.builderSetTitle`,{label:r.label})});if(l({step:`idle`}),c.status===`shipping`){let n=await o.fetchQuery(Ft(e,t));d(n.pendingChange?.id),F.info(i(`models.builder.changeStarted`))}else await p()}catch(e){Xr(e)&&l({step:`conflict`})}},applying:s.isPending,applyError:s.error,resetStep:()=>l({step:`idle`}),runningChangeId:u,dismissChange:()=>d(void 0),onChangeFinished:async e=>{e===`activated`&&(d(void 0),await p())}}},Qr=()=>{let e=U(e=>e.selection),t=U(e=>e.draft?.fields);if(e.type!==`field`||!t)return{field:void 0,index:-1};let n=t.findIndex(t=>t.id===e.fieldId);return{field:t[n],index:n}},$r=e=>({value:e.id,label:e.label}),ei=({model:e,issues:t,disabled:n})=>{let{t:r}=C(),i=U(e=>e.update),a=(e,t)=>i(n=>q({...n,display:K(n.display,e,t)})),o=e=>J(t,`/display/${e}`),s=Nn(e);return(0,W.jsxs)(W.Fragment,{children:[s.coverOptions.length>0?(0,W.jsx)(Q,{id:`definition-cover-field`,label:r(`models.builder.coverField`),hint:r(`models.builder.coverFieldHint`),value:e.display.coverFieldId,options:s.coverOptions.map($r),onChange:e=>a(`coverFieldId`,e),unsetLabel:r(`models.builder.automatic`),issues:o(`coverFieldId`),disabled:n}):null,s.canvasOptions.length>0?(0,W.jsx)($,{id:`definition-canvas-fields`,label:r(`models.builder.canvasFields`),hint:r(`models.builder.canvasFieldsHint`),value:s.canvas,options:s.canvasOptions.map($r),locked:s.canvas.length===1?s.canvas:[],onChange:e=>a(`canvasFieldIds`,e.length>0?e:void 0),issues:o(`canvasFieldIds`),disabled:n}):null,s.stripOptions.length>0?(0,W.jsx)($,{id:`definition-strip-fields`,label:r(`models.builder.stripFields`),hint:r(`models.builder.stripFieldsHint`),value:e.display.stripFieldIds??[],options:s.stripOptions.map($r),onChange:e=>a(`stripFieldIds`,e.length>0?e:void 0),issues:o(`stripFieldIds`),disabled:n}):null]})},ti=`/display/groups`,ni=({model:e,issues:t,disabled:n})=>{let{t:r}=C(),i=U(e=>e.update),a=e.display.groups??[],o=t.filter(e=>e.path===ti),s=e=>i(t=>t.kind===`component`?t:e(t));return(0,W.jsxs)(rt,{className:`gap-3`,"data-invalid":t.length>0||void 0,children:[(0,W.jsxs)(st,{variant:`label`,className:`mb-0 flex items-center gap-1`,children:[r(`models.builder.groups`),(0,W.jsx)(I,{about:r(`models.builder.groups`),children:r(`models.builder.groupsHint`)})]}),a.length===0?(0,W.jsx)(z,{children:r(`models.builder.groupsEmpty`)}):null,a.length>0?(0,W.jsx)(`ol`,{className:`space-y-2`,children:a.map((e,i)=>{let a=J(t,`${ti}/${i}`),o=`definition-group-${i}`,c=a.length>0?`${o}-error`:void 0;return(0,W.jsxs)(`li`,{className:`space-y-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`label`,{htmlFor:o,className:`sr-only`,children:r(`models.builder.groupLabel`,{position:i+1})}),(0,W.jsx)(R,{id:o,value:e.label,autoComplete:`off`,maxLength:200,disabled:n,"aria-invalid":a.length>0||void 0,"aria-describedby":c,onChange:t=>s(n=>vr(n,e.id,t.target.value))}),(0,W.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,disabled:n,"aria-label":r(`models.builder.groupRemove`,{label:e.label||i+1}),onClick:()=>s(t=>yr(t,e.id)),children:(0,W.jsx)(tt,{"aria-hidden":`true`})})]}),(0,W.jsx)(Y,{id:c,issues:a})]},e.id)})}):null,(0,W.jsx)(Y,{issues:o})]})},ri={full:`col-span-6`,"two-thirds":`col-span-4`,half:`col-span-3`,third:`col-span-2`},ii=({model:e})=>{let{t}=C(),{sections:n}=j(e),r=n.reduce((e,t)=>e+t.fields.length,0);return r===0?null:(0,W.jsxs)(`div`,{className:`rounded-md border bg-muted/40 p-3`,children:[(0,W.jsx)(`p`,{className:`sr-only`,children:t(`models.builder.formWireframe`,{count:r})}),(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`space-y-3`,children:n.map(e=>(0,W.jsxs)(`div`,{className:`space-y-1.5`,children:[e.label?(0,W.jsx)(`p`,{className:`truncate border-b pb-1 text-xs font-semibold tracking-wide text-muted-foreground uppercase`,children:e.label}):null,(0,W.jsx)(`div`,{className:`grid grid-cols-6 gap-1.5`,children:e.fields.map(e=>(0,W.jsx)(`div`,{className:V(`truncate rounded-sm border bg-background px-1.5 py-1 text-xs text-muted-foreground`,ri[e.width??`full`]),children:e.label||t(`models.builder.untitled`)},e.id))})]},e.id))})]})},ai={document:`models.builder.layoutDocument`,form:`models.builder.layoutForm`},oi=({model:e,issues:t,disabled:n,onChange:r})=>{let{t:i}=C(),a=be(e);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(Q,{id:`definition-layout`,label:i(`models.builder.layout`),hint:i(`models.builder.layoutHint`),value:a,options:A.map(e=>({value:e,label:i(ai[e])})),onChange:e=>r(e===`form`?e:void 0),issues:t,disabled:n}),a===`form`?(0,W.jsx)(ii,{model:e}):null]})},si={asc:`models.builder.sortAscending`,desc:`models.builder.sortDescending`},ci=[`coverFieldId`,`canvasFieldIds`,`stripFieldIds`],li=({definition:e,issues:t,disabled:n})=>{let{t:r}=C(),i=U(e=>e.update),a=(e,t)=>i(n=>q({...n,display:K(n.display,e,t)})),o=e=>J(t,`/display/${e}`),s=e=>({value:e.id,label:e.label}),{display:c}=e,l=(0,W.jsx)(Q,{id:`definition-title-field`,label:r(`models.builder.titleField`),hint:r(`models.builder.titleFieldHint`),value:c.titleFieldId,options:X(e).map(s),onChange:e=>a(`titleFieldId`,e),unsetLabel:r(`models.notSet`),issues:o(`titleFieldId`),disabled:n});if(e.kind===`component`)return l;let u=e.display.defaultSort,d=e.fields.filter(e=>e.sortable),f=be(e);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(oi,{model:e,issues:o(`layout`),disabled:n,onChange:e=>a(`layout`,e)}),l,(0,W.jsx)(Q,{id:`definition-sort-field`,label:r(`models.builder.sortField`),hint:r(`models.builder.sortFieldHint`),value:u?.fieldId,options:d.map(s),onChange:e=>a(`defaultSort`,e?{fieldId:e,direction:u?.direction??`asc`}:void 0),unsetLabel:r(`models.builder.sortNewest`),issues:o(`defaultSort`),disabled:n}),u?(0,W.jsx)(Q,{id:`definition-sort-direction`,label:r(`models.builder.sortDirection`),value:u.direction,options:ce.map(e=>({value:e,label:r(si[e])})),onChange:e=>e&&a(`defaultSort`,{...u,direction:e}),disabled:n}):null,(0,W.jsx)($,{id:`definition-list-fields`,label:r(`models.builder.listColumns`),value:e.display.listFieldIds??[],options:e.fields.map(s),onChange:e=>a(`listFieldIds`,e.length>0?e:void 0),issues:o(`listFieldIds`),disabled:n}),f===`document`?(0,W.jsx)(ei,{model:e,issues:t,disabled:n}):(0,W.jsx)(Y,{issues:ci.flatMap(e=>o(e))}),(0,W.jsx)(ni,{model:e,issues:o(`groups`),disabled:n})]})},ui=({issues:e,disabled:t,scopeSection:n})=>{let{t:r}=C(),i=U(e=>e.draft),a=U(e=>e.base),o=U(e=>e.update);if(!i)return null;let s=e=>o(t=>({...t,...e})),c=t=>J(e,`/${t}`),l=a!==null&&a.apiKey!==i.apiKey,u=a?.kind===`collection`&&i.kind===`collection`&&P(a)!==P(i),d=e=>o(t=>t.kind===`collection`?{...t,apiKey:e,pluralApiKey:Jt(t.apiKey,e,t.pluralApiKey)}:{...t,apiKey:e});return(0,W.jsxs)(`div`,{className:`space-y-6`,children:[n,(0,W.jsxs)(G,{title:r(`models.builder.general`),children:[(0,W.jsx)(Z,{id:`definition-label`,label:r(`models.label`),value:i.label,onChange:e=>s({label:e??``}),issues:c(`label`),disabled:t}),(0,W.jsx)(Z,{id:`definition-apiKey`,label:r(`models.apiKey`),hint:r(`models.apiKeyHint`),description:l?r(`models.builder.apiKeyRenameWarning`):void 0,value:i.apiKey,onChange:e=>d(e??``),issues:c(`apiKey`),disabled:t,monospace:!0}),i.kind===`collection`?(0,W.jsx)(Z,{id:`definition-pluralApiKey`,label:r(`models.pluralApiKey`),hint:r(`models.pluralApiKeyHint`),description:u?r(`models.builder.pluralApiKeyRenameWarning`):void 0,value:i.pluralApiKey,onChange:e=>s({pluralApiKey:e}),issues:c(`pluralApiKey`),disabled:t,emptyAsUndefined:!0,monospace:!0}):null,(0,W.jsx)(Z,{id:`definition-description`,label:r(`models.descriptionLabel`),value:i.description,onChange:e=>s({description:e}),issues:c(`description`),disabled:t,emptyAsUndefined:!0,multiline:!0}),i.kind===`component`?(0,W.jsx)(Z,{id:`definition-category`,label:r(`models.builder.category`),hint:r(`models.builder.categoryHint`),value:i.category,onChange:e=>s({category:e}),issues:c(`category`),disabled:t,emptyAsUndefined:!0}):null]}),i.kind===`component`?null:(0,W.jsxs)(G,{title:r(`models.builder.content`),children:[(0,W.jsx)(sr,{id:`definition-localized`,label:r(`models.localized`),hint:r(`models.builder.modelLocalizedHint`),checked:i.localized,onChange:e=>s({localized:e}),issues:c(`localized`),disabled:t}),(0,W.jsx)(sr,{id:`definition-draftAndPublish`,label:r(`models.builder.draftAndPublish`),hint:r(`models.builder.draftAndPublishHint`),checked:i.draftAndPublish,onChange:e=>s({draftAndPublish:e}),issues:c(`draftAndPublish`),disabled:t})]}),(0,W.jsx)(G,{title:r(`models.builder.display`),children:(0,W.jsx)(li,{definition:i,issues:e,disabled:t})})]})},di=({hasIssues:e})=>{let{t}=C(),n=U(e=>e.draft);if(!n)return null;let r=Oe[n.kind];return(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,W.jsxs)(S,{variant:`outline`,children:[(0,W.jsx)(r,{"aria-hidden":`true`}),t(Ee[n.kind])]}),n.kind===`component`?null:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(S,{variant:`outline`,children:t(n.localized?`models.builder.summaryLocalized`:`models.builder.summaryNotLocalized`)}),(0,W.jsx)(S,{variant:`outline`,children:t(n.draftAndPublish?`models.builder.summaryDrafts`:`models.builder.summaryNoDrafts`)}),be(n)===`form`?(0,W.jsx)(S,{variant:`outline`,children:t(`models.builder.summaryForm`)}):null]}),n.kind===`collection`?(0,W.jsxs)(S,{variant:`outline`,className:`font-mono font-medium`,children:[(0,W.jsxs)(`span`,{className:`sr-only`,children:[t(`models.pluralApiKey`),` `]}),P(n)]}):null,e?(0,W.jsx)(y,{tone:`danger`,size:`sm`,label:t(`models.builder.hasProblems`)}):null]})},fi=e=>!/^\/fields(\/|$)/.test(e.path),pi=({issues:e,disabled:t,scopeSection:n})=>{let{t:r}=C(),[i,a]=(0,H.useState)(!1),o=(0,H.useId)();return(0,W.jsx)(Ut,{title:r(`models.builder.definitionSettings`),actions:(0,W.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-expanded":i,"aria-controls":o,"aria-label":r(`models.builder.definitionSettings`),onClick:()=>a(e=>!e),children:(0,W.jsx)(Re,{"aria-hidden":`true`,className:V(`transition-transform`,i&&`rotate-180`)})}),children:(0,W.jsx)(`div`,{id:o,children:i?(0,W.jsx)(ui,{issues:e,disabled:t,scopeSection:n}):(0,W.jsx)(di,{hasIssues:e.some(fi)})})})},mi=({hasFields:e})=>{let{t}=C();return(0,W.jsx)(Ut,{"aria-label":t(`models.builder.propertiesLabel`),className:`hidden xl:block`,children:e?(0,W.jsx)(b,{size:`panel`,icon:$t,title:t(`models.builder.selectField`)}):(0,W.jsx)(b,{size:`panel`,icon:tn,title:t(`models.builder.startTitle`)})})},hi=({reason:e,dirty:t,onReload:n,onKeepEdits:r})=>{let{t:i}=C(),a=t||e===`conflict`;return(0,W.jsxs)(Be,{variant:`warning`,role:e===`conflict`?`alert`:`status`,className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,W.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,W.jsx)(yt,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":`true`}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(Ke,{children:i(`models.remote.title`)}),(0,W.jsx)(We,{children:i(a?`models.remote.chooseDescription`:`models.remote.description`)})]})]}),a?(0,W.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,W.jsx)(L,{type:`button`,size:`sm`,variant:`outline`,onClick:r,children:i(`models.remote.keepEdits`)}),(0,W.jsx)(L,{type:`button`,size:`sm`,variant:`outline`,onClick:n,children:i(`models.remote.reloadLatest`)})]}):(0,W.jsx)(L,{type:`button`,size:`sm`,variant:`outline`,onClick:n,children:i(`models.remote.reload`)})]})},gi=({changes:e,before:t,after:n})=>{let{t:r}=C();return(0,W.jsx)(`div`,{className:`space-y-4`,children:Je(e).map(({bucket:e,changes:i})=>(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)($e,{bucket:e}),(0,W.jsx)(`span`,{className:`text-meta text-muted-foreground tabular-nums`,children:i.length})]}),(0,W.jsx)(`ul`,{"aria-label":r(De[e]),className:`divide-y rounded-lg border`,children:i.map((e,r)=>(0,W.jsx)(`li`,{className:`px-3 py-2.5 text-sm`,children:Ze(e,t,n)},`${e.kind}-${e.fieldId??``}-${e.property??``}-${r}`))})]},e))})},_i=()=>{let{t:e}=C(),t=s(),n=_t();return{reviewInChangeSet:async(r,i)=>{let{plan:a}=r,o=await wt(n.mutateAsync({definitionId:a.definitionId,newSetTitle:e(`changes.builderSetTitle`,{label:i.label}),input:{category:a.kind===`component`?`component`:`model`,definition:i,baseVersion:a.fromVersion}}));o.ok&&await t({to:`/changes/$changeSetId`,params:{changeSetId:o.value},ignoreBlocker:!0})},saving:n.isPending,saveError:n.error,resetSave:n.reset}},vi={breaking:`models.plan.summary.breaking`,prerequisites:`models.plan.summary.prerequisites`,live:`models.plan.summary.live`,metadata:`models.plan.summary.metadata`},yi=({preview:e,before:t,after:n,applying:r,error:a,onApply:o,onClose:s})=>{let{t:c}=C(),[l,d]=(0,H.useState)(!1),[h,g]=(0,H.useState)(!1),[y,b]=(0,H.useState)(e),{reviewInChangeSet:ee,saving:S,saveError:ne,resetSave:w}=_i(),T=r||S;e!==void 0&&e!==y&&(b(e),d(!1),g(!1),w());let E=y?.plan,D=E?.summary,O=D?Ye(D):`metadata`,k=D?.breaking??!1,A=D?.destructive??!1,re=(!k||l)&&(!A||h);return(0,W.jsx)(f,{open:e!==void 0,onOpenChange:e=>!e&&!T&&s(),children:(0,W.jsxs)(te,{size:`lg`,children:[(0,W.jsxs)(x,{className:`pr-14`,children:[(0,W.jsx)(v,{children:c(`models.plan.title`,{label:n?.label??``})}),(0,W.jsx)(p,{children:c(vi[O])})]}),E&&y?(0,W.jsxs)(`form`,{noValidate:!0,className:`flex min-h-0 flex-1 flex-col`,onSubmit:e=>{e.preventDefault(),o({...k?{acknowledgeBreaking:!0}:{},...A?{acknowledgeDestructive:!0}:{}})},children:[(0,W.jsxs)(_,{className:`space-y-6 pt-1`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 rounded-lg bg-muted px-3 py-2.5`,children:[(0,W.jsx)($e,{bucket:O}),(0,W.jsx)(`span`,{className:`text-meta text-muted-foreground`,children:c(`models.plan.affected`,{count:y.impact.affectedHeads})})]}),(0,W.jsxs)(`section`,{className:`space-y-3`,"aria-labelledby":`plan-changes`,children:[(0,W.jsx)(`h3`,{id:`plan-changes`,className:`text-sm font-semibold`,children:c(`models.plan.changes`,{count:E.changes.length})}),(0,W.jsx)(gi,{changes:E.changes,before:t,after:n})]}),E.prerequisites.length>0?(0,W.jsxs)(`section`,{className:`space-y-3`,"aria-labelledby":`plan-prerequisites`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,W.jsx)(`h3`,{id:`plan-prerequisites`,className:`text-sm font-semibold`,children:c(`models.plan.prerequisites`)}),(0,W.jsx)(I,{about:c(`models.plan.prerequisites`),children:c(`models.plan.prerequisitesHint`)})]}),(0,W.jsx)(et,{phase:`before`,steps:E.prerequisites,impacts:y.impact.steps,before:t,after:n})]}):null,E.followUps.length>0?(0,W.jsxs)(`section`,{className:`space-y-3`,"aria-labelledby":`plan-follow-ups`,children:[(0,W.jsx)(`h3`,{id:`plan-follow-ups`,className:`text-sm font-semibold`,children:c(`models.plan.followUps`)}),(0,W.jsx)(et,{phase:`after`,steps:E.followUps,before:t,after:n})]}):null,k||A?(0,W.jsxs)(`fieldset`,{className:`space-y-3 rounded-lg border border-warning/40 bg-warning-muted/40 p-4`,children:[(0,W.jsx)(`legend`,{className:`px-1 text-sm font-semibold text-warning`,children:c(`models.plan.acknowledge`)}),k?(0,W.jsxs)(B,{orientation:`horizontal`,children:[(0,W.jsx)(Ue,{id:`plan-ack-breaking`,checked:l,onCheckedChange:e=>d(e===!0)}),(0,W.jsx)(ot,{htmlFor:`plan-ack-breaking`,className:`font-normal`,children:c(`models.plan.acknowledgeBreaking`)})]}):null,A?(0,W.jsxs)(B,{orientation:`horizontal`,children:[(0,W.jsx)(Ue,{id:`plan-ack-destructive`,checked:h,onCheckedChange:e=>g(e===!0)}),(0,W.jsx)(ot,{htmlFor:`plan-ack-destructive`,className:`font-normal`,children:c(`models.plan.acknowledgeDestructive`)})]}):null]}):null,(0,W.jsx)(He,{error:a??ne})]}),(0,W.jsxs)(m,{children:[(0,W.jsx)(L,{type:`button`,variant:`outline`,onClick:s,disabled:T,children:c(`common.cancel`)}),(0,W.jsxs)(L,{type:`button`,variant:`outline`,disabled:T||!n,"aria-busy":S||void 0,onClick:()=>n&&void ee(y,n),children:[S?(0,W.jsx)(i,{className:`animate-spin motion-reduce:animate-none`,"aria-hidden":`true`}):(0,W.jsx)(Xe,{"aria-hidden":`true`}),c(S?`common.saving`:`changes.reviewInChangeSet`)]}),(0,W.jsx)(u,{pending:r,pendingLabel:c(`models.plan.applying`),disabled:!re||S,children:c(`models.plan.apply`)})]})]}):null]})})},bi=({category:e,id:t,detail:n})=>{let{t:r}=C(),i=s(),a=rn(e,t),o=U(e=>e.key),c=U(e=>e.draft),l=U(e=>e.base),u=U(e=>e.baseVersion),f=U(e=>e.load),p=U(e=>e.reset),m=_n(e,t),h=Zr(e,t,m),g=Jr(),{issues:_}=qr(),{field:v,index:y}=Qr(),{locked:b,reason:x}=Wt(),ee=an(n.scope),{multiSite:S}=Me(),te=Dt(),w=Vn(),E=Gr(),[D,O]=(0,H.useState)(!1),[k,A]=(0,H.useState)(void 0),[re,ie]=(0,H.useState)(!1),ae=(0,H.useRef)(n);(0,H.useEffect)(()=>(f(e,ae.current.definition,ae.current.version),p),[a,e,f,p]);let oe=h.runningChangeId??n.pendingChange?.id,j=oe===k?void 0:oe,M=j!==void 0,{changedElsewhere:se}=Yr(t,u,M||h.applying),ce=b||ee||M,le=g&&_.length===0&&!ce&&!h.reviewing,N=h.state.step===`review`,ue=h.state.step===`conflict`||re;if(Rt(()=>void h.review(),le&&!N),o!==a||!c)return(0,W.jsx)(ne,{});let de=e=>void m(e).catch(e=>{we(e,`reloading the definition`),F.error(Te(e))}),fe=b||ee,P=S?(0,W.jsx)(yn,{category:e,id:t,label:c.label,scope:n.scope,blocked:g||M||h.applying,locked:b,onConflict:()=>ie(!0)}):null,pe={canDiscard:g,canReview:le,reviewing:h.reviewing,onReview:()=>void h.review(),onDiscard:()=>{l&&f(e,l,u)}};return(0,W.jsxs)(d,{width:`full`,children:[(0,W.jsx)(T,{when:g}),(0,W.jsx)(Vr,{...pe,draft:c,version:u,dirty:g,issueCount:_.length,deleteBlocked:ce,onDelete:()=>O(!0)}),b?(0,W.jsx)(Gt,{reason:x}):null,ee?(0,W.jsx)(on,{}):null,se||ue?(0,W.jsx)(hi,{reason:ue?`conflict`:`remote`,dirty:g,onReload:()=>{h.resetStep(),ie(!1),de(`replace`)},onKeepEdits:()=>{h.resetStep(),ie(!1),de(`rebase`)}},ue?`conflict`:`remote`):null,j?(0,W.jsx)(un,{changeId:j,onFinished:e=>void h.onChangeFinished(e),onDismiss:()=>{A(j),h.dismissChange()}},j):null,(0,W.jsxs)(`div`,{className:`grid min-w-0 gap-6 xl:grid-cols-[22.5rem_minmax(0,1fr)] xl:items-start`,children:[(0,W.jsxs)(`div`,{className:`min-w-0 space-y-6`,children:[(0,W.jsx)(pi,{issues:_,disabled:fe,scopeSection:P}),(0,W.jsx)(qn,{issues:_,disabled:fe,onAdd:w.add,seo:c.kind===`component`?void 0:E})]}),v?(0,W.jsx)(Br,{field:v,index:y,issues:_,disabled:fe,untouched:w.isUntouched(v),onDiscard:()=>w.discard(v.id)},v.id):(0,W.jsx)(mi,{hasFields:c.fields.length>0})]}),(0,W.jsx)(cn,{...pe}),(0,W.jsx)(yi,{preview:h.state.step===`review`?h.state.preview:void 0,before:l,after:c,applying:h.applying,error:h.applyError,onApply:e=>void h.confirm(e),onClose:h.resetStep}),(0,W.jsx)(qe,{open:D,onOpenChange:O,title:r(`models.builder.deleteTitle`,{label:c.label}),description:r(`models.builder.deleteDescription`),confirmLabel:r(`common.delete`),destructive:!0,onConfirm:()=>te.mutate({category:e,id:t,expectedVersion:u},{onSuccess:()=>{p(),F.success(r(`models.deleted`)),i({to:`/models`})}})})]})},xi=({category:e,id:t})=>{let n=Mt(e,t);return(0,W.jsx)(Lt,{query:n,children:n=>(0,W.jsx)(bi,{category:e,id:t,detail:n},t)})};export{xi as t};
|
|
2
|
-
//# sourceMappingURL=Builder-DyCcikfS.js.map
|