@shapio/cms 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/dist/admin/assets/{AssetTile-zOf0K0nN.js → AssetTile-B8ftUG4s.js} +2 -2
  2. package/dist/admin/assets/{AssetTile-zOf0K0nN.js.map → AssetTile-B8ftUG4s.js.map} +1 -1
  3. package/dist/admin/assets/{AssistError-D_vY2CO0.js → AssistError-BidlzaBY.js} +2 -2
  4. package/dist/admin/assets/{AssistError-D_vY2CO0.js.map → AssistError-BidlzaBY.js.map} +1 -1
  5. package/dist/admin/assets/{BlockMenuItems-BEnSpClj.js → BlockMenuItems-DfNBHqVM.js} +2 -2
  6. package/dist/admin/assets/{BlockMenuItems-BEnSpClj.js.map → BlockMenuItems-DfNBHqVM.js.map} +1 -1
  7. package/dist/admin/assets/{Body-B_IVN5wp.js → Body-C0oQSX6L.js} +2 -2
  8. package/dist/admin/assets/{Body-B_IVN5wp.js.map → Body-C0oQSX6L.js.map} +1 -1
  9. package/dist/admin/assets/{Builder-CnEtRudv.js → Builder-Z_hcyzNW.js} +2 -2
  10. package/dist/admin/assets/{Builder-CnEtRudv.js.map → Builder-Z_hcyzNW.js.map} +1 -1
  11. package/dist/admin/assets/{ConfirmDialog-BW-l3Whg.js → ConfirmDialog-DVN-n-tE.js} +2 -2
  12. package/dist/admin/assets/{ConfirmDialog-BW-l3Whg.js.map → ConfirmDialog-DVN-n-tE.js.map} +1 -1
  13. package/dist/admin/assets/{CopyButton-CyoUMStc.js → CopyButton--tHegXQr.js} +2 -2
  14. package/dist/admin/assets/{CopyButton-CyoUMStc.js.map → CopyButton--tHegXQr.js.map} +1 -1
  15. package/dist/admin/assets/{CursorPager-BW2Dl_hn.js → CursorPager-Cb94mITn.js} +2 -2
  16. package/dist/admin/assets/{CursorPager-BW2Dl_hn.js.map → CursorPager-Cb94mITn.js.map} +1 -1
  17. package/dist/admin/assets/{ExternalLink-BCI0q9ib.js → ExternalLink-M1cb1n2n.js} +2 -2
  18. package/dist/admin/assets/{ExternalLink-BCI0q9ib.js.map → ExternalLink-M1cb1n2n.js.map} +1 -1
  19. package/dist/admin/assets/{FocalPoint-CxicvlJO.js → FocalPoint-pTq17ngi.js} +2 -2
  20. package/dist/admin/assets/{FocalPoint-CxicvlJO.js.map → FocalPoint-pTq17ngi.js.map} +1 -1
  21. package/dist/admin/assets/{Form-DB03drS9.js → Form-4zah109J.js} +2 -2
  22. package/dist/admin/assets/{Form-DB03drS9.js.map → Form-4zah109J.js.map} +1 -1
  23. package/dist/admin/assets/FormCheckboxGroup-DAeuGKAU.js +2 -0
  24. package/dist/admin/assets/FormCheckboxGroup-DAeuGKAU.js.map +1 -0
  25. package/dist/admin/assets/{FormRadioGroup-BvSC8SRm.js → FormRadioGroup--xx08rw6.js} +2 -2
  26. package/dist/admin/assets/{FormRadioGroup-BvSC8SRm.js.map → FormRadioGroup--xx08rw6.js.map} +1 -1
  27. package/dist/admin/assets/{FormSelectField-BDIVhZh6.js → FormSelectField-DNOCQKqc.js} +2 -2
  28. package/dist/admin/assets/{FormSelectField-BDIVhZh6.js.map → FormSelectField-DNOCQKqc.js.map} +1 -1
  29. package/dist/admin/assets/{FormSwitchField-OM4F8ln4.js → FormSwitchField-BECl-pzH.js} +2 -2
  30. package/dist/admin/assets/{FormSwitchField-OM4F8ln4.js.map → FormSwitchField-BECl-pzH.js.map} +1 -1
  31. package/dist/admin/assets/{FormTextareaField-Bw7EkC4H.js → FormTextareaField-DmRuKDJ_.js} +2 -2
  32. package/dist/admin/assets/{FormTextareaField-Bw7EkC4H.js.map → FormTextareaField-DmRuKDJ_.js.map} +1 -1
  33. package/dist/admin/assets/{HintedLabel-BGidukgy.js → HintedLabel-DIEBvftx.js} +2 -2
  34. package/dist/admin/assets/{HintedLabel-BGidukgy.js.map → HintedLabel-DIEBvftx.js.map} +1 -1
  35. package/dist/admin/assets/{InfoHint-D3uwei-E.js → InfoHint-BdAadb9U.js} +2 -2
  36. package/dist/admin/assets/{InfoHint-D3uwei-E.js.map → InfoHint-BdAadb9U.js.map} +1 -1
  37. package/dist/admin/assets/{InsertMenuItem-DAihGvbw.js → InsertMenuItem-oh0NJrhB.js} +2 -2
  38. package/dist/admin/assets/{InsertMenuItem-DAihGvbw.js.map → InsertMenuItem-oh0NJrhB.js.map} +1 -1
  39. package/dist/admin/assets/{LinkTabs-DBXbfzME.js → LinkTabs-EBgHX4Uh.js} +2 -2
  40. package/dist/admin/assets/{LinkTabs-DBXbfzME.js.map → LinkTabs-EBgHX4Uh.js.map} +1 -1
  41. package/dist/admin/assets/{Match-CgfZTzqs.js → Match-CvpSNEfi.js} +2 -2
  42. package/dist/admin/assets/{Match-CgfZTzqs.js.map → Match-CvpSNEfi.js.map} +1 -1
  43. package/dist/admin/assets/{Panel-DDky5_x9.js → Panel-BV1BpNCn.js} +2 -2
  44. package/dist/admin/assets/{Panel-DDky5_x9.js.map → Panel-BV1BpNCn.js.map} +1 -1
  45. package/dist/admin/assets/{QueryView-C2d392ly.js → QueryView-Bbw1eiV2.js} +2 -2
  46. package/dist/admin/assets/{QueryView-C2d392ly.js.map → QueryView-Bbw1eiV2.js.map} +1 -1
  47. package/dist/admin/assets/{RadioTile-CcP78eb_.js → RadioTile-CSYW-8gL.js} +2 -2
  48. package/dist/admin/assets/{RadioTile-CcP78eb_.js.map → RadioTile-CSYW-8gL.js.map} +1 -1
  49. package/dist/admin/assets/{RichTextField-CeztaFET.js → RichTextField-BDb67rCi.js} +2 -2
  50. package/dist/admin/assets/{RichTextField-CeztaFET.js.map → RichTextField-BDb67rCi.js.map} +1 -1
  51. package/dist/admin/assets/{RowTitle-mkKp4yfl.js → RowTitle-Cted2GP8.js} +2 -2
  52. package/dist/admin/assets/{RowTitle-mkKp4yfl.js.map → RowTitle-Cted2GP8.js.map} +1 -1
  53. package/dist/admin/assets/SecretReveal-Ccaul96d.js +2 -0
  54. package/dist/admin/assets/SecretReveal-Ccaul96d.js.map +1 -0
  55. package/dist/admin/assets/{SharedGlyph-CuDT7OUU.js → SharedGlyph-BrLi3Hug.js} +2 -2
  56. package/dist/admin/assets/{SharedGlyph-CuDT7OUU.js.map → SharedGlyph-BrLi3Hug.js.map} +1 -1
  57. package/dist/admin/assets/{StepList-BDO0Q3Wc.js → StepList-BLvElvPV.js} +2 -2
  58. package/dist/admin/assets/{StepList-BDO0Q3Wc.js.map → StepList-BLvElvPV.js.map} +1 -1
  59. package/dist/admin/assets/Structure-CRNAuVY7.js +2 -0
  60. package/dist/admin/assets/{Structure-CL_0hVci.js.map → Structure-CRNAuVY7.js.map} +1 -1
  61. package/dist/admin/assets/{SubNavLink-C4eSybWd.js → SubNavLink-biGV5ozd.js} +2 -2
  62. package/dist/admin/assets/{SubNavLink-C4eSybWd.js.map → SubNavLink-biGV5ozd.js.map} +1 -1
  63. package/dist/admin/assets/{SuggestAltButton-CxYlhwyd.js → SuggestAltButton-CrFiRWGr.js} +2 -2
  64. package/dist/admin/assets/{SuggestAltButton-CxYlhwyd.js.map → SuggestAltButton-CrFiRWGr.js.map} +1 -1
  65. package/dist/admin/assets/{TextLink-DzNaAft6.js → TextLink-BPLbXw2n.js} +2 -2
  66. package/dist/admin/assets/{TextLink-DzNaAft6.js.map → TextLink-BPLbXw2n.js.map} +1 -1
  67. package/dist/admin/assets/{Thumbnail-DSPArZ9h.js → Thumbnail-B_TWlgEz.js} +2 -2
  68. package/dist/admin/assets/{Thumbnail-DSPArZ9h.js.map → Thumbnail-B_TWlgEz.js.map} +1 -1
  69. package/dist/admin/assets/{UnsavedChangesGuard-BPOCBD5T.js → UnsavedChangesGuard-CrzR2boF.js} +2 -2
  70. package/dist/admin/assets/{UnsavedChangesGuard-BPOCBD5T.js.map → UnsavedChangesGuard-CrzR2boF.js.map} +1 -1
  71. package/dist/admin/assets/{UserAvatar-BHNWHDVb.js → UserAvatar-W-S3st7E.js} +2 -2
  72. package/dist/admin/assets/{UserAvatar-BHNWHDVb.js.map → UserAvatar-W-S3st7E.js.map} +1 -1
  73. package/dist/admin/assets/{auth-BzCgJtgr.js → auth-cXFFyABE.js} +2 -2
  74. package/dist/admin/assets/{auth-BzCgJtgr.js.map → auth-cXFFyABE.js.map} +1 -1
  75. package/dist/admin/assets/{badge-DBoaS0nQ.js → badge-DrPwivGk.js} +2 -2
  76. package/dist/admin/assets/{badge-DBoaS0nQ.js.map → badge-DrPwivGk.js.map} +1 -1
  77. package/dist/admin/assets/{boxes-DhN0ctLo.js → boxes-CKJ6P9VA.js} +2 -2
  78. package/dist/admin/assets/{boxes-DhN0ctLo.js.map → boxes-CKJ6P9VA.js.map} +1 -1
  79. package/dist/admin/assets/{calendar-clock-BEA3tG17.js → calendar-clock-DPyjti63.js} +2 -2
  80. package/dist/admin/assets/{calendar-clock-BEA3tG17.js.map → calendar-clock-DPyjti63.js.map} +1 -1
  81. package/dist/admin/assets/{changeSets-C54Ku-X9.js → changeSets-DYGm5j1A.js} +2 -2
  82. package/dist/admin/assets/{changeSets-C54Ku-X9.js.map → changeSets-DYGm5j1A.js.map} +1 -1
  83. package/dist/admin/assets/chevron-left-DIp5sJuv.js +2 -0
  84. package/dist/admin/assets/{chevron-left-BeJdUVAX.js.map → chevron-left-DIp5sJuv.js.map} +1 -1
  85. package/dist/admin/assets/{circle-check-ktACw37r.js → circle-check-VXPKg4cE.js} +2 -2
  86. package/dist/admin/assets/{circle-check-ktACw37r.js.map → circle-check-VXPKg4cE.js.map} +1 -1
  87. package/dist/admin/assets/{clock-BKNNASKp.js → clock-DNhupIko.js} +2 -2
  88. package/dist/admin/assets/{clock-BKNNASKp.js.map → clock-DNhupIko.js.map} +1 -1
  89. package/dist/admin/assets/cn-CEPUgFbZ.js +2 -0
  90. package/dist/admin/assets/cn-CEPUgFbZ.js.map +1 -0
  91. package/dist/admin/assets/coerce-BxuBjZdf.js +2 -0
  92. package/dist/admin/assets/{coerce-DDQ1vGLx.js.map → coerce-BxuBjZdf.js.map} +1 -1
  93. package/dist/admin/assets/{constants-DH7oqfO_.js → constants-B9cNrCXV.js} +2 -2
  94. package/dist/admin/assets/{constants-DH7oqfO_.js.map → constants-B9cNrCXV.js.map} +1 -1
  95. package/dist/admin/assets/{content-BptqQO8c.js → content-DjyCdi4c.js} +3 -3
  96. package/dist/admin/assets/{content-BptqQO8c.js.map → content-DjyCdi4c.js.map} +1 -1
  97. package/dist/admin/assets/{contentCounts-BpGlmyeZ.js → contentCounts-CX15iYcR.js} +2 -2
  98. package/dist/admin/assets/{contentCounts-BpGlmyeZ.js.map → contentCounts-CX15iYcR.js.map} +1 -1
  99. package/dist/admin/assets/{contentTypes-B_mAlIcH.js → contentTypes-FgyxLhlk.js} +2 -2
  100. package/dist/admin/assets/{contentTypes-B_mAlIcH.js.map → contentTypes-FgyxLhlk.js.map} +1 -1
  101. package/dist/admin/assets/{context-DyyMW7Md.js → context-FqJXjS5k.js} +2 -2
  102. package/dist/admin/assets/{context-DyyMW7Md.js.map → context-FqJXjS5k.js.map} +1 -1
  103. package/dist/admin/assets/{copy-DjzlFY9u.js → copy-CoHbtS-Y.js} +2 -2
  104. package/dist/admin/assets/{copy-DjzlFY9u.js.map → copy-CoHbtS-Y.js.map} +1 -1
  105. package/dist/admin/assets/{dateTimeLocal-DFXY779D.js → dateTimeLocal-BxmDLO_H.js} +2 -2
  106. package/dist/admin/assets/{dateTimeLocal-DFXY779D.js.map → dateTimeLocal-BxmDLO_H.js.map} +1 -1
  107. package/dist/admin/assets/{develop-DJap_z-1.js → develop-gx8WeWv4.js} +2 -2
  108. package/dist/admin/assets/{develop-DJap_z-1.js.map → develop-gx8WeWv4.js.map} +1 -1
  109. package/dist/admin/assets/{dropdown-menu-DGSMTf23.js → dropdown-menu-BG1rctRQ.js} +2 -2
  110. package/dist/admin/assets/{dropdown-menu-DGSMTf23.js.map → dropdown-menu-BG1rctRQ.js.map} +1 -1
  111. package/dist/admin/assets/{ellipsis-BMP-j3yO.js → ellipsis-DHfP1Ah2.js} +2 -2
  112. package/dist/admin/assets/{ellipsis-BMP-j3yO.js.map → ellipsis-DHfP1Ah2.js.map} +1 -1
  113. package/dist/admin/assets/{external-link-DzOkt97S.js → external-link-itxcNtaX.js} +2 -2
  114. package/dist/admin/assets/{external-link-DzOkt97S.js.map → external-link-itxcNtaX.js.map} +1 -1
  115. package/dist/admin/assets/{fileRoute-CG0Dufvt.js → fileRoute-BZ0pGGsh.js} +2 -2
  116. package/dist/admin/assets/{fileRoute-CG0Dufvt.js.map → fileRoute-BZ0pGGsh.js.map} +1 -1
  117. package/dist/admin/assets/{folder-plus-C-LhI4a2.js → folder-plus-BgsfY_6i.js} +2 -2
  118. package/dist/admin/assets/{folder-plus-C-LhI4a2.js.map → folder-plus-BgsfY_6i.js.map} +1 -1
  119. package/dist/admin/assets/{followPlural-D-8kzFOe.js → followPlural-BqjqhHmz.js} +2 -2
  120. package/dist/admin/assets/{followPlural-D-8kzFOe.js.map → followPlural-BqjqhHmz.js.map} +1 -1
  121. package/dist/admin/assets/{globe-DOoGBy23.js → globe-RjXj4P-A.js} +2 -2
  122. package/dist/admin/assets/{globe-DOoGBy23.js.map → globe-RjXj4P-A.js.map} +1 -1
  123. package/dist/admin/assets/{image-D9p_gGE2.js → image-4itB4TLl.js} +2 -2
  124. package/dist/admin/assets/{image-D9p_gGE2.js.map → image-4itB4TLl.js.map} +1 -1
  125. package/dist/admin/assets/{image-off-G0M2Nh1I.js → image-off-CokIymyg.js} +2 -2
  126. package/dist/admin/assets/{image-off-G0M2Nh1I.js.map → image-off-CokIymyg.js.map} +1 -1
  127. package/dist/admin/assets/{inbox-XaM-nvsM.js → inbox-8AAyyM0T.js} +2 -2
  128. package/dist/admin/assets/{inbox-XaM-nvsM.js.map → inbox-8AAyyM0T.js.map} +1 -1
  129. package/dist/admin/assets/{inbox-CMzYVMZo.js → inbox-97pzmuus.js} +2 -2
  130. package/dist/admin/assets/{inbox-CMzYVMZo.js.map → inbox-97pzmuus.js.map} +1 -1
  131. package/dist/admin/assets/{index-DHmfMpqz.js → index-cpiZvLck.js} +4 -4
  132. package/dist/admin/assets/{index-DHmfMpqz.js.map → index-cpiZvLck.js.map} +1 -1
  133. package/dist/admin/assets/{key-round-HBvMrmMo.js → key-round-Dc4_SOi-.js} +2 -2
  134. package/dist/admin/assets/{key-round-HBvMrmMo.js.map → key-round-Dc4_SOi-.js.map} +1 -1
  135. package/dist/admin/assets/{languages-BOv0jYhe.js → languages-DR2K97A5.js} +2 -2
  136. package/dist/admin/assets/{languages-BOv0jYhe.js.map → languages-DR2K97A5.js.map} +1 -1
  137. package/dist/admin/assets/{layers-CkZyCaeb.js → layers-ZPmcbieN.js} +2 -2
  138. package/dist/admin/assets/{layers-CkZyCaeb.js.map → layers-ZPmcbieN.js.map} +1 -1
  139. package/dist/admin/assets/{link-2-off-UUkSmPIL.js → link-2-off-D_5_hkT7.js} +2 -2
  140. package/dist/admin/assets/{link-2-off-UUkSmPIL.js.map → link-2-off-D_5_hkT7.js.map} +1 -1
  141. package/dist/admin/assets/{link-Bvqcg7db.js → link-BnDFFyvi.js} +2 -2
  142. package/dist/admin/assets/{link-Bvqcg7db.js.map → link-BnDFFyvi.js.map} +1 -1
  143. package/dist/admin/assets/{locales-DbrcdhZi.js → locales-D-21t-l-.js} +2 -2
  144. package/dist/admin/assets/{locales-DbrcdhZi.js.map → locales-D-21t-l-.js.map} +1 -1
  145. package/dist/admin/assets/{media-ugEyLgwN.js → media-D7aimjyy.js} +2 -2
  146. package/dist/admin/assets/{media-ugEyLgwN.js.map → media-D7aimjyy.js.map} +1 -1
  147. package/dist/admin/assets/{media-CO0HSS3b.js → media-Db0cHYNY.js} +2 -2
  148. package/dist/admin/assets/{media-CO0HSS3b.js.map → media-Db0cHYNY.js.map} +1 -1
  149. package/dist/admin/assets/network-l_oLT5fa.js +2 -0
  150. package/dist/admin/assets/network-l_oLT5fa.js.map +1 -0
  151. package/dist/admin/assets/{pencil-BLNGNJmL.js → pencil-Cn8c_gtv.js} +2 -2
  152. package/dist/admin/assets/{pencil-BLNGNJmL.js.map → pencil-Cn8c_gtv.js.map} +1 -1
  153. package/dist/admin/assets/{plus-BXMBYPoB.js → plus-yxvf4aAT.js} +2 -2
  154. package/dist/admin/assets/{plus-BXMBYPoB.js.map → plus-yxvf4aAT.js.map} +1 -1
  155. package/dist/admin/assets/{preload-helper-DEbJbZwX.js → preload-helper-pwSesV5P.js} +2 -2
  156. package/dist/admin/assets/{preload-helper-DEbJbZwX.js.map → preload-helper-pwSesV5P.js.map} +1 -1
  157. package/dist/admin/assets/{publishing-DKrATBaj.js → publishing-PQLCOnvu.js} +2 -2
  158. package/dist/admin/assets/{publishing-DKrATBaj.js.map → publishing-PQLCOnvu.js.map} +1 -1
  159. package/dist/admin/assets/{radio-group-BIhT_uEK.js → radio-group-Fc2ENIMO.js} +2 -2
  160. package/dist/admin/assets/{radio-group-BIhT_uEK.js.map → radio-group-Fc2ENIMO.js.map} +1 -1
  161. package/dist/admin/assets/{rotate-ccw-DqbffhiC.js → rotate-ccw-BHa0BHug.js} +2 -2
  162. package/dist/admin/assets/{rotate-ccw-DqbffhiC.js.map → rotate-ccw-BHa0BHug.js.map} +1 -1
  163. package/dist/admin/assets/{schedules-CETl2eLe.js → schedules-B8y_GnqX.js} +2 -2
  164. package/dist/admin/assets/{schedules-CETl2eLe.js.map → schedules-B8y_GnqX.js.map} +1 -1
  165. package/dist/admin/assets/{schema-CWHuez0q.js → schema-BJHcYshf.js} +2 -2
  166. package/dist/admin/assets/{schema-CWHuez0q.js.map → schema-BJHcYshf.js.map} +1 -1
  167. package/dist/admin/assets/{scroll-text-DlcDEi2k.js → scroll-text-BHLmZpBB.js} +2 -2
  168. package/dist/admin/assets/{scroll-text-DlcDEi2k.js.map → scroll-text-BHLmZpBB.js.map} +1 -1
  169. package/dist/admin/assets/{search-Dy2dtwyR.js → search-D3GGSaSL.js} +2 -2
  170. package/dist/admin/assets/{search-Dy2dtwyR.js.map → search-D3GGSaSL.js.map} +1 -1
  171. package/dist/admin/assets/{searchSchemas-Cz4P1iku.js → searchSchemas-C4dnYI9a.js} +2 -2
  172. package/dist/admin/assets/{searchSchemas-Cz4P1iku.js.map → searchSchemas-C4dnYI9a.js.map} +1 -1
  173. package/dist/admin/assets/{sections-BfG6DTFr.js → sections-BWoTaw2B.js} +2 -2
  174. package/dist/admin/assets/{sections-BfG6DTFr.js.map → sections-BWoTaw2B.js.map} +1 -1
  175. package/dist/admin/assets/{sections-EgXyXN3-.js → sections-eeTU636D.js} +2 -2
  176. package/dist/admin/assets/{sections-EgXyXN3-.js.map → sections-eeTU636D.js.map} +1 -1
  177. package/dist/admin/assets/{select--mePTdz8.js → select-BMi4G1Ib.js} +2 -2
  178. package/dist/admin/assets/{select--mePTdz8.js.map → select-BMi4G1Ib.js.map} +1 -1
  179. package/dist/admin/assets/{send-DVgq5Iwg.js → send-Bqhmg9HP.js} +2 -2
  180. package/dist/admin/assets/{send-DVgq5Iwg.js.map → send-Bqhmg9HP.js.map} +1 -1
  181. package/dist/admin/assets/{seo-Zhb62Ojz.js → seo-BL9C7Yt3.js} +2 -2
  182. package/dist/admin/assets/{seo-Zhb62Ojz.js.map → seo-BL9C7Yt3.js.map} +1 -1
  183. package/dist/admin/assets/settings-D-nW3wQb.js +2 -0
  184. package/dist/admin/assets/settings-D-nW3wQb.js.map +1 -0
  185. package/dist/admin/assets/skeleton-BPLAzyDo.js +42 -0
  186. package/dist/admin/assets/skeleton-BPLAzyDo.js.map +1 -0
  187. package/dist/admin/assets/{snapshots-BpLhILlt.js → snapshots-COSUeZBP.js} +2 -2
  188. package/dist/admin/assets/{snapshots-BpLhILlt.js.map → snapshots-COSUeZBP.js.map} +1 -1
  189. package/dist/admin/assets/{sparkles-Dd6S_roX.js → sparkles-CykwtKTd.js} +2 -2
  190. package/dist/admin/assets/{sparkles-Dd6S_roX.js.map → sparkles-CykwtKTd.js.map} +1 -1
  191. package/dist/admin/assets/{stableId-DFVM13gJ.js → stableId-DfJkQUV3.js} +2 -2
  192. package/dist/admin/assets/{stableId-DFVM13gJ.js.map → stableId-DfJkQUV3.js.map} +1 -1
  193. package/dist/admin/assets/{store-BP-xStwU.js → store-GOGeP63I.js} +2 -2
  194. package/dist/admin/assets/{store-BP-xStwU.js.map → store-GOGeP63I.js.map} +1 -1
  195. package/dist/admin/assets/{switch-skVypg5O.js → switch-XRU_EOoM.js} +2 -2
  196. package/dist/admin/assets/{switch-skVypg5O.js.map → switch-XRU_EOoM.js.map} +1 -1
  197. package/dist/admin/assets/{table-BMbbRUK9.js → table-CLVW6uJB.js} +2 -2
  198. package/dist/admin/assets/{table-BMbbRUK9.js.map → table-CLVW6uJB.js.map} +1 -1
  199. package/dist/admin/assets/{tabs-C1lgOg1B.js → tabs-DB42Xljn.js} +3 -3
  200. package/dist/admin/assets/{tabs-C1lgOg1B.js.map → tabs-DB42Xljn.js.map} +1 -1
  201. package/dist/admin/assets/{textarea-CffBBxoQ.js → textarea-DcsLGCkq.js} +2 -2
  202. package/dist/admin/assets/{textarea-CffBBxoQ.js.map → textarea-DcsLGCkq.js.map} +1 -1
  203. package/dist/admin/assets/{theme-RHTVnR9j.js → theme-CnSar6tt.js} +2 -2
  204. package/dist/admin/assets/{theme-RHTVnR9j.js.map → theme-CnSar6tt.js.map} +1 -1
  205. package/dist/admin/assets/{titles-DWiPmNvn.js → titles-DluirfBO.js} +2 -2
  206. package/dist/admin/assets/{titles-DWiPmNvn.js.map → titles-DluirfBO.js.map} +1 -1
  207. package/dist/admin/assets/{tokens-BqyeN1D-.js → tokens-CQooB8Sf.js} +2 -2
  208. package/dist/admin/assets/{tokens-BqyeN1D-.js.map → tokens-CQooB8Sf.js.map} +1 -1
  209. package/dist/admin/assets/{tooltip-BfSF6EyR.js → tooltip-xfZn0Fla.js} +2 -2
  210. package/dist/admin/assets/{tooltip-BfSF6EyR.js.map → tooltip-xfZn0Fla.js.map} +1 -1
  211. package/dist/admin/assets/{undo-2-p4YlNhBp.js → undo-2-B_QjuGmR.js} +2 -2
  212. package/dist/admin/assets/{undo-2-p4YlNhBp.js.map → undo-2-B_QjuGmR.js.map} +1 -1
  213. package/dist/admin/assets/{useAuditLabels-DV5gcaaG.js → useAuditLabels-BZPAj3wG.js} +2 -2
  214. package/dist/admin/assets/{useAuditLabels-DV5gcaaG.js.map → useAuditLabels-BZPAj3wG.js.map} +1 -1
  215. package/dist/admin/assets/{useConfirmTarget-DCvnxNVg.js → useConfirmTarget-B7iLg66j.js} +2 -2
  216. package/dist/admin/assets/{useConfirmTarget-DCvnxNVg.js.map → useConfirmTarget-B7iLg66j.js.map} +1 -1
  217. package/dist/admin/assets/{useContentSchema-z6tNif86.js → useContentSchema-BTyBYURX.js} +2 -2
  218. package/dist/admin/assets/{useContentSchema-z6tNif86.js.map → useContentSchema-BTyBYURX.js.map} +1 -1
  219. package/dist/admin/assets/{useCursorPager-CQGX41_L.js → useCursorPager-CTGOzl69.js} +2 -2
  220. package/dist/admin/assets/{useCursorPager-CQGX41_L.js.map → useCursorPager-CTGOzl69.js.map} +1 -1
  221. package/dist/admin/assets/{useDiscardGuard-Dhbif7VL.js → useDiscardGuard-CSkPw8iq.js} +2 -2
  222. package/dist/admin/assets/{useDiscardGuard-Dhbif7VL.js.map → useDiscardGuard-CSkPw8iq.js.map} +1 -1
  223. package/dist/admin/assets/{useMediaPickerDialog-D-5uKsMG.js → useMediaPickerDialog-W0jhN-hi.js} +2 -2
  224. package/dist/admin/assets/{useMediaPickerDialog-D-5uKsMG.js.map → useMediaPickerDialog-W0jhN-hi.js.map} +1 -1
  225. package/dist/admin/assets/{useMediaUploader-BtLoimmQ.js → useMediaUploader-BC5zCkQt.js} +2 -2
  226. package/dist/admin/assets/{useMediaUploader-BtLoimmQ.js.map → useMediaUploader-BC5zCkQt.js.map} +1 -1
  227. package/dist/admin/assets/{usePaletteItems-D3PZsW0Q.js → usePaletteItems-CqcKndUT.js} +2 -2
  228. package/dist/admin/assets/{usePaletteItems-D3PZsW0Q.js.map → usePaletteItems-CqcKndUT.js.map} +1 -1
  229. package/dist/admin/assets/{usePlaces-Cj5PljTy.js → usePlaces-o4Os5Nbv.js} +2 -2
  230. package/dist/admin/assets/{usePlaces-Cj5PljTy.js.map → usePlaces-o4Os5Nbv.js.map} +1 -1
  231. package/dist/admin/assets/{useQueries-CeDzli4Z.js → useQueries-BTnSD0k5.js} +2 -2
  232. package/dist/admin/assets/{useQueries-CeDzli4Z.js.map → useQueries-BTnSD0k5.js.map} +1 -1
  233. package/dist/admin/assets/{useResolvedScheme-DHD-zisP.js → useResolvedScheme-SoI-2Faf.js} +2 -2
  234. package/dist/admin/assets/{useResolvedScheme-DHD-zisP.js.map → useResolvedScheme-SoI-2Faf.js.map} +1 -1
  235. package/dist/admin/assets/{useSchemaScopeAccess-BNeVslcv.js → useSchemaScopeAccess-B4-31q7m.js} +2 -2
  236. package/dist/admin/assets/{useSchemaScopeAccess-BNeVslcv.js.map → useSchemaScopeAccess-B4-31q7m.js.map} +1 -1
  237. package/dist/admin/assets/{users-BRefbzuS.js → users-BVuapb3u.js} +2 -2
  238. package/dist/admin/assets/{users-BRefbzuS.js.map → users-BVuapb3u.js.map} +1 -1
  239. package/dist/admin/assets/{users-CppI8ctO.js → users-Oj5V5za_.js} +2 -2
  240. package/dist/admin/assets/{users-CppI8ctO.js.map → users-Oj5V5za_.js.map} +1 -1
  241. package/dist/admin/assets/{zod-Dcwk-m8X.js → zod-cTJwCa4E.js} +2 -2
  242. package/dist/admin/assets/{zod-Dcwk-m8X.js.map → zod-cTJwCa4E.js.map} +1 -1
  243. package/dist/admin/index.html +55 -55
  244. package/dist/cli.js +33 -18
  245. package/dist/cli.js.map +1 -1
  246. package/dist/config.d.ts +1 -1
  247. package/dist/index.d.ts +1 -1
  248. package/dist/index.js +1 -1
  249. package/dist/{public-DYR4mtVQ.d.ts → public-C027OJX6.d.ts} +12 -2
  250. package/dist/{s3Adapter-C8AgFVYw.js → s3Adapter-BipoQiwQ.js} +2 -2
  251. package/dist/{s3Adapter-C8AgFVYw.js.map → s3Adapter-BipoQiwQ.js.map} +1 -1
  252. package/dist/{worker-jz_0yAmS.js → worker-BU-V4qbH.js} +174 -60
  253. package/dist/worker-BU-V4qbH.js.map +1 -0
  254. package/package.json +5 -5
  255. package/dist/admin/assets/FormCheckboxGroup-JP1xzReQ.js +0 -2
  256. package/dist/admin/assets/FormCheckboxGroup-JP1xzReQ.js.map +0 -1
  257. package/dist/admin/assets/SecretReveal-mYCzxF96.js +0 -2
  258. package/dist/admin/assets/SecretReveal-mYCzxF96.js.map +0 -1
  259. package/dist/admin/assets/Structure-CL_0hVci.js +0 -2
  260. package/dist/admin/assets/chevron-left-BeJdUVAX.js +0 -2
  261. package/dist/admin/assets/cn-h5ORT3LK.js +0 -2
  262. package/dist/admin/assets/cn-h5ORT3LK.js.map +0 -1
  263. package/dist/admin/assets/coerce-DDQ1vGLx.js +0 -2
  264. package/dist/admin/assets/network-BfDaUb7D.js +0 -2
  265. package/dist/admin/assets/network-BfDaUb7D.js.map +0 -1
  266. package/dist/admin/assets/settings-Mscp6tN5.js +0 -2
  267. package/dist/admin/assets/settings-Mscp6tN5.js.map +0 -1
  268. package/dist/admin/assets/skeleton-DJVukcn6.js +0 -42
  269. package/dist/admin/assets/skeleton-DJVukcn6.js.map +0 -1
  270. package/dist/worker-jz_0yAmS.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sections-BfG6DTFr.js","names":["__iconData","__iconData","_Fragment","useMemo","useMemo","useCallback","__toESM","require_jsx_runtime","useQuery","queryKeys","createLucideIcon","useTranslation","adminApi","cn","cva","Search","Globe","KeyRound","Sparkles","lookValue","BUILT_IN_THEMES","resolveScheme","useThemeStore","__iconData$2","MonitorSmartphone","__iconData$1","Palette","__iconData","UserRound","MARK_VIEWBOX","MARK_PATH","MARK_S_PATH","import_jsx_runtime","Logo","className","variant","swatchVariants","ThemeSwatches","themeKey","size","import_react","require_react","useExtensionThemes","useThemeOptions","extensionThemes","t","key","useLookOptions","themes","theme","useLookSelection","state","appearance","variants","setLook","look","looks","candidate","value","SETTINGS_GROUPS"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/monitor-smartphone.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/palette.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/user-round.mjs","../../src/components/Logo/paths.ts","../../src/components/Logo/index.tsx","../../src/components/ThemeSwatches/index.tsx","../../src/api/extensionThemes.ts","../../src/hooks/useThemeOptions.ts","../../src/hooks/useLookOptions.ts","../../src/components/ThemeMenu/hooks/useLookSelection.ts","../../src/features/Settings/sections.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"monitor-smartphone\",\n size: 24,\n node: [\n [\"path\", { d: \"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8\", key: \"10dyio\" }],\n [\"path\", { d: \"M10 19v-3.96 3.15\", key: \"1irgej\" }],\n [\"path\", { d: \"M7 19h5\", key: \"qswx4l\" }],\n [\"rect\", { width: \"6\", height: \"10\", x: \"16\", y: \"12\", rx: \"2\", key: \"1egngj\" }]\n ]\n};\n__iconData.node;\nconst MonitorSmartphone = createLucideIcon(__iconData);\n\nexport { __iconData, MonitorSmartphone as default };\n//# sourceMappingURL=monitor-smartphone.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"palette\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\",\n key: \"e79jfc\"\n }\n ],\n [\"circle\", { cx: \"13.5\", cy: \"6.5\", r: \".5\", fill: \"currentColor\", key: \"1okk4w\" }],\n [\"circle\", { cx: \"17.5\", cy: \"10.5\", r: \".5\", fill: \"currentColor\", key: \"f64h9f\" }],\n [\"circle\", { cx: \"6.5\", cy: \"12.5\", r: \".5\", fill: \"currentColor\", key: \"qy21gx\" }],\n [\"circle\", { cx: \"8.5\", cy: \"7.5\", r: \".5\", fill: \"currentColor\", key: \"fotxhn\" }]\n ]\n};\n__iconData.node;\nconst Palette = createLucideIcon(__iconData);\n\nexport { __iconData, Palette as default };\n//# sourceMappingURL=palette.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"user-round\",\n size: 24,\n node: [\n [\"circle\", { cx: \"12\", cy: \"8\", r: \"5\", key: \"1hypcn\" }],\n [\"path\", { d: \"M20 21a8 8 0 0 0-16 0\", key: \"rfgkzh\" }]\n ],\n aliases: [\"user-2\"]\n};\n__iconData.node;\nconst UserRound = createLucideIcon(__iconData);\n\nexport { __iconData, UserRound as default };\n//# sourceMappingURL=user-round.mjs.map\n","/**\n * Geometry of the Shapio mark, copied from src/assets/brand/mark.svg (brandAssets.test.ts keeps them equal).\n * MARK_PATH is the logo-blue rounded square with the S cut out; MARK_S_PATH is the same S, drawn white\n * underneath so the S stays white on any background.\n */\nexport const MARK_VIEWBOX = '165.9 188.4 391.6 391.6';\nexport const MARK_PATH =\n 'M448.796 188.638C449.42 188.611 450.045 188.592 450.669 188.582C501.868 187.651 540.677 225.719 540.624 276.894C540.573 326.288 540.603 375.735 540.626 425.131L540.658 470.482C540.658 483.828 541.256 499.153 538.461 512.06C534.944 527.675 527.115 541.989 515.866 553.376C483.521 586.36 441.966 579.367 399.496 579.353L274.688 579.398C260.178 579.335 249.077 578.339 235.594 572.498C202.135 558.003 183.093 528.095 182.812 492.132L182.84 340.893L182.764 294.415C182.748 282.346 182.082 268.448 184.458 256.699C190.703 226.338 217.027 197.513 247.917 191.277C268.652 187.091 297.062 188.828 318.736 188.767L448.796 188.638ZM361.016 396.004C344.007 374.629 323.798 388.326 309.62 366.449C306.112 360.947 304.63 354.395 305.429 347.919C306.543 338.369 310.925 329.619 318.66 323.737C322.66 320.723 327.306 318.681 332.232 317.774C338.75 316.565 350.624 316.95 357.764 316.96L398.742 317.076C422.053 317.195 445.631 318.93 451.21 289.426C454.701 270.967 440.574 253.502 421.891 252.373C406.687 251.454 391.54 252.176 376.322 251.952C364.092 252.278 342.083 251.104 330.854 252.306C303.812 254.678 281.014 266.245 263.532 287.037C246.701 306.912 238.504 332.685 240.762 358.631C243.078 384.002 255.319 407.432 274.823 423.824C291.974 438.061 316.838 447.658 339.126 445.811C364.013 443.748 374.55 416.102 361.016 396.004ZM311.813 515.265L361.548 515.197C379.473 515.171 395.747 516.164 413.183 510.829C453.083 498.622 481.57 460.024 481.361 418.224C481.125 392.379 470.731 367.665 452.424 349.422C435.591 332.882 411.43 321.322 387.6 321.573C385.34 321.614 383.08 321.718 380.825 321.882C371.729 324.102 366.201 326.695 360.946 334.903C351.804 349.18 356.006 371.938 371.353 380.182C383.495 386.704 396.898 384.323 406.977 395.549C416.688 406.365 417.888 422.67 411.166 435.388C399.427 455.241 374.932 449.929 355.639 450.364C344.805 450.608 333.431 450.646 322.579 450.381C305.399 449.96 287.213 447.995 276.941 465.474C272.297 473.33 271.006 482.723 273.359 491.54C278.548 510.619 294.163 515.555 311.813 515.265Z';\nexport const MARK_S_PATH =\n 'M361.016 396.004C344.007 374.629 323.798 388.326 309.62 366.449C306.112 360.947 304.63 354.395 305.429 347.919C306.543 338.369 310.925 329.619 318.66 323.737C322.66 320.723 327.306 318.681 332.232 317.774C338.75 316.565 350.624 316.95 357.764 316.96L398.742 317.076C422.053 317.195 445.631 318.93 451.21 289.426C454.701 270.967 440.574 253.502 421.891 252.373C406.687 251.454 391.54 252.176 376.322 251.952C364.092 252.278 342.083 251.104 330.854 252.306C303.812 254.678 281.014 266.245 263.532 287.037C246.701 306.912 238.504 332.685 240.762 358.631C243.078 384.002 255.319 407.432 274.823 423.824C291.974 438.061 316.838 447.658 339.126 445.811C364.013 443.748 374.55 416.102 361.016 396.004ZM311.813 515.265L361.548 515.197C379.473 515.171 395.747 516.164 413.183 510.829C453.083 498.622 481.57 460.024 481.361 418.224C481.125 392.379 470.731 367.665 452.424 349.422C435.591 332.882 411.43 321.322 387.6 321.573C385.34 321.614 383.08 321.718 380.825 321.882C371.729 324.102 366.201 326.695 360.946 334.903C351.804 349.18 356.006 371.938 371.353 380.182C383.495 386.704 396.898 384.323 406.977 395.549C416.688 406.365 417.888 422.67 411.166 435.388C399.427 455.241 374.932 449.929 355.639 450.364C344.805 450.608 333.431 450.646 322.579 450.381C305.399 449.96 287.213 447.995 276.941 465.474C272.297 473.33 271.006 482.723 273.359 491.54C278.548 510.619 294.163 515.555 311.813 515.265Z';\n","import { cn } from '@/helpers/cn';\nimport { MARK_PATH, MARK_S_PATH, MARK_VIEWBOX } from './paths';\n\ntype LogoVariant = 'default' | 'reverse';\n\ntype LogoProps = {\n /**\n * `default`: the brand tile with its S, on any ground. `reverse`: for the auth brand panel, the tile in the\n * theme's brand-panel-mark colour (the S stays the brand's, so the mark reads the same in every theme).\n */\n variant?: LogoVariant;\n className?: string;\n};\n\n/** The Shapio mark (src/assets/brand/mark.svg), 32px by default. Decorative; pair it with the wordmark or a visible label. */\nexport const Logo = ({ variant = 'default', className }: LogoProps) => (\n <svg\n viewBox={MARK_VIEWBOX}\n aria-hidden=\"true\"\n focusable=\"false\"\n data-slot=\"logo\"\n className={cn('size-8 shrink-0', className)}\n >\n <path className=\"fill-brand-logo-foreground\" d={MARK_S_PATH} />\n <path className={variant === 'reverse' ? 'fill-brand-panel-mark' : 'fill-brand-logo'} d={MARK_PATH} />\n </svg>\n);\n","import type { ThemeVariant } from '@shapio/schema';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '@/helpers/cn';\nimport { Logo } from '../Logo';\n\nconst swatchVariants = cva('shrink-0 border border-border bg-background', {\n variants: {\n size: {\n /** Menus: ground, surface and primary as three dots on the ground. */\n sm: 'inline-flex items-center gap-0.5 rounded-full p-0.5',\n /** Theme cards: the logo, a surface and a primary pill on the ground. */\n lg: 'flex h-14 w-full items-center gap-2 rounded-lg px-2.5',\n },\n },\n defaultVariants: { size: 'sm' },\n});\n\ntype ThemeSwatchesProps = {\n themeKey: string;\n variant: ThemeVariant;\n size?: 'sm' | 'lg';\n className?: string;\n};\n\n/**\n * A look's colours, drawn from its own tokens: the subtree carries `data-theme` (and `dark` for a dark\n * look). Swatches only, never live components: `dark:` variants\n * match ancestors, so a component inside a light preview on a dark page would mix both. Decorative.\n */\nexport const ThemeSwatches = ({ themeKey, variant, size, className }: ThemeSwatchesProps) => (\n <span\n aria-hidden=\"true\"\n data-theme={themeKey}\n data-slot=\"theme-swatches\"\n className={cn(swatchVariants({ size }), variant === 'dark' && 'dark', className)}\n >\n {size === 'lg' ? (\n <>\n <Logo className=\"size-6\" />\n <span className=\"h-7 flex-1 rounded-md border border-border bg-card\" />\n <span className=\"h-4 w-8 rounded-full bg-primary\" />\n </>\n ) : (\n <>\n <span className=\"size-2.5 rounded-full bg-card ring-1 ring-border\" />\n <span className=\"size-2.5 rounded-full bg-primary\" />\n </>\n )}\n </span>\n);\n","import { useQuery } from '@tanstack/react-query';\nimport { adminApi } from './client';\nimport { queryKeys } from './queryKeys';\n\n/**\n * Colour themes the project declares (`shapio.config`). Public (the sign-in screen lists them too) and fixed\n * until a server restart, so read once. Their CSS arrives separately, linked from index.html.\n */\nexport const useExtensionThemes = () =>\n useQuery({\n queryKey: queryKeys.extensionThemes,\n queryFn: () => adminApi.extensions.themes(),\n staleTime: Infinity,\n meta: { silent: true },\n });\n","import type { ThemeVariant } from '@shapio/schema';\nimport { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useExtensionThemes } from '@/api/extensionThemes';\nimport { BUILT_IN_THEMES } from '@/constants/themes';\n\nexport type ThemeOption = {\n key: string;\n name: string;\n description: string | undefined;\n variants: readonly ThemeVariant[];\n};\n\n/**\n * Every theme the person can pick, in menu order: the built-in ones (translated), then the project's.\n * `isComplete` is false until the project's list has loaded (or while it fails): nothing may be judged\n * missing from the list before then.\n */\nexport const useThemeOptions = (): { themes: readonly ThemeOption[]; isComplete: boolean } => {\n const { t } = useTranslation();\n const extensionThemes = useExtensionThemes();\n const themes = useMemo(\n () => [\n ...BUILT_IN_THEMES.map(({ key, variants }): ThemeOption => ({\n key,\n name: t(`appearance.themes.${key}.name`),\n description: t(`appearance.themes.${key}.description`),\n variants,\n })),\n ...(extensionThemes.data?.items ?? []).map(({ key, name, description, variants }): ThemeOption => ({\n key,\n name,\n description,\n variants,\n })),\n ],\n [t, extensionThemes.data],\n );\n return { themes, isComplete: extensionThemes.isSuccess };\n};\n","import type { ThemeVariant } from '@shapio/schema';\nimport { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { lookValue } from '@/helpers/theme';\nimport { useThemeOptions } from '@/hooks/useThemeOptions';\n\nexport type LookOption = {\n /** `<theme key>:<variant>`, the radio value. */\n value: string;\n themeKey: string;\n variant: ThemeVariant;\n /** The theme's variants, cached in the theme store for the pre-paint script. */\n variants: readonly ThemeVariant[];\n name: string;\n description: string | undefined;\n};\n\n/**\n * Every look the person can pick, in menu order: one per theme variant. A one-variant theme (every built-in\n * one) is listed by its name; an extension theme with both variants twice, as \"Name Light\" and \"Name Dark\".\n */\nexport const useLookOptions = (): { looks: readonly LookOption[] } => {\n const { t } = useTranslation();\n const { themes } = useThemeOptions();\n const looks = useMemo(\n () =>\n themes.flatMap((theme) =>\n theme.variants.map((variant): LookOption => ({\n value: lookValue(theme.key, variant),\n themeKey: theme.key,\n variant,\n variants: theme.variants,\n name:\n theme.variants.length > 1\n ? t('appearance.lookName', { theme: theme.name, variant: t(`appearance.variants.${variant}`) })\n : theme.name,\n description: theme.description,\n })),\n ),\n [t, themes],\n );\n return { looks };\n};\n","import { useCallback } from 'react';\nimport { lookValue, resolveScheme } from '@/helpers/theme';\nimport { useLookOptions } from '@/hooks/useLookOptions';\nimport { useThemeStore } from '@/stores/theme';\n\n/** The looks, the chosen one's radio value, and a picker that saves the look (and its theme's variants). */\nexport const useLookSelection = () => {\n const { looks } = useLookOptions();\n const theme = useThemeStore((state) => state.theme);\n const appearance = useThemeStore((state) => state.appearance);\n const variants = useThemeStore((state) => state.variants);\n const setLook = useThemeStore((state) => state.setLook);\n const selectedLook = lookValue(theme, resolveScheme(appearance, variants));\n const selectLook = useCallback(\n (value: string) => {\n const look = looks.find((candidate) => candidate.value === value);\n if (look) {\n setLook(look.themeKey, look.variant, look.variants);\n }\n },\n [looks, setLook],\n );\n return { looks, selectedLook, selectLook };\n};\n","import type { GlobalAction } from '@shapio/client';\nimport {\n Globe,\n KeyRound,\n MonitorSmartphone,\n Palette,\n Search,\n Sparkles,\n UserRound,\n type LucideIcon,\n} from 'lucide-react';\n\ntype SettingsPath =\n | '/settings/profile'\n | '/settings/sessions'\n | '/settings/theme'\n | '/settings/locales'\n | '/settings/seo'\n | '/settings/assist'\n | '/settings/api-tokens';\n\ntype SettingsSection = {\n key: 'profile' | 'sessions' | 'appearance' | 'locales' | 'seo' | 'assist' | 'apiTokens';\n to: SettingsPath;\n icon: LucideIcon;\n /** Hidden unless the admin holds this permission (the server enforces it either way). */\n permission?: GlobalAction;\n};\n\nexport const SETTINGS_GROUPS: readonly {\n key: 'account' | 'workspace' | 'developer';\n sections: readonly SettingsSection[];\n}[] = [\n {\n key: 'account',\n sections: [\n { key: 'profile', to: '/settings/profile', icon: UserRound },\n { key: 'sessions', to: '/settings/sessions', icon: MonitorSmartphone },\n { key: 'appearance', to: '/settings/theme', icon: Palette },\n ],\n },\n {\n key: 'workspace',\n sections: [\n { key: 'locales', to: '/settings/locales', icon: Globe },\n { key: 'seo', to: '/settings/seo', icon: Search, permission: 'site.settings' },\n { key: 'assist', to: '/settings/assist', icon: Sparkles },\n ],\n },\n {\n key: 'developer',\n sections: [{ key: 'apiTokens', to: '/settings/api-tokens', icon: KeyRound, permission: 'tokens.manage' }],\n },\n];\n"],"ignoreList":[0,1,2],"mappings":"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"}
1
+ {"version":3,"file":"sections-BWoTaw2B.js","names":["__iconData","__iconData","_Fragment","useMemo","useMemo","useCallback","__toESM","require_jsx_runtime","useQuery","queryKeys","createLucideIcon","useTranslation","adminApi","cn","cva","Search","Globe","KeyRound","Sparkles","lookValue","BUILT_IN_THEMES","resolveScheme","useThemeStore","__iconData$2","MonitorSmartphone","__iconData$1","Palette","__iconData","UserRound","MARK_VIEWBOX","MARK_PATH","MARK_S_PATH","import_jsx_runtime","Logo","className","variant","swatchVariants","ThemeSwatches","themeKey","size","import_react","require_react","useExtensionThemes","useThemeOptions","extensionThemes","t","key","useLookOptions","themes","theme","useLookSelection","state","appearance","variants","setLook","look","looks","candidate","value","SETTINGS_GROUPS"],"sources":["../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/monitor-smartphone.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/palette.mjs","../../../../node_modules/.pnpm/lucide-react@1.49.0_@types+react@19.3.0_react@19.3.0/node_modules/lucide-react/dist/esm/icons/user-round.mjs","../../src/components/Logo/paths.ts","../../src/components/Logo/index.tsx","../../src/components/ThemeSwatches/index.tsx","../../src/api/extensionThemes.ts","../../src/hooks/useThemeOptions.ts","../../src/hooks/useLookOptions.ts","../../src/components/ThemeMenu/hooks/useLookSelection.ts","../../src/features/Settings/sections.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"monitor-smartphone\",\n size: 24,\n node: [\n [\"path\", { d: \"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8\", key: \"10dyio\" }],\n [\"path\", { d: \"M10 19v-3.96 3.15\", key: \"1irgej\" }],\n [\"path\", { d: \"M7 19h5\", key: \"qswx4l\" }],\n [\"rect\", { width: \"6\", height: \"10\", x: \"16\", y: \"12\", rx: \"2\", key: \"1egngj\" }]\n ]\n};\n__iconData.node;\nconst MonitorSmartphone = createLucideIcon(__iconData);\n\nexport { __iconData, MonitorSmartphone as default };\n//# sourceMappingURL=monitor-smartphone.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"palette\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\",\n key: \"e79jfc\"\n }\n ],\n [\"circle\", { cx: \"13.5\", cy: \"6.5\", r: \".5\", fill: \"currentColor\", key: \"1okk4w\" }],\n [\"circle\", { cx: \"17.5\", cy: \"10.5\", r: \".5\", fill: \"currentColor\", key: \"f64h9f\" }],\n [\"circle\", { cx: \"6.5\", cy: \"12.5\", r: \".5\", fill: \"currentColor\", key: \"qy21gx\" }],\n [\"circle\", { cx: \"8.5\", cy: \"7.5\", r: \".5\", fill: \"currentColor\", key: \"fotxhn\" }]\n ]\n};\n__iconData.node;\nconst Palette = createLucideIcon(__iconData);\n\nexport { __iconData, Palette as default };\n//# sourceMappingURL=palette.mjs.map\n","/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"user-round\",\n size: 24,\n node: [\n [\"circle\", { cx: \"12\", cy: \"8\", r: \"5\", key: \"1hypcn\" }],\n [\"path\", { d: \"M20 21a8 8 0 0 0-16 0\", key: \"rfgkzh\" }]\n ],\n aliases: [\"user-2\"]\n};\n__iconData.node;\nconst UserRound = createLucideIcon(__iconData);\n\nexport { __iconData, UserRound as default };\n//# sourceMappingURL=user-round.mjs.map\n","/**\n * Geometry of the Shapio mark, copied from src/assets/brand/mark.svg (brandAssets.test.ts keeps them equal).\n * MARK_PATH is the logo-blue rounded square with the S cut out; MARK_S_PATH is the same S, drawn white\n * underneath so the S stays white on any background.\n */\nexport const MARK_VIEWBOX = '165.9 188.4 391.6 391.6';\nexport const MARK_PATH =\n 'M448.796 188.638C449.42 188.611 450.045 188.592 450.669 188.582C501.868 187.651 540.677 225.719 540.624 276.894C540.573 326.288 540.603 375.735 540.626 425.131L540.658 470.482C540.658 483.828 541.256 499.153 538.461 512.06C534.944 527.675 527.115 541.989 515.866 553.376C483.521 586.36 441.966 579.367 399.496 579.353L274.688 579.398C260.178 579.335 249.077 578.339 235.594 572.498C202.135 558.003 183.093 528.095 182.812 492.132L182.84 340.893L182.764 294.415C182.748 282.346 182.082 268.448 184.458 256.699C190.703 226.338 217.027 197.513 247.917 191.277C268.652 187.091 297.062 188.828 318.736 188.767L448.796 188.638ZM361.016 396.004C344.007 374.629 323.798 388.326 309.62 366.449C306.112 360.947 304.63 354.395 305.429 347.919C306.543 338.369 310.925 329.619 318.66 323.737C322.66 320.723 327.306 318.681 332.232 317.774C338.75 316.565 350.624 316.95 357.764 316.96L398.742 317.076C422.053 317.195 445.631 318.93 451.21 289.426C454.701 270.967 440.574 253.502 421.891 252.373C406.687 251.454 391.54 252.176 376.322 251.952C364.092 252.278 342.083 251.104 330.854 252.306C303.812 254.678 281.014 266.245 263.532 287.037C246.701 306.912 238.504 332.685 240.762 358.631C243.078 384.002 255.319 407.432 274.823 423.824C291.974 438.061 316.838 447.658 339.126 445.811C364.013 443.748 374.55 416.102 361.016 396.004ZM311.813 515.265L361.548 515.197C379.473 515.171 395.747 516.164 413.183 510.829C453.083 498.622 481.57 460.024 481.361 418.224C481.125 392.379 470.731 367.665 452.424 349.422C435.591 332.882 411.43 321.322 387.6 321.573C385.34 321.614 383.08 321.718 380.825 321.882C371.729 324.102 366.201 326.695 360.946 334.903C351.804 349.18 356.006 371.938 371.353 380.182C383.495 386.704 396.898 384.323 406.977 395.549C416.688 406.365 417.888 422.67 411.166 435.388C399.427 455.241 374.932 449.929 355.639 450.364C344.805 450.608 333.431 450.646 322.579 450.381C305.399 449.96 287.213 447.995 276.941 465.474C272.297 473.33 271.006 482.723 273.359 491.54C278.548 510.619 294.163 515.555 311.813 515.265Z';\nexport const MARK_S_PATH =\n 'M361.016 396.004C344.007 374.629 323.798 388.326 309.62 366.449C306.112 360.947 304.63 354.395 305.429 347.919C306.543 338.369 310.925 329.619 318.66 323.737C322.66 320.723 327.306 318.681 332.232 317.774C338.75 316.565 350.624 316.95 357.764 316.96L398.742 317.076C422.053 317.195 445.631 318.93 451.21 289.426C454.701 270.967 440.574 253.502 421.891 252.373C406.687 251.454 391.54 252.176 376.322 251.952C364.092 252.278 342.083 251.104 330.854 252.306C303.812 254.678 281.014 266.245 263.532 287.037C246.701 306.912 238.504 332.685 240.762 358.631C243.078 384.002 255.319 407.432 274.823 423.824C291.974 438.061 316.838 447.658 339.126 445.811C364.013 443.748 374.55 416.102 361.016 396.004ZM311.813 515.265L361.548 515.197C379.473 515.171 395.747 516.164 413.183 510.829C453.083 498.622 481.57 460.024 481.361 418.224C481.125 392.379 470.731 367.665 452.424 349.422C435.591 332.882 411.43 321.322 387.6 321.573C385.34 321.614 383.08 321.718 380.825 321.882C371.729 324.102 366.201 326.695 360.946 334.903C351.804 349.18 356.006 371.938 371.353 380.182C383.495 386.704 396.898 384.323 406.977 395.549C416.688 406.365 417.888 422.67 411.166 435.388C399.427 455.241 374.932 449.929 355.639 450.364C344.805 450.608 333.431 450.646 322.579 450.381C305.399 449.96 287.213 447.995 276.941 465.474C272.297 473.33 271.006 482.723 273.359 491.54C278.548 510.619 294.163 515.555 311.813 515.265Z';\n","import { cn } from '@/helpers/cn';\nimport { MARK_PATH, MARK_S_PATH, MARK_VIEWBOX } from './paths';\n\ntype LogoVariant = 'default' | 'reverse';\n\ntype LogoProps = {\n /**\n * `default`: the brand tile with its S, on any ground. `reverse`: for the auth brand panel, the tile in the\n * theme's brand-panel-mark colour (the S stays the brand's, so the mark reads the same in every theme).\n */\n variant?: LogoVariant;\n className?: string;\n};\n\n/** The Shapio mark (src/assets/brand/mark.svg), 32px by default. Decorative; pair it with the wordmark or a visible label. */\nexport const Logo = ({ variant = 'default', className }: LogoProps) => (\n <svg\n viewBox={MARK_VIEWBOX}\n aria-hidden=\"true\"\n focusable=\"false\"\n data-slot=\"logo\"\n className={cn('size-8 shrink-0', className)}\n >\n <path className=\"fill-brand-logo-foreground\" d={MARK_S_PATH} />\n <path className={variant === 'reverse' ? 'fill-brand-panel-mark' : 'fill-brand-logo'} d={MARK_PATH} />\n </svg>\n);\n","import type { ThemeVariant } from '@shapio/schema';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '@/helpers/cn';\nimport { Logo } from '../Logo';\n\nconst swatchVariants = cva('shrink-0 border border-border bg-background', {\n variants: {\n size: {\n /** Menus: ground, surface and primary as three dots on the ground. */\n sm: 'inline-flex items-center gap-0.5 rounded-full p-0.5',\n /** Theme cards: the logo, a surface and a primary pill on the ground. */\n lg: 'flex h-14 w-full items-center gap-2 rounded-lg px-2.5',\n },\n },\n defaultVariants: { size: 'sm' },\n});\n\ntype ThemeSwatchesProps = {\n themeKey: string;\n variant: ThemeVariant;\n size?: 'sm' | 'lg';\n className?: string;\n};\n\n/**\n * A look's colours, drawn from its own tokens: the subtree carries `data-theme` (and `dark` for a dark\n * look). Swatches only, never live components: `dark:` variants\n * match ancestors, so a component inside a light preview on a dark page would mix both. Decorative.\n */\nexport const ThemeSwatches = ({ themeKey, variant, size, className }: ThemeSwatchesProps) => (\n <span\n aria-hidden=\"true\"\n data-theme={themeKey}\n data-slot=\"theme-swatches\"\n className={cn(swatchVariants({ size }), variant === 'dark' && 'dark', className)}\n >\n {size === 'lg' ? (\n <>\n <Logo className=\"size-6\" />\n <span className=\"h-7 flex-1 rounded-md border border-border bg-card\" />\n <span className=\"h-4 w-8 rounded-full bg-primary\" />\n </>\n ) : (\n <>\n <span className=\"size-2.5 rounded-full bg-card ring-1 ring-border\" />\n <span className=\"size-2.5 rounded-full bg-primary\" />\n </>\n )}\n </span>\n);\n","import { useQuery } from '@tanstack/react-query';\nimport { adminApi } from './client';\nimport { queryKeys } from './queryKeys';\n\n/**\n * Colour themes the project declares (`shapio.config`). Public (the sign-in screen lists them too) and fixed\n * until a server restart, so read once. Their CSS arrives separately, linked from index.html.\n */\nexport const useExtensionThemes = () =>\n useQuery({\n queryKey: queryKeys.extensionThemes,\n queryFn: () => adminApi.extensions.themes(),\n staleTime: Infinity,\n meta: { silent: true },\n });\n","import type { ThemeVariant } from '@shapio/schema';\nimport { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useExtensionThemes } from '@/api/extensionThemes';\nimport { BUILT_IN_THEMES } from '@/constants/themes';\n\nexport type ThemeOption = {\n key: string;\n name: string;\n description: string | undefined;\n variants: readonly ThemeVariant[];\n};\n\n/**\n * Every theme the person can pick, in menu order: the built-in ones (translated), then the project's.\n * `isComplete` is false until the project's list has loaded (or while it fails): nothing may be judged\n * missing from the list before then.\n */\nexport const useThemeOptions = (): { themes: readonly ThemeOption[]; isComplete: boolean } => {\n const { t } = useTranslation();\n const extensionThemes = useExtensionThemes();\n const themes = useMemo(\n () => [\n ...BUILT_IN_THEMES.map(({ key, variants }): ThemeOption => ({\n key,\n name: t(`appearance.themes.${key}.name`),\n description: t(`appearance.themes.${key}.description`),\n variants,\n })),\n ...(extensionThemes.data?.items ?? []).map(({ key, name, description, variants }): ThemeOption => ({\n key,\n name,\n description,\n variants,\n })),\n ],\n [t, extensionThemes.data],\n );\n return { themes, isComplete: extensionThemes.isSuccess };\n};\n","import type { ThemeVariant } from '@shapio/schema';\nimport { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { lookValue } from '@/helpers/theme';\nimport { useThemeOptions } from '@/hooks/useThemeOptions';\n\nexport type LookOption = {\n /** `<theme key>:<variant>`, the radio value. */\n value: string;\n themeKey: string;\n variant: ThemeVariant;\n /** The theme's variants, cached in the theme store for the pre-paint script. */\n variants: readonly ThemeVariant[];\n name: string;\n description: string | undefined;\n};\n\n/**\n * Every look the person can pick, in menu order: one per theme variant. A one-variant theme (every built-in\n * one) is listed by its name; an extension theme with both variants twice, as \"Name Light\" and \"Name Dark\".\n */\nexport const useLookOptions = (): { looks: readonly LookOption[] } => {\n const { t } = useTranslation();\n const { themes } = useThemeOptions();\n const looks = useMemo(\n () =>\n themes.flatMap((theme) =>\n theme.variants.map((variant): LookOption => ({\n value: lookValue(theme.key, variant),\n themeKey: theme.key,\n variant,\n variants: theme.variants,\n name:\n theme.variants.length > 1\n ? t('appearance.lookName', { theme: theme.name, variant: t(`appearance.variants.${variant}`) })\n : theme.name,\n description: theme.description,\n })),\n ),\n [t, themes],\n );\n return { looks };\n};\n","import { useCallback } from 'react';\nimport { lookValue, resolveScheme } from '@/helpers/theme';\nimport { useLookOptions } from '@/hooks/useLookOptions';\nimport { useThemeStore } from '@/stores/theme';\n\n/** The looks, the chosen one's radio value, and a picker that saves the look (and its theme's variants). */\nexport const useLookSelection = () => {\n const { looks } = useLookOptions();\n const theme = useThemeStore((state) => state.theme);\n const appearance = useThemeStore((state) => state.appearance);\n const variants = useThemeStore((state) => state.variants);\n const setLook = useThemeStore((state) => state.setLook);\n const selectedLook = lookValue(theme, resolveScheme(appearance, variants));\n const selectLook = useCallback(\n (value: string) => {\n const look = looks.find((candidate) => candidate.value === value);\n if (look) {\n setLook(look.themeKey, look.variant, look.variants);\n }\n },\n [looks, setLook],\n );\n return { looks, selectedLook, selectLook };\n};\n","import type { GlobalAction } from '@shapio/client';\nimport {\n Globe,\n KeyRound,\n MonitorSmartphone,\n Palette,\n Search,\n Sparkles,\n UserRound,\n type LucideIcon,\n} from 'lucide-react';\n\ntype SettingsPath =\n | '/settings/profile'\n | '/settings/sessions'\n | '/settings/theme'\n | '/settings/locales'\n | '/settings/seo'\n | '/settings/assist'\n | '/settings/api-tokens';\n\ntype SettingsSection = {\n key: 'profile' | 'sessions' | 'appearance' | 'locales' | 'seo' | 'assist' | 'apiTokens';\n to: SettingsPath;\n icon: LucideIcon;\n /** Hidden unless the admin holds this permission (the server enforces it either way). */\n permission?: GlobalAction;\n};\n\nexport const SETTINGS_GROUPS: readonly {\n key: 'account' | 'workspace' | 'developer';\n sections: readonly SettingsSection[];\n}[] = [\n {\n key: 'account',\n sections: [\n { key: 'profile', to: '/settings/profile', icon: UserRound },\n { key: 'sessions', to: '/settings/sessions', icon: MonitorSmartphone },\n { key: 'appearance', to: '/settings/theme', icon: Palette },\n ],\n },\n {\n key: 'workspace',\n sections: [\n { key: 'locales', to: '/settings/locales', icon: Globe },\n { key: 'seo', to: '/settings/seo', icon: Search, permission: 'site.settings' },\n { key: 'assist', to: '/settings/assist', icon: Sparkles },\n ],\n },\n {\n key: 'developer',\n sections: [{ key: 'apiTokens', to: '/settings/api-tokens', icon: KeyRound, permission: 'tokens.manage' }],\n },\n];\n"],"ignoreList":[0,1,2],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{i as e}from"./cn-h5ORT3LK.js";var t={name:`webhook`,size:24,node:[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`,key:`q3hayz`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`,key:`1go1hn`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`,key:`qlwsc0`}]]};t.node;var n=e(t),r=[{to:`/publishing/scheduled`,labelKey:`publishing.nav.scheduled`,permission:`publishing.manage`},{to:`/publishing/webhooks`,labelKey:`publishing.nav.webhooks`,permission:`webhooks.manage`},{to:`/publishing/deployments`,labelKey:`publishing.nav.deployments`}],i=e=>r.filter(t=>!t.permission||e.includes(t.permission)),a=e=>i(e)[0]?.to??`/publishing/deployments`;export{i as n,n as r,a as t};
2
- //# sourceMappingURL=sections-EgXyXN3-.js.map
1
+ import{i as e}from"./cn-CEPUgFbZ.js";var t={name:`webhook`,size:24,node:[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`,key:`q3hayz`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`,key:`1go1hn`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`,key:`qlwsc0`}]]};t.node;var n=e(t),r=[{to:`/publishing/scheduled`,labelKey:`publishing.nav.scheduled`,permission:`publishing.manage`},{to:`/publishing/webhooks`,labelKey:`publishing.nav.webhooks`,permission:`webhooks.manage`},{to:`/publishing/deployments`,labelKey:`publishing.nav.deployments`}],i=e=>r.filter(t=>!t.permission||e.includes(t.permission)),a=e=>i(e)[0]?.to??`/publishing/deployments`;export{i as n,n as r,a as t};
2
+ //# sourceMappingURL=sections-eeTU636D.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sections-EgXyXN3-.js","names":["createLucideIcon","__iconData","Webhook","PUBLISHING_SECTIONS","permittedSections","section","permissions","firstPermittedSection"],"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/webhook.mjs","../../src/features/Publishing/sections.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"webhook\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2\",\n key: \"q3hayz\"\n }\n ],\n [\"path\", { d: \"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06\", key: \"1go1hn\" }],\n [\"path\", { d: \"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8\", key: \"qlwsc0\" }]\n ]\n};\n__iconData.node;\nconst Webhook = createLucideIcon(__iconData);\n\nexport { __iconData, Webhook as default };\n//# sourceMappingURL=webhook.mjs.map\n","import type { GlobalAction } from '@shapio/client';\n\nexport type PublishingPath = '/publishing/scheduled' | '/publishing/deployments' | '/publishing/webhooks';\n\ntype PublishingSection = {\n to: PublishingPath;\n labelKey: string;\n /** Hidden unless the admin holds this permission (the server enforces it either way). */\n permission?: GlobalAction;\n};\n\nexport const PUBLISHING_SECTIONS = [\n {\n to: '/publishing/scheduled',\n labelKey: 'publishing.nav.scheduled',\n permission: 'publishing.manage',\n },\n {\n to: '/publishing/webhooks',\n labelKey: 'publishing.nav.webhooks',\n permission: 'webhooks.manage',\n },\n // Everyone may follow deployments; managing connections needs `deployments.manage`.\n { to: '/publishing/deployments', labelKey: 'publishing.nav.deployments' },\n] as const satisfies readonly PublishingSection[];\n\nexport const permittedSections = (permissions: readonly GlobalAction[]) =>\n PUBLISHING_SECTIONS.filter(\n (section: PublishingSection) => !section.permission || permissions.includes(section.permission),\n );\n\n/** Where `/publishing` lands: the first tab the admin may open (Deployments is open to everyone). */\nexport const firstPermittedSection = (permissions: readonly GlobalAction[]): PublishingPath =>\n permittedSections(permissions)[0]?.to ?? '/publishing/deployments';\n"],"ignoreList":[0],"mappings":"qCASA,IAAMC,EAAa,CACjB,KAAM,UACN,KAAM,GACN,KAAM,CACJ,CACE,OACA,CACE,EAAG,2EACH,IAAK,QACP,CACF,EACA,CAAC,OAAQ,CAAE,EAAG,4DAA6D,IAAK,QAAS,CAAC,EAC1F,CAAC,OAAQ,CAAE,EAAG,yDAA0D,IAAK,QAAS,CAAC,CACzF,CACF,EACAA,EAAW,KACX,IAAMC,EAAUF,EAAiBC,CAAU,ECd9BE,EAAsB,CACjC,CACE,GAAI,wBACJ,SAAU,2BACV,WAAY,mBACd,EACA,CACE,GAAI,uBACJ,SAAU,0BACV,WAAY,iBACd,EAEA,CAAE,GAAI,0BAA2B,SAAU,4BAA6B,CAC1E,EAEaC,EAAqB,GAChCD,EAAoB,OACjB,GAA+B,CAACE,EAAQ,YAAcC,EAAY,SAASD,EAAQ,UAAU,CAChG,EAGWE,EAAyB,GACpCH,EAAkBE,CAAW,CAAC,CAAC,EAAE,EAAE,IAAM"}
1
+ {"version":3,"file":"sections-eeTU636D.js","names":["createLucideIcon","__iconData","Webhook","PUBLISHING_SECTIONS","permittedSections","section","permissions","firstPermittedSection"],"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/webhook.mjs","../../src/features/Publishing/sections.ts"],"sourcesContent":["/**\n * @license lucide-react v1.49.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconData = {\n name: \"webhook\",\n size: 24,\n node: [\n [\n \"path\",\n {\n d: \"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2\",\n key: \"q3hayz\"\n }\n ],\n [\"path\", { d: \"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06\", key: \"1go1hn\" }],\n [\"path\", { d: \"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8\", key: \"qlwsc0\" }]\n ]\n};\n__iconData.node;\nconst Webhook = createLucideIcon(__iconData);\n\nexport { __iconData, Webhook as default };\n//# sourceMappingURL=webhook.mjs.map\n","import type { GlobalAction } from '@shapio/client';\n\nexport type PublishingPath = '/publishing/scheduled' | '/publishing/deployments' | '/publishing/webhooks';\n\ntype PublishingSection = {\n to: PublishingPath;\n labelKey: string;\n /** Hidden unless the admin holds this permission (the server enforces it either way). */\n permission?: GlobalAction;\n};\n\nexport const PUBLISHING_SECTIONS = [\n {\n to: '/publishing/scheduled',\n labelKey: 'publishing.nav.scheduled',\n permission: 'publishing.manage',\n },\n {\n to: '/publishing/webhooks',\n labelKey: 'publishing.nav.webhooks',\n permission: 'webhooks.manage',\n },\n // Everyone may follow deployments; managing connections needs `deployments.manage`.\n { to: '/publishing/deployments', labelKey: 'publishing.nav.deployments' },\n] as const satisfies readonly PublishingSection[];\n\nexport const permittedSections = (permissions: readonly GlobalAction[]) =>\n PUBLISHING_SECTIONS.filter(\n (section: PublishingSection) => !section.permission || permissions.includes(section.permission),\n );\n\n/** Where `/publishing` lands: the first tab the admin may open (Deployments is open to everyone). */\nexport const firstPermittedSection = (permissions: readonly GlobalAction[]): PublishingPath =>\n permittedSections(permissions)[0]?.to ?? '/publishing/deployments';\n"],"ignoreList":[0],"mappings":"qCASA,IAAMC,EAAa,CACjB,KAAM,UACN,KAAM,GACN,KAAM,CACJ,CACE,OACA,CACE,EAAG,2EACH,IAAK,QACP,CACF,EACA,CAAC,OAAQ,CAAE,EAAG,4DAA6D,IAAK,QAAS,CAAC,EAC1F,CAAC,OAAQ,CAAE,EAAG,yDAA0D,IAAK,QAAS,CAAC,CACzF,CACF,EACAA,EAAW,KACX,IAAMC,EAAUF,EAAiBC,CAAU,ECd9BE,EAAsB,CACjC,CACE,GAAI,wBACJ,SAAU,2BACV,WAAY,mBACd,EACA,CACE,GAAI,uBACJ,SAAU,0BACV,WAAY,iBACd,EAEA,CAAE,GAAI,0BAA2B,SAAU,4BAA6B,CAC1E,EAEaC,EAAqB,GAChCD,EAAoB,OACjB,GAA+B,CAACE,EAAQ,YAAcC,EAAY,SAASD,EAAQ,UAAU,CAChG,EAGWE,EAAyB,GACpCH,EAAkBE,CAAW,CAAC,CAAC,EAAE,EAAE,IAAM"}
@@ -1,2 +1,2 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./react-dom-pEVw9mjF.js";import{t as r}from"./jsx-runtime-DREnUpxT.js";import{i,t as a}from"./cn-h5ORT3LK.js";import{F as o,L as s,P as c,S as l,b as u,v as d,x as f}from"./InfoHint-D3uwei-E.js";import{C as p,O as m,T as h,_ as g,b as _,c as v,d as y,g as b,h as x,l as S,m as C,o as w,p as T,s as E,u as ee,v as D,y as O}from"./skeleton-DJVukcn6.js";var k={name:`chevron-down`,size:24,node:[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]};k.node;var A=i(k),j={name:`chevron-up`,size:24,node:[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]};j.node;var M=i(j),te=e(n(),1),N=e(t(),1),P=Object.defineProperty,F=(e,t)=>P(e,`name`,{value:t,configurable:!0});function I(e){let t=N.useRef({value:e,previous:e});return N.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}F(I,`usePrevious`);var L=Object.defineProperty,R=(e,t)=>L(e,`name`,{value:t,configurable:!0});function z(e,[t,n]){return Math.min(n,Math.max(t,e))}R(z,`clamp`);var B=e(r(),1),V=Object.defineProperty,H=(e,t)=>V(e,`name`,{value:t,configurable:!0}),U=[` `,`Enter`,`ArrowUp`,`ArrowDown`],ne=[` `,`Enter`],W=`Select`,[G,K,re]=o(W),[q,ie]=O(W,[re,l]),J=l(),[ae,Y]=q(W),[oe,se]=q(W);function ce(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:l,dir:u,name:d,autoComplete:p,disabled:m,required:h,form:g,internal_do_not_use_render:_}=e,v=J(t),[y,x]=N.useState(null),[S,w]=N.useState(null),[T,E]=N.useState(!1),ee=c(u),[D,O]=b({prop:r,defaultProp:i??!1,onChange:a,caller:W}),[k,A]=b({prop:o,defaultProp:s,onChange:l,caller:W}),j=N.useRef(null),M=N.useRef(k);N.useEffect(()=>{let e=g?y?.ownerDocument.getElementById(g):y?.form;if(e instanceof HTMLFormElement){let t=H(()=>A(M.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[g,y,A]);let te=!y||!!g||!!y.closest(`form`),[P,F]=N.useState(new Set),I=C(),L=Array.from(P).map(e=>e.props.value).join(`;`),R=N.useCallback(e=>{F(t=>new Set(t).add(e))},[]),z=N.useCallback(e=>{F(t=>{let n=new Set(t);return n.delete(e),n})},[]),V={required:h,trigger:y,onTriggerChange:x,valueNode:S,onValueNodeChange:w,valueNodeHasChildren:T,onValueNodeHasChildrenChange:E,contentId:I,value:k,onValueChange:A,open:D,onOpenChange:O,dir:ee,triggerPointerDownPosRef:j,disabled:m,name:d,autoComplete:p,form:g,nativeOptions:P,nativeSelectKey:L,isFormControl:te};return(0,B.jsx)(f,{...v,children:(0,B.jsx)(ae,{scope:t,...V,children:(0,B.jsx)(G.Provider,{scope:t,children:(0,B.jsx)(oe,{scope:t,onNativeOptionAdd:R,onNativeOptionRemove:z,children:Ke(_)?_(V):n})})})})}H(ce,`SelectProvider`);var le=H(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,B.jsx)(ce,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,B.jsxs)(B.Fragment,{children:[n,e?(0,B.jsx)(Ge,{__scopeSelect:t}):null]})})},`Select`),ue=`SelectTrigger`,de=N.forwardRef(H(function(e,t){let{__scopeSelect:n,disabled:r=!1,...i}=e,a=J(n),o=Y(ue,n),s=o.disabled||r,c=h(t,o.onTriggerChange),l=K(n),u=N.useRef(`touch`),[f,p,m]=qe(e=>{let t=l().filter(e=>!e.disabled),n=Je(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),g=H(e=>{s||(o.onOpenChange(!0),m()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,B.jsx)(d,{asChild:!0,...a,children:(0,B.jsx)(_.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":$(o.value)?``:void 0,...i,ref:c,onClick:D(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&g(e)}),onPointerDown:D(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(g(e),e.preventDefault())}),onKeyDown:D(i.onKeyDown,e=>{let t=f.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&p(e.key),!(t&&e.key===` `)&&U.includes(e.key)&&(g(),e.preventDefault())})})})},`SelectTrigger`)),fe=`SelectValue`,pe=N.forwardRef(H(function(e,t){let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=Y(fe,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=h(t,c.onValueNodeChange);g(()=>{l(u)},[l,u]);let f=$(c.value);return(0,B.jsx)(_.span,{...s,asChild:!f&&s.asChild,ref:d,style:{pointerEvents:`none`},children:(0,B.jsx)(N.Fragment,{children:f?o:a},f?`placeholder`:`value`)})},`SelectValue`)),me=N.forwardRef(H(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,B.jsx)(_.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[he,ge]=q(`SelectPortal`,{forceMount:void 0}),_e=H(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,B.jsx)(he,{scope:e.__scopeSelect,forceMount:n,children:(0,B.jsx)(S,{asChild:!0,...r})})},`SelectPortal`),X=`SelectContent`,ve=N.forwardRef(H(function(e,t){let n=ge(X,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=Y(X,e.__scopeSelect),[o,s]=N.useState();return g(()=>{s(new DocumentFragment)},[]),(0,B.jsx)(x,{present:r||a.open,children:({present:e})=>e?(0,B.jsx)(Se,{...i,ref:t}):(0,B.jsx)(ye,{...i,fragment:o})})},`SelectContent`)),ye=N.forwardRef(H(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?te.createPortal((0,B.jsx)(be,{scope:n,children:(0,B.jsx)(G.Slot,{scope:n,children:(0,B.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),Z=10,[be,Q]=q(X),xe=p(`SelectContent.RemoveScroll`),Se=N.forwardRef(H(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:g,avoidCollisions:_,...b}=e,x=Y(X,n),[S,C]=N.useState(null),[T,O]=N.useState(null),k=h(t,C),[A,j]=N.useState(null),[M,te]=N.useState(null),P=K(n),[F,I]=N.useState(!1),L=N.useRef(!1);N.useEffect(()=>{if(S)return w(S)},[S]),v();let R=N.useCallback(e=>{let[t,...n]=P().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&T&&(T.scrollTop=0),n===r&&T&&(T.scrollTop=T.scrollHeight),n?.focus(),document.activeElement!==i))return},[P,T]),z=N.useCallback(()=>R([A,S]),[R,A,S]);N.useEffect(()=>{F&&z()},[F,z]);let{onOpenChange:V,triggerPointerDownPosRef:U}=x;N.useEffect(()=>{if(S){let e={x:0,y:0},t=H(t=>{e={x:Math.abs(Math.round(t.pageX)-(U.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(U.current?.y??0))}},`handlePointerMove`),n=H(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(S)||V(!1),document.removeEventListener(`pointermove`,t),U.current=null},`handlePointerUp`);return U.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[S,V,U]),N.useEffect(()=>{let e=H(()=>V(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[V]);let[ne,W]=qe(e=>{let t=P().filter(e=>!e.disabled),n=Je(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),G=N.useCallback((e,t,n)=>{let r=!L.current&&!n;(x.value!==void 0&&x.value===t||r)&&(j(e),r&&(L.current=!0))},[x.value]),re=N.useCallback(()=>S?.focus(),[S]),q=N.useCallback((e,t,n)=>{let r=!L.current&&!n;(x.value!==void 0&&x.value===t||r)&&te(e)},[x.value]),ie=r===`popper`?we:Ce,J=ie===we?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:g,avoidCollisions:_}:{};return(0,B.jsx)(be,{scope:n,content:S,viewport:T,onViewportChange:O,itemRefCallback:G,selectedItem:A,onItemLeave:re,itemTextRefCallback:q,focusSelectedItem:z,selectedItemText:M,position:r,isPositioned:F,searchRef:ne,children:(0,B.jsx)(E,{as:xe,allowPinchZoom:!0,children:(0,B.jsx)(ee,{asChild:!0,trapped:x.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:D(i,e=>{x.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,B.jsx)(y,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:(0,B.jsx)(ie,{role:`listbox`,id:x.contentId,"data-state":x.open?`open`:`closed`,dir:x.dir,onContextMenu:e=>e.preventDefault(),...b,...J,onPlaced:()=>I(!0),ref:k,style:{display:`flex`,flexDirection:`column`,outline:`none`,...b.style},onKeyDown:D(b.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&W(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=P().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>R(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),Ce=N.forwardRef(H(function(e,t){let{__scopeSelect:n,onPlaced:r,...i}=e,a=Y(X,n),o=Q(X,n),[s,c]=N.useState(null),[l,u]=N.useState(null),d=h(t,u),f=K(n),p=N.useRef(!1),m=N.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=o,S=N.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&v&&y&&b){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=b.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Z,d=z(a,[Z,Math.max(Z,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Z,d=z(a,[Z,Math.max(Z,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-Z*2,u=v.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),h=parseInt(d.paddingTop,10),g=parseInt(d.borderBottomWidth,10),_=parseInt(d.paddingBottom,10),x=m+h+u+_+g,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-Z,ee=c-E,D=y.offsetHeight/2,O=y.offsetTop+D,k=m+h+O,A=x-k;if(k<=E){let e=o.length>0&&y===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-v.offsetTop-v.offsetHeight,n=k+Math.max(ee,D+(e?T:0)+t+g);s.style.height=n+`px`}else{let e=o.length>0&&y===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+v.offsetTop+(e?w:0)+D)+A;s.style.height=t+`px`,v.scrollTop=k-E+v.offsetTop}s.style.margin=`${Z}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,v,y,b,a.dir,r]);g(()=>S(),[S]);let[C,w]=N.useState();g(()=>{l&&w(window.getComputedStyle(l).zIndex)},[l]);let T=N.useCallback(e=>{e&&m.current===!0&&(S(),x?.(),m.current=!1)},[S,x]);return(0,B.jsx)(Te,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:T,children:(0,B.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:(0,B.jsx)(_.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})},`SelectItemAlignedPosition`)),we=N.forwardRef(H(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=Z,...a}=e,o=J(n);return(0,B.jsx)(u,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[Te,Ee]=q(X,{}),De=`SelectViewport`,Oe=N.forwardRef(H(function(e,t){let{__scopeSelect:n,nonce:r,...i}=e,a=Q(De,n),o=Ee(De,n),s=h(t,a.onViewportChange),c=N.useRef(0);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,B.jsx)(G.Slot,{scope:n,children:(0,B.jsx)(_.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:D(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-Z*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})},`SelectViewport`)),[ke,Ae]=q(`SelectGroup`),je=`SelectItem`,[Me,Ne]=q(je),Pe=N.forwardRef(H(function(e,t){let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=Y(je,n),c=Q(je,n),l=s.value===r,[u,d]=N.useState(a??``),[f,p]=N.useState(!1),m=T(e=>c.itemRefCallback?.(e,r,i)),g=h(t,m),v=C(),y=N.useRef(`touch`),b=H(()=>{i||(s.onValueChange(r),s.onOpenChange(!1))},`handleSelect`);return(0,B.jsx)(Me,{scope:n,value:r,disabled:i,textId:v,isSelected:l,onItemTextChange:N.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,B.jsx)(G.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,B.jsx)(_.div,{role:`option`,"aria-labelledby":v,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:g,onFocus:D(o.onFocus,()=>p(!0)),onBlur:D(o.onBlur,()=>p(!1)),onClick:D(o.onClick,()=>{y.current!==`mouse`&&b()}),onPointerUp:D(o.onPointerUp,()=>{y.current===`mouse`&&b()}),onPointerDown:D(o.onPointerDown,e=>{y.current=e.pointerType}),onPointerMove:D(o.onPointerMove,e=>{y.current=e.pointerType,i?c.onItemLeave?.():y.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:D(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:D(o.onKeyDown,e=>{i||e.target!==e.currentTarget||(c.searchRef?.current===``||e.key!==` `)&&(ne.includes(e.key)&&b(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Fe=`SelectItemText`,Ie=N.forwardRef(H(function(e,t){let{__scopeSelect:n,className:r,style:i,...a}=e,o=Y(Fe,n),s=Q(Fe,n),c=Ne(Fe,n),l=se(Fe,n),[u,d]=N.useState(null),f=T(e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=h(t,d,c.onItemTextChange,f),m=u?.textContent,v=N.useMemo(()=>(0,B.jsx)(`option`,{value:c.value,disabled:c.disabled,children:m},c.value),[c.disabled,c.value,m]),{onNativeOptionAdd:y,onNativeOptionRemove:b}=l;return g(()=>(y(v),()=>b(v)),[y,b,v]),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(_.span,{id:c.textId,...a,ref:p}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!$(o.value)?te.createPortal(a.children,o.valueNode):null]})},`SelectItemText`)),Le=`SelectItemIndicator`,Re=N.forwardRef(H(function(e,t){let{__scopeSelect:n,...r}=e;return Ne(Le,n).isSelected?(0,B.jsx)(_.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),ze=`SelectScrollUpButton`,Be=N.forwardRef(H(function(e,t){let n=Q(ze,e.__scopeSelect),r=Ee(ze,e.__scopeSelect),[i,a]=N.useState(!1),o=h(t,r.onScrollButtonChange);return g(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)};H(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,B.jsx)(Ue,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),Ve=`SelectScrollDownButton`,He=N.forwardRef(H(function(e,t){let n=Q(Ve,e.__scopeSelect),r=Ee(Ve,e.__scopeSelect),[i,a]=N.useState(!1),o=h(t,r.onScrollButtonChange);return g(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)};H(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,B.jsx)(Ue,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Ue=N.forwardRef(H(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Q(`SelectScrollButton`,n),o=N.useRef(null),s=K(n),c=N.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return N.useEffect(()=>()=>c(),[c]),g(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,B.jsx)(_.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:D(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:D(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:D(i.onPointerLeave,()=>{c()})})},`SelectScrollButtonImpl`)),We=`SelectBubbleInput`,Ge=N.forwardRef(H(function({__scopeSelect:e,...t},n){let r=Y(We,e),{value:i,onValueChange:a,required:o,disabled:c,name:l,autoComplete:u,form:d}=r,{nativeOptions:f,nativeSelectKey:p}=r,m=N.useRef(null),g=h(n,m),v=i??``,y=I(v),b=Array.from(f).some(e=>(e.props.value??``)===``);return N.useEffect(()=>{let e=m.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(y!==v&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,v),e.dispatchEvent(t)}},[y,v]),(0,B.jsxs)(_.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:l,autoComplete:u,disabled:c,form:d,onChange:e=>a(e.target.value),...t,style:{...s,...t.style},ref:g,defaultValue:v,children:[$(i)&&!b?(0,B.jsx)(`option`,{value:``}):null,Array.from(f)]},p)},`SelectBubbleInput`));function Ke(e){return typeof e==`function`}H(Ke,`isFunction`);function $(e){return e===``||e===void 0}H($,`shouldShowPlaceholder`);function qe(e){let t=T(e),n=N.useRef(``),r=N.useRef(0),i=N.useCallback(e=>{let i=n.current+e;t(i),H((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=N.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}H(qe,`useTypeaheadSearch`);function Je(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Ye(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}H(Je,`findNextItem`);function Ye(e,t){return e.map((n,r)=>e[(t+r)%e.length])}H(Ye,`wrapArray`);function Xe({...e}){return(0,B.jsx)(le,{"data-slot":`select`,...e})}function Ze({...e}){return(0,B.jsx)(pe,{"data-slot":`select-value`,...e})}function Qe({className:e,size:t=`default`,children:n,...r}){return(0,B.jsxs)(de,{"data-slot":`select-trigger`,"data-size":t,className:a(`flex w-fit items-center justify-between gap-2 rounded-lg border border-input bg-card px-3 py-2 text-sm whitespace-nowrap text-foreground transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-10 data-[size=sm]:h-9 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/20 dark:hover:bg-input/30 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,B.jsx)(me,{asChild:!0,children:(0,B.jsx)(A,{className:`size-4 opacity-50`})})]})}function $e({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,B.jsx)(_e,{children:(0,B.jsxs)(ve,{"data-slot":`select-content`,className:a(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,B.jsx)(tt,{}),(0,B.jsx)(Oe,{className:a(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,B.jsx)(nt,{})]})})}function et({className:e,children:t,...n}){return(0,B.jsxs)(Pe,{"data-slot":`select-item`,className:a(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,B.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,B.jsx)(Re,{children:(0,B.jsx)(m,{className:`size-4`})})}),(0,B.jsx)(Ie,{children:t})]})}function tt({className:e,...t}){return(0,B.jsx)(Be,{"data-slot":`select-scroll-up-button`,className:a(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,B.jsx)(M,{className:`size-4`})})}function nt({className:e,...t}){return(0,B.jsx)(He,{"data-slot":`select-scroll-down-button`,className:a(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,B.jsx)(A,{className:`size-4`})})}export{Ze as a,Qe as i,$e as n,M as o,et as r,A as s,Xe as t};
2
- //# sourceMappingURL=select--mePTdz8.js.map
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./react-CQOZoUwg.js";import{t as n}from"./react-dom-pEVw9mjF.js";import{t as r}from"./jsx-runtime-DREnUpxT.js";import{i,t as a}from"./cn-CEPUgFbZ.js";import{F as o,L as s,P as c,S as l,b as u,v as d,x as f}from"./InfoHint-BdAadb9U.js";import{C as p,O as m,T as h,_ as g,b as _,c as v,d as y,g as b,h as x,l as S,m as C,o as w,p as T,s as E,u as ee,v as D,y as O}from"./skeleton-BPLAzyDo.js";var k={name:`chevron-down`,size:24,node:[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]};k.node;var A=i(k),j={name:`chevron-up`,size:24,node:[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]};j.node;var M=i(j),te=e(n(),1),N=e(t(),1),P=Object.defineProperty,F=(e,t)=>P(e,`name`,{value:t,configurable:!0});function I(e){let t=N.useRef({value:e,previous:e});return N.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}F(I,`usePrevious`);var L=Object.defineProperty,R=(e,t)=>L(e,`name`,{value:t,configurable:!0});function z(e,[t,n]){return Math.min(n,Math.max(t,e))}R(z,`clamp`);var B=e(r(),1),V=Object.defineProperty,H=(e,t)=>V(e,`name`,{value:t,configurable:!0}),U=[` `,`Enter`,`ArrowUp`,`ArrowDown`],ne=[` `,`Enter`],W=`Select`,[G,K,re]=o(W),[q,ie]=O(W,[re,l]),J=l(),[ae,Y]=q(W),[oe,se]=q(W);function ce(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:l,dir:u,name:d,autoComplete:p,disabled:m,required:h,form:g,internal_do_not_use_render:_}=e,v=J(t),[y,x]=N.useState(null),[S,w]=N.useState(null),[T,E]=N.useState(!1),ee=c(u),[D,O]=b({prop:r,defaultProp:i??!1,onChange:a,caller:W}),[k,A]=b({prop:o,defaultProp:s,onChange:l,caller:W}),j=N.useRef(null),M=N.useRef(k);N.useEffect(()=>{let e=g?y?.ownerDocument.getElementById(g):y?.form;if(e instanceof HTMLFormElement){let t=H(()=>A(M.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[g,y,A]);let te=!y||!!g||!!y.closest(`form`),[P,F]=N.useState(new Set),I=C(),L=Array.from(P).map(e=>e.props.value).join(`;`),R=N.useCallback(e=>{F(t=>new Set(t).add(e))},[]),z=N.useCallback(e=>{F(t=>{let n=new Set(t);return n.delete(e),n})},[]),V={required:h,trigger:y,onTriggerChange:x,valueNode:S,onValueNodeChange:w,valueNodeHasChildren:T,onValueNodeHasChildrenChange:E,contentId:I,value:k,onValueChange:A,open:D,onOpenChange:O,dir:ee,triggerPointerDownPosRef:j,disabled:m,name:d,autoComplete:p,form:g,nativeOptions:P,nativeSelectKey:L,isFormControl:te};return(0,B.jsx)(f,{...v,children:(0,B.jsx)(ae,{scope:t,...V,children:(0,B.jsx)(G.Provider,{scope:t,children:(0,B.jsx)(oe,{scope:t,onNativeOptionAdd:R,onNativeOptionRemove:z,children:Ke(_)?_(V):n})})})})}H(ce,`SelectProvider`);var le=H(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,B.jsx)(ce,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,B.jsxs)(B.Fragment,{children:[n,e?(0,B.jsx)(Ge,{__scopeSelect:t}):null]})})},`Select`),ue=`SelectTrigger`,de=N.forwardRef(H(function(e,t){let{__scopeSelect:n,disabled:r=!1,...i}=e,a=J(n),o=Y(ue,n),s=o.disabled||r,c=h(t,o.onTriggerChange),l=K(n),u=N.useRef(`touch`),[f,p,m]=qe(e=>{let t=l().filter(e=>!e.disabled),n=Je(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),g=H(e=>{s||(o.onOpenChange(!0),m()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,B.jsx)(d,{asChild:!0,...a,children:(0,B.jsx)(_.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":$(o.value)?``:void 0,...i,ref:c,onClick:D(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&g(e)}),onPointerDown:D(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(g(e),e.preventDefault())}),onKeyDown:D(i.onKeyDown,e=>{let t=f.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&p(e.key),!(t&&e.key===` `)&&U.includes(e.key)&&(g(),e.preventDefault())})})})},`SelectTrigger`)),fe=`SelectValue`,pe=N.forwardRef(H(function(e,t){let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=Y(fe,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=h(t,c.onValueNodeChange);g(()=>{l(u)},[l,u]);let f=$(c.value);return(0,B.jsx)(_.span,{...s,asChild:!f&&s.asChild,ref:d,style:{pointerEvents:`none`},children:(0,B.jsx)(N.Fragment,{children:f?o:a},f?`placeholder`:`value`)})},`SelectValue`)),me=N.forwardRef(H(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,B.jsx)(_.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[he,ge]=q(`SelectPortal`,{forceMount:void 0}),_e=H(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,B.jsx)(he,{scope:e.__scopeSelect,forceMount:n,children:(0,B.jsx)(S,{asChild:!0,...r})})},`SelectPortal`),X=`SelectContent`,ve=N.forwardRef(H(function(e,t){let n=ge(X,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=Y(X,e.__scopeSelect),[o,s]=N.useState();return g(()=>{s(new DocumentFragment)},[]),(0,B.jsx)(x,{present:r||a.open,children:({present:e})=>e?(0,B.jsx)(Se,{...i,ref:t}):(0,B.jsx)(ye,{...i,fragment:o})})},`SelectContent`)),ye=N.forwardRef(H(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?te.createPortal((0,B.jsx)(be,{scope:n,children:(0,B.jsx)(G.Slot,{scope:n,children:(0,B.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),Z=10,[be,Q]=q(X),xe=p(`SelectContent.RemoveScroll`),Se=N.forwardRef(H(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:g,avoidCollisions:_,...b}=e,x=Y(X,n),[S,C]=N.useState(null),[T,O]=N.useState(null),k=h(t,C),[A,j]=N.useState(null),[M,te]=N.useState(null),P=K(n),[F,I]=N.useState(!1),L=N.useRef(!1);N.useEffect(()=>{if(S)return w(S)},[S]),v();let R=N.useCallback(e=>{let[t,...n]=P().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&T&&(T.scrollTop=0),n===r&&T&&(T.scrollTop=T.scrollHeight),n?.focus(),document.activeElement!==i))return},[P,T]),z=N.useCallback(()=>R([A,S]),[R,A,S]);N.useEffect(()=>{F&&z()},[F,z]);let{onOpenChange:V,triggerPointerDownPosRef:U}=x;N.useEffect(()=>{if(S){let e={x:0,y:0},t=H(t=>{e={x:Math.abs(Math.round(t.pageX)-(U.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(U.current?.y??0))}},`handlePointerMove`),n=H(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(S)||V(!1),document.removeEventListener(`pointermove`,t),U.current=null},`handlePointerUp`);return U.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[S,V,U]),N.useEffect(()=>{let e=H(()=>V(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[V]);let[ne,W]=qe(e=>{let t=P().filter(e=>!e.disabled),n=Je(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),G=N.useCallback((e,t,n)=>{let r=!L.current&&!n;(x.value!==void 0&&x.value===t||r)&&(j(e),r&&(L.current=!0))},[x.value]),re=N.useCallback(()=>S?.focus(),[S]),q=N.useCallback((e,t,n)=>{let r=!L.current&&!n;(x.value!==void 0&&x.value===t||r)&&te(e)},[x.value]),ie=r===`popper`?we:Ce,J=ie===we?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:g,avoidCollisions:_}:{};return(0,B.jsx)(be,{scope:n,content:S,viewport:T,onViewportChange:O,itemRefCallback:G,selectedItem:A,onItemLeave:re,itemTextRefCallback:q,focusSelectedItem:z,selectedItemText:M,position:r,isPositioned:F,searchRef:ne,children:(0,B.jsx)(E,{as:xe,allowPinchZoom:!0,children:(0,B.jsx)(ee,{asChild:!0,trapped:x.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:D(i,e=>{x.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,B.jsx)(y,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:(0,B.jsx)(ie,{role:`listbox`,id:x.contentId,"data-state":x.open?`open`:`closed`,dir:x.dir,onContextMenu:e=>e.preventDefault(),...b,...J,onPlaced:()=>I(!0),ref:k,style:{display:`flex`,flexDirection:`column`,outline:`none`,...b.style},onKeyDown:D(b.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&W(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=P().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>R(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),Ce=N.forwardRef(H(function(e,t){let{__scopeSelect:n,onPlaced:r,...i}=e,a=Y(X,n),o=Q(X,n),[s,c]=N.useState(null),[l,u]=N.useState(null),d=h(t,u),f=K(n),p=N.useRef(!1),m=N.useRef(!0),{viewport:v,selectedItem:y,selectedItemText:b,focusSelectedItem:x}=o,S=N.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&v&&y&&b){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=b.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Z,d=z(a,[Z,Math.max(Z,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Z,d=z(a,[Z,Math.max(Z,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-Z*2,u=v.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),h=parseInt(d.paddingTop,10),g=parseInt(d.borderBottomWidth,10),_=parseInt(d.paddingBottom,10),x=m+h+u+_+g,S=Math.min(y.offsetHeight*5,x),C=window.getComputedStyle(v),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-Z,ee=c-E,D=y.offsetHeight/2,O=y.offsetTop+D,k=m+h+O,A=x-k;if(k<=E){let e=o.length>0&&y===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-v.offsetTop-v.offsetHeight,n=k+Math.max(ee,D+(e?T:0)+t+g);s.style.height=n+`px`}else{let e=o.length>0&&y===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+v.offsetTop+(e?w:0)+D)+A;s.style.height=t+`px`,v.scrollTop=k-E+v.offsetTop}s.style.margin=`${Z}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,v,y,b,a.dir,r]);g(()=>S(),[S]);let[C,w]=N.useState();g(()=>{l&&w(window.getComputedStyle(l).zIndex)},[l]);let T=N.useCallback(e=>{e&&m.current===!0&&(S(),x?.(),m.current=!1)},[S,x]);return(0,B.jsx)(Te,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:T,children:(0,B.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:C},children:(0,B.jsx)(_.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})},`SelectItemAlignedPosition`)),we=N.forwardRef(H(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=Z,...a}=e,o=J(n);return(0,B.jsx)(u,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[Te,Ee]=q(X,{}),De=`SelectViewport`,Oe=N.forwardRef(H(function(e,t){let{__scopeSelect:n,nonce:r,...i}=e,a=Q(De,n),o=Ee(De,n),s=h(t,a.onViewportChange),c=N.useRef(0);return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,B.jsx)(G.Slot,{scope:n,children:(0,B.jsx)(_.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:D(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-Z*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})},`SelectViewport`)),[ke,Ae]=q(`SelectGroup`),je=`SelectItem`,[Me,Ne]=q(je),Pe=N.forwardRef(H(function(e,t){let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=Y(je,n),c=Q(je,n),l=s.value===r,[u,d]=N.useState(a??``),[f,p]=N.useState(!1),m=T(e=>c.itemRefCallback?.(e,r,i)),g=h(t,m),v=C(),y=N.useRef(`touch`),b=H(()=>{i||(s.onValueChange(r),s.onOpenChange(!1))},`handleSelect`);return(0,B.jsx)(Me,{scope:n,value:r,disabled:i,textId:v,isSelected:l,onItemTextChange:N.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,B.jsx)(G.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,B.jsx)(_.div,{role:`option`,"aria-labelledby":v,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:g,onFocus:D(o.onFocus,()=>p(!0)),onBlur:D(o.onBlur,()=>p(!1)),onClick:D(o.onClick,()=>{y.current!==`mouse`&&b()}),onPointerUp:D(o.onPointerUp,()=>{y.current===`mouse`&&b()}),onPointerDown:D(o.onPointerDown,e=>{y.current=e.pointerType}),onPointerMove:D(o.onPointerMove,e=>{y.current=e.pointerType,i?c.onItemLeave?.():y.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:D(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:D(o.onKeyDown,e=>{i||e.target!==e.currentTarget||(c.searchRef?.current===``||e.key!==` `)&&(ne.includes(e.key)&&b(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Fe=`SelectItemText`,Ie=N.forwardRef(H(function(e,t){let{__scopeSelect:n,className:r,style:i,...a}=e,o=Y(Fe,n),s=Q(Fe,n),c=Ne(Fe,n),l=se(Fe,n),[u,d]=N.useState(null),f=T(e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=h(t,d,c.onItemTextChange,f),m=u?.textContent,v=N.useMemo(()=>(0,B.jsx)(`option`,{value:c.value,disabled:c.disabled,children:m},c.value),[c.disabled,c.value,m]),{onNativeOptionAdd:y,onNativeOptionRemove:b}=l;return g(()=>(y(v),()=>b(v)),[y,b,v]),(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(_.span,{id:c.textId,...a,ref:p}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!$(o.value)?te.createPortal(a.children,o.valueNode):null]})},`SelectItemText`)),Le=`SelectItemIndicator`,Re=N.forwardRef(H(function(e,t){let{__scopeSelect:n,...r}=e;return Ne(Le,n).isSelected?(0,B.jsx)(_.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),ze=`SelectScrollUpButton`,Be=N.forwardRef(H(function(e,t){let n=Q(ze,e.__scopeSelect),r=Ee(ze,e.__scopeSelect),[i,a]=N.useState(!1),o=h(t,r.onScrollButtonChange);return g(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)};H(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,B.jsx)(Ue,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),Ve=`SelectScrollDownButton`,He=N.forwardRef(H(function(e,t){let n=Q(Ve,e.__scopeSelect),r=Ee(Ve,e.__scopeSelect),[i,a]=N.useState(!1),o=h(t,r.onScrollButtonChange);return g(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)};H(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,B.jsx)(Ue,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Ue=N.forwardRef(H(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Q(`SelectScrollButton`,n),o=N.useRef(null),s=K(n),c=N.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return N.useEffect(()=>()=>c(),[c]),g(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,B.jsx)(_.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:D(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:D(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:D(i.onPointerLeave,()=>{c()})})},`SelectScrollButtonImpl`)),We=`SelectBubbleInput`,Ge=N.forwardRef(H(function({__scopeSelect:e,...t},n){let r=Y(We,e),{value:i,onValueChange:a,required:o,disabled:c,name:l,autoComplete:u,form:d}=r,{nativeOptions:f,nativeSelectKey:p}=r,m=N.useRef(null),g=h(n,m),v=i??``,y=I(v),b=Array.from(f).some(e=>(e.props.value??``)===``);return N.useEffect(()=>{let e=m.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(y!==v&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,v),e.dispatchEvent(t)}},[y,v]),(0,B.jsxs)(_.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:l,autoComplete:u,disabled:c,form:d,onChange:e=>a(e.target.value),...t,style:{...s,...t.style},ref:g,defaultValue:v,children:[$(i)&&!b?(0,B.jsx)(`option`,{value:``}):null,Array.from(f)]},p)},`SelectBubbleInput`));function Ke(e){return typeof e==`function`}H(Ke,`isFunction`);function $(e){return e===``||e===void 0}H($,`shouldShowPlaceholder`);function qe(e){let t=T(e),n=N.useRef(``),r=N.useRef(0),i=N.useCallback(e=>{let i=n.current+e;t(i),H((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=N.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}H(qe,`useTypeaheadSearch`);function Je(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Ye(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}H(Je,`findNextItem`);function Ye(e,t){return e.map((n,r)=>e[(t+r)%e.length])}H(Ye,`wrapArray`);function Xe({...e}){return(0,B.jsx)(le,{"data-slot":`select`,...e})}function Ze({...e}){return(0,B.jsx)(pe,{"data-slot":`select-value`,...e})}function Qe({className:e,size:t=`default`,children:n,...r}){return(0,B.jsxs)(de,{"data-slot":`select-trigger`,"data-size":t,className:a(`flex w-fit items-center justify-between gap-2 rounded-lg border border-input bg-card px-3 py-2 text-sm whitespace-nowrap text-foreground transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-10 data-[size=sm]:h-9 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/20 dark:hover:bg-input/30 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,B.jsx)(me,{asChild:!0,children:(0,B.jsx)(A,{className:`size-4 opacity-50`})})]})}function $e({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,B.jsx)(_e,{children:(0,B.jsxs)(ve,{"data-slot":`select-content`,className:a(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,B.jsx)(tt,{}),(0,B.jsx)(Oe,{className:a(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,B.jsx)(nt,{})]})})}function et({className:e,children:t,...n}){return(0,B.jsxs)(Pe,{"data-slot":`select-item`,className:a(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,B.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,B.jsx)(Re,{children:(0,B.jsx)(m,{className:`size-4`})})}),(0,B.jsx)(Ie,{children:t})]})}function tt({className:e,...t}){return(0,B.jsx)(Be,{"data-slot":`select-scroll-up-button`,className:a(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,B.jsx)(M,{className:`size-4`})})}function nt({className:e,...t}){return(0,B.jsx)(He,{"data-slot":`select-scroll-down-button`,className:a(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,B.jsx)(A,{className:`size-4`})})}export{Ze as a,Qe as i,$e as n,M as o,et as r,A as s,Xe as t};
2
+ //# sourceMappingURL=select-BMi4G1Ib.js.map