@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.
Files changed (156) hide show
  1. package/dist/admin/assets/{AssetTile-CaYPqR_F.js → AssetTile-_qRYsivK.js} +2 -2
  2. package/dist/admin/assets/{AssetTile-CaYPqR_F.js.map → AssetTile-_qRYsivK.js.map} +1 -1
  3. package/dist/admin/assets/{AssistError-drmpXSbS.js → AssistError-CMXQWiQo.js} +2 -2
  4. package/dist/admin/assets/{AssistError-drmpXSbS.js.map → AssistError-CMXQWiQo.js.map} +1 -1
  5. package/dist/admin/assets/{BlockMenuItems-D-jZ0oaU.js → BlockMenuItems-WIrbyv1a.js} +2 -2
  6. package/dist/admin/assets/{BlockMenuItems-D-jZ0oaU.js.map → BlockMenuItems-WIrbyv1a.js.map} +1 -1
  7. package/dist/admin/assets/{Body-Gn_z2KPN.js → Body-BYc1IVsQ.js} +2 -2
  8. package/dist/admin/assets/{Body-Gn_z2KPN.js.map → Body-BYc1IVsQ.js.map} +1 -1
  9. package/dist/admin/assets/Builder-CwHpRhZN.js +2 -0
  10. package/dist/admin/assets/Builder-CwHpRhZN.js.map +1 -0
  11. package/dist/admin/assets/{CodeEditor-CzRU6och.js → CodeEditor-NMvrWgxT.js} +2 -2
  12. package/dist/admin/assets/{CodeEditor-CzRU6och.js.map → CodeEditor-NMvrWgxT.js.map} +1 -1
  13. package/dist/admin/assets/{ConfirmDialog-DZRJfdvH.js → ConfirmDialog-Rd6WDt6q.js} +2 -2
  14. package/dist/admin/assets/{ConfirmDialog-DZRJfdvH.js.map → ConfirmDialog-Rd6WDt6q.js.map} +1 -1
  15. package/dist/admin/assets/{CopyButton-h4HYhnYp.js → CopyButton-B0RuxynJ.js} +2 -2
  16. package/dist/admin/assets/{CopyButton-h4HYhnYp.js.map → CopyButton-B0RuxynJ.js.map} +1 -1
  17. package/dist/admin/assets/{CursorPager-H4SpVYw7.js → CursorPager-CQZsKNxR.js} +2 -2
  18. package/dist/admin/assets/{CursorPager-H4SpVYw7.js.map → CursorPager-CQZsKNxR.js.map} +1 -1
  19. package/dist/admin/assets/{FocalPoint-CSeKI4Iw.js → FocalPoint-BYu2fOTb.js} +2 -2
  20. package/dist/admin/assets/{FocalPoint-CSeKI4Iw.js.map → FocalPoint-BYu2fOTb.js.map} +1 -1
  21. package/dist/admin/assets/{Form-DF_YmR1G.js → Form-CiZUsLPp.js} +2 -2
  22. package/dist/admin/assets/{Form-DF_YmR1G.js.map → Form-CiZUsLPp.js.map} +1 -1
  23. package/dist/admin/assets/{FormCheckboxGroup-V3IKrvzc.js → FormCheckboxGroup-Bz8KERs1.js} +2 -2
  24. package/dist/admin/assets/{FormCheckboxGroup-V3IKrvzc.js.map → FormCheckboxGroup-Bz8KERs1.js.map} +1 -1
  25. package/dist/admin/assets/{FormRadioGroup-DIv-MYgn.js → FormRadioGroup-c-wyx7dq.js} +2 -2
  26. package/dist/admin/assets/{FormRadioGroup-DIv-MYgn.js.map → FormRadioGroup-c-wyx7dq.js.map} +1 -1
  27. package/dist/admin/assets/{FormSelectField-CUhaPIMY.js → FormSelectField-ijG9qPpb.js} +2 -2
  28. package/dist/admin/assets/{FormSelectField-CUhaPIMY.js.map → FormSelectField-ijG9qPpb.js.map} +1 -1
  29. package/dist/admin/assets/{FormSwitchField-DW8ysyk_.js → FormSwitchField-Bp3hNpeP.js} +2 -2
  30. package/dist/admin/assets/{FormSwitchField-DW8ysyk_.js.map → FormSwitchField-Bp3hNpeP.js.map} +1 -1
  31. package/dist/admin/assets/{FormTextareaField-DbqZ-MwI.js → FormTextareaField-BSKMqHcW.js} +2 -2
  32. package/dist/admin/assets/{FormTextareaField-DbqZ-MwI.js.map → FormTextareaField-BSKMqHcW.js.map} +1 -1
  33. package/dist/admin/assets/{HintedLabel-BlLtqVVz.js → HintedLabel-BrLH4NQW.js} +2 -2
  34. package/dist/admin/assets/{HintedLabel-BlLtqVVz.js.map → HintedLabel-BrLH4NQW.js.map} +1 -1
  35. package/dist/admin/assets/{InfoHint-bYMd_t0J.js → InfoHint-Dyzyf59c.js} +2 -2
  36. package/dist/admin/assets/{InfoHint-bYMd_t0J.js.map → InfoHint-Dyzyf59c.js.map} +1 -1
  37. package/dist/admin/assets/{InsertMenuItem-D2HGERzb.js → InsertMenuItem-BvRDuXtd.js} +2 -2
  38. package/dist/admin/assets/{InsertMenuItem-D2HGERzb.js.map → InsertMenuItem-BvRDuXtd.js.map} +1 -1
  39. package/dist/admin/assets/{Match-GDx_orOH.js → Match-Bixf1ygj.js} +2 -2
  40. package/dist/admin/assets/{Match-GDx_orOH.js.map → Match-Bixf1ygj.js.map} +1 -1
  41. package/dist/admin/assets/{QueryView-UBO-U5Wo.js → QueryView--_vvV7dC.js} +2 -2
  42. package/dist/admin/assets/{QueryView-UBO-U5Wo.js.map → QueryView--_vvV7dC.js.map} +1 -1
  43. package/dist/admin/assets/{RadioTile-CJbIIV8t.js → RadioTile-BCp6auUz.js} +2 -2
  44. package/dist/admin/assets/{RadioTile-CJbIIV8t.js.map → RadioTile-BCp6auUz.js.map} +1 -1
  45. package/dist/admin/assets/{RichTextField-M7HyUhYF.js → RichTextField-fWNjndUc.js} +2 -2
  46. package/dist/admin/assets/{RichTextField-M7HyUhYF.js.map → RichTextField-fWNjndUc.js.map} +1 -1
  47. package/dist/admin/assets/{RowTitle-DoxDM1XL.js → RowTitle-B4CE8tt7.js} +2 -2
  48. package/dist/admin/assets/{RowTitle-DoxDM1XL.js.map → RowTitle-B4CE8tt7.js.map} +1 -1
  49. package/dist/admin/assets/{SecretReveal-kCkLH5jg.js → SecretReveal-BhSqdWqh.js} +2 -2
  50. package/dist/admin/assets/{SecretReveal-kCkLH5jg.js.map → SecretReveal-BhSqdWqh.js.map} +1 -1
  51. package/dist/admin/assets/{SharedGlyph-D1OMHXPf.js → SharedGlyph-71FTypoi.js} +2 -2
  52. package/dist/admin/assets/{SharedGlyph-D1OMHXPf.js.map → SharedGlyph-71FTypoi.js.map} +1 -1
  53. package/dist/admin/assets/StepList-CZJmwy9e.js +2 -0
  54. package/dist/admin/assets/StepList-CZJmwy9e.js.map +1 -0
  55. package/dist/admin/assets/Structure-Dk87778W.js +2 -0
  56. package/dist/admin/assets/{Structure-CO4aJZVP.js.map → Structure-Dk87778W.js.map} +1 -1
  57. package/dist/admin/assets/{SuggestAltButton-CbRUxD5s.js → SuggestAltButton-CxS8IR6m.js} +2 -2
  58. package/dist/admin/assets/{SuggestAltButton-CbRUxD5s.js.map → SuggestAltButton-CxS8IR6m.js.map} +1 -1
  59. package/dist/admin/assets/{Thumbnail-D1XuDElk.js → Thumbnail-BwbCNpgQ.js} +2 -2
  60. package/dist/admin/assets/{Thumbnail-D1XuDElk.js.map → Thumbnail-BwbCNpgQ.js.map} +1 -1
  61. package/dist/admin/assets/{UnsavedChangesGuard-C1n7egF6.js → UnsavedChangesGuard-C6nD55Fn.js} +2 -2
  62. package/dist/admin/assets/{UnsavedChangesGuard-C1n7egF6.js.map → UnsavedChangesGuard-C6nD55Fn.js.map} +1 -1
  63. package/dist/admin/assets/{UserAvatar-Bl32IpG_.js → UserAvatar-D7IbSpsP.js} +2 -2
  64. package/dist/admin/assets/{UserAvatar-Bl32IpG_.js.map → UserAvatar-D7IbSpsP.js.map} +1 -1
  65. package/dist/admin/assets/{badge-ydvfgE8a.js → badge-vLiQczOd.js} +2 -2
  66. package/dist/admin/assets/{badge-ydvfgE8a.js.map → badge-vLiQczOd.js.map} +1 -1
  67. package/dist/admin/assets/{changeSets-DgfCKja3.js → changeSets-D5VevASj.js} +2 -2
  68. package/dist/admin/assets/{changeSets-DgfCKja3.js.map → changeSets-D5VevASj.js.map} +1 -1
  69. package/dist/admin/assets/{constants-esJAnNTh.js → constants-CKGh8uwT.js} +2 -2
  70. package/dist/admin/assets/{constants-esJAnNTh.js.map → constants-CKGh8uwT.js.map} +1 -1
  71. package/dist/admin/assets/{content-DsMSB6Wb.js → content-Cbavyq0x.js} +3 -3
  72. package/dist/admin/assets/{content-DsMSB6Wb.js.map → content-Cbavyq0x.js.map} +1 -1
  73. package/dist/admin/assets/{contentTypes-C-AKiYu1.js → contentTypes-DzQ_0v36.js} +2 -2
  74. package/dist/admin/assets/{contentTypes-C-AKiYu1.js.map → contentTypes-DzQ_0v36.js.map} +1 -1
  75. package/dist/admin/assets/{develop-DL-2W9jv.js → develop-BDqMOEql.js} +2 -2
  76. package/dist/admin/assets/{develop-DL-2W9jv.js.map → develop-BDqMOEql.js.map} +1 -1
  77. package/dist/admin/assets/{dropdown-menu-C53v9ioW.js → dropdown-menu-CVAnm22s.js} +2 -2
  78. package/dist/admin/assets/{dropdown-menu-C53v9ioW.js.map → dropdown-menu-CVAnm22s.js.map} +1 -1
  79. package/dist/admin/assets/es2015-BKfbx3rz.js +42 -0
  80. package/dist/admin/assets/es2015-BKfbx3rz.js.map +1 -0
  81. package/dist/admin/assets/{field-W1dB_h6d.js → field-Bg-JRgsB.js} +2 -2
  82. package/dist/admin/assets/{field-W1dB_h6d.js.map → field-Bg-JRgsB.js.map} +1 -1
  83. package/dist/admin/assets/{fileRoute-DzWMBrRx.js → fileRoute-DQCI1nMN.js} +2 -2
  84. package/dist/admin/assets/{fileRoute-DzWMBrRx.js.map → fileRoute-DQCI1nMN.js.map} +1 -1
  85. package/dist/admin/assets/{followPlural-D-5ZJqJF.js → followPlural-D0bENI5E.js} +2 -2
  86. package/dist/admin/assets/{followPlural-D-5ZJqJF.js.map → followPlural-D0bENI5E.js.map} +1 -1
  87. package/dist/admin/assets/{inbox-DUqOrFEA.js → inbox-Dfy4YBZ2.js} +2 -2
  88. package/dist/admin/assets/{inbox-DUqOrFEA.js.map → inbox-Dfy4YBZ2.js.map} +1 -1
  89. package/dist/admin/assets/{index-D03RZB7e.js → index-M4TUI1dl.js} +4 -4
  90. package/dist/admin/assets/{index-D03RZB7e.js.map → index-M4TUI1dl.js.map} +1 -1
  91. package/dist/admin/assets/{labels-CHE0gg1n.js → labels-BrwwGWnv.js} +2 -2
  92. package/dist/admin/assets/{labels-CHE0gg1n.js.map → labels-BrwwGWnv.js.map} +1 -1
  93. package/dist/admin/assets/{media-BUUEsWxd.js → media-DBdx-UmR.js} +2 -2
  94. package/dist/admin/assets/{media-BUUEsWxd.js.map → media-DBdx-UmR.js.map} +1 -1
  95. package/dist/admin/assets/{network-Bolr2lmf.js → network-BpbMYp6D.js} +2 -2
  96. package/dist/admin/assets/{network-Bolr2lmf.js.map → network-BpbMYp6D.js.map} +1 -1
  97. package/dist/admin/assets/{publishing-ClNjPLQ9.js → publishing-CpSDO3M7.js} +2 -2
  98. package/dist/admin/assets/{publishing-ClNjPLQ9.js.map → publishing-CpSDO3M7.js.map} +1 -1
  99. package/dist/admin/assets/{radio-group-rFxn7cz2.js → radio-group-DQ3sC1ol.js} +2 -2
  100. package/dist/admin/assets/{radio-group-rFxn7cz2.js.map → radio-group-DQ3sC1ol.js.map} +1 -1
  101. package/dist/admin/assets/{searchSchemas-C4qp-vCa.js → searchSchemas-D4S2ceA0.js} +2 -2
  102. package/dist/admin/assets/{searchSchemas-C4qp-vCa.js.map → searchSchemas-D4S2ceA0.js.map} +1 -1
  103. package/dist/admin/assets/{sections-C7Z6Xd8r.js → sections-Cl1LrzqH.js} +2 -2
  104. package/dist/admin/assets/{sections-C7Z6Xd8r.js.map → sections-Cl1LrzqH.js.map} +1 -1
  105. package/dist/admin/assets/{select-DUhL27UN.js → select-DjCAH45V.js} +2 -2
  106. package/dist/admin/assets/{select-DUhL27UN.js.map → select-DjCAH45V.js.map} +1 -1
  107. package/dist/admin/assets/{seo-l1ZORjtv.js → seo-DJ4k3LtY.js} +2 -2
  108. package/dist/admin/assets/{seo-l1ZORjtv.js.map → seo-DJ4k3LtY.js.map} +1 -1
  109. package/dist/admin/assets/{settings-DgoG3H8C.js → settings-DRZ33PTg.js} +2 -2
  110. package/dist/admin/assets/{settings-DgoG3H8C.js.map → settings-DRZ33PTg.js.map} +1 -1
  111. package/dist/admin/assets/{shapes-BZ87ap5s.js → shapes-BJe3IMuj.js} +5 -5
  112. package/dist/admin/assets/{shapes-BZ87ap5s.js.map → shapes-BJe3IMuj.js.map} +1 -1
  113. package/dist/admin/assets/{skeleton-Dyi_b1wq.js → skeleton-D4eOLKLY.js} +2 -2
  114. package/dist/admin/assets/{skeleton-Dyi_b1wq.js.map → skeleton-D4eOLKLY.js.map} +1 -1
  115. package/dist/admin/assets/src-DUpL-qwG.js +7 -0
  116. package/dist/admin/assets/src-DUpL-qwG.js.map +1 -0
  117. package/dist/admin/assets/{switch-C3dDDUIk.js → switch-B2R13aVU.js} +2 -2
  118. package/dist/admin/assets/{switch-C3dDDUIk.js.map → switch-B2R13aVU.js.map} +1 -1
  119. package/dist/admin/assets/{theme-DPe080iG.js → theme-X-qeg74W.js} +2 -2
  120. package/dist/admin/assets/{theme-DPe080iG.js.map → theme-X-qeg74W.js.map} +1 -1
  121. package/dist/admin/assets/{titles-C5PaMgFJ.js → titles-CLh5ftA2.js} +2 -2
  122. package/dist/admin/assets/{titles-C5PaMgFJ.js.map → titles-CLh5ftA2.js.map} +1 -1
  123. package/dist/admin/assets/{tooltip-BEaZkRPK.js → tooltip-u2epXfJF.js} +2 -2
  124. package/dist/admin/assets/{tooltip-BEaZkRPK.js.map → tooltip-u2epXfJF.js.map} +1 -1
  125. package/dist/admin/assets/{useContentSchema-wLDa2L3f.js → useContentSchema-DaQHlL19.js} +2 -2
  126. package/dist/admin/assets/{useContentSchema-wLDa2L3f.js.map → useContentSchema-DaQHlL19.js.map} +1 -1
  127. package/dist/admin/assets/{useDiscardGuard-WTUINqD5.js → useDiscardGuard-BVJGUCiH.js} +2 -2
  128. package/dist/admin/assets/{useDiscardGuard-WTUINqD5.js.map → useDiscardGuard-BVJGUCiH.js.map} +1 -1
  129. package/dist/admin/assets/{useMediaPickerDialog-CFN9ZKfe.js → useMediaPickerDialog-C23eOHQR.js} +2 -2
  130. package/dist/admin/assets/{useMediaPickerDialog-CFN9ZKfe.js.map → useMediaPickerDialog-C23eOHQR.js.map} +1 -1
  131. package/dist/admin/assets/{useMediaUploader-B42H_CMG.js → useMediaUploader-CTViR0LX.js} +2 -2
  132. package/dist/admin/assets/{useMediaUploader-B42H_CMG.js.map → useMediaUploader-CTViR0LX.js.map} +1 -1
  133. package/dist/admin/assets/{useResolvedScheme-aV0QDPi3.js → useResolvedScheme-Cg8TdO85.js} +2 -2
  134. package/dist/admin/assets/{useResolvedScheme-aV0QDPi3.js.map → useResolvedScheme-Cg8TdO85.js.map} +1 -1
  135. package/dist/admin/assets/{zod-C-k48Hnc.js → zod-D5i60ErJ.js} +2 -2
  136. package/dist/admin/assets/{zod-C-k48Hnc.js.map → zod-D5i60ErJ.js.map} +1 -1
  137. package/dist/admin/index.html +27 -27
  138. package/dist/cli.js +10 -3
  139. package/dist/cli.js.map +1 -1
  140. package/dist/index.d.ts +7 -2
  141. package/dist/index.js +1 -1
  142. package/dist/{s3Adapter-sL1zP4Zl.js → s3Adapter-CtPzkzf0.js} +2 -2
  143. package/dist/{s3Adapter-sL1zP4Zl.js.map → s3Adapter-CtPzkzf0.js.map} +1 -1
  144. package/dist/{worker-DMES6pqh.js → worker-DRCCGGjl.js} +3823 -3719
  145. package/dist/worker-DRCCGGjl.js.map +1 -0
  146. package/package.json +5 -5
  147. package/dist/admin/assets/Builder-DyCcikfS.js +0 -2
  148. package/dist/admin/assets/Builder-DyCcikfS.js.map +0 -1
  149. package/dist/admin/assets/StepList-BIQjDaWQ.js +0 -2
  150. package/dist/admin/assets/StepList-BIQjDaWQ.js.map +0 -1
  151. package/dist/admin/assets/Structure-CO4aJZVP.js +0 -2
  152. package/dist/admin/assets/es2015-DrAA1N2V.js +0 -42
  153. package/dist/admin/assets/es2015-DrAA1N2V.js.map +0 -1
  154. package/dist/admin/assets/src-BcLeD2-K.js +0 -7
  155. package/dist/admin/assets/src-BcLeD2-K.js.map +0 -1
  156. package/dist/worker-DMES6pqh.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"changeSets-DgfCKja3.js","names":["useMutation","queryKeys","withCsrf","useQuery","useQueryClient","adminApi","ShapioApiError","createLucideIcon","logError","PUBLISHING_POLL_INTERVAL_MS","__iconData","RefreshCw","changeSetsApi","silent","ACTIVE_CHANGE_SET_STATUSES","useChangeSets","status","pollWhileShipping","set","useChangeSet","id","query","useChangeSetReview","useChangeSetTimeline","useUnassignedEntries","useChangeSetWrite","queryClient","action","call","variables","useCreateChangeSet","input","useUpdateChangeSet","useDiscardChangeSet","useAddChangeSetEntry","useRemoveChangeSetItem","itemId","useShipChangeSet","useScheduleChangeSet","useUnscheduleChangeSet","openOrCreateChangeSet","target","useSaveDraftToChangeSet","newSetTitle","existing","item","definitionId","useSaveNewDefinitionsToChangeSet","definition","definitions","useSchemaDraft","failureOf","useShipDraftNow","created","shipped","acknowledgement","error","cause"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/refresh-cw.mjs","../../src/api/changeSets.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"refresh-cw\",\n size: 24,\n node: [\n [\"path\", { d: \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\", key: \"v9h5vc\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }],\n [\"path\", { d: \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\", key: \"3uifl3\" }],\n [\"path\", { d: \"M8 16H3v5\", key: \"1cv678\" }]\n ]\n};\n__iconData.node;\nconst RefreshCw = createLucideIcon(__iconData);\n\nexport { __iconData, RefreshCw as default };\n//# sourceMappingURL=refresh-cw.mjs.map\n","import type {\n AddChangeSetEntryInput,\n ChangeSet,\n CreateChangeSetInput,\n PutSchemaDraftInput,\n ScheduleChangeSetInput,\n ShipChangeSetInput,\n UpdateChangeSetInput,\n} from '@shapio/client';\nimport { ShapioApiError } from '@shapio/client';\nimport type { SchemaDefinition } from '@shapio/schema';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { PUBLISHING_POLL_INTERVAL_MS } from '@/constants/publishing';\nimport { logError } from '@/helpers/reportError';\nimport { adminApi } from './client';\nimport { withCsrf } from './csrf';\nimport { queryKeys } from './queryKeys';\n\nconst changeSetsApi = adminApi.changeSets;\n\nconst silent = { silent: true } as const;\n\n/** Every set that still matters on the Changes page (shipped and discarded ones live in the ledger). */\nexport const ACTIVE_CHANGE_SET_STATUSES = 'open,scheduled,shipping,failed';\n\nexport const useChangeSets = (status: string = ACTIVE_CHANGE_SET_STATUSES) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.list(status),\n queryFn: () => changeSetsApi.list({ status, limit: 100 }),\n meta: silent,\n });\n\nconst pollWhileShipping = (set: ChangeSet | undefined) =>\n set?.status === 'shipping' ? PUBLISHING_POLL_INTERVAL_MS : false;\n\n/** One set, polled while it ships in the background (prerequisites running). */\nexport const useChangeSet = (id: string) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.set(id),\n queryFn: () => changeSetsApi.get(id),\n refetchInterval: (query) => pollWhileShipping(query.state.data),\n meta: silent,\n });\n\n/** The review (diffs, planner results, consumers, checks). Not refetched on focus: a strict ship needs a stable view. */\nexport const useChangeSetReview = (id: string) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.review(id),\n queryFn: () => changeSetsApi.review(id),\n refetchOnWindowFocus: false,\n meta: silent,\n });\n\nexport const useChangeSetTimeline = (id: string) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.timeline(id),\n queryFn: () => changeSetsApi.timeline(id),\n meta: silent,\n });\n\n/** Entry drafts not in any open set. */\nexport const useUnassignedEntries = () =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.unassigned,\n queryFn: () => changeSetsApi.unassigned({ limit: 100 }),\n meta: silent,\n });\n\n/**\n * Every write answers with the whole set: it replaces the cached set, and the lists, the review and the\n * timeline are refreshed (the review is what a strict ship is checked against).\n */\nconst useChangeSetWrite = <TVariables>(\n action: string,\n call: (variables: TVariables) => Promise<ChangeSet>,\n) => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['changeSets', action],\n meta: silent,\n mutationFn: (variables: TVariables) => withCsrf(() => call(variables)),\n onSuccess: (set) => {\n queryClient.setQueryData(queryKeys.develop.changeSets.set(set.id), set);\n return queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all });\n },\n });\n};\n\nexport const useCreateChangeSet = () =>\n useChangeSetWrite('create', (input: CreateChangeSetInput) => changeSetsApi.create(input));\n\n/** 409 when `expectedVersion` is stale. */\nexport const useUpdateChangeSet = () =>\n useChangeSetWrite('update', ({ id, input }: { id: string; input: UpdateChangeSetInput }) =>\n changeSetsApi.update(id, input),\n );\n\nexport const useDiscardChangeSet = () =>\n useChangeSetWrite('discard', (id: string) => changeSetsApi.discard(id));\n\nexport const useAddChangeSetEntry = () =>\n useChangeSetWrite('addEntry', ({ id, input }: { id: string; input: AddChangeSetEntryInput }) =>\n changeSetsApi.addEntry(id, input),\n );\n\nexport const useRemoveChangeSetItem = () =>\n useChangeSetWrite('removeItem', ({ id, itemId }: { id: string; itemId: string }) =>\n changeSetsApi.removeItem(id, itemId),\n );\n\n/** Resolves with the set: `shipped`/`failed` inline, or `shipping` (prerequisites run; the set is polled). */\nexport const useShipChangeSet = () =>\n useChangeSetWrite('ship', ({ id, input }: { id: string; input: ShipChangeSetInput }) =>\n changeSetsApi.ship(id, input),\n );\n\nexport const useScheduleChangeSet = () =>\n useChangeSetWrite('schedule', ({ id, input }: { id: string; input: ScheduleChangeSetInput }) =>\n changeSetsApi.schedule(id, input),\n );\n\nexport const useUnscheduleChangeSet = () =>\n useChangeSetWrite('unschedule', (id: string) => changeSetsApi.unschedule(id));\n\n/** The newest open change set (with its items), or a new one named `title` when none is open. */\nconst openOrCreateChangeSet = async (title: string) => {\n const open = await changeSetsApi.list({ status: 'open', limit: 1 });\n const target = open.items[0] ?? (await changeSetsApi.create({ title, source: 'builder' }));\n return changeSetsApi.get(target.id);\n};\n\n/**\n * The builder's \"Review in a change set\": saves the schema draft into the newest open set (or a new one\n * named `newSetTitle`), replacing that set's earlier draft of the same definition, and resolves with the\n * set's ID so the caller can open its review.\n */\nexport const useSaveDraftToChangeSet = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['changeSets', 'saveDraft'],\n meta: silent,\n mutationFn: ({\n definitionId,\n input,\n newSetTitle,\n }: {\n definitionId: string;\n input: Omit<PutSchemaDraftInput, 'expectedDraftVersion'>;\n newSetTitle: string;\n }) =>\n withCsrf(async () => {\n const set = await openOrCreateChangeSet(newSetTitle);\n const existing = set.items.find(\n (item) => item.kind === 'schema' && item.definitionId === definitionId,\n );\n await changeSetsApi.putSchemaDraft(set.id, definitionId, {\n ...input,\n ...(existing?.kind === 'schema' ? { expectedDraftVersion: existing.draftVersion } : {}),\n });\n return set.id;\n }),\n onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all }),\n });\n};\n\n/**\n * New definitions proposed together (\"Describe it\"): each saved as a schema draft into the newest open set\n * (or a new one named `newSetTitle`), in the order given (references first). Resolves with the set's ID.\n */\nexport const useSaveNewDefinitionsToChangeSet = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['changeSets', 'saveNewDefinitions'],\n meta: silent,\n mutationFn: ({\n definitions,\n newSetTitle,\n }: {\n definitions: readonly SchemaDefinition[];\n newSetTitle: string;\n }) =>\n withCsrf(async () => {\n const set = await openOrCreateChangeSet(newSetTitle);\n for (const definition of definitions) {\n // One at a time: a later definition may reference an earlier one.\n await changeSetsApi.putSchemaDraft(set.id, definition.id, {\n category: definition.kind === 'component' ? 'component' : 'model',\n definition,\n baseVersion: null,\n });\n }\n return set.id;\n }),\n onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all }),\n });\n};\n\n/** The schema draft of one item, for the before/after of a schema diff card. */\nexport const useSchemaDraft = (id: string, definitionId: string) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.draft(id, definitionId),\n queryFn: () => changeSetsApi.getSchemaDraft(id, definitionId),\n meta: silent,\n });\n\ntype ShipDraftNowInput = {\n definitionId: string;\n input: Omit<PutSchemaDraftInput, 'expectedDraftVersion'>;\n acknowledgement: Pick<ShipChangeSetInput, 'acknowledgeBreaking' | 'acknowledgeDestructive'>;\n title: string;\n};\n\n/** A set that ended `failed` as the request's error, so the caller shows the reason like any other. */\nconst failureOf = (set: ChangeSet) =>\n new ShapioApiError(422, {\n error: { code: set.error?.code ?? 'CHANGE_SET_FAILED', message: set.error?.message ?? set.title },\n });\n\n/**\n * The builder's \"Ship now\" (plan developer-face §5): a one-item change set holding the schema draft,\n * shipped at once. Resolves with the set: `shipped`, or `shipping` while prerequisites run in the\n * background (its schema change shows in the builder as a pending change). A refused ship discards the\n * set it just created, so nothing is left behind; a ship that ran and failed keeps the set as history.\n */\nexport const useShipDraftNow = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['changeSets', 'shipDraftNow'],\n meta: silent,\n mutationFn: ({ definitionId, input, acknowledgement, title }: ShipDraftNowInput) =>\n withCsrf(async () => {\n const created = await changeSetsApi.create({ title, source: 'builder' });\n let shipped: ChangeSet;\n try {\n await changeSetsApi.putSchemaDraft(created.id, definitionId, input);\n const set = await changeSetsApi.get(created.id);\n shipped = await changeSetsApi.ship(set.id, { expectedVersion: set.version, ...acknowledgement });\n } catch (error) {\n await changeSetsApi\n .discard(created.id)\n .catch((cause: unknown) => logError(cause, 'discarding a change set the builder could not ship'));\n throw error;\n }\n if (shipped.status === 'failed') {\n throw failureOf(shipped);\n }\n return shipped;\n }),\n onSettled: () =>\n Promise.all([\n queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all }),\n queryClient.invalidateQueries({ queryKey: queryKeys.schema.all }),\n ]),\n });\n};\n"],"ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"changeSets-D5VevASj.js","names":["useMutation","queryKeys","withCsrf","useQuery","useQueryClient","adminApi","ShapioApiError","createLucideIcon","logError","PUBLISHING_POLL_INTERVAL_MS","__iconData","RefreshCw","changeSetsApi","silent","ACTIVE_CHANGE_SET_STATUSES","useChangeSets","status","pollWhileShipping","set","useChangeSet","id","query","useChangeSetReview","useChangeSetTimeline","useUnassignedEntries","useChangeSetWrite","queryClient","action","call","variables","useCreateChangeSet","input","useUpdateChangeSet","useDiscardChangeSet","useAddChangeSetEntry","useRemoveChangeSetItem","itemId","useShipChangeSet","useScheduleChangeSet","useUnscheduleChangeSet","openOrCreateChangeSet","target","useSaveDraftToChangeSet","newSetTitle","existing","item","definitionId","useSaveNewDefinitionsToChangeSet","definition","definitions","useSchemaDraft","failureOf","useShipDraftNow","created","shipped","acknowledgement","error","cause"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/refresh-cw.mjs","../../src/api/changeSets.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"refresh-cw\",\n size: 24,\n node: [\n [\"path\", { d: \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\", key: \"v9h5vc\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }],\n [\"path\", { d: \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\", key: \"3uifl3\" }],\n [\"path\", { d: \"M8 16H3v5\", key: \"1cv678\" }]\n ]\n};\n__iconData.node;\nconst RefreshCw = createLucideIcon(__iconData);\n\nexport { __iconData, RefreshCw as default };\n//# sourceMappingURL=refresh-cw.mjs.map\n","import type {\n AddChangeSetEntryInput,\n ChangeSet,\n CreateChangeSetInput,\n PutSchemaDraftInput,\n ScheduleChangeSetInput,\n ShipChangeSetInput,\n UpdateChangeSetInput,\n} from '@shapio/client';\nimport { ShapioApiError } from '@shapio/client';\nimport type { SchemaDefinition } from '@shapio/schema';\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { PUBLISHING_POLL_INTERVAL_MS } from '@/constants/publishing';\nimport { logError } from '@/helpers/reportError';\nimport { adminApi } from './client';\nimport { withCsrf } from './csrf';\nimport { queryKeys } from './queryKeys';\n\nconst changeSetsApi = adminApi.changeSets;\n\nconst silent = { silent: true } as const;\n\n/** Every set that still matters on the Changes page (shipped and discarded ones live in the ledger). */\nexport const ACTIVE_CHANGE_SET_STATUSES = 'open,scheduled,shipping,failed';\n\nexport const useChangeSets = (status: string = ACTIVE_CHANGE_SET_STATUSES) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.list(status),\n queryFn: () => changeSetsApi.list({ status, limit: 100 }),\n meta: silent,\n });\n\nconst pollWhileShipping = (set: ChangeSet | undefined) =>\n set?.status === 'shipping' ? PUBLISHING_POLL_INTERVAL_MS : false;\n\n/** One set, polled while it ships in the background (prerequisites running). */\nexport const useChangeSet = (id: string) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.set(id),\n queryFn: () => changeSetsApi.get(id),\n refetchInterval: (query) => pollWhileShipping(query.state.data),\n meta: silent,\n });\n\n/** The review (diffs, planner results, consumers, checks). Not refetched on focus: a strict ship needs a stable view. */\nexport const useChangeSetReview = (id: string) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.review(id),\n queryFn: () => changeSetsApi.review(id),\n refetchOnWindowFocus: false,\n meta: silent,\n });\n\nexport const useChangeSetTimeline = (id: string) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.timeline(id),\n queryFn: () => changeSetsApi.timeline(id),\n meta: silent,\n });\n\n/** Entry drafts not in any open set. */\nexport const useUnassignedEntries = () =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.unassigned,\n queryFn: () => changeSetsApi.unassigned({ limit: 100 }),\n meta: silent,\n });\n\n/**\n * Every write answers with the whole set: it replaces the cached set, and the lists, the review and the\n * timeline are refreshed (the review is what a strict ship is checked against).\n */\nconst useChangeSetWrite = <TVariables>(\n action: string,\n call: (variables: TVariables) => Promise<ChangeSet>,\n) => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['changeSets', action],\n meta: silent,\n mutationFn: (variables: TVariables) => withCsrf(() => call(variables)),\n onSuccess: (set) => {\n queryClient.setQueryData(queryKeys.develop.changeSets.set(set.id), set);\n return queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all });\n },\n });\n};\n\nexport const useCreateChangeSet = () =>\n useChangeSetWrite('create', (input: CreateChangeSetInput) => changeSetsApi.create(input));\n\n/** 409 when `expectedVersion` is stale. */\nexport const useUpdateChangeSet = () =>\n useChangeSetWrite('update', ({ id, input }: { id: string; input: UpdateChangeSetInput }) =>\n changeSetsApi.update(id, input),\n );\n\nexport const useDiscardChangeSet = () =>\n useChangeSetWrite('discard', (id: string) => changeSetsApi.discard(id));\n\nexport const useAddChangeSetEntry = () =>\n useChangeSetWrite('addEntry', ({ id, input }: { id: string; input: AddChangeSetEntryInput }) =>\n changeSetsApi.addEntry(id, input),\n );\n\nexport const useRemoveChangeSetItem = () =>\n useChangeSetWrite('removeItem', ({ id, itemId }: { id: string; itemId: string }) =>\n changeSetsApi.removeItem(id, itemId),\n );\n\n/** Resolves with the set: `shipped`/`failed` inline, or `shipping` (prerequisites run; the set is polled). */\nexport const useShipChangeSet = () =>\n useChangeSetWrite('ship', ({ id, input }: { id: string; input: ShipChangeSetInput }) =>\n changeSetsApi.ship(id, input),\n );\n\nexport const useScheduleChangeSet = () =>\n useChangeSetWrite('schedule', ({ id, input }: { id: string; input: ScheduleChangeSetInput }) =>\n changeSetsApi.schedule(id, input),\n );\n\nexport const useUnscheduleChangeSet = () =>\n useChangeSetWrite('unschedule', (id: string) => changeSetsApi.unschedule(id));\n\n/** The newest open change set (with its items), or a new one named `title` when none is open. */\nconst openOrCreateChangeSet = async (title: string) => {\n const open = await changeSetsApi.list({ status: 'open', limit: 1 });\n const target = open.items[0] ?? (await changeSetsApi.create({ title, source: 'builder' }));\n return changeSetsApi.get(target.id);\n};\n\n/**\n * The builder's \"Review in a change set\": saves the schema draft into the newest open set (or a new one\n * named `newSetTitle`), replacing that set's earlier draft of the same definition, and resolves with the\n * set's ID so the caller can open its review.\n */\nexport const useSaveDraftToChangeSet = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['changeSets', 'saveDraft'],\n meta: silent,\n mutationFn: ({\n definitionId,\n input,\n newSetTitle,\n }: {\n definitionId: string;\n input: Omit<PutSchemaDraftInput, 'expectedDraftVersion'>;\n newSetTitle: string;\n }) =>\n withCsrf(async () => {\n const set = await openOrCreateChangeSet(newSetTitle);\n const existing = set.items.find(\n (item) => item.kind === 'schema' && item.definitionId === definitionId,\n );\n await changeSetsApi.putSchemaDraft(set.id, definitionId, {\n ...input,\n ...(existing?.kind === 'schema' ? { expectedDraftVersion: existing.draftVersion } : {}),\n });\n return set.id;\n }),\n onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all }),\n });\n};\n\n/**\n * New definitions proposed together (\"Describe it\"): each saved as a schema draft into the newest open set\n * (or a new one named `newSetTitle`), in the order given (references first). Resolves with the set's ID.\n */\nexport const useSaveNewDefinitionsToChangeSet = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['changeSets', 'saveNewDefinitions'],\n meta: silent,\n mutationFn: ({\n definitions,\n newSetTitle,\n }: {\n definitions: readonly SchemaDefinition[];\n newSetTitle: string;\n }) =>\n withCsrf(async () => {\n const set = await openOrCreateChangeSet(newSetTitle);\n for (const definition of definitions) {\n // One at a time: a later definition may reference an earlier one.\n await changeSetsApi.putSchemaDraft(set.id, definition.id, {\n category: definition.kind === 'component' ? 'component' : 'model',\n definition,\n baseVersion: null,\n });\n }\n return set.id;\n }),\n onSuccess: () => queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all }),\n });\n};\n\n/** The schema draft of one item, for the before/after of a schema diff card. */\nexport const useSchemaDraft = (id: string, definitionId: string) =>\n useQuery({\n queryKey: queryKeys.develop.changeSets.draft(id, definitionId),\n queryFn: () => changeSetsApi.getSchemaDraft(id, definitionId),\n meta: silent,\n });\n\ntype ShipDraftNowInput = {\n definitionId: string;\n input: Omit<PutSchemaDraftInput, 'expectedDraftVersion'>;\n acknowledgement: Pick<ShipChangeSetInput, 'acknowledgeBreaking' | 'acknowledgeDestructive'>;\n title: string;\n};\n\n/** A set that ended `failed` as the request's error, so the caller shows the reason like any other. */\nconst failureOf = (set: ChangeSet) =>\n new ShapioApiError(422, {\n error: { code: set.error?.code ?? 'CHANGE_SET_FAILED', message: set.error?.message ?? set.title },\n });\n\n/**\n * The builder's \"Ship now\" (plan developer-face §5): a one-item change set holding the schema draft,\n * shipped at once. Resolves with the set: `shipped`, or `shipping` while prerequisites run in the\n * background (its schema change shows in the builder as a pending change). A refused ship discards the\n * set it just created, so nothing is left behind; a ship that ran and failed keeps the set as history.\n */\nexport const useShipDraftNow = () => {\n const queryClient = useQueryClient();\n return useMutation({\n mutationKey: ['changeSets', 'shipDraftNow'],\n meta: silent,\n mutationFn: ({ definitionId, input, acknowledgement, title }: ShipDraftNowInput) =>\n withCsrf(async () => {\n const created = await changeSetsApi.create({ title, source: 'builder' });\n let shipped: ChangeSet;\n try {\n await changeSetsApi.putSchemaDraft(created.id, definitionId, input);\n const set = await changeSetsApi.get(created.id);\n shipped = await changeSetsApi.ship(set.id, { expectedVersion: set.version, ...acknowledgement });\n } catch (error) {\n await changeSetsApi\n .discard(created.id)\n .catch((cause: unknown) => logError(cause, 'discarding a change set the builder could not ship'));\n throw error;\n }\n if (shipped.status === 'failed') {\n throw failureOf(shipped);\n }\n return shipped;\n }),\n onSettled: () =>\n Promise.all([\n queryClient.invalidateQueries({ queryKey: queryKeys.develop.changeSets.all }),\n queryClient.invalidateQueries({ queryKey: queryKeys.schema.all }),\n ]),\n });\n};\n"],"ignoreList":[0],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{t as e}from"./createLucideIcon-CqygG5K6.js";import{n as t,r as n}from"./useSchemaScopeAccess-DyfiZnzs.js";import{t as r}from"./calendar-clock-DFUgXWXg.js";import{t as i}from"./clock-BGAXsuo4.js";import{n as a,t as o}from"./link-B3O0VUVT.js";import{n as s}from"./search-CW3iBC4k.js";import{t as c}from"./image-B6aL7hP8.js";import{t as l}from"./layers-B0jT4rc4.js";import{m as u}from"./dropdown-menu-C53v9ioW.js";var d={name:`binary`,size:24,node:[[`rect`,{x:`14`,y:`14`,width:`4`,height:`6`,rx:`2`,key:`p02svl`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`6`,rx:`2`,key:`xm4xkj`}],[`path`,{d:`M6 20h4`,key:`1i6q5t`}],[`path`,{d:`M14 10h4`,key:`ru81e7`}],[`path`,{d:`M6 14h2v6`,key:`16z9wg`}],[`path`,{d:`M14 4h2v6`,key:`1idq9u`}]]};d.node;var f=e(d),p={name:`blocks`,size:24,node:[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`,key:`1ah6g2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`,key:`88lufb`}]]};p.node;var m=e(p),h={name:`calendar`,size:24,node:[[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}],[`path`,{d:`M3 9h18`,key:`1pudct`}]]};h.node;var g=e(h),_={name:`component`,size:24,node:[[`path`,{d:`M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`,key:`1uwlt4`}],[`path`,{d:`M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z`,key:`10291m`}],[`path`,{d:`M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z`,key:`1tqoq1`}],[`path`,{d:`M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`,key:`1x6lto`}]]};_.node;var v=e(_),y={name:`earth`,size:24,node:[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],aliases:[`globe-2`]};y.node;var b=e(y),x={name:`fingerprint-pattern`,size:24,node:[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`,key:`1nerag`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`,key:`o46ks0`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`,key:`ptglia`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`,key:`ydlgp0`}],[`path`,{d:`M2 16h.01`,key:`1gqxmh`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`,key:`drycrb`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`,key:`1tidbn`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`,key:`13wd9y`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`,key:`1fr1j5`}]],aliases:[`fingerprint`]};x.node;var S=e(x),C={name:`hash`,size:24,node:[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]};C.node;var w=e(C),T={name:`layout-list`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}],[`path`,{d:`M14 4h7`,key:`3xa0d5`}],[`path`,{d:`M14 9h7`,key:`1icrd9`}],[`path`,{d:`M14 15h7`,key:`1mj8o2`}],[`path`,{d:`M14 20h7`,key:`11slyb`}]]};T.node;var E=e(T),D={name:`mail`,size:24,node:[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]};D.node;var O=e(D),k={name:`percent`,size:24,node:[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`,key:`1x9vlm`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`,key:`4mh3h7`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`,key:`1mdrzq`}]]};k.node;var A=e(k),j={name:`sigma`,size:24,node:[[`path`,{d:`M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2`,key:`wuwx1p`}]]};j.node;var M=e(j),N={name:`text-align-start`,size:24,node:[[`path`,{d:`M21 5H3`,key:`1fi0y6`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M17 19H3`,key:`z6ezky`}]],aliases:[`text`,`align-left`]};N.node;var P=e(N),F={name:`text-cursor-input`,size:24,node:[[`path`,{d:`M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6`,key:`1528k5`}],[`path`,{d:`M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7`,key:`13ksps`}],[`path`,{d:`M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1`,key:`1n9rhb`}],[`path`,{d:`M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1`,key:`1mj8rg`}],[`path`,{d:`M9 6v12`,key:`velyjx`}]]};F.node;var I=e(F),L={name:`toggle-left`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`3`,key:`u3jwor`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`,key:`g7kal2`}]]};L.node;var R=e(L),z={name:`type`,size:24,node:[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]};z.node;var B=e(z),V=[`collections`,`singletons`,`components`],H=[`collection`,`singleton`,`component`],U=e=>e===`component`?`component`:`model`,W={collection:`models.kinds.collection`,singleton:`models.kinds.singleton`,component:`models.kinds.component`},G={collection:`models.kinds.collectionDescription`,singleton:`models.kinds.singletonDescription`,component:`models.kinds.componentDescription`},K={collection:E,singleton:s,component:v},q={string:B,text:P,code:a,richtext:I,number:M,integer:w,decimal:A,biginteger:f,boolean:R,date:g,datetime:r,time:i,enum:u,json:n,slug:t,email:O,url:o,uid:S,media:c,relation:l,component:v,dynamiczone:m},J=[{key:`text`,types:[`string`,`text`,`richtext`,`code`,`slug`,`email`,`url`,`uid`]},{key:`number`,types:[`number`,`integer`,`decimal`,`biginteger`]},{key:`choice`,types:[`boolean`,`enum`,`json`]},{key:`time`,types:[`date`,`datetime`,`time`]},{key:`structure`,types:[`media`,`relation`,`component`,`dynamiczone`]}],Y={breaking:`models.plan.buckets.breaking`,prerequisites:`models.plan.buckets.prerequisites`,live:`models.plan.buckets.live`,metadata:`models.plan.buckets.metadata`};export{W as a,Y as c,m as d,K as i,U as l,q as n,V as o,G as r,H as s,J as t,b as u};
2
- //# sourceMappingURL=constants-esJAnNTh.js.map
1
+ import{t as e}from"./createLucideIcon-CqygG5K6.js";import{n as t,r as n}from"./useSchemaScopeAccess-DyfiZnzs.js";import{t as r}from"./calendar-clock-DFUgXWXg.js";import{t as i}from"./clock-BGAXsuo4.js";import{n as a,t as o}from"./link-B3O0VUVT.js";import{n as s}from"./search-CW3iBC4k.js";import{t as c}from"./image-B6aL7hP8.js";import{t as l}from"./layers-B0jT4rc4.js";import{m as u}from"./dropdown-menu-CVAnm22s.js";var d={name:`binary`,size:24,node:[[`rect`,{x:`14`,y:`14`,width:`4`,height:`6`,rx:`2`,key:`p02svl`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`6`,rx:`2`,key:`xm4xkj`}],[`path`,{d:`M6 20h4`,key:`1i6q5t`}],[`path`,{d:`M14 10h4`,key:`ru81e7`}],[`path`,{d:`M6 14h2v6`,key:`16z9wg`}],[`path`,{d:`M14 4h2v6`,key:`1idq9u`}]]};d.node;var f=e(d),p={name:`blocks`,size:24,node:[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`,key:`1ah6g2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`,key:`88lufb`}]]};p.node;var m=e(p),h={name:`calendar`,size:24,node:[[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}],[`path`,{d:`M3 9h18`,key:`1pudct`}]]};h.node;var g=e(h),_={name:`component`,size:24,node:[[`path`,{d:`M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`,key:`1uwlt4`}],[`path`,{d:`M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z`,key:`10291m`}],[`path`,{d:`M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z`,key:`1tqoq1`}],[`path`,{d:`M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z`,key:`1x6lto`}]]};_.node;var v=e(_),y={name:`earth`,size:24,node:[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],aliases:[`globe-2`]};y.node;var b=e(y),x={name:`fingerprint-pattern`,size:24,node:[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`,key:`1nerag`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`,key:`o46ks0`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`,key:`ptglia`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`,key:`ydlgp0`}],[`path`,{d:`M2 16h.01`,key:`1gqxmh`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`,key:`drycrb`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`,key:`1tidbn`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`,key:`13wd9y`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`,key:`1fr1j5`}]],aliases:[`fingerprint`]};x.node;var S=e(x),C={name:`hash`,size:24,node:[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]};C.node;var w=e(C),T={name:`layout-list`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}],[`path`,{d:`M14 4h7`,key:`3xa0d5`}],[`path`,{d:`M14 9h7`,key:`1icrd9`}],[`path`,{d:`M14 15h7`,key:`1mj8o2`}],[`path`,{d:`M14 20h7`,key:`11slyb`}]]};T.node;var E=e(T),D={name:`mail`,size:24,node:[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]};D.node;var O=e(D),k={name:`percent`,size:24,node:[[`line`,{x1:`19`,x2:`5`,y1:`5`,y2:`19`,key:`1x9vlm`}],[`circle`,{cx:`6.5`,cy:`6.5`,r:`2.5`,key:`4mh3h7`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`2.5`,key:`1mdrzq`}]]};k.node;var A=e(k),j={name:`sigma`,size:24,node:[[`path`,{d:`M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2`,key:`wuwx1p`}]]};j.node;var M=e(j),N={name:`text-align-start`,size:24,node:[[`path`,{d:`M21 5H3`,key:`1fi0y6`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M17 19H3`,key:`z6ezky`}]],aliases:[`text`,`align-left`]};N.node;var P=e(N),F={name:`text-cursor-input`,size:24,node:[[`path`,{d:`M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6`,key:`1528k5`}],[`path`,{d:`M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7`,key:`13ksps`}],[`path`,{d:`M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1`,key:`1n9rhb`}],[`path`,{d:`M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1`,key:`1mj8rg`}],[`path`,{d:`M9 6v12`,key:`velyjx`}]]};F.node;var I=e(F),L={name:`toggle-left`,size:24,node:[[`circle`,{cx:`9`,cy:`12`,r:`3`,key:`u3jwor`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`,key:`g7kal2`}]]};L.node;var R=e(L),z={name:`type`,size:24,node:[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]};z.node;var B=e(z),V=[`collections`,`singletons`,`components`],H=[`collection`,`singleton`,`component`],U=e=>e===`component`?`component`:`model`,W={collection:`models.kinds.collection`,singleton:`models.kinds.singleton`,component:`models.kinds.component`},G={collection:`models.kinds.collectionDescription`,singleton:`models.kinds.singletonDescription`,component:`models.kinds.componentDescription`},K={collection:E,singleton:s,component:v},q={string:B,text:P,code:a,richtext:I,number:M,integer:w,decimal:A,biginteger:f,boolean:R,date:g,datetime:r,time:i,enum:u,json:n,slug:t,email:O,url:o,uid:S,media:c,relation:l,component:v,dynamiczone:m},J=[{key:`text`,types:[`string`,`text`,`richtext`,`code`,`slug`,`email`,`url`,`uid`]},{key:`number`,types:[`number`,`integer`,`decimal`,`biginteger`]},{key:`choice`,types:[`boolean`,`enum`,`json`]},{key:`time`,types:[`date`,`datetime`,`time`]},{key:`structure`,types:[`media`,`relation`,`component`,`dynamiczone`]}],Y={breaking:`models.plan.buckets.breaking`,prerequisites:`models.plan.buckets.prerequisites`,live:`models.plan.buckets.live`,metadata:`models.plan.buckets.metadata`};export{W as a,Y as c,m as d,K as i,U as l,q as n,V as o,G as r,H as s,J as t,b as u};
2
+ //# sourceMappingURL=constants-CKGh8uwT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants-esJAnNTh.js","names":["__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","AlignLeft","Fingerprint","createLucideIcon","Link2","Braces","CalendarClock","Clock","Code","Link","FileText","Image","Layers","List","__iconData$14","Binary","__iconData$13","Blocks","__iconData$12","Calendar","__iconData$11","Component","__iconData$10","Earth","__iconData$9","FingerprintPattern","__iconData$8","Hash","__iconData$7","LayoutList","__iconData$6","Mail","__iconData$5","Percent","__iconData$4","Sigma","__iconData$3","TextAlignStart","__iconData$2","TextCursorInput","__iconData$1","ToggleLeft","__iconData","Type","MODEL_TABS","NEW_DEFINITION_KINDS","categoryOfKind","kind","KIND_LABEL_KEYS","KIND_DESCRIPTION_KEYS","KIND_ICONS","DATA_TYPE_ICONS","DATA_TYPE_GROUPS","PLAN_BUCKET_LABEL_KEYS"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/binary.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/blocks.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/calendar.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/component.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/earth.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/fingerprint-pattern.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/hash.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/layout-list.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/mail.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/percent.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/sigma.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/text-align-start.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/text-cursor-input.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/toggle-left.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/type.mjs","../../src/features/Models/constants.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"binary\",\n size: 24,\n node: [\n [\"rect\", { x: \"14\", y: \"14\", width: \"4\", height: \"6\", rx: \"2\", key: \"p02svl\" }],\n [\"rect\", { x: \"6\", y: \"4\", width: \"4\", height: \"6\", rx: \"2\", key: \"xm4xkj\" }],\n [\"path\", { d: \"M6 20h4\", key: \"1i6q5t\" }],\n [\"path\", { d: \"M14 10h4\", key: \"ru81e7\" }],\n [\"path\", { d: \"M6 14h2v6\", key: \"16z9wg\" }],\n [\"path\", { d: \"M14 4h2v6\", key: \"1idq9u\" }]\n ]\n};\n__iconData.node;\nconst Binary = createLucideIcon(__iconData);\n\nexport { __iconData, Binary as default };\n//# sourceMappingURL=binary.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"blocks\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2\",\n key: \"1ah6g2\"\n }\n ],\n [\"rect\", { x: \"14\", y: \"2\", width: \"8\", height: \"8\", rx: \"1\", key: \"88lufb\" }]\n ]\n};\n__iconData.node;\nconst Blocks = createLucideIcon(__iconData);\n\nexport { __iconData, Blocks as default };\n//# sourceMappingURL=blocks.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"calendar\",\n size: 24,\n node: [\n [\"path\", { d: \"M8 2v3\", key: \"1ioesn\" }],\n [\"path\", { d: \"M16 2v3\", key: \"otl347\" }],\n [\"rect\", { x: \"3\", y: \"3\", width: \"18\", height: \"18\", rx: \"2\", key: \"h1oib\" }],\n [\"path\", { d: \"M3 9h18\", key: \"1pudct\" }]\n ]\n};\n__iconData.node;\nconst Calendar = createLucideIcon(__iconData);\n\nexport { __iconData, Calendar as default };\n//# sourceMappingURL=calendar.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"component\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\",\n key: \"1uwlt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z\",\n key: \"10291m\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z\",\n key: \"1tqoq1\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\",\n key: \"1x6lto\"\n }\n ]\n ]\n};\n__iconData.node;\nconst Component = createLucideIcon(__iconData);\n\nexport { __iconData, Component as default };\n//# sourceMappingURL=component.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"earth\",\n size: 24,\n node: [\n [\"path\", { d: \"M21.54 15H17a2 2 0 0 0-2 2v4.54\", key: \"1djwo0\" }],\n [\n \"path\",\n {\n d: \"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17\",\n key: \"1tzkfa\"\n }\n ],\n [\n \"path\",\n { d: \"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05\", key: \"14pb5j\" }\n ],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]\n ],\n aliases: [\"globe-2\"]\n};\n__iconData.node;\nconst Earth = createLucideIcon(__iconData);\n\nexport { __iconData, Earth as default };\n//# sourceMappingURL=earth.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"fingerprint-pattern\",\n size: 24,\n node: [\n [\"path\", { d: \"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4\", key: \"1nerag\" }],\n [\"path\", { d: \"M14 13.12c0 2.38 0 6.38-1 8.88\", key: \"o46ks0\" }],\n [\"path\", { d: \"M17.29 21.02c.12-.6.43-2.3.5-3.02\", key: \"ptglia\" }],\n [\"path\", { d: \"M2 12a10 10 0 0 1 18-6\", key: \"ydlgp0\" }],\n [\"path\", { d: \"M2 16h.01\", key: \"1gqxmh\" }],\n [\"path\", { d: \"M21.8 16c.2-2 .131-5.354 0-6\", key: \"drycrb\" }],\n [\"path\", { d: \"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2\", key: \"1tidbn\" }],\n [\"path\", { d: \"M8.65 22c.21-.66.45-1.32.57-2\", key: \"13wd9y\" }],\n [\"path\", { d: \"M9 6.8a6 6 0 0 1 9 5.2v2\", key: \"1fr1j5\" }]\n ],\n aliases: [\"fingerprint\"]\n};\n__iconData.node;\nconst FingerprintPattern = createLucideIcon(__iconData);\n\nexport { __iconData, FingerprintPattern as default };\n//# sourceMappingURL=fingerprint-pattern.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"hash\",\n size: 24,\n node: [\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"9\", y2: \"9\", key: \"4lhtct\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"15\", y2: \"15\", key: \"vyu0kd\" }],\n [\"line\", { x1: \"10\", x2: \"8\", y1: \"3\", y2: \"21\", key: \"1ggp8o\" }],\n [\"line\", { x1: \"16\", x2: \"14\", y1: \"3\", y2: \"21\", key: \"weycgp\" }]\n ]\n};\n__iconData.node;\nconst Hash = createLucideIcon(__iconData);\n\nexport { __iconData, Hash as default };\n//# sourceMappingURL=hash.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"layout-list\",\n size: 24,\n node: [\n [\"rect\", { width: \"7\", height: \"7\", x: \"3\", y: \"3\", rx: \"1\", key: \"1g98yp\" }],\n [\"rect\", { width: \"7\", height: \"7\", x: \"3\", y: \"14\", rx: \"1\", key: \"1bb6yr\" }],\n [\"path\", { d: \"M14 4h7\", key: \"3xa0d5\" }],\n [\"path\", { d: \"M14 9h7\", key: \"1icrd9\" }],\n [\"path\", { d: \"M14 15h7\", key: \"1mj8o2\" }],\n [\"path\", { d: \"M14 20h7\", key: \"11slyb\" }]\n ]\n};\n__iconData.node;\nconst LayoutList = createLucideIcon(__iconData);\n\nexport { __iconData, LayoutList as default };\n//# sourceMappingURL=layout-list.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"mail\",\n size: 24,\n node: [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n ]\n};\n__iconData.node;\nconst Mail = createLucideIcon(__iconData);\n\nexport { __iconData, Mail as default };\n//# sourceMappingURL=mail.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"percent\",\n size: 24,\n node: [\n [\"line\", { x1: \"19\", x2: \"5\", y1: \"5\", y2: \"19\", key: \"1x9vlm\" }],\n [\"circle\", { cx: \"6.5\", cy: \"6.5\", r: \"2.5\", key: \"4mh3h7\" }],\n [\"circle\", { cx: \"17.5\", cy: \"17.5\", r: \"2.5\", key: \"1mdrzq\" }]\n ]\n};\n__iconData.node;\nconst Percent = createLucideIcon(__iconData);\n\nexport { __iconData, Percent as default };\n//# sourceMappingURL=percent.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"sigma\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2\",\n key: \"wuwx1p\"\n }\n ]\n ]\n};\n__iconData.node;\nconst Sigma = createLucideIcon(__iconData);\n\nexport { __iconData, Sigma as default };\n//# sourceMappingURL=sigma.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"text-align-start\",\n size: 24,\n node: [\n [\"path\", { d: \"M21 5H3\", key: \"1fi0y6\" }],\n [\"path\", { d: \"M15 12H3\", key: \"6jk70r\" }],\n [\"path\", { d: \"M17 19H3\", key: \"z6ezky\" }]\n ],\n aliases: [\"text\", \"align-left\"]\n};\n__iconData.node;\nconst TextAlignStart = createLucideIcon(__iconData);\n\nexport { __iconData, TextAlignStart as default };\n//# sourceMappingURL=text-align-start.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"text-cursor-input\",\n size: 24,\n node: [\n [\"path\", { d: \"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6\", key: \"1528k5\" }],\n [\"path\", { d: \"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7\", key: \"13ksps\" }],\n [\"path\", { d: \"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1\", key: \"1n9rhb\" }],\n [\"path\", { d: \"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1\", key: \"1mj8rg\" }],\n [\"path\", { d: \"M9 6v12\", key: \"velyjx\" }]\n ]\n};\n__iconData.node;\nconst TextCursorInput = createLucideIcon(__iconData);\n\nexport { __iconData, TextCursorInput as default };\n//# sourceMappingURL=text-cursor-input.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"toggle-left\",\n size: 24,\n node: [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"3\", key: \"u3jwor\" }],\n [\"rect\", { width: \"20\", height: \"14\", x: \"2\", y: \"5\", rx: \"7\", key: \"g7kal2\" }]\n ]\n};\n__iconData.node;\nconst ToggleLeft = createLucideIcon(__iconData);\n\nexport { __iconData, ToggleLeft as default };\n//# sourceMappingURL=toggle-left.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"type\",\n size: 24,\n node: [\n [\"path\", { d: \"M12 4v16\", key: \"1654pz\" }],\n [\"path\", { d: \"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2\", key: \"e0r10z\" }],\n [\"path\", { d: \"M9 20h6\", key: \"s66wpe\" }]\n ]\n};\n__iconData.node;\nconst Type = createLucideIcon(__iconData);\n\nexport { __iconData, Type as default };\n//# sourceMappingURL=type.mjs.map\n","import type { DefinitionCategory } from '@shapio/client';\nimport type { DataType, DefinitionKind } from '@shapio/schema';\nimport {\n AlignLeft,\n Binary,\n Blocks,\n Braces,\n Calendar,\n CalendarClock,\n Clock,\n Code,\n Component,\n FileText,\n Fingerprint,\n Hash,\n Image,\n Layers,\n LayoutList,\n Link,\n Link2,\n List,\n Mail,\n Percent,\n Sigma,\n TextCursorInput,\n ToggleLeft,\n Type,\n type LucideIcon,\n} from 'lucide-react';\n\n/** The tabs the old Models screen had (`/models?tab=` still redirects by them). */\nexport const MODEL_TABS = ['collections', 'singletons', 'components'] as const;\nexport type ModelTab = (typeof MODEL_TABS)[number];\n\n/** The kinds `/models/new?kind=` accepts (the search schema can't import @shapio/schema: it loads lazily). */\nexport const NEW_DEFINITION_KINDS = [\n 'collection',\n 'singleton',\n 'component',\n] as const satisfies readonly DefinitionKind[];\n\nexport const categoryOfKind = (kind: DefinitionKind): DefinitionCategory =>\n kind === 'component' ? 'component' : 'model';\n\nexport const KIND_LABEL_KEYS = {\n collection: 'models.kinds.collection',\n singleton: 'models.kinds.singleton',\n component: 'models.kinds.component',\n} as const satisfies Record<DefinitionKind, string>;\n\nexport const KIND_DESCRIPTION_KEYS = {\n collection: 'models.kinds.collectionDescription',\n singleton: 'models.kinds.singletonDescription',\n component: 'models.kinds.componentDescription',\n} as const satisfies Record<DefinitionKind, string>;\n\nexport const KIND_ICONS: Readonly<Record<DefinitionKind, LucideIcon>> = {\n collection: LayoutList,\n singleton: FileText,\n component: Component,\n};\n\nexport const DATA_TYPE_ICONS: Readonly<Record<DataType, LucideIcon>> = {\n string: Type,\n text: AlignLeft,\n code: Code,\n richtext: TextCursorInput,\n number: Sigma,\n integer: Hash,\n decimal: Percent,\n biginteger: Binary,\n boolean: ToggleLeft,\n date: Calendar,\n datetime: CalendarClock,\n time: Clock,\n enum: List,\n json: Braces,\n slug: Link2,\n email: Mail,\n url: Link,\n uid: Fingerprint,\n media: Image,\n relation: Layers,\n component: Component,\n dynamiczone: Blocks,\n};\n\n/** Data types offered for component definitions exclude nothing; models and components share the list. */\nexport const DATA_TYPE_GROUPS: readonly {\n key: 'text' | 'number' | 'choice' | 'time' | 'structure';\n types: readonly DataType[];\n}[] = [\n { key: 'text', types: ['string', 'text', 'richtext', 'code', 'slug', 'email', 'url', 'uid'] },\n { key: 'number', types: ['number', 'integer', 'decimal', 'biginteger'] },\n { key: 'choice', types: ['boolean', 'enum', 'json'] },\n { key: 'time', types: ['date', 'datetime', 'time'] },\n { key: 'structure', types: ['media', 'relation', 'component', 'dynamiczone'] },\n];\n\n/** How a plan change is applied (see helpers/planBuckets), as shown on its chip. */\nexport const PLAN_BUCKET_LABEL_KEYS = {\n breaking: 'models.plan.buckets.breaking',\n prerequisites: 'models.plan.buckets.prerequisites',\n live: 'models.plan.buckets.live',\n metadata: 'models.plan.buckets.metadata',\n} as const;\n"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"mappings":"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"}
1
+ {"version":3,"file":"constants-CKGh8uwT.js","names":["__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","__iconData","AlignLeft","Fingerprint","createLucideIcon","Link2","Braces","CalendarClock","Clock","Code","Link","FileText","Image","Layers","List","__iconData$14","Binary","__iconData$13","Blocks","__iconData$12","Calendar","__iconData$11","Component","__iconData$10","Earth","__iconData$9","FingerprintPattern","__iconData$8","Hash","__iconData$7","LayoutList","__iconData$6","Mail","__iconData$5","Percent","__iconData$4","Sigma","__iconData$3","TextAlignStart","__iconData$2","TextCursorInput","__iconData$1","ToggleLeft","__iconData","Type","MODEL_TABS","NEW_DEFINITION_KINDS","categoryOfKind","kind","KIND_LABEL_KEYS","KIND_DESCRIPTION_KEYS","KIND_ICONS","DATA_TYPE_ICONS","DATA_TYPE_GROUPS","PLAN_BUCKET_LABEL_KEYS"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/binary.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/blocks.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/calendar.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/component.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/earth.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/fingerprint-pattern.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/hash.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/layout-list.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/mail.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/percent.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/sigma.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/text-align-start.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/text-cursor-input.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/toggle-left.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/type.mjs","../../src/features/Models/constants.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"binary\",\n size: 24,\n node: [\n [\"rect\", { x: \"14\", y: \"14\", width: \"4\", height: \"6\", rx: \"2\", key: \"p02svl\" }],\n [\"rect\", { x: \"6\", y: \"4\", width: \"4\", height: \"6\", rx: \"2\", key: \"xm4xkj\" }],\n [\"path\", { d: \"M6 20h4\", key: \"1i6q5t\" }],\n [\"path\", { d: \"M14 10h4\", key: \"ru81e7\" }],\n [\"path\", { d: \"M6 14h2v6\", key: \"16z9wg\" }],\n [\"path\", { d: \"M14 4h2v6\", key: \"1idq9u\" }]\n ]\n};\n__iconData.node;\nconst Binary = createLucideIcon(__iconData);\n\nexport { __iconData, Binary as default };\n//# sourceMappingURL=binary.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"blocks\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2\",\n key: \"1ah6g2\"\n }\n ],\n [\"rect\", { x: \"14\", y: \"2\", width: \"8\", height: \"8\", rx: \"1\", key: \"88lufb\" }]\n ]\n};\n__iconData.node;\nconst Blocks = createLucideIcon(__iconData);\n\nexport { __iconData, Blocks as default };\n//# sourceMappingURL=blocks.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"calendar\",\n size: 24,\n node: [\n [\"path\", { d: \"M8 2v3\", key: \"1ioesn\" }],\n [\"path\", { d: \"M16 2v3\", key: \"otl347\" }],\n [\"rect\", { x: \"3\", y: \"3\", width: \"18\", height: \"18\", rx: \"2\", key: \"h1oib\" }],\n [\"path\", { d: \"M3 9h18\", key: \"1pudct\" }]\n ]\n};\n__iconData.node;\nconst Calendar = createLucideIcon(__iconData);\n\nexport { __iconData, Calendar as default };\n//# sourceMappingURL=calendar.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"component\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\",\n key: \"1uwlt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z\",\n key: \"10291m\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z\",\n key: \"1tqoq1\"\n }\n ],\n [\n \"path\",\n {\n d: \"M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\",\n key: \"1x6lto\"\n }\n ]\n ]\n};\n__iconData.node;\nconst Component = createLucideIcon(__iconData);\n\nexport { __iconData, Component as default };\n//# sourceMappingURL=component.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"earth\",\n size: 24,\n node: [\n [\"path\", { d: \"M21.54 15H17a2 2 0 0 0-2 2v4.54\", key: \"1djwo0\" }],\n [\n \"path\",\n {\n d: \"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17\",\n key: \"1tzkfa\"\n }\n ],\n [\n \"path\",\n { d: \"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05\", key: \"14pb5j\" }\n ],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]\n ],\n aliases: [\"globe-2\"]\n};\n__iconData.node;\nconst Earth = createLucideIcon(__iconData);\n\nexport { __iconData, Earth as default };\n//# sourceMappingURL=earth.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"fingerprint-pattern\",\n size: 24,\n node: [\n [\"path\", { d: \"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4\", key: \"1nerag\" }],\n [\"path\", { d: \"M14 13.12c0 2.38 0 6.38-1 8.88\", key: \"o46ks0\" }],\n [\"path\", { d: \"M17.29 21.02c.12-.6.43-2.3.5-3.02\", key: \"ptglia\" }],\n [\"path\", { d: \"M2 12a10 10 0 0 1 18-6\", key: \"ydlgp0\" }],\n [\"path\", { d: \"M2 16h.01\", key: \"1gqxmh\" }],\n [\"path\", { d: \"M21.8 16c.2-2 .131-5.354 0-6\", key: \"drycrb\" }],\n [\"path\", { d: \"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2\", key: \"1tidbn\" }],\n [\"path\", { d: \"M8.65 22c.21-.66.45-1.32.57-2\", key: \"13wd9y\" }],\n [\"path\", { d: \"M9 6.8a6 6 0 0 1 9 5.2v2\", key: \"1fr1j5\" }]\n ],\n aliases: [\"fingerprint\"]\n};\n__iconData.node;\nconst FingerprintPattern = createLucideIcon(__iconData);\n\nexport { __iconData, FingerprintPattern as default };\n//# sourceMappingURL=fingerprint-pattern.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"hash\",\n size: 24,\n node: [\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"9\", y2: \"9\", key: \"4lhtct\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"15\", y2: \"15\", key: \"vyu0kd\" }],\n [\"line\", { x1: \"10\", x2: \"8\", y1: \"3\", y2: \"21\", key: \"1ggp8o\" }],\n [\"line\", { x1: \"16\", x2: \"14\", y1: \"3\", y2: \"21\", key: \"weycgp\" }]\n ]\n};\n__iconData.node;\nconst Hash = createLucideIcon(__iconData);\n\nexport { __iconData, Hash as default };\n//# sourceMappingURL=hash.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"layout-list\",\n size: 24,\n node: [\n [\"rect\", { width: \"7\", height: \"7\", x: \"3\", y: \"3\", rx: \"1\", key: \"1g98yp\" }],\n [\"rect\", { width: \"7\", height: \"7\", x: \"3\", y: \"14\", rx: \"1\", key: \"1bb6yr\" }],\n [\"path\", { d: \"M14 4h7\", key: \"3xa0d5\" }],\n [\"path\", { d: \"M14 9h7\", key: \"1icrd9\" }],\n [\"path\", { d: \"M14 15h7\", key: \"1mj8o2\" }],\n [\"path\", { d: \"M14 20h7\", key: \"11slyb\" }]\n ]\n};\n__iconData.node;\nconst LayoutList = createLucideIcon(__iconData);\n\nexport { __iconData, LayoutList as default };\n//# sourceMappingURL=layout-list.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"mail\",\n size: 24,\n node: [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n ]\n};\n__iconData.node;\nconst Mail = createLucideIcon(__iconData);\n\nexport { __iconData, Mail as default };\n//# sourceMappingURL=mail.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"percent\",\n size: 24,\n node: [\n [\"line\", { x1: \"19\", x2: \"5\", y1: \"5\", y2: \"19\", key: \"1x9vlm\" }],\n [\"circle\", { cx: \"6.5\", cy: \"6.5\", r: \"2.5\", key: \"4mh3h7\" }],\n [\"circle\", { cx: \"17.5\", cy: \"17.5\", r: \"2.5\", key: \"1mdrzq\" }]\n ]\n};\n__iconData.node;\nconst Percent = createLucideIcon(__iconData);\n\nexport { __iconData, Percent as default };\n//# sourceMappingURL=percent.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"sigma\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M18 7V5a1 1 0 0 0-1-1H6.5a.5.5 0 0 0-.4.8l4.5 6a2 2 0 0 1 0 2.4l-4.5 6a.5.5 0 0 0 .4.8H17a1 1 0 0 0 1-1v-2\",\n key: \"wuwx1p\"\n }\n ]\n ]\n};\n__iconData.node;\nconst Sigma = createLucideIcon(__iconData);\n\nexport { __iconData, Sigma as default };\n//# sourceMappingURL=sigma.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"text-align-start\",\n size: 24,\n node: [\n [\"path\", { d: \"M21 5H3\", key: \"1fi0y6\" }],\n [\"path\", { d: \"M15 12H3\", key: \"6jk70r\" }],\n [\"path\", { d: \"M17 19H3\", key: \"z6ezky\" }]\n ],\n aliases: [\"text\", \"align-left\"]\n};\n__iconData.node;\nconst TextAlignStart = createLucideIcon(__iconData);\n\nexport { __iconData, TextAlignStart as default };\n//# sourceMappingURL=text-align-start.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"text-cursor-input\",\n size: 24,\n node: [\n [\"path\", { d: \"M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6\", key: \"1528k5\" }],\n [\"path\", { d: \"M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7\", key: \"13ksps\" }],\n [\"path\", { d: \"M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1\", key: \"1n9rhb\" }],\n [\"path\", { d: \"M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1\", key: \"1mj8rg\" }],\n [\"path\", { d: \"M9 6v12\", key: \"velyjx\" }]\n ]\n};\n__iconData.node;\nconst TextCursorInput = createLucideIcon(__iconData);\n\nexport { __iconData, TextCursorInput as default };\n//# sourceMappingURL=text-cursor-input.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"toggle-left\",\n size: 24,\n node: [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"3\", key: \"u3jwor\" }],\n [\"rect\", { width: \"20\", height: \"14\", x: \"2\", y: \"5\", rx: \"7\", key: \"g7kal2\" }]\n ]\n};\n__iconData.node;\nconst ToggleLeft = createLucideIcon(__iconData);\n\nexport { __iconData, ToggleLeft as default };\n//# sourceMappingURL=toggle-left.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"type\",\n size: 24,\n node: [\n [\"path\", { d: \"M12 4v16\", key: \"1654pz\" }],\n [\"path\", { d: \"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2\", key: \"e0r10z\" }],\n [\"path\", { d: \"M9 20h6\", key: \"s66wpe\" }]\n ]\n};\n__iconData.node;\nconst Type = createLucideIcon(__iconData);\n\nexport { __iconData, Type as default };\n//# sourceMappingURL=type.mjs.map\n","import type { DefinitionCategory } from '@shapio/client';\nimport type { DataType, DefinitionKind } from '@shapio/schema';\nimport {\n AlignLeft,\n Binary,\n Blocks,\n Braces,\n Calendar,\n CalendarClock,\n Clock,\n Code,\n Component,\n FileText,\n Fingerprint,\n Hash,\n Image,\n Layers,\n LayoutList,\n Link,\n Link2,\n List,\n Mail,\n Percent,\n Sigma,\n TextCursorInput,\n ToggleLeft,\n Type,\n type LucideIcon,\n} from 'lucide-react';\n\n/** The tabs the old Models screen had (`/models?tab=` still redirects by them). */\nexport const MODEL_TABS = ['collections', 'singletons', 'components'] as const;\nexport type ModelTab = (typeof MODEL_TABS)[number];\n\n/** The kinds `/models/new?kind=` accepts (the search schema can't import @shapio/schema: it loads lazily). */\nexport const NEW_DEFINITION_KINDS = [\n 'collection',\n 'singleton',\n 'component',\n] as const satisfies readonly DefinitionKind[];\n\nexport const categoryOfKind = (kind: DefinitionKind): DefinitionCategory =>\n kind === 'component' ? 'component' : 'model';\n\nexport const KIND_LABEL_KEYS = {\n collection: 'models.kinds.collection',\n singleton: 'models.kinds.singleton',\n component: 'models.kinds.component',\n} as const satisfies Record<DefinitionKind, string>;\n\nexport const KIND_DESCRIPTION_KEYS = {\n collection: 'models.kinds.collectionDescription',\n singleton: 'models.kinds.singletonDescription',\n component: 'models.kinds.componentDescription',\n} as const satisfies Record<DefinitionKind, string>;\n\nexport const KIND_ICONS: Readonly<Record<DefinitionKind, LucideIcon>> = {\n collection: LayoutList,\n singleton: FileText,\n component: Component,\n};\n\nexport const DATA_TYPE_ICONS: Readonly<Record<DataType, LucideIcon>> = {\n string: Type,\n text: AlignLeft,\n code: Code,\n richtext: TextCursorInput,\n number: Sigma,\n integer: Hash,\n decimal: Percent,\n biginteger: Binary,\n boolean: ToggleLeft,\n date: Calendar,\n datetime: CalendarClock,\n time: Clock,\n enum: List,\n json: Braces,\n slug: Link2,\n email: Mail,\n url: Link,\n uid: Fingerprint,\n media: Image,\n relation: Layers,\n component: Component,\n dynamiczone: Blocks,\n};\n\n/** Data types offered for component definitions exclude nothing; models and components share the list. */\nexport const DATA_TYPE_GROUPS: readonly {\n key: 'text' | 'number' | 'choice' | 'time' | 'structure';\n types: readonly DataType[];\n}[] = [\n { key: 'text', types: ['string', 'text', 'richtext', 'code', 'slug', 'email', 'url', 'uid'] },\n { key: 'number', types: ['number', 'integer', 'decimal', 'biginteger'] },\n { key: 'choice', types: ['boolean', 'enum', 'json'] },\n { key: 'time', types: ['date', 'datetime', 'time'] },\n { key: 'structure', types: ['media', 'relation', 'component', 'dynamiczone'] },\n];\n\n/** How a plan change is applied (see helpers/planBuckets), as shown on its chip. */\nexport const PLAN_BUCKET_LABEL_KEYS = {\n breaking: 'models.plan.buckets.breaking',\n prerequisites: 'models.plan.buckets.prerequisites',\n live: 'models.plan.buckets.live',\n metadata: 'models.plan.buckets.metadata',\n} as const;\n"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"mappings":"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"}