@blinkk/root-cms 3.1.4 → 3.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/app.js +3 -2
  2. package/dist/{chunk-AFBSITEO.js → chunk-PLSNGCYU.js} +200 -22
  3. package/dist/{chunk-MYN76V3L.js → chunk-U4TMO2LI.js} +2 -2
  4. package/dist/{chunk-NC3CRIFA.js → chunk-Z2CTQVYR.js} +1 -1
  5. package/dist/cli.js +1 -1
  6. package/dist/client.js +1 -1
  7. package/dist/core/client.d.ts +30 -2
  8. package/dist/core/cron-schedule.d.ts +63 -0
  9. package/dist/core/plugin.d.ts +6 -1
  10. package/dist/core/schema.d.ts +88 -3
  11. package/dist/core.js +1 -1
  12. package/dist/functions.js +2 -2
  13. package/dist/plugin.js +7 -5
  14. package/dist/richtext.js +1 -1
  15. package/dist/shared/embed-protocol.d.ts +19 -0
  16. package/dist/ui/AIPage-EO5WH25R.js +1 -0
  17. package/dist/ui/{AssetsPage-QUL2NBWK.js → AssetsPage-ESLB4R3I.js} +1 -1
  18. package/dist/ui/CollectionPage-MXN7XKUX.js +1 -0
  19. package/dist/ui/{ComparePage-DCP5QHDE.js → ComparePage-TY7VJVE3.js} +1 -1
  20. package/dist/ui/{DataPage-TUVFBALT.js → DataPage-YEIS7HBN.js} +1 -1
  21. package/dist/ui/{DataSourcePage-YE2ZOHYI.js → DataSourcePage-VD6YBDRW.js} +1 -1
  22. package/dist/ui/{DocTranslationsPage-3ILTQOP2.js → DocTranslationsPage-6XLREBPQ.js} +1 -1
  23. package/dist/ui/DocumentPage-2HNNEGRI.js +1 -0
  24. package/dist/ui/{EditDataSourcePage-WHPZDMD4.js → EditDataSourcePage-E4PSKSG3.js} +1 -1
  25. package/dist/ui/EditReleasePage-DOMXJXCU.js +1 -0
  26. package/dist/ui/EmbeddedAIPage-U5LONYH2.js +1 -0
  27. package/dist/ui/EmbeddedDocumentPage-HYV5GPK6.js +1 -0
  28. package/dist/ui/{ImageEditorDialog-Q44YTLB5.js → ImageEditorDialog-YDKOGVJV.js} +1 -1
  29. package/dist/ui/LogsPage-6KV3CQLH.js +1 -0
  30. package/dist/ui/NewDataSourcePage-NJJDHGPX.js +1 -0
  31. package/dist/ui/NewReleasePage-FXHPFUVG.js +1 -0
  32. package/dist/ui/{NotFoundPage-RMNPVSD3.js → NotFoundPage-CA7XVXUO.js} +1 -1
  33. package/dist/ui/{ProjectPage-VY4EJX6J.js → ProjectPage-XUBJSCWB.js} +1 -1
  34. package/dist/ui/ReleasePage-NLGRYJX7.js +1 -0
  35. package/dist/ui/{ReleasesPage-A4BLUNJE.js → ReleasesPage-OY7OKC3C.js} +1 -1
  36. package/dist/ui/{SettingsPage-MP3YHQDP.js → SettingsPage-5EQUY52A.js} +1 -1
  37. package/dist/ui/SidebarToolsPage-FWG6TIDI.js +1 -0
  38. package/dist/ui/TaskPage-APNRUOYG.js +1 -0
  39. package/dist/ui/TasksPage-FTEELXVZ.js +1 -0
  40. package/dist/ui/{TranslationsArbPage-B7TIRREV.js → TranslationsArbPage-PG5USRYB.js} +1 -1
  41. package/dist/ui/{TranslationsEditPage-VQG4YHA6.js → TranslationsEditPage-GV3ZJXTY.js} +1 -1
  42. package/dist/ui/{TranslationsPage-6VCVMNXI.js → TranslationsPage-3AKSMCNF.js} +1 -1
  43. package/dist/ui/{chunk-5SY2SVEX.js → chunk-235TRWJF.js} +2 -2
  44. package/dist/ui/{chunk-EYVQCOAD.js → chunk-2PTLQRTU.js} +1 -1
  45. package/dist/ui/{chunk-FF4CLAZS.js → chunk-2RRM4HEQ.js} +1 -1
  46. package/dist/ui/{chunk-MAZJRNAL.js → chunk-34W6H4YG.js} +1 -1
  47. package/dist/ui/{chunk-AZ2SK2ZK.js → chunk-3LEYSXZP.js} +1 -1
  48. package/dist/ui/{chunk-L3O3CLWO.js → chunk-44ZU5WMI.js} +1 -1
  49. package/dist/ui/{chunk-MYKJ6VAM.js → chunk-535JU7FU.js} +1 -1
  50. package/dist/ui/chunk-56NMZYX6.js +19 -0
  51. package/dist/ui/{chunk-3WQCVKK4.js → chunk-6WJQBFN5.js} +1 -1
  52. package/dist/ui/{chunk-UHK5N75L.js → chunk-75NMQ3LW.js} +1 -1
  53. package/dist/ui/{chunk-4N6CPIOQ.js → chunk-A7IZAHBZ.js} +1 -1
  54. package/dist/ui/{chunk-2PDMFZBF.js → chunk-C5FRMXDS.js} +1 -1
  55. package/dist/ui/chunk-EYJ6GKZR.js +1 -0
  56. package/dist/ui/{chunk-VB5VMEN7.js → chunk-F7RQT4XN.js} +1 -1
  57. package/dist/ui/chunk-G5647K25.js +1 -0
  58. package/dist/ui/{chunk-74OB6FM4.js → chunk-H37RXS4R.js} +1 -1
  59. package/dist/ui/{chunk-LC6WLVRS.js → chunk-HV3JJ5UT.js} +1 -1
  60. package/dist/ui/{chunk-K3UM5OQF.js → chunk-HXSB6YB2.js} +1 -1
  61. package/dist/ui/chunk-ISUGBMXC.js +1 -0
  62. package/dist/ui/{chunk-WN7HUDGY.js → chunk-JBLSUM6W.js} +1 -1
  63. package/dist/ui/chunk-LAXQZPE3.js +31 -0
  64. package/dist/ui/chunk-MYPLMHFW.js +1 -0
  65. package/dist/ui/{chunk-KBJ4AK5O.js → chunk-NCZD5IWS.js} +1 -1
  66. package/dist/ui/{chunk-XJUQOX4E.js → chunk-O7ESOZQO.js} +1 -1
  67. package/dist/ui/chunk-OWYV43BT.js +1 -0
  68. package/dist/ui/{chunk-XM35ZJBQ.js → chunk-PIJ3E47R.js} +1 -1
  69. package/dist/ui/{chunk-WAT22UHZ.js → chunk-PLYSJ7W5.js} +1 -1
  70. package/dist/ui/{chunk-H3PYPGNR.js → chunk-QFDU6FXP.js} +1 -1
  71. package/dist/ui/{chunk-JSWRHHTZ.js → chunk-QGAPMQEJ.js} +1 -1
  72. package/dist/ui/{chunk-W3ICOHMF.js → chunk-QLIIVG5Q.js} +1 -1
  73. package/dist/ui/{chunk-ELKXEMOU.js → chunk-QRAFYIAW.js} +1 -1
  74. package/dist/ui/{chunk-VRRRFAIV.js → chunk-QWB6MAPJ.js} +1 -1
  75. package/dist/ui/{chunk-GCMX5V3P.js → chunk-RB23LLKL.js} +1 -1
  76. package/dist/ui/{chunk-W2ZAVRAT.js → chunk-ST6QNIWT.js} +57 -57
  77. package/dist/ui/{chunk-76PG55CM.js → chunk-U7LSFUHT.js} +1 -1
  78. package/dist/ui/{chunk-HVYNDEA7.js → chunk-UCYWQEAS.js} +1 -1
  79. package/dist/ui/{chunk-6P75AZ3B.js → chunk-UJX25CXD.js} +1 -1
  80. package/dist/ui/chunk-UOKVF54Y.js +3 -0
  81. package/dist/ui/{chunk-CSUKZZK5.js → chunk-VJRMR2JM.js} +1 -1
  82. package/dist/ui/{chunk-WS37MDM3.js → chunk-WASID5UU.js} +1 -1
  83. package/dist/ui/chunk-WRA24P66.js +7 -0
  84. package/dist/ui/{chunk-ETPZ3TXX.js.LEGAL.txt → chunk-WRA24P66.js.LEGAL.txt} +4 -1
  85. package/dist/ui/{chunk-QHOZXW7Y.js → chunk-Y5EOMMNI.js} +1 -1
  86. package/dist/ui/{chunk-EIMRPYCD.js → chunk-YBHFGQ3Z.js} +1 -1
  87. package/dist/ui/{chunk-62VPTZJL.js → chunk-YP6ZH3MT.js} +1 -1
  88. package/dist/ui/chunk-Z2CRNO3I.js +1 -0
  89. package/dist/ui/{chunk-PR7NB5VK.js → chunk-Z3ZJJWFT.js} +1 -1
  90. package/dist/ui/{chunk-F4F5MH7A.js → chunk-ZAJPNVYS.js} +1 -1
  91. package/dist/ui/ui.css +1 -1
  92. package/dist/ui/ui.js +1 -1
  93. package/package.json +3 -3
  94. package/dist/ui/AIPage-4W4MFELY.js +0 -1
  95. package/dist/ui/CollectionPage-7VU6SUUP.js +0 -1
  96. package/dist/ui/DocumentPage-JFQ3Y2GH.js +0 -1
  97. package/dist/ui/EditReleasePage-QKWHIURV.js +0 -1
  98. package/dist/ui/EmbeddedAIPage-SQLOV4IT.js +0 -1
  99. package/dist/ui/EmbeddedDocumentPage-6FYHUHTE.js +0 -1
  100. package/dist/ui/LogsPage-RC5O722W.js +0 -1
  101. package/dist/ui/NewDataSourcePage-QXW54CHQ.js +0 -1
  102. package/dist/ui/NewReleasePage-TKYWVTOH.js +0 -1
  103. package/dist/ui/ReleasePage-VZAL4KUI.js +0 -1
  104. package/dist/ui/SidebarToolsPage-S5DMIEQ6.js +0 -1
  105. package/dist/ui/TaskPage-LCBDMA4I.js +0 -1
  106. package/dist/ui/TasksPage-72KVSUQY.js +0 -1
  107. package/dist/ui/chunk-ETPZ3TXX.js +0 -7
  108. package/dist/ui/chunk-IMXZTYAA.js +0 -3
  109. package/dist/ui/chunk-J5KDO4RM.js +0 -1
  110. package/dist/ui/chunk-NEA3XU6N.js +0 -19
  111. package/dist/ui/chunk-RN4XVVWD.js +0 -1
  112. package/dist/ui/chunk-SLLTYDVX.js +0 -1
  113. package/dist/ui/chunk-SWTNOWNE.js +0 -1
  114. package/dist/ui/chunk-V3G3554T.js +0 -31
  115. package/dist/ui/chunk-YV5SGR24.js +0 -1
  116. /package/dist/ui/{ImageEditorDialog-Q44YTLB5.js.LEGAL.txt → ImageEditorDialog-YDKOGVJV.js.LEGAL.txt} +0 -0
  117. /package/dist/ui/{chunk-5SY2SVEX.js.LEGAL.txt → chunk-235TRWJF.js.LEGAL.txt} +0 -0
  118. /package/dist/ui/{chunk-W2ZAVRAT.js.LEGAL.txt → chunk-ST6QNIWT.js.LEGAL.txt} +0 -0
@@ -1 +1 @@
1
- import{e as z,j as I}from"./chunk-J5KDO4RM.js";import{c as N,e as L}from"./chunk-SLLTYDVX.js";import{a as C}from"./chunk-H3PYPGNR.js";import{a as w,c as y}from"./chunk-ELKXEMOU.js";import{b as v}from"./chunk-5MV6XVGA.js";import{Dc as B,Ga as e,V as P,a as g,da as p,g as M,j as x,ua as S,za as f}from"./chunk-ETPZ3TXX.js";x();x();function O(o,t){return M(()=>{if(!t.trim())return o;let l=t.toLowerCase();return o.filter(c=>{let[a,u]=c.id.split("/"),r=c.fields||{},n=window.__ROOT_CTX.collections[a],s=v(r,n.preview?.title||"meta.title")||"";return c.id.toLowerCase().includes(l)||s.toLowerCase().includes(l)||u.toLowerCase().includes(l)})},[o,t])}var h="DocPickerModal";function ee(){let o=w(),t=y();return{open:l=>{o.openContextModal(h,{...t,innerProps:l,size:"700px",overflow:"inside"})},close:()=>{o.closeModal(h)}}}function k(o){let{innerProps:t}=o,l=Object.keys(window.__ROOT_CTX.collections);t.collections?.length&&(l=l.filter(i=>t.collections?.includes(i)));let c=[{value:"",label:"Select"}];l.forEach(i=>{c.push({value:i,label:i})});let[a,u]=C("DocPickerModal.lastSelectedCollection",""),r=()=>t.initialCollection?t.initialCollection:a&&l.includes(a)?a:l.length===1?l[0]:"",[n,D]=g(r()),s=i=>{D(i),u(i)};function m(i){t.multiSelect&&t.onChangeMulti?t.onChangeMulti(i.id,!0):t.onChange&&t.onChange(i.id)}function b(i){t.multiSelect&&t.onChangeMulti&&t.onChangeMulti(i.id,!1)}return e("div",{className:"DocPickerModal",children:[l.length===0&&e("div",{className:"DocPickerModal__noCollections",children:"No collections matching schema field definition."}),l.length>0&&e(k.DocsList,{collection:n,onDocSelected:m,onDocUnselected:b,onCollectionChange:s,multiSelect:t.multiSelect,selectedDocIds:t.selectedDocIds,options:{enableSearch:t.enableSearch??!0,enableSort:t.enableSort??!0,enableCreate:t.enableCreate??!0,enableStatusBadges:t.enableStatusBadges??!0,showCollectionSelect:l.length>1,collectionSelectValue:n,collectionSelectOptions:c}})]})}k.DocsList=o=>{let[t,l]=g(""),[c,a]=C(`root::DocPickerModal:${o.collection}:sortBy`,"modifiedAt"),[u,r]=g(!1),[n,D,s]=z(o.collection||"",{orderBy:c}),m=O(s,t),b=[{value:"modifiedAt",label:"Last Modified"},{value:"slug",label:"A-Z"},{value:"slugDesc",label:"Z-A"},{value:"newest",label:"Newest"},{value:"oldest",label:"Oldest"}],i=o.selectedDocIds||[],d=o.options||{};return e("div",{className:"DocPickerModal__DocsList",children:[e("div",{className:"DocPickerModal__DocsList__stickyHeader",children:[d.showCollectionSelect&&e("div",{className:"DocPickerModal__collection__select",children:[e("div",{className:"DocPickerModal__collection__select__label",children:"Content Type:"}),e(f,{data:d.collectionSelectOptions||[],value:d.collectionSelectValue,placeholder:"Select",onChange:_=>{o.onCollectionChange?.(_||"")},size:"xs",radius:0,searchable:!0,autoFocus:!0,dropdownComponent:"div"}),d.collectionSelectValue&&e(p,{variant:"outline",color:"dark",size:"xs",onClick:()=>r(!0),children:"New"})]}),d.enableSearch&&d.collectionSelectValue&&e("div",{className:"DocPickerModal__DocsList__controls",children:[e(S,{placeholder:"Search documents...",value:t,onChange:_=>l(_.target.value),icon:e(B,{size:16}),size:"xs",className:"DocPickerModal__DocsList__controls__search"}),d.enableSort&&e(f,{data:b,value:c,onChange:_=>a(_||"modifiedAt"),size:"xs",className:"DocPickerModal__DocsList__controls__sort"})]}),!n&&s.length>0&&e("div",{className:"DocPickerModal__DocsList__count",children:["Showing ",m.length," of ",s.length," documents"]})]}),e("div",{className:"DocPickerModal__DocsList__docsContainer",children:o.collection?n?e("div",{className:"DocPickerModal__DocsList__loading",children:e(P,{color:"gray",size:"xl"})}):m.length===0?e("div",{className:"DocPickerModal__DocsList__empty",children:s.length===0?"Collection is empty.":"No documents match your search."}):e("div",{className:"DocPickerModal__DocsList__docs",children:m.map(_=>e(k.DocCard,{doc:_,onDocSelected:o.onDocSelected,onDocUnselected:o.onDocUnselected,multiSelect:o.multiSelect,selected:i.includes(_.id),enableStatusBadges:d.enableStatusBadges},_.id))}):e("div",{className:"DocPickerModal__DocsList__empty",children:"Select a content type to view documents"})}),d.collectionSelectValue&&e(I,{collection:d.collectionSelectValue,opened:u,skipNavigation:!0,onClose:()=>{r(!1),D()}})]})};k.DocCard=o=>{let[t,l]=g(!!o.selected),c=o.doc,[a,u]=c.id.split("/"),r=c.fields||{},n=window.__ROOT_CTX.collections[a],D=`/cms/content/${a}/${u}`,s=v(r,n.preview?.title||"meta.title"),m=v(r,n.preview?.image||"meta.image")||n.preview?.defaultImage;return e("div",{className:"DocPickerModal__DocCard",children:[e("div",{className:"DocPickerModal__DocCard__image",onClick:()=>window.open(D,"_blank"),children:e(L,{file:m,width:120,height:90,withPlaceholder:!m?.src})}),e("div",{className:"DocPickerModal__DocCard__content",children:[e("div",{className:"DocPickerModal__DocCard__content__header",children:e("div",{className:"DocPickerModal__DocCard__content__header__docId",onClick:()=>window.open(D,"_blank"),children:c.id})}),e("div",{className:"DocPickerModal__DocCard__content__title",children:e("div",{className:"DocPickerModal__DocCard__content__link",onClick:()=>window.open(D,"_blank"),children:s||"[UNTITLED]"})}),o.enableStatusBadges&&e("div",{className:"DocPickerModal__DocCard__content__badges",children:e(N,{doc:c})})]}),e("div",{className:"DocPickerModal__DocCard__controls",children:e("div",{className:"DocPickerModal__DocCard__controls__buttons",children:o.multiSelect?t?e(p,{variant:"light",color:"blue",size:"xs",onClick:()=>{l(!1),o.onDocUnselected(o.doc)},children:"Unselect"}):e(p,{variant:"filled",color:"blue",size:"xs",onClick:()=>{l(!0),o.onDocSelected(o.doc)},children:"Select"}):e(p,{color:"blue",size:"xs",onClick:()=>o.onDocSelected(o.doc),children:"Select"})})})]})};k.id=h;export{ee as a,k as b};
1
+ import{e as z,j as I}from"./chunk-EYJ6GKZR.js";import{d as N,f as L}from"./chunk-G5647K25.js";import{a as C}from"./chunk-QFDU6FXP.js";import{a as w,c as y}from"./chunk-QRAFYIAW.js";import{b as v}from"./chunk-5MV6XVGA.js";import{Ga as e,Gc as B,V as P,a as g,da as p,g as M,j as x,ua as S,za as f}from"./chunk-WRA24P66.js";x();x();function O(o,t){return M(()=>{if(!t.trim())return o;let l=t.toLowerCase();return o.filter(c=>{let[a,u]=c.id.split("/"),r=c.fields||{},n=window.__ROOT_CTX.collections[a],s=v(r,n.preview?.title||"meta.title")||"";return c.id.toLowerCase().includes(l)||s.toLowerCase().includes(l)||u.toLowerCase().includes(l)})},[o,t])}var h="DocPickerModal";function ee(){let o=w(),t=y();return{open:l=>{o.openContextModal(h,{...t,innerProps:l,size:"700px",overflow:"inside"})},close:()=>{o.closeModal(h)}}}function k(o){let{innerProps:t}=o,l=Object.keys(window.__ROOT_CTX.collections);t.collections?.length&&(l=l.filter(i=>t.collections?.includes(i)));let c=[{value:"",label:"Select"}];l.forEach(i=>{c.push({value:i,label:i})});let[a,u]=C("DocPickerModal.lastSelectedCollection",""),r=()=>t.initialCollection?t.initialCollection:a&&l.includes(a)?a:l.length===1?l[0]:"",[n,D]=g(r()),s=i=>{D(i),u(i)};function m(i){t.multiSelect&&t.onChangeMulti?t.onChangeMulti(i.id,!0):t.onChange&&t.onChange(i.id)}function b(i){t.multiSelect&&t.onChangeMulti&&t.onChangeMulti(i.id,!1)}return e("div",{className:"DocPickerModal",children:[l.length===0&&e("div",{className:"DocPickerModal__noCollections",children:"No collections matching schema field definition."}),l.length>0&&e(k.DocsList,{collection:n,onDocSelected:m,onDocUnselected:b,onCollectionChange:s,multiSelect:t.multiSelect,selectedDocIds:t.selectedDocIds,options:{enableSearch:t.enableSearch??!0,enableSort:t.enableSort??!0,enableCreate:t.enableCreate??!0,enableStatusBadges:t.enableStatusBadges??!0,showCollectionSelect:l.length>1,collectionSelectValue:n,collectionSelectOptions:c}})]})}k.DocsList=o=>{let[t,l]=g(""),[c,a]=C(`root::DocPickerModal:${o.collection}:sortBy`,"modifiedAt"),[u,r]=g(!1),[n,D,s]=z(o.collection||"",{orderBy:c}),m=O(s,t),b=[{value:"modifiedAt",label:"Last Modified"},{value:"slug",label:"A-Z"},{value:"slugDesc",label:"Z-A"},{value:"newest",label:"Newest"},{value:"oldest",label:"Oldest"}],i=o.selectedDocIds||[],d=o.options||{};return e("div",{className:"DocPickerModal__DocsList",children:[e("div",{className:"DocPickerModal__DocsList__stickyHeader",children:[d.showCollectionSelect&&e("div",{className:"DocPickerModal__collection__select",children:[e("div",{className:"DocPickerModal__collection__select__label",children:"Content Type:"}),e(f,{data:d.collectionSelectOptions||[],value:d.collectionSelectValue,placeholder:"Select",onChange:_=>{o.onCollectionChange?.(_||"")},size:"xs",radius:0,searchable:!0,autoFocus:!0,dropdownComponent:"div"}),d.collectionSelectValue&&e(p,{variant:"outline",color:"dark",size:"xs",onClick:()=>r(!0),children:"New"})]}),d.enableSearch&&d.collectionSelectValue&&e("div",{className:"DocPickerModal__DocsList__controls",children:[e(S,{placeholder:"Search documents...",value:t,onChange:_=>l(_.target.value),icon:e(B,{size:16}),size:"xs",className:"DocPickerModal__DocsList__controls__search"}),d.enableSort&&e(f,{data:b,value:c,onChange:_=>a(_||"modifiedAt"),size:"xs",className:"DocPickerModal__DocsList__controls__sort"})]}),!n&&s.length>0&&e("div",{className:"DocPickerModal__DocsList__count",children:["Showing ",m.length," of ",s.length," documents"]})]}),e("div",{className:"DocPickerModal__DocsList__docsContainer",children:o.collection?n?e("div",{className:"DocPickerModal__DocsList__loading",children:e(P,{color:"gray",size:"xl"})}):m.length===0?e("div",{className:"DocPickerModal__DocsList__empty",children:s.length===0?"Collection is empty.":"No documents match your search."}):e("div",{className:"DocPickerModal__DocsList__docs",children:m.map(_=>e(k.DocCard,{doc:_,onDocSelected:o.onDocSelected,onDocUnselected:o.onDocUnselected,multiSelect:o.multiSelect,selected:i.includes(_.id),enableStatusBadges:d.enableStatusBadges},_.id))}):e("div",{className:"DocPickerModal__DocsList__empty",children:"Select a content type to view documents"})}),d.collectionSelectValue&&e(I,{collection:d.collectionSelectValue,opened:u,skipNavigation:!0,onClose:()=>{r(!1),D()}})]})};k.DocCard=o=>{let[t,l]=g(!!o.selected),c=o.doc,[a,u]=c.id.split("/"),r=c.fields||{},n=window.__ROOT_CTX.collections[a],D=`/cms/content/${a}/${u}`,s=v(r,n.preview?.title||"meta.title"),m=v(r,n.preview?.image||"meta.image")||n.preview?.defaultImage;return e("div",{className:"DocPickerModal__DocCard",children:[e("div",{className:"DocPickerModal__DocCard__image",onClick:()=>window.open(D,"_blank"),children:e(L,{file:m,width:120,height:90,withPlaceholder:!m?.src})}),e("div",{className:"DocPickerModal__DocCard__content",children:[e("div",{className:"DocPickerModal__DocCard__content__header",children:e("div",{className:"DocPickerModal__DocCard__content__header__docId",onClick:()=>window.open(D,"_blank"),children:c.id})}),e("div",{className:"DocPickerModal__DocCard__content__title",children:e("div",{className:"DocPickerModal__DocCard__content__link",onClick:()=>window.open(D,"_blank"),children:s||"[UNTITLED]"})}),o.enableStatusBadges&&e("div",{className:"DocPickerModal__DocCard__content__badges",children:e(N,{doc:c})})]}),e("div",{className:"DocPickerModal__DocCard__controls",children:e("div",{className:"DocPickerModal__DocCard__controls__buttons",children:o.multiSelect?t?e(p,{variant:"light",color:"blue",size:"xs",onClick:()=>{l(!1),o.onDocUnselected(o.doc)},children:"Unselect"}):e(p,{variant:"filled",color:"blue",size:"xs",onClick:()=>{l(!0),o.onDocSelected(o.doc)},children:"Select"}):e(p,{color:"blue",size:"xs",onClick:()=>o.onDocSelected(o.doc),children:"Select"})})})]})};k.id=h;export{ee as a,k as b};
@@ -1 +1 @@
1
- import{b as C}from"./chunk-LC6WLVRS.js";import{e as F}from"./chunk-ATTW36EM.js";import{c,e as y,p as w,q as U,s as m}from"./chunk-XOWWPE7X.js";import{Ga as d,a as f,c as g,da as v,h as S,i as p,j as b,xb as k}from"./chunk-ETPZ3TXX.js";import{j as a,k as h}from"./chunk-KUCVLANF.js";h();b();var z=[{name:"Google Drive Folder",key:"googleDriveFolder",placeholder:"https://drive.google.com/drive/folders/...",description:`Where Google Sheets created by Root CMS's localization process are stored. If unspecified, they will be created in your "My Drive".`,ui:e=>d(v,{disabled:!e,variant:"default",size:"xs",compact:!0,rightIcon:d(k,{size:14}),onClick:()=>{e&&window.open(e,F(e))},children:"Open"})}],D=a(null);function X(e){let{db:r,user:s}=C(),o=window.__ROOT_CTX.rootConfig.projectId,[P,u]=f({});g(()=>{let n=c(r,"Projects",o),i=m(n,t=>{if(t.exists()){let l=t.data()||{};u(l.settings||{})}else u({})},t=>{console.error("Failed to subscribe to site settings:",t)});return()=>i()},[r,o,s.uid]);let x=S(async(n,i)=>{let t=c(r,"Projects",o);try{await U(t,new y("settings",n),i)}catch(l){console.error("Failed to set setting",n,l)}},[r,o,s.uid]);return d(D.Provider,{value:{settings:P,setSettings:x},children:e.children})}function B(){let e=p(D);if(!e)throw new Error("useSiteSettings must be used within a <SiteSettingsProvider>");return e}h();b();var I=a(null);function H(e){let{db:r,user:s}=C(),o=window.__ROOT_CTX.rootConfig.projectId,[P,u]=f({});g(()=>{let n=c(r,"Projects",o,"Users",s.uid),i=m(n,t=>{t.exists()?u(t.data()):u({})},t=>{console.error("Failed to subscribe to user preferences:",t)});return()=>i()},[r,o,s.uid]);let x=S(async(n,i)=>{let t=c(r,"Projects",o,"Users",s.uid);try{await w(t,{[n]:i},{merge:!0})}catch(l){console.error("Failed to set user preference",n,l)}},[r,o,s.uid]);return d(I.Provider,{value:{preferences:P,setPreference:x},children:e.children})}function K(){let e=p(I);if(!e)throw new Error("useUserPreferences must be used within a <UserPreferencesProvider>");return e}export{z as a,X as b,B as c,H as d,K as e};
1
+ import{b as C}from"./chunk-HV3JJ5UT.js";import{e as F}from"./chunk-ATTW36EM.js";import{c,e as y,p as w,q as U,s as m}from"./chunk-XOWWPE7X.js";import{Ab as k,Ga as d,a as f,c as g,da as v,h as S,i as p,j as b}from"./chunk-WRA24P66.js";import{j as a,k as h}from"./chunk-KUCVLANF.js";h();b();var z=[{name:"Google Drive Folder",key:"googleDriveFolder",placeholder:"https://drive.google.com/drive/folders/...",description:`Where Google Sheets created by Root CMS's localization process are stored. If unspecified, they will be created in your "My Drive".`,ui:e=>d(v,{disabled:!e,variant:"default",size:"xs",compact:!0,rightIcon:d(k,{size:14}),onClick:()=>{e&&window.open(e,F(e))},children:"Open"})}],D=a(null);function X(e){let{db:r,user:s}=C(),o=window.__ROOT_CTX.rootConfig.projectId,[P,u]=f({});g(()=>{let n=c(r,"Projects",o),i=m(n,t=>{if(t.exists()){let l=t.data()||{};u(l.settings||{})}else u({})},t=>{console.error("Failed to subscribe to site settings:",t)});return()=>i()},[r,o,s.uid]);let x=S(async(n,i)=>{let t=c(r,"Projects",o);try{await U(t,new y("settings",n),i)}catch(l){console.error("Failed to set setting",n,l)}},[r,o,s.uid]);return d(D.Provider,{value:{settings:P,setSettings:x},children:e.children})}function B(){let e=p(D);if(!e)throw new Error("useSiteSettings must be used within a <SiteSettingsProvider>");return e}h();b();var I=a(null);function H(e){let{db:r,user:s}=C(),o=window.__ROOT_CTX.rootConfig.projectId,[P,u]=f({});g(()=>{let n=c(r,"Projects",o,"Users",s.uid),i=m(n,t=>{t.exists()?u(t.data()):u({})},t=>{console.error("Failed to subscribe to user preferences:",t)});return()=>i()},[r,o,s.uid]);let x=S(async(n,i)=>{let t=c(r,"Projects",o,"Users",s.uid);try{await w(t,{[n]:i},{merge:!0})}catch(l){console.error("Failed to set user preference",n,l)}},[r,o,s.uid]);return d(I.Provider,{value:{preferences:P,setPreference:x},children:e.children})}function K(){let e=p(I);if(!e)throw new Error("useUserPreferences must be used within a <UserPreferencesProvider>");return e}export{z as a,X as b,B as c,H as d,K as e};
@@ -1 +1 @@
1
- import{e as t}from"./chunk-WS37MDM3.js";import{Fa as l,Ga as i}from"./chunk-ETPZ3TXX.js";import{d as n}from"./chunk-KUCVLANF.js";function c(o){return o.condition?i(l,{label:o.label,children:i("div",{className:t(o.className,"ConditionalTooltip"),style:o.style,children:i("div",{className:"ConditionalTooltip__content",children:o.children})})}):i(n,{children:o.children})}export{c as a};
1
+ import{e as t}from"./chunk-WASID5UU.js";import{Fa as l,Ga as i}from"./chunk-WRA24P66.js";import{d as n}from"./chunk-KUCVLANF.js";function c(o){return o.condition?i(l,{label:o.label,children:i("div",{className:t(o.className,"ConditionalTooltip"),style:o.style,children:i("div",{className:"ConditionalTooltip__content",children:o.children})})}):i(n,{children:o.children})}export{c as a};
@@ -0,0 +1,3 @@
1
+ import{a as _e}from"./chunk-535JU7FU.js";import{a as ce}from"./chunk-JDW4UORS.js";import{a as pe,c as he,e as fe}from"./chunk-Z2CRNO3I.js";import{c as me}from"./chunk-ATTW36EM.js";import{b as de}from"./chunk-2PTLQRTU.js";import{a as M}from"./chunk-PIJ3E47R.js";import{d as le}from"./chunk-WASID5UU.js";import{Ga as e,a as u,c as ne,da as se,e as oe,ea as G,j as Te,na as E,pa as ie,ua as w,va as ue,za as v}from"./chunk-WRA24P66.js";import{d as re}from"./chunk-KUCVLANF.js";Te();var N=[{min:0,max:59},{min:0,max:23},{min:1,max:31},{min:1,max:12},{min:0,max:7}];function O(t,a){let n=new Set,s=t.split(",");for(let m of s){let l=m.trim();if(!l)throw new Error(`invalid cron field: "${t}"`);let o=l,p=1;if(l.includes("/")){let[h,D]=l.split("/");if(o=h,p=Number(D),!Number.isInteger(p)||p<=0)throw new Error(`invalid cron step: "${l}"`)}let d,_;if(o==="*")d=a.min,_=a.max;else if(o.includes("-")){let[h,D]=o.split("-");d=Number(h),_=Number(D)}else d=Number(o),_=d;if(!Number.isInteger(d)||!Number.isInteger(_)||d<a.min||_>a.max||d>_)throw new Error(`invalid cron field: "${t}"`);for(let h=d;h<=_;h+=p)n.add(h)}return n}function Ce(t){let a=t.trim().split(/\s+/);if(a.length!==5)throw new Error(`invalid cron expression: "${t}" (expected 5 fields)`);let[n,s,m,l,o]=a,p=O(o,N[4]);return p.has(7)&&(p.delete(7),p.add(0)),{minute:O(n,N[0]),hour:O(s,N[1]),dayOfMonth:O(m,N[2]),month:O(l,N[3]),dayOfWeek:p,dayOfMonthRestricted:m.trim()!=="*",dayOfWeekRestricted:o.trim()!=="*"}}function Se(t){try{return Ce(t),!0}catch{return!1}}var we="Enter the URL to make the HTTP request.",Ne="Enter the URL of the Google Sheet, e.g. https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit#gid=SHEET_ID";function ot(t){let{route:a}=le(),n=oe(null),s=_e(),[m,l]=u(!1),[o,p]=u(s.enabled?"gsheet":"http"),[d,_]=u("map"),[h,D]=u("GET"),[x,I]=u(!1),[S,k]=u("interval"),[V,z]=u(1),[Z,R]=u("hours"),[q,U]=u("09:00"),[K,H]=u("1"),[X,P]=u("09:00"),[Y,L]=u(""),[j,W]=u(B()),[J,$]=u(!1),[Q,b]=u(""),[De,ee]=u(!!t.dataSourceId),[F,te]=u(null),A="";o==="http"?A=we:o==="gsheet"&&(A=Ne);async function xe(r){await de(async()=>{let f=await he(r);if(te(f),p(f?.type||"http"),_(f?.dataFormat||"map"),f?.cron){let i=f.cron,g=i.schedule||"interval";I(i.enabled||!1),k(g),z(i.interval||1),R(i.unit||"hours"),W(i.timezone||B()),g==="daily"?U(ye(i.expression)):g==="weekly"?(P(ye(i.expression)),H(He(i.expression))):g==="custom"&&L(i.expression||""),$(i.autoPublish||!1)}else I(!1),k("interval"),z(1),R("hours"),U("09:00"),H("1"),P("09:00"),L(""),W(B()),$(!1)}),ee(!1)}ne(()=>{t.dataSourceId&&(ee(!0),xe(t.dataSourceId))},[t.dataSourceId]);async function Fe(){b("");let r=n.current;function f(c){let C=r.elements[c];return C?C.value.trim():""}let i=t.dataSourceId||f("id");if(!i){b("missing id");return}if(!ce(i)){b("id is invalid (alphanumeric characters and dashes only)");return}let g=f("url");if(!g){b("missing url");return}let y={id:i,description:f("description"),type:o,url:g,previewUrl:f("previewUrl")};if(o==="http"){if(!Oe(g)){b("invalid url");return}y.httpOptions={method:h};let c=f("httpHeaders");if(c&&(y.httpOptions.headers=Ee(c)),h==="POST"){let C=f("httpBody");C&&(y.httpOptions.body=C)}}else if(o==="gsheet"){if(!me(g)?.spreadsheetId){b("failed to parse spreadsheet url");return}y.dataFormat=d||"map"}let T={enabled:x,schedule:S,autoPublish:x&&J};if(S==="interval")T.interval=V,T.unit=Z;else{let c="";if(S==="daily"?c=Re(q):S==="weekly"?c=Ue(X,K):c=Y.trim(),x&&!Se(c)){b('invalid cron expression (expected 5 fields, e.g. "0 19 * * *")');return}T.expression=c,T.timezone=j}y.cron=T;try{te(y),l(!0),t.dataSourceId?(await fe(t.dataSourceId,y),M({title:"Saved data source",message:`Successfully updated ${i}`,autoClose:5e3}),l(!1)):(await pe(i,y),M({title:"Added data source",message:`Successfully added ${i}`,autoClose:5e3}),l(!1),a(`/cms/data/${i}`))}catch(c){console.error(c),M({title:"Failed to save data source",message:String(c),color:"red",autoClose:!1}),l(!1)}}let ae=[{value:"http",label:"HTTP"}];return(s.enabled||o==="gsheet")&&ae.push({value:"gsheet",label:"Google Sheet"}),e("form",{className:"DataSourceForm",ref:n,onSubmit:r=>{r.preventDefault(),Fe()},children:[e(ie,{visible:De}),e("div",{className:"DataSourceForm__input",children:e(v,{name:"type",label:"Type",data:ae,value:o,onChange:r=>p(r),size:"xs",radius:0,dropdownComponent:"div"})}),e(w,{className:"DataSourceForm__input",name:"id",label:"ID",description:"Unique identifier for the data source. Use alphanumeric characters and dashes only, e.g. grogus-favorite-meals",size:"xs",radius:0,value:t.dataSourceId,disabled:!!t.dataSourceId}),e(E,{className:"DataSourceForm__input",name:"description",label:"Description",description:"Optional.",size:"xs",radius:0,value:F?.description}),e(w,{className:"DataSourceForm__input",name:"url",label:"URL",description:A,size:"xs",radius:0,value:F?.url}),o==="http"&&e(re,{children:[e("div",{className:"DataSourceForm__input",children:e(v,{name:"httpMethod",label:"HTTP Request Method",data:[{value:"GET",label:"GET"},{value:"POST",label:"POST"}],value:h,onChange:r=>D(r),size:"xs",radius:0,dropdownComponent:"div"})}),e(E,{className:"DataSourceForm__input",name:"httpHeaders",label:"HTTP Request Headers",description:"Format as `HeaderName: Value`, each value on its own line.",size:"xs",radius:0,value:Me(F?.httpOptions?.headers||{})}),h==="POST"&&e(E,{className:"DataSourceForm__input",name:"httpRequestBody",label:"HTTP Request Body",size:"xs",radius:0,value:F?.httpOptions?.body})]}),o==="gsheet"&&e("div",{className:"DataSourceForm__input",children:[e(v,{name:"dataFormat",label:"Data Format",data:[{value:"map",label:"map"}],value:d,onChange:r=>_(r),size:"xs",radius:0,dropdownComponent:"div"}),d==="array"&&e("div",{className:"DataSourceForm__input__example",children:["Data is stored as an array of arrays, e.g.",e("code",{children:"[[header1, header2], [foo, bar]]"})]}),d==="map"&&e("div",{className:"DataSourceForm__input__example",children:["Data is stored as an array of maps, e.g.",e("code",{children:["[","{","header1: foo, header2: bar","}","]"]})]})]}),e("div",{className:"DataSourceForm__section",children:[e("div",{className:"DataSourceForm__section__label",children:"Sync Schedule"}),e(G,{className:"DataSourceForm__input",label:"Enable scheduled sync",checked:x,onChange:r=>I(r.currentTarget.checked),size:"xs"}),x&&e("div",{className:"DataSourceForm__cron",children:[e("div",{className:"DataSourceForm__input",children:e(v,{label:"Schedule",data:[{value:"interval",label:"Interval"},{value:"daily",label:"Daily"},{value:"weekly",label:"Weekly"},{value:"custom",label:"Custom (cron expression)"}],value:S,onChange:r=>k(r),size:"xs",radius:0,dropdownComponent:"div"})}),S==="interval"&&e("div",{className:"DataSourceForm__cron__row",children:[e("span",{children:"Run every"}),e(ue,{className:"DataSourceForm__cron__interval",value:V,onChange:r=>z(Number(r)||1),min:1,size:"xs",radius:0}),e(v,{className:"DataSourceForm__cron__unit",data:[{value:"minutes",label:"minutes"},{value:"hours",label:"hours"},{value:"days",label:"days"}],value:Z,onChange:r=>R(r),size:"xs",radius:0,dropdownComponent:"div"})]}),S==="daily"&&e("div",{className:"DataSourceForm__cron__row",children:[e("span",{children:"Run every day at"}),e("input",{type:"time",className:"DataSourceForm__cron__time",value:q,onChange:r=>U(r.target.value)})]}),S==="weekly"&&e("div",{className:"DataSourceForm__cron__row",children:[e("span",{children:"Run every"}),e(v,{className:"DataSourceForm__cron__weekday",data:Ie,value:K,onChange:r=>r&&H(r),size:"xs",radius:0,dropdownComponent:"div"}),e("span",{children:"at"}),e("input",{type:"time",className:"DataSourceForm__cron__time",value:X,onChange:r=>P(r.target.value)})]}),S==="custom"&&e("div",{className:"DataSourceForm__input",children:e(w,{label:"Cron expression",description:'Standard 5-field cron, e.g. "0 19 * * *" runs every day at 7pm, "0 17 * * 5" runs every Friday at 5pm.',placeholder:"0 19 * * *",value:Y,onChange:r=>L(r.target.value),size:"xs",radius:0})}),S!=="interval"&&e("div",{className:"DataSourceForm__input",children:e(v,{label:"Timezone",data:ke,value:j,onChange:r=>r&&W(r),searchable:!0,size:"xs",radius:0,dropdownComponent:"div"})}),e(G,{className:"DataSourceForm__input",label:"Auto-publish after sync",checked:J,onChange:r=>$(r.currentTarget.checked),size:"xs"})]})]}),e(w,{className:"DataSourceForm__input",name:"previewUrl",label:"Preview URL",description:"URL where users can preview the data source.",size:"xs",radius:0,value:F?.previewUrl}),e(se,{className:"DataSourceForm__submit",color:"blue",size:"xs",type:"submit",loading:m,children:t.buttonLabel||"Save"}),Q&&e("div",{className:"DataSourceForm__error",children:["Error: ",Q]})]})}function Oe(t){let a,n=t.startsWith("/")?"http://localhost":void 0;try{a=new URL(t,n)}catch(s){return console.error(s),!1}return a.protocol==="http:"||a.protocol==="https:"}function Ee(t){let a={};return t.split(`
2
+ `).forEach(s=>{let m=s.indexOf(":");if(m===-1)return;let l=s.slice(0,m).trim(),o=s.slice(m+1).trim();l&&o&&(a[l]=o)}),a}function Me(t){let a=[];for(let n in t){let s=t[n];a.push(`${n}: ${s}`)}return a.join(`
3
+ `)}var Ie=[{value:"0",label:"Sunday"},{value:"1",label:"Monday"},{value:"2",label:"Tuesday"},{value:"3",label:"Wednesday"},{value:"4",label:"Thursday"},{value:"5",label:"Friday"},{value:"6",label:"Saturday"}],ke=ze();function ze(){try{return Intl.supportedValuesOf("timeZone")}catch{return["UTC"]}}function B(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}}function be(t){let[a,n]=(t||"").split(":"),s=ge(parseInt(a,10)||0,0,23),m=ge(parseInt(n,10)||0,0,59);return[s,m]}function ge(t,a,n){return Math.max(a,Math.min(n,t))}function Re(t){let[a,n]=be(t);return`${n} ${a} * * *`}function Ue(t,a){let[n,s]=be(t);return`${s} ${n} * * ${a}`}function ye(t){let a=(t||"").trim().split(/\s+/);if(a.length<2)return"09:00";let n=ve(parseInt(a[0],10)||0);return`${ve(parseInt(a[1],10)||0)}:${n}`}function He(t){let n=(t||"").trim().split(/\s+/)[4];return n==="7"?"0":n&&/^[0-6]$/.test(n)?n:"1"}function ve(t){return String(t).padStart(2,"0")}export{ot as a};
@@ -1 +1 @@
1
- import{c as T}from"./chunk-JDW4UORS.js";import{k as z}from"./chunk-RN4XVVWD.js";import{C as _}from"./chunk-YV5SGR24.js";import{D as l,a as f,b as w,c as s,g as b,i as k,n as v,o as j,q as u,t as R,u as c,v as y,x as I}from"./chunk-XOWWPE7X.js";var O=["agile","airy","alert","amber","amused","ancient","aqua","arctic","astral","autumn","avid","azure","balmy","beige","big","bitter","black","blazing","blissful","blooming","blue","bold","bouncy","brainy","brave","breezy","bright","brisk","broad","bronze","brown","bubbly","busy","calm","candid","careful","caring","charming","cheerful","cherry","chilly","chipper","classic","clean","clear","clever","cloudy","coastal","cobalt","cold","cool","copper","coral","cosmic","cosy","cozy","crafty","creamy","crimson","crisp","cuddly","curious","dandy","dapper","daring","dark","dawn","dazzling","dear","deep","deft","delicate","dewy","dizzy","dotted","dreamy","driven","dry","dusky","dusty","eager","early","earnest","earthy","eastern","easy","ebony","elated","electric","elegant","emerald","empty","epic","even","every","faint","fair","falling","famous","fancy","fast","feisty","festive","fierce","fiery","fine","firm","flat","floral","flowing","fluffy","foggy","fond","forest","fragrant","fresh","friendly","frisky","frosty","funky","funny","fuzzy","gallant","gentle","giant","gilded","glad","gleaming","glossy","glowing","gold","golden","good","graceful","grand","grassy","gray","green","groovy","gusty","handy","happy","hardy","hazy","hearty","heavy","helpful","heroic","hidden","high","holy","honest","honeyed","hopeful","humble","humming","hushed","icy","ideal","idle","indigo","inky","iron","ivory","jade","jaunty","jazzy","jolly","jovial","joyful","jubilant","juicy","jumpy","keen","kind","kindly","lacy","late","lazy","leafy","lemon","light","limber","lime","linen","little","lively","lone","long","loud","lovely","loyal","lucid","lucky","luminous","lunar","lush","magenta","magic","majestic","mango","marble","maritime","maroon","massive","mauve","mellow","merry","mighty","mild","milky","mindful","minty","misty","mocha","modest","morning","mossy","muddy","mysterious","mythic","narrow","navy","neat","neon","new","nimble","noble","noisy","noon","northern","nosy","nutty","oaken","oceanic","odd","old","olive","onyx","opal","open","orange","orderly","pale","pastel","patient","peaceful","peach","peachy","pearly","pebbly","peppy","perky","pink","placid","plain","playful","pleasant","plucky","plum","plush","polar","polite","prime","pristine","proud","pure","purple","quaint","quick","quiet","quirky","radiant","rapid","rare","raven","ready","red","regal","restless","rich","rolling","rosy","rough","round","royal","ruby","rugged","rumbling","russet","rustic","sable","safe","sage","salty","sandy","sapphire","savvy","scarlet","scenic","secret","sepia","serene","shaggy","sharp","shimmering","shiny","short","shrewd","shy","silent","silky","silly","silver","simple","sleek","sleepy","slim","slow","small","smart","smoky","smooth","snappy","snowy","soaring","soft","solar","solid","southern","sparkly","speedy","spicy","spiffy","spotted","spry","square","starry","steady","steel","stellar","sticky","still","stony","stormy","striped","strong","sturdy","subtle","sunlit","sunny","super","supreme","swank","sweet","swift","tame","tan","tangy","tart","teal","tender","thin","thirsty","thriving","tidal","tidy","tiny","tireless","toasty","topaz","tough","tranquil","trim","tropical","true","twinkly","umber","upbeat","urban","useful","valiant","vast","velvet","verdant","vernal","vibrant","vintage","violet","vivid","wandering","warm","watchful","wavy","wee","western","whimsical","whispering","white","wholesome","wild","winding","windy","winter","wintry","wise","witty","wondrous","woody","wool","yellow","young","youthful","zany","zealous","zen","zesty","zippy"],A=["acorn","almond","alpaca","anchor","antler","apple","apricot","arrow","aspen","aurora","autumn","avocado","badger","bagel","bamboo","banana","basil","bay","bayou","beach","bear","bee","beetle","bell","berry","birch","bird","biscuit","bison","blossom","bluff","boat","bobcat","bonfire","book","boot","bottle","boulder","branch","brass","breeze","bridge","brook","broom","brunch","bubble","bucket","bud","buffalo","bug","bunny","burrow","butter","button","cabin","cactus","cake","camel","canary","candle","canyon","cape","caravan","cardinal","carrot","cascade","cashew","castle","cat","cave","cedar","chair","cherry","chestnut","chickpea","chime","cinnamon","citadel","cliff","cloud","clove","clover","cocoa","comet","compass","condor","cookie","coral","cottage","cotton","cove","coyote","crane","crayon","creek","cricket","crocus","crow","crumpet","crystal","cup","cupcake","currant","cypress","daffodil","dahlia","daisy","dawn","deer","delta","desert","dew","diamond","dingo","dock","dogwood","dolphin","donut","dove","dragon","drift","drizzle","drum","duck","dumpling","dune","eagle","echo","eclipse","eel","egg","elder","elephant","elk","ember","ermine","estuary","evergreen","falcon","fawn","feather","fennel","fern","ferret","field","fig","finch","fir","firefly","fish","fjord","flame","flamingo","flask","flax","fleece","flicker","flower","flute","fog","forest","fossil","fountain","fox","frog","frost","galaxy","garden","gazelle","gecko","gem","geyser","ginger","glacier","glade","glen","globe","glow","goat","goose","gorge","gourd","granite","grape","grass","grotto","grove","gull","hammock","harbor","hare","harp","harvest","hat","hawk","haystack","hazel","hearth","heather","hedge","heron","hibiscus","hickory","hill","hollow","honey","horizon","horse","hummingbird","ibis","iceberg","icicle","inlet","iris","island","ivy","jackal","jacket","jade","jaguar","jam","jar","jasmine","jay","jelly","jetty","juniper","kayak","kelp","kestrel","kettle","key","kingfisher","kite","kitten","kiwi","knoll","koala","ladybug","lagoon","lake","lamp","lantern","lark","lava","lavender","leaf","ledge","lemon","lemur","leopard","lichen","lighthouse","lilac","lily","lime","lion","llama","lobster","log","loon","lotus","lynx","lyric","magnet","manatee","mango","mangrove","maple","marble","marigold","marlin","marsh","meadow","melody","melon","mermaid","mesa","meteor","minnow","mint","mirage","mist","mitten","mole","monkey","moon","moose","morel","mosaic","moss","moth","mountain","mouse","muffin","mushroom","mussel","narwhal","nautilus","nectar","needle","nest","nettle","newt","nightingale","nimbus","noodle","north","note","nutmeg","oak","oasis","oats","ocean","ocelot","octopus","olive","onion","opal","orange","orca","orchid","oriole","osprey","otter","owl","oyster","paddle","palm","panda","pansy","panther","papaya","paper","parrot","parsley","partridge","pasture","path","peach","peacock","pear","pebble","pecan","pelican","penguin","peony","pepper","petal","petunia","pheasant","phoenix","pie","pigeon","pine","pineapple","pistachio","planet","plateau","plover","plum","pond","pony","poppy","porpoise","pouch","prairie","pretzel","primrose","puffin","pumpkin","quail","quartz","queen","quill","quince","quokka","rabbit","raccoon","radish","rain","rainbow","rapids","raspberry","raven","redwood","reef","reel","reindeer","rhino","ribbon","ridge","river","road","robin","rock","rooster","rose","rosemary","rowan","rye","saffron","sage","salmon","sand","sapphire","satellite","savanna","scallop","scarf","sea","seagull","seal","seed","sequoia","sesame","shark","shell","shore","shrimp","silk","silo","sky","skylark","sleet","snail","snake","snow","sock","sorbet","spark","sparrow","spider","spire","spoon","spring","sprout","spruce","squirrel","star","starfish","starling","stone","stork","storm","stream","summer","sun","sundial","sunflower","swan","swift","sycamore","tadpole","tamarind","tangerine","tea","teal","tern","terrace","thicket","thistle","thrush","thunder","tide","tiger","timber","toad","toffee","tooth","topaz","tortoise","totem","toucan","tower","tractor","trail","tree","trout","truffle","tugboat","tulip","tundra","turnip","turtle","twig","twilight","umbrella","unicorn","urchin","valley","vanilla","vine","violet","vista","volcano","voyage","vulture","wagon","walnut","walrus","wasp","water","waterfall","wave","whale","wharf","wheat","whisker","wildcat","wildflower","willow","wind","window","winter","wisteria","wolf","wombat","wood","wren","yak","yam","yarrow","yew","yucca","zebra","zephyr","zinnia","zucchini"];var x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",S="YYYYMMDD";function D(e,r){let a=r?.now??new Date,o=r?.random??Math.random,t=e.replace(/\{([^{}]+?)\}/g,(n,d)=>{let[p,g]=q(d);switch(p){case"date":return E(a,g||S);case"adjective":return C(O,o);case"noun":return C(A,o);case"random":return M(Y(g,6),o);default:return n}});return T(t.toLowerCase())}function q(e){let r=e.indexOf(":");return r===-1?[e.trim(),void 0]:[e.slice(0,r).trim(),e.slice(r+1)]}function Y(e,r){if(!e)return r;let a=parseInt(e,10);return Number.isFinite(a)&&a>0?a:r}function C(e,r){return e[Math.floor(r()*e.length)]}function M(e,r){let a=[];for(let o=0;o<e;o++)a.push(x.charAt(Math.floor(r()*x.length)));return a.join("")}function E(e,r){let a={YYYY:String(e.getFullYear()),YY:String(e.getFullYear()).slice(-2),MM:m(e.getMonth()+1),DD:m(e.getDate()),HH:m(e.getHours()),mm:m(e.getMinutes()),ss:m(e.getSeconds())};return r.replace(/YYYY|YY|MM|DD|HH|mm|ss/g,o=>a[o]??o)}function m(e){return e<10?`0${e}`:String(e)}var i="Releases";async function V(e,r){if(!e)throw new Error("missing data source id");let a=window.__ROOT_CTX.rootConfig.projectId,o=window.firebase.db,t=s(o,"Projects",a,i,e);await R(o,async n=>{if((await n.get(t)).exists())throw new Error(`release exists: ${e}`);await n.set(t,{...r,id:e,createdAt:y(),createdBy:window.firebase.user.email})}),l("release.create",{metadata:{releaseId:e}})}async function G(){let e=window.__ROOT_CTX.rootConfig.projectId,r=window.firebase.db,a=w(r,"Projects",e,i),o=b(a,k("createdAt","desc")),t=await j(o),n=[];return t.forEach(d=>{n.push(d.data())}),n}async function h(e){let r=window.__ROOT_CTX.rootConfig.projectId,a=window.firebase.db,o=s(a,"Projects",r,i,e),t=await v(o);return t.exists()?t.data():null}async function K(e,r){let a=window.__ROOT_CTX.rootConfig.projectId,o=window.firebase.db,t=s(o,"Projects",a,i,e);await u(t,r),l("release.save",{metadata:{releaseId:e}})}async function Q(e){let r=window.__ROOT_CTX.rootConfig.projectId,a=window.firebase.db,o=s(a,"Projects",r,i,e);await u(o,{archivedAt:y(),archivedBy:window.firebase.user.email}),l("release.archive",{metadata:{releaseId:e}})}async function W(e){let r=window.__ROOT_CTX.rootConfig.projectId,a=window.firebase.db,o=s(a,"Projects",r,i,e);await u(o,{archivedAt:c(),archivedBy:c()}),l("release.unarchive",{metadata:{releaseId:e}})}async function Z(e){let r=await h(e);if(!r)throw new Error(`release not found: ${e}`);if(r.archivedAt)throw new Error(`release is archived: ${e}`);let a=r.docIds||[],o=r.dataSourceIds||[];if(a.length===0&&o.length===0)throw new Error(`no docs or data sources to publish for release: ${e}`);let t=window.__ROOT_CTX.rootConfig.projectId,n=window.firebase.db,d=s(n,"Projects",t,i,e),p=I(n);p.update(d,{publishedAt:y(),publishedBy:window.firebase.user.email,scheduledAt:c(),scheduledBy:c()}),o.length>0&&await z(o,{batch:p,commitBatch:!1}),await _(a,{batch:p,releaseId:e,publishMessage:r.description}),console.log(`published release: ${e}`);let g={releaseId:e,docIds:a,dataSourceIds:o};r.description&&(g.publishMessage=r.description),l("release.publish",{metadata:g})}async function ee(e,r){let a=await h(e);if(!a)throw new Error(`release not found: ${e}`);if(a.archivedAt)throw new Error(`release is archived: ${e}`);typeof r=="number"&&(r=f.fromMillis(r));let o=window.__ROOT_CTX.rootConfig.projectId,t=window.firebase.db,n=s(t,"Projects",o,i,e);await u(n,{scheduledAt:r,scheduledBy:window.firebase.user.email}),l("release.publish",{metadata:{releaseId:e,scheduledAt:r.toMillis()}})}function re(){return D("{date}-{adjective}-{noun}")}async function ae(e){if(!await h(e))throw new Error(`release not found: ${e}`);let a=window.__ROOT_CTX.rootConfig.projectId,o=window.firebase.db,t=s(o,"Projects",a,i,e);await u(t,{scheduledAt:c(),scheduledBy:c()}),l("release.unschedule",{metadata:{releaseId:e}})}export{D as a,V as b,G as c,h as d,K as e,Q as f,W as g,Z as h,ee as i,re as j,ae as k};
1
+ import{c as T}from"./chunk-JDW4UORS.js";import{k as z}from"./chunk-Z2CRNO3I.js";import{C as _}from"./chunk-ISUGBMXC.js";import{D as l,a as f,b as w,c as s,g as b,i as k,n as v,o as j,q as u,t as R,u as c,v as y,x as I}from"./chunk-XOWWPE7X.js";var O=["agile","airy","alert","amber","amused","ancient","aqua","arctic","astral","autumn","avid","azure","balmy","beige","big","bitter","black","blazing","blissful","blooming","blue","bold","bouncy","brainy","brave","breezy","bright","brisk","broad","bronze","brown","bubbly","busy","calm","candid","careful","caring","charming","cheerful","cherry","chilly","chipper","classic","clean","clear","clever","cloudy","coastal","cobalt","cold","cool","copper","coral","cosmic","cosy","cozy","crafty","creamy","crimson","crisp","cuddly","curious","dandy","dapper","daring","dark","dawn","dazzling","dear","deep","deft","delicate","dewy","dizzy","dotted","dreamy","driven","dry","dusky","dusty","eager","early","earnest","earthy","eastern","easy","ebony","elated","electric","elegant","emerald","empty","epic","even","every","faint","fair","falling","famous","fancy","fast","feisty","festive","fierce","fiery","fine","firm","flat","floral","flowing","fluffy","foggy","fond","forest","fragrant","fresh","friendly","frisky","frosty","funky","funny","fuzzy","gallant","gentle","giant","gilded","glad","gleaming","glossy","glowing","gold","golden","good","graceful","grand","grassy","gray","green","groovy","gusty","handy","happy","hardy","hazy","hearty","heavy","helpful","heroic","hidden","high","holy","honest","honeyed","hopeful","humble","humming","hushed","icy","ideal","idle","indigo","inky","iron","ivory","jade","jaunty","jazzy","jolly","jovial","joyful","jubilant","juicy","jumpy","keen","kind","kindly","lacy","late","lazy","leafy","lemon","light","limber","lime","linen","little","lively","lone","long","loud","lovely","loyal","lucid","lucky","luminous","lunar","lush","magenta","magic","majestic","mango","marble","maritime","maroon","massive","mauve","mellow","merry","mighty","mild","milky","mindful","minty","misty","mocha","modest","morning","mossy","muddy","mysterious","mythic","narrow","navy","neat","neon","new","nimble","noble","noisy","noon","northern","nosy","nutty","oaken","oceanic","odd","old","olive","onyx","opal","open","orange","orderly","pale","pastel","patient","peaceful","peach","peachy","pearly","pebbly","peppy","perky","pink","placid","plain","playful","pleasant","plucky","plum","plush","polar","polite","prime","pristine","proud","pure","purple","quaint","quick","quiet","quirky","radiant","rapid","rare","raven","ready","red","regal","restless","rich","rolling","rosy","rough","round","royal","ruby","rugged","rumbling","russet","rustic","sable","safe","sage","salty","sandy","sapphire","savvy","scarlet","scenic","secret","sepia","serene","shaggy","sharp","shimmering","shiny","short","shrewd","shy","silent","silky","silly","silver","simple","sleek","sleepy","slim","slow","small","smart","smoky","smooth","snappy","snowy","soaring","soft","solar","solid","southern","sparkly","speedy","spicy","spiffy","spotted","spry","square","starry","steady","steel","stellar","sticky","still","stony","stormy","striped","strong","sturdy","subtle","sunlit","sunny","super","supreme","swank","sweet","swift","tame","tan","tangy","tart","teal","tender","thin","thirsty","thriving","tidal","tidy","tiny","tireless","toasty","topaz","tough","tranquil","trim","tropical","true","twinkly","umber","upbeat","urban","useful","valiant","vast","velvet","verdant","vernal","vibrant","vintage","violet","vivid","wandering","warm","watchful","wavy","wee","western","whimsical","whispering","white","wholesome","wild","winding","windy","winter","wintry","wise","witty","wondrous","woody","wool","yellow","young","youthful","zany","zealous","zen","zesty","zippy"],A=["acorn","almond","alpaca","anchor","antler","apple","apricot","arrow","aspen","aurora","autumn","avocado","badger","bagel","bamboo","banana","basil","bay","bayou","beach","bear","bee","beetle","bell","berry","birch","bird","biscuit","bison","blossom","bluff","boat","bobcat","bonfire","book","boot","bottle","boulder","branch","brass","breeze","bridge","brook","broom","brunch","bubble","bucket","bud","buffalo","bug","bunny","burrow","butter","button","cabin","cactus","cake","camel","canary","candle","canyon","cape","caravan","cardinal","carrot","cascade","cashew","castle","cat","cave","cedar","chair","cherry","chestnut","chickpea","chime","cinnamon","citadel","cliff","cloud","clove","clover","cocoa","comet","compass","condor","cookie","coral","cottage","cotton","cove","coyote","crane","crayon","creek","cricket","crocus","crow","crumpet","crystal","cup","cupcake","currant","cypress","daffodil","dahlia","daisy","dawn","deer","delta","desert","dew","diamond","dingo","dock","dogwood","dolphin","donut","dove","dragon","drift","drizzle","drum","duck","dumpling","dune","eagle","echo","eclipse","eel","egg","elder","elephant","elk","ember","ermine","estuary","evergreen","falcon","fawn","feather","fennel","fern","ferret","field","fig","finch","fir","firefly","fish","fjord","flame","flamingo","flask","flax","fleece","flicker","flower","flute","fog","forest","fossil","fountain","fox","frog","frost","galaxy","garden","gazelle","gecko","gem","geyser","ginger","glacier","glade","glen","globe","glow","goat","goose","gorge","gourd","granite","grape","grass","grotto","grove","gull","hammock","harbor","hare","harp","harvest","hat","hawk","haystack","hazel","hearth","heather","hedge","heron","hibiscus","hickory","hill","hollow","honey","horizon","horse","hummingbird","ibis","iceberg","icicle","inlet","iris","island","ivy","jackal","jacket","jade","jaguar","jam","jar","jasmine","jay","jelly","jetty","juniper","kayak","kelp","kestrel","kettle","key","kingfisher","kite","kitten","kiwi","knoll","koala","ladybug","lagoon","lake","lamp","lantern","lark","lava","lavender","leaf","ledge","lemon","lemur","leopard","lichen","lighthouse","lilac","lily","lime","lion","llama","lobster","log","loon","lotus","lynx","lyric","magnet","manatee","mango","mangrove","maple","marble","marigold","marlin","marsh","meadow","melody","melon","mermaid","mesa","meteor","minnow","mint","mirage","mist","mitten","mole","monkey","moon","moose","morel","mosaic","moss","moth","mountain","mouse","muffin","mushroom","mussel","narwhal","nautilus","nectar","needle","nest","nettle","newt","nightingale","nimbus","noodle","north","note","nutmeg","oak","oasis","oats","ocean","ocelot","octopus","olive","onion","opal","orange","orca","orchid","oriole","osprey","otter","owl","oyster","paddle","palm","panda","pansy","panther","papaya","paper","parrot","parsley","partridge","pasture","path","peach","peacock","pear","pebble","pecan","pelican","penguin","peony","pepper","petal","petunia","pheasant","phoenix","pie","pigeon","pine","pineapple","pistachio","planet","plateau","plover","plum","pond","pony","poppy","porpoise","pouch","prairie","pretzel","primrose","puffin","pumpkin","quail","quartz","queen","quill","quince","quokka","rabbit","raccoon","radish","rain","rainbow","rapids","raspberry","raven","redwood","reef","reel","reindeer","rhino","ribbon","ridge","river","road","robin","rock","rooster","rose","rosemary","rowan","rye","saffron","sage","salmon","sand","sapphire","satellite","savanna","scallop","scarf","sea","seagull","seal","seed","sequoia","sesame","shark","shell","shore","shrimp","silk","silo","sky","skylark","sleet","snail","snake","snow","sock","sorbet","spark","sparrow","spider","spire","spoon","spring","sprout","spruce","squirrel","star","starfish","starling","stone","stork","storm","stream","summer","sun","sundial","sunflower","swan","swift","sycamore","tadpole","tamarind","tangerine","tea","teal","tern","terrace","thicket","thistle","thrush","thunder","tide","tiger","timber","toad","toffee","tooth","topaz","tortoise","totem","toucan","tower","tractor","trail","tree","trout","truffle","tugboat","tulip","tundra","turnip","turtle","twig","twilight","umbrella","unicorn","urchin","valley","vanilla","vine","violet","vista","volcano","voyage","vulture","wagon","walnut","walrus","wasp","water","waterfall","wave","whale","wharf","wheat","whisker","wildcat","wildflower","willow","wind","window","winter","wisteria","wolf","wombat","wood","wren","yak","yam","yarrow","yew","yucca","zebra","zephyr","zinnia","zucchini"];var x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",S="YYYYMMDD";function D(e,r){let a=r?.now??new Date,o=r?.random??Math.random,t=e.replace(/\{([^{}]+?)\}/g,(n,d)=>{let[p,g]=q(d);switch(p){case"date":return E(a,g||S);case"adjective":return C(O,o);case"noun":return C(A,o);case"random":return M(Y(g,6),o);default:return n}});return T(t.toLowerCase())}function q(e){let r=e.indexOf(":");return r===-1?[e.trim(),void 0]:[e.slice(0,r).trim(),e.slice(r+1)]}function Y(e,r){if(!e)return r;let a=parseInt(e,10);return Number.isFinite(a)&&a>0?a:r}function C(e,r){return e[Math.floor(r()*e.length)]}function M(e,r){let a=[];for(let o=0;o<e;o++)a.push(x.charAt(Math.floor(r()*x.length)));return a.join("")}function E(e,r){let a={YYYY:String(e.getFullYear()),YY:String(e.getFullYear()).slice(-2),MM:m(e.getMonth()+1),DD:m(e.getDate()),HH:m(e.getHours()),mm:m(e.getMinutes()),ss:m(e.getSeconds())};return r.replace(/YYYY|YY|MM|DD|HH|mm|ss/g,o=>a[o]??o)}function m(e){return e<10?`0${e}`:String(e)}var i="Releases";async function V(e,r){if(!e)throw new Error("missing data source id");let a=window.__ROOT_CTX.rootConfig.projectId,o=window.firebase.db,t=s(o,"Projects",a,i,e);await R(o,async n=>{if((await n.get(t)).exists())throw new Error(`release exists: ${e}`);await n.set(t,{...r,id:e,createdAt:y(),createdBy:window.firebase.user.email})}),l("release.create",{metadata:{releaseId:e}})}async function G(){let e=window.__ROOT_CTX.rootConfig.projectId,r=window.firebase.db,a=w(r,"Projects",e,i),o=b(a,k("createdAt","desc")),t=await j(o),n=[];return t.forEach(d=>{n.push(d.data())}),n}async function h(e){let r=window.__ROOT_CTX.rootConfig.projectId,a=window.firebase.db,o=s(a,"Projects",r,i,e),t=await v(o);return t.exists()?t.data():null}async function K(e,r){let a=window.__ROOT_CTX.rootConfig.projectId,o=window.firebase.db,t=s(o,"Projects",a,i,e);await u(t,r),l("release.save",{metadata:{releaseId:e}})}async function Q(e){let r=window.__ROOT_CTX.rootConfig.projectId,a=window.firebase.db,o=s(a,"Projects",r,i,e);await u(o,{archivedAt:y(),archivedBy:window.firebase.user.email}),l("release.archive",{metadata:{releaseId:e}})}async function W(e){let r=window.__ROOT_CTX.rootConfig.projectId,a=window.firebase.db,o=s(a,"Projects",r,i,e);await u(o,{archivedAt:c(),archivedBy:c()}),l("release.unarchive",{metadata:{releaseId:e}})}async function Z(e){let r=await h(e);if(!r)throw new Error(`release not found: ${e}`);if(r.archivedAt)throw new Error(`release is archived: ${e}`);let a=r.docIds||[],o=r.dataSourceIds||[];if(a.length===0&&o.length===0)throw new Error(`no docs or data sources to publish for release: ${e}`);let t=window.__ROOT_CTX.rootConfig.projectId,n=window.firebase.db,d=s(n,"Projects",t,i,e),p=I(n);p.update(d,{publishedAt:y(),publishedBy:window.firebase.user.email,scheduledAt:c(),scheduledBy:c()}),o.length>0&&await z(o,{batch:p,commitBatch:!1}),await _(a,{batch:p,releaseId:e,publishMessage:r.description}),console.log(`published release: ${e}`);let g={releaseId:e,docIds:a,dataSourceIds:o};r.description&&(g.publishMessage=r.description),l("release.publish",{metadata:g})}async function ee(e,r){let a=await h(e);if(!a)throw new Error(`release not found: ${e}`);if(a.archivedAt)throw new Error(`release is archived: ${e}`);typeof r=="number"&&(r=f.fromMillis(r));let o=window.__ROOT_CTX.rootConfig.projectId,t=window.firebase.db,n=s(t,"Projects",o,i,e);await u(n,{scheduledAt:r,scheduledBy:window.firebase.user.email}),l("release.publish",{metadata:{releaseId:e,scheduledAt:r.toMillis()}})}function re(){return D("{date}-{adjective}-{noun}")}async function ae(e){if(!await h(e))throw new Error(`release not found: ${e}`);let a=window.__ROOT_CTX.rootConfig.projectId,o=window.firebase.db,t=s(o,"Projects",a,i,e);await u(t,{scheduledAt:c(),scheduledBy:c()}),l("release.unschedule",{metadata:{releaseId:e}})}export{D as a,V as b,G as c,h as d,K as e,Q as f,W as g,Z as h,ee as i,re as j,ae as k};
@@ -1 +1 @@
1
- import{b as j,d as B,e as a,g as O,i as U,j as q}from"./chunk-ETPZ3TXX.js";import{a as g,b as p,f as K,i as k,j as D,k as M}from"./chunk-KUCVLANF.js";M();q();var d,R;function Z(e){return!R||(typeof R=="string"?e.startsWith(R):R.test(e))}function N(e,t){let n="";if(d=void 0,t&&t.type==="click"){if(t.ctrlKey||t.metaKey||t.altKey||t.shiftKey||t.button!==0)return e;let r=t.composedPath().find(c=>c.nodeName=="A"&&c.href),o=r&&r.getAttribute("href");if(!r||r.origin!=location.origin||/^#/.test(o)||!/^(_?self)?$/i.test(r.target)||!Z(o)||r.download)return e;d=!0,t.preventDefault(),n=r.href.replace(location.origin,"")}else t&&t.url?(d=!t.replace,n=t.url):n=location.pathname+location.search;return d===!0?history.pushState(null,"",n):d===!1&&history.replaceState(null,"",n),n}var V=(e,t,n={})=>{e=e.split("/").filter(Boolean),t=(t||"").split("/").filter(Boolean),n.params||(n.params={});for(let r=0,o,c;r<Math.max(e.length,t.length);r++){let[,s,f,l]=(t[r]||"").match(/^(:?)(.*?)([+*?]?)$/);if(o=e[r],!(!s&&f==o)){if(!s&&o&&l=="*"){n.rest="/"+e.slice(r).map(decodeURIComponent).join("/");break}if(!s||!o&&l!="?"&&l!="*")return;if(c=l=="+"||l=="*",c?o=e.slice(r).map(decodeURIComponent).join("/")||void 0:o&&(o=decodeURIComponent(o)),n.params[f]=o,f in n||(n[f]=o),c)break}}return n};function E(e){let[t,n]=j(N,e.url||location.pathname+location.search);e.scope&&(R=e.scope);let r=d===!0,o=O(()=>{let c=new URL(t,location.origin),s=c.pathname.replace(/\/+$/g,"")||"/";return{url:t,path:s,query:Object.fromEntries(c.searchParams),route:(f,l)=>n({url:f,replace:l}),wasPush:r}},[t]);return B(()=>(addEventListener("click",n),addEventListener("popstate",n),()=>{removeEventListener("click",n),removeEventListener("popstate",n)}),[]),p(E.ctx.Provider,{value:o},e.children)}var ee=Promise.resolve();function $(e){let[t,n]=j(u=>u+1,0),{url:r,query:o,wasPush:c,path:s}=T();if(!r)throw new Error("preact-iso's <Router> must be used within a <LocationProvider>, see: https://github.com/preactjs/preact-iso#locationprovider");let{rest:f=s,params:l={}}=U(H),S=a(!1),z=a(s),C=a(0),i=a(),_=a(),h=a(),b=a(!1),P=a();P.current=!1;let A,I,m;K(e.children).some(u=>{if(V(f,u.props.path,m={...u.props,path:f,query:o,params:Object.assign({},l),rest:""}))return A=k(u,m);u.props.default&&(I=k(u,m))});let v=A||I,Y=i.current&&i.current.__u&x&&i.current.__u&L,F=i.current&&i.current.__h,G=O(()=>{_.current=i.current,i.current=p(H.Provider,{value:m},v);let u=_.current&&_.current.props.children;return!u||!v||v.type!==u.type||v.props.component!==u.props.component?(this.__v&&this.__v.__k&&this.__v.__k.reverse(),C.current++,!0):!1},[r,JSON.stringify(m)]);Y?(i.current.__u|=x,i.current.__u|=L):F&&(i.current.__h=!0);let Q=_.current;return _.current=null,this.__c=(u,y)=>{P.current=!0,_.current=Q,e.onLoadStart&&e.onLoadStart(r),S.current=!0;let X=C.current;u.then(()=>{X===C.current&&(_.current=null,i.current&&(y.__h&&(i.current.__h=y.__h),y.__u&L&&(i.current.__u|=L),y.__u&x&&(i.current.__u|=x)),ee.then(n))})},B(()=>{let u=this.__v&&this.__v.__e;if(P.current){!b.current&&!h.current&&(h.current=u);return}!b.current&&h.current&&(h.current!==u&&h.current.remove(),h.current=null),b.current=!0,z.current!==s&&(c&&scrollTo(0,0),e.onRouteChange&&e.onRouteChange(r),z.current=s),e.onLoadEnd&&S.current&&e.onLoadEnd(r),S.current=!1},[s,c,t]),G?[p(w,{r:i}),p(w,{r:_})]:p(w,{r:i})}var x=32,L=128,w=({r:e})=>e.current;$.Provider=E;E.ctx=D({});var H=D({}),te=e=>p(e.component,e),T=()=>U(E.ctx);M();q();var J=g.__b;g.__b=e=>{e.type&&e.type._forwarded&&e.ref&&(e.props.ref=e.ref,e.ref=null),J&&J(e)};var W=g.__e;g.__e=(e,t,n)=>{if(e&&e.then){let r=t;for(;r=r.__;)if(r.__c&&r.__c.__c)return t.__e==null&&(t.__c.__z=[n.__e],t.__e=n.__e,t.__k=n.__k),t.__k||(t.__k=[]),r.__c.__c(e,t)}W&&W(e,t,n)};M();function ve(...e){return e.filter(t=>!!t).join(" ")||void 0}export{E as a,$ as b,te as c,T as d,ve as e};
1
+ import{b as j,d as B,e as a,g as O,i as U,j as q}from"./chunk-WRA24P66.js";import{a as g,b as p,f as K,i as k,j as D,k as M}from"./chunk-KUCVLANF.js";M();q();var d,R;function Z(e){return!R||(typeof R=="string"?e.startsWith(R):R.test(e))}function N(e,t){let n="";if(d=void 0,t&&t.type==="click"){if(t.ctrlKey||t.metaKey||t.altKey||t.shiftKey||t.button!==0)return e;let r=t.composedPath().find(c=>c.nodeName=="A"&&c.href),o=r&&r.getAttribute("href");if(!r||r.origin!=location.origin||/^#/.test(o)||!/^(_?self)?$/i.test(r.target)||!Z(o)||r.download)return e;d=!0,t.preventDefault(),n=r.href.replace(location.origin,"")}else t&&t.url?(d=!t.replace,n=t.url):n=location.pathname+location.search;return d===!0?history.pushState(null,"",n):d===!1&&history.replaceState(null,"",n),n}var V=(e,t,n={})=>{e=e.split("/").filter(Boolean),t=(t||"").split("/").filter(Boolean),n.params||(n.params={});for(let r=0,o,c;r<Math.max(e.length,t.length);r++){let[,s,f,l]=(t[r]||"").match(/^(:?)(.*?)([+*?]?)$/);if(o=e[r],!(!s&&f==o)){if(!s&&o&&l=="*"){n.rest="/"+e.slice(r).map(decodeURIComponent).join("/");break}if(!s||!o&&l!="?"&&l!="*")return;if(c=l=="+"||l=="*",c?o=e.slice(r).map(decodeURIComponent).join("/")||void 0:o&&(o=decodeURIComponent(o)),n.params[f]=o,f in n||(n[f]=o),c)break}}return n};function E(e){let[t,n]=j(N,e.url||location.pathname+location.search);e.scope&&(R=e.scope);let r=d===!0,o=O(()=>{let c=new URL(t,location.origin),s=c.pathname.replace(/\/+$/g,"")||"/";return{url:t,path:s,query:Object.fromEntries(c.searchParams),route:(f,l)=>n({url:f,replace:l}),wasPush:r}},[t]);return B(()=>(addEventListener("click",n),addEventListener("popstate",n),()=>{removeEventListener("click",n),removeEventListener("popstate",n)}),[]),p(E.ctx.Provider,{value:o},e.children)}var ee=Promise.resolve();function $(e){let[t,n]=j(u=>u+1,0),{url:r,query:o,wasPush:c,path:s}=T();if(!r)throw new Error("preact-iso's <Router> must be used within a <LocationProvider>, see: https://github.com/preactjs/preact-iso#locationprovider");let{rest:f=s,params:l={}}=U(H),S=a(!1),z=a(s),C=a(0),i=a(),_=a(),h=a(),b=a(!1),P=a();P.current=!1;let A,I,m;K(e.children).some(u=>{if(V(f,u.props.path,m={...u.props,path:f,query:o,params:Object.assign({},l),rest:""}))return A=k(u,m);u.props.default&&(I=k(u,m))});let v=A||I,Y=i.current&&i.current.__u&x&&i.current.__u&L,F=i.current&&i.current.__h,G=O(()=>{_.current=i.current,i.current=p(H.Provider,{value:m},v);let u=_.current&&_.current.props.children;return!u||!v||v.type!==u.type||v.props.component!==u.props.component?(this.__v&&this.__v.__k&&this.__v.__k.reverse(),C.current++,!0):!1},[r,JSON.stringify(m)]);Y?(i.current.__u|=x,i.current.__u|=L):F&&(i.current.__h=!0);let Q=_.current;return _.current=null,this.__c=(u,y)=>{P.current=!0,_.current=Q,e.onLoadStart&&e.onLoadStart(r),S.current=!0;let X=C.current;u.then(()=>{X===C.current&&(_.current=null,i.current&&(y.__h&&(i.current.__h=y.__h),y.__u&L&&(i.current.__u|=L),y.__u&x&&(i.current.__u|=x)),ee.then(n))})},B(()=>{let u=this.__v&&this.__v.__e;if(P.current){!b.current&&!h.current&&(h.current=u);return}!b.current&&h.current&&(h.current!==u&&h.current.remove(),h.current=null),b.current=!0,z.current!==s&&(c&&scrollTo(0,0),e.onRouteChange&&e.onRouteChange(r),z.current=s),e.onLoadEnd&&S.current&&e.onLoadEnd(r),S.current=!1},[s,c,t]),G?[p(w,{r:i}),p(w,{r:_})]:p(w,{r:i})}var x=32,L=128,w=({r:e})=>e.current;$.Provider=E;E.ctx=D({});var H=D({}),te=e=>p(e.component,e),T=()=>U(E.ctx);M();q();var J=g.__b;g.__b=e=>{e.type&&e.type._forwarded&&e.ref&&(e.props.ref=e.ref,e.ref=null),J&&J(e)};var W=g.__e;g.__e=(e,t,n)=>{if(e&&e.then){let r=t;for(;r=r.__;)if(r.__c&&r.__c.__c)return t.__e==null&&(t.__c.__z=[n.__e],t.__e=n.__e,t.__k=n.__k),t.__k||(t.__k=[]),r.__c.__c(e,t)}W&&W(e,t,n)};M();function ve(...e){return e.filter(t=>!!t).join(" ")||void 0}export{E as a,$ as b,te as c,T as d,ve as e};