@objectstack/console 7.9.0 → 8.0.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.
- package/dist/assets/{AiPendingActionsPage-jLWo6Ayv.js → AiPendingActionsPage-GMbp_gU6.js} +1 -1
- package/dist/assets/{ApiConsolePage-CWTG8Xo7.js → ApiConsolePage-fx31NUJu.js} +1 -1
- package/dist/assets/{AppManagementPage-GNlxvYjB.js → AppManagementPage-D8RAo63V.js} +1 -1
- package/dist/assets/ApprovalsInboxPage-Nx8dWGIh.js +1 -0
- package/dist/assets/{AuditLogPage-5XSTvoRE.js → AuditLogPage-BbJVvOwP.js} +1 -1
- package/dist/assets/{ComponentNavView-BSO_oEuH.js → ComponentNavView-BDbQBPDu.js} +1 -1
- package/dist/assets/ConsoleFloatingChatbot-ez78SjMT.js +1 -0
- package/dist/assets/DeveloperHubPage-DcJoR8P3.js +1 -0
- package/dist/assets/FlowRunsPage-lx4QRpzF.js +1 -0
- package/dist/assets/IntegrationsPage-ByxF20mz.js +82 -0
- package/dist/assets/ProfilePage-Cg44IVsv.js +1 -0
- package/dist/assets/PublicFormsPage-Cy_6D1eO.js +1 -0
- package/dist/assets/{RecentItemsProvider-C6mWTgDQ.js → RecentItemsProvider-PPHUem2M.js} +1 -1
- package/dist/assets/{SettingsHub-CIY42FH1.js → SettingsHub-BSUyG7Hf.js} +1 -1
- package/dist/assets/{SettingsView-CegTe8Ea.js → SettingsView-DPBCFHk1.js} +1 -1
- package/dist/assets/{SystemHubPage-CrPlzy52.js → SystemHubPage-CJGBoDcK.js} +1 -1
- package/dist/assets/{data-adapter-ByiC1zK-.js → data-adapter-_AZenlJe.js} +1 -1
- package/dist/assets/framework-CzhT5JRV.js +34 -0
- package/dist/assets/{highlighted-body-OFNGDK62-Cb0ueA71.js → highlighted-body-OFNGDK62-BhGyBfwq.js} +1 -1
- package/dist/assets/index-BN0WVFAv.js +32 -0
- package/dist/assets/index-TbUZx7_1.css +2 -0
- package/dist/assets/infrastructure-ai8_U_pI.js +3 -0
- package/dist/assets/mergeServerFields-B5HoGDzy.js +7 -0
- package/dist/assets/mermaid-GHXKKRXX-DjL587yX.js +1 -0
- package/dist/assets/plugin-calendar-CJzupXd5.js +1 -0
- package/dist/assets/{plugin-charts-CP4h02tQ.js → plugin-charts-BEUWAwv7.js} +2 -2
- package/dist/assets/plugin-chatbot-Bu4iH5QF.js +120 -0
- package/dist/assets/plugin-dashboard-Cp10Wl4m.js +3 -0
- package/dist/assets/plugin-form-C0Ec8keG.js +1 -0
- package/dist/assets/plugin-gantt-BCNazePX.js +1 -0
- package/dist/assets/plugin-grid-b1qcltrl.js +6 -0
- package/dist/assets/{plugin-kanban-B-o9RSK7.js → plugin-kanban-DH3H0Wva.js} +1 -1
- package/dist/assets/{plugin-map-Dogg70cr.js → plugin-map-Bq_z3o3E.js} +1 -1
- package/dist/assets/{plugin-markdown-BR6MY8l8.js → plugin-markdown-MGi27oiL.js} +1 -1
- package/dist/assets/plugin-report-DSe9lGEO.js +59 -0
- package/dist/assets/plugin-timeline-Cj7Vdr5S.js +1 -0
- package/dist/assets/plugin-view-DcCK17lP.js +1 -0
- package/dist/assets/plugins-views-BCJT2gzM.js +4 -0
- package/dist/assets/{src-CefK1cl3.js → src-DkkPzDZy.js} +1 -1
- package/dist/assets/{types-uOhYwSbE.js → types-CUTB6-yK.js} +1 -1
- package/dist/assets/ui-components-BHdgV-R1.js +42 -0
- package/dist/assets/{ui-layout-B_j0BM4b.js → ui-layout-BiOdr9x-.js} +1 -1
- package/dist/assets/{vendor-charts-BfGsKLn4.js → vendor-charts-4buVt82U.js} +1 -1
- package/dist/assets/vendor-objectstack-DRFh8zSo.js +96 -0
- package/dist/assets/vendor-ui-utils-CjuGfYLJ.js +1 -0
- package/dist/index.html +4 -4
- package/package.json +1 -1
- package/dist/assets/ApprovalsInboxPage-BjgnPpO0.js +0 -1
- package/dist/assets/ConsoleFloatingChatbot-CqIHTEt8.js +0 -1
- package/dist/assets/DeveloperHubPage-dAwpubU9.js +0 -1
- package/dist/assets/FlowRunsPage--fqUTSur.js +0 -1
- package/dist/assets/ProfilePage-BWTzOuUR.js +0 -1
- package/dist/assets/PublicFormsPage-BYCoo2T3.js +0 -1
- package/dist/assets/framework-Bg_8y02a.js +0 -34
- package/dist/assets/index--IqVdzh7.css +0 -2
- package/dist/assets/index-DKok_mql.js +0 -33
- package/dist/assets/infrastructure-xzEwJt5N.js +0 -3
- package/dist/assets/mermaid-GHXKKRXX-l3hYvjCm.js +0 -1
- package/dist/assets/plugin-calendar-C-9OPJzZ.js +0 -1
- package/dist/assets/plugin-chatbot-Byj2Ut9C.js +0 -120
- package/dist/assets/plugin-dashboard-T9rNXqHD.js +0 -3
- package/dist/assets/plugin-form-BOb7Pz1P.js +0 -1
- package/dist/assets/plugin-gantt-QTyZ46KN.js +0 -1
- package/dist/assets/plugin-grid-CIlCwKyp.js +0 -6
- package/dist/assets/plugin-report-AhX1YoV8.js +0 -59
- package/dist/assets/plugin-timeline-Dju0mfv_.js +0 -1
- package/dist/assets/plugin-view-DF7-Dd3a.js +0 -1
- package/dist/assets/plugins-views-rCdZtRbk.js +0 -4
- package/dist/assets/ui-components-C7AytqY9.js +0 -41
- package/dist/assets/vendor-objectstack-DCNcl1ou.js +0 -65
- package/dist/assets/vendor-ui-utils-CWvoJB0S.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e,t}from"./rolldown-runtime-CMxvf4Kt.js";import{v as n,y as r}from"./vendor-react-BMpe6Iqg.js";function i(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=i(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function a(){for(var e,t,n=0,r=``,a=arguments.length;n<a;n++)(e=arguments[n])&&(t=i(e))&&(r&&(r+=` `),r+=t);return r}var o=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},s=(e,t)=>({classGroupId:e,validator:t}),c=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),l=`-`,u=[],d=`arbitrary..`,ee=e=>{let t=p(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return te(e);let n=e.split(l);return f(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?o(i,t):t:i||u}return n[e]||u}}},f=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=f(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(l):e.slice(t).join(l),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},te=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?d+r:void 0})(),p=e=>{let{theme:t,classGroups:n}=e;return m(n,t)},m=(e,t)=>{let n=c();for(let r in e){let i=e[r];h(i,n,r,t)}return n},h=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];g(i,t,n,r)}},g=(e,t,n,r)=>{if(typeof e==`string`){_(e,t,n);return}if(typeof e==`function`){v(e,t,n,r);return}y(e,t,n,r)},_=(e,t,n)=>{let r=e===``?t:b(t,e);r.classGroupId=n},v=(e,t,n,r)=>{if(x(e)){h(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(s(n,e))},y=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];h(o,b(t,a),n,r)}},b=(e,t)=>{let n=e,r=t.split(l),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=c(),n.nextPart.set(t,i)),n=i}return n},x=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,S=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},C=`!`,w=`:`,T=[],E=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ne=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===w){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(C)?(c=s.slice(0,-1),l=!0):s.startsWith(C)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return E(t,l,c,u)};if(t){let e=t+w,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):E(T,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},D=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},O=e=>({cache:S(e.cacheSize),parseClassName:ne(e),sortModifiers:D(e),postfixLookupClassGroupIds:k(e),...ee(e)}),k=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},A=/\s+/,re=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(A),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:ee,baseClassName:f,maybePostfixModifierPosition:te}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let p=!!te,m;if(p){m=r(f.substring(0,te));let e=m&&o[m]?r(f):void 0;e&&e!==m&&(m=e,p=!1)}else m=r(f);if(!m){if(!p){l=t+(l.length>0?` `+l:l);continue}if(m=r(f),!m){l=t+(l.length>0?` `+l:l);continue}p=!1}let h=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),g=ee?h+C:h,_=g+m;if(s.indexOf(_)>-1)continue;s.push(_);let v=i(m,p);for(let e=0;e<v.length;++e){let t=v[e];s.push(g+t)}l=t+(l.length>0?` `+l:l)}return l},j=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=M(n))&&(i&&(i+=` `),i+=r);return i},M=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=M(e[r]))&&(n&&(n+=` `),n+=t);return n},ie=(e,...t)=>{let n,r,i,a,o=o=>(n=O(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=re(e,n);return i(e,a),a};return a=o,(...e)=>a(j(...e))},ae=[],N=e=>{let t=t=>t[e]||ae;return t.isThemeGetter=!0,t},oe=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,P=/^\((?:(\w[\w-]*):)?(.+)\)$/i,F=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,I=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,L=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,se=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,R=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ce=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,z=e=>F.test(e),B=e=>!!e&&!Number.isNaN(Number(e)),V=e=>!!e&&Number.isInteger(Number(e)),le=e=>e.endsWith(`%`)&&B(e.slice(0,-1)),H=e=>I.test(e),ue=()=>!0,de=e=>L.test(e)&&!se.test(e),U=()=>!1,W=e=>R.test(e),G=e=>ce.test(e),fe=e=>!K(e)&&!Y(e),pe=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),me=e=>X(e,Ae,U),K=e=>oe.test(e),q=e=>X(e,je,de),he=e=>X(e,Me,B),ge=e=>X(e,Pe,ue),_e=e=>X(e,Ne,U),J=e=>X(e,Oe,U),ve=e=>X(e,ke,G),ye=e=>X(e,Fe,W),Y=e=>P.test(e),be=e=>De(e,je),xe=e=>De(e,Ne),Se=e=>De(e,Oe),Ce=e=>De(e,Ae),we=e=>De(e,ke),Te=e=>De(e,Fe,!0),Ee=e=>De(e,Pe,!0),X=(e,t,n)=>{let r=oe.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},De=(e,t,n=!1)=>{let r=P.exec(e);return r?r[1]?t(r[1]):n:!1},Oe=e=>e===`position`||e===`percentage`,ke=e=>e===`image`||e===`url`,Ae=e=>e===`length`||e===`size`||e===`bg-size`,je=e=>e===`length`,Me=e=>e===`number`,Ne=e=>e===`family-name`,Pe=e=>e===`number`||e===`weight`,Fe=e=>e===`shadow`,Ie=ie(()=>{let e=N(`color`),t=N(`font`),n=N(`text`),r=N(`font-weight`),i=N(`tracking`),a=N(`leading`),o=N(`breakpoint`),s=N(`container`),c=N(`spacing`),l=N(`radius`),u=N(`shadow`),d=N(`inset-shadow`),ee=N(`text-shadow`),f=N(`drop-shadow`),te=N(`blur`),p=N(`perspective`),m=N(`aspect`),h=N(`ease`),g=N(`animate`),_=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],v=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],y=()=>[...v(),Y,K],b=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],x=()=>[`auto`,`contain`,`none`],S=()=>[Y,K,c],C=()=>[z,`full`,`auto`,...S()],w=()=>[V,`none`,`subgrid`,Y,K],T=()=>[`auto`,{span:[`full`,V,Y,K]},V,Y,K],E=()=>[V,`auto`,Y,K],ne=()=>[`auto`,`min`,`max`,`fr`,Y,K],D=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],O=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],k=()=>[`auto`,...S()],A=()=>[z,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...S()],re=()=>[z,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...S()],j=()=>[z,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...S()],M=()=>[e,Y,K],ie=()=>[...v(),Se,J,{position:[Y,K]}],ae=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],oe=()=>[`auto`,`cover`,`contain`,Ce,me,{size:[Y,K]}],P=()=>[le,be,q],F=()=>[``,`none`,`full`,l,Y,K],I=()=>[``,B,be,q],L=()=>[`solid`,`dashed`,`dotted`,`double`],se=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],R=()=>[B,le,Se,J],ce=()=>[``,`none`,te,Y,K],de=()=>[`none`,B,Y,K],U=()=>[`none`,B,Y,K],W=()=>[B,Y,K],G=()=>[z,`full`,...S()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[H],breakpoint:[H],color:[ue],container:[H],"drop-shadow":[H],ease:[`in`,`out`,`in-out`],font:[fe],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[H],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[H],shadow:[H],spacing:[`px`,B],text:[H],"text-shadow":[H],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,z,K,Y,m]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Y,K]}],"container-named":[pe],columns:[{columns:[B,K,Y,s]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:y()}],overflow:[{overflow:b()}],"overflow-x":[{"overflow-x":b()}],"overflow-y":[{"overflow-y":b()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{"inset-s":C(),start:C()}],end:[{"inset-e":C(),end:C()}],"inset-bs":[{"inset-bs":C()}],"inset-be":[{"inset-be":C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[V,`auto`,Y,K]}],basis:[{basis:[z,`full`,`auto`,s,...S()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[B,z,`auto`,`initial`,`none`,K]}],grow:[{grow:[``,B,Y,K]}],shrink:[{shrink:[``,B,Y,K]}],order:[{order:[V,`first`,`last`,`none`,Y,K]}],"grid-cols":[{"grid-cols":w()}],"col-start-end":[{col:T()}],"col-start":[{"col-start":E()}],"col-end":[{"col-end":E()}],"grid-rows":[{"grid-rows":w()}],"row-start-end":[{row:T()}],"row-start":[{"row-start":E()}],"row-end":[{"row-end":E()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ne()}],"auto-rows":[{"auto-rows":ne()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...D(),`normal`]}],"justify-items":[{"justify-items":[...O(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...O()]}],"align-content":[{content:[`normal`,...D()]}],"align-items":[{items:[...O(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...O(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":D()}],"place-items":[{"place-items":[...O(),`baseline`]}],"place-self":[{"place-self":[`auto`,...O()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:k()}],mx:[{mx:k()}],my:[{my:k()}],ms:[{ms:k()}],me:[{me:k()}],mbs:[{mbs:k()}],mbe:[{mbe:k()}],mt:[{mt:k()}],mr:[{mr:k()}],mb:[{mb:k()}],ml:[{ml:k()}],"space-x":[{"space-x":S()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":S()}],"space-y-reverse":[`space-y-reverse`],size:[{size:A()}],"inline-size":[{inline:[`auto`,...re()]}],"min-inline-size":[{"min-inline":[`auto`,...re()]}],"max-inline-size":[{"max-inline":[`none`,...re()]}],"block-size":[{block:[`auto`,...j()]}],"min-block-size":[{"min-block":[`auto`,...j()]}],"max-block-size":[{"max-block":[`none`,...j()]}],w:[{w:[s,`screen`,...A()]}],"min-w":[{"min-w":[s,`screen`,`none`,...A()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...A()]}],h:[{h:[`screen`,`lh`,...A()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...A()]}],"max-h":[{"max-h":[`screen`,`lh`,...A()]}],"font-size":[{text:[`base`,n,be,q]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Ee,ge]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,le,K]}],"font-family":[{font:[xe,_e,t]}],"font-features":[{"font-features":[K]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Y,K]}],"line-clamp":[{"line-clamp":[B,`none`,Y,he]}],leading:[{leading:[a,...S()]}],"list-image":[{"list-image":[`none`,Y,K]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Y,K]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...L(),`wavy`]}],"text-decoration-thickness":[{decoration:[B,`from-font`,`auto`,Y,q]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[B,`auto`,Y,K]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:S()}],"tab-size":[{tab:[V,Y,K]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Y,K]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Y,K]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ie()}],"bg-repeat":[{bg:ae()}],"bg-size":[{bg:oe()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},V,Y,K],radial:[``,Y,K],conic:[V,Y,K]},we,ve]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:P()}],"gradient-via-pos":[{via:P()}],"gradient-to-pos":[{to:P()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:I()}],"border-w-x":[{"border-x":I()}],"border-w-y":[{"border-y":I()}],"border-w-s":[{"border-s":I()}],"border-w-e":[{"border-e":I()}],"border-w-bs":[{"border-bs":I()}],"border-w-be":[{"border-be":I()}],"border-w-t":[{"border-t":I()}],"border-w-r":[{"border-r":I()}],"border-w-b":[{"border-b":I()}],"border-w-l":[{"border-l":I()}],"divide-x":[{"divide-x":I()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":I()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...L(),`hidden`,`none`]}],"divide-style":[{divide:[...L(),`hidden`,`none`]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-bs":[{"border-bs":M()}],"border-color-be":[{"border-be":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...L(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[B,Y,K]}],"outline-w":[{outline:[``,B,be,q]}],"outline-color":[{outline:M()}],shadow:[{shadow:[``,`none`,u,Te,ye]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":[`none`,d,Te,ye]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:I()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[B,q]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":I()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":[`none`,ee,Te,ye]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[B,Y,K]}],"mix-blend":[{"mix-blend":[...se(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":se()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[B]}],"mask-image-linear-from-pos":[{"mask-linear-from":R()}],"mask-image-linear-to-pos":[{"mask-linear-to":R()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":R()}],"mask-image-t-to-pos":[{"mask-t-to":R()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":R()}],"mask-image-r-to-pos":[{"mask-r-to":R()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":R()}],"mask-image-b-to-pos":[{"mask-b-to":R()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":R()}],"mask-image-l-to-pos":[{"mask-l-to":R()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":R()}],"mask-image-x-to-pos":[{"mask-x-to":R()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":R()}],"mask-image-y-to-pos":[{"mask-y-to":R()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[Y,K]}],"mask-image-radial-from-pos":[{"mask-radial-from":R()}],"mask-image-radial-to-pos":[{"mask-radial-to":R()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[B]}],"mask-image-conic-from-pos":[{"mask-conic-from":R()}],"mask-image-conic-to-pos":[{"mask-conic-to":R()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ie()}],"mask-repeat":[{mask:ae()}],"mask-size":[{mask:oe()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Y,K]}],filter:[{filter:[``,`none`,Y,K]}],blur:[{blur:ce()}],brightness:[{brightness:[B,Y,K]}],contrast:[{contrast:[B,Y,K]}],"drop-shadow":[{"drop-shadow":[``,`none`,f,Te,ye]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:[``,B,Y,K]}],"hue-rotate":[{"hue-rotate":[B,Y,K]}],invert:[{invert:[``,B,Y,K]}],saturate:[{saturate:[B,Y,K]}],sepia:[{sepia:[``,B,Y,K]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Y,K]}],"backdrop-blur":[{"backdrop-blur":ce()}],"backdrop-brightness":[{"backdrop-brightness":[B,Y,K]}],"backdrop-contrast":[{"backdrop-contrast":[B,Y,K]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,B,Y,K]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[B,Y,K]}],"backdrop-invert":[{"backdrop-invert":[``,B,Y,K]}],"backdrop-opacity":[{"backdrop-opacity":[B,Y,K]}],"backdrop-saturate":[{"backdrop-saturate":[B,Y,K]}],"backdrop-sepia":[{"backdrop-sepia":[``,B,Y,K]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Y,K]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[B,`initial`,Y,K]}],ease:[{ease:[`linear`,`initial`,h,Y,K]}],delay:[{delay:[B,Y,K]}],animate:[{animate:[`none`,g,Y,K]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[p,Y,K]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:de()}],"rotate-x":[{"rotate-x":de()}],"rotate-y":[{"rotate-y":de()}],"rotate-z":[{"rotate-z":de()}],scale:[{scale:U()}],"scale-x":[{"scale-x":U()}],"scale-y":[{"scale-y":U()}],"scale-z":[{"scale-z":U()}],"scale-3d":[`scale-3d`],skew:[{skew:W()}],"skew-x":[{"skew-x":W()}],"skew-y":[{"skew-y":W()}],transform:[{transform:[Y,K,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:G()}],"translate-x":[{"translate-x":G()}],"translate-y":[{"translate-y":G()}],"translate-z":[{"translate-z":G()}],"translate-none":[`translate-none`],zoom:[{zoom:[V,Y,K]}],accent:[{accent:M()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Y,K]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":M()}],"scrollbar-track-color":[{"scrollbar-track":M()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Y,K]}],fill:[{fill:[`none`,...M()]}],"stroke-w":[{stroke:[B,be,q,he]}],stroke:[{stroke:[`none`,...M()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}}),Le=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Re=a,ze=(e,t)=>n=>{if(t?.variants==null)return Re(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Le(t)||Le(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Re(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},Z=e(r(),1),Be=e(n(),1);function Ve(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var He=e=>{switch(e){case`success`:return Ge;case`info`:return qe;case`warning`:return Ke;case`error`:return Je;default:return null}},Ue=Array(12).fill(0),We=({visible:e,className:t})=>Z.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},Z.createElement(`div`,{className:`sonner-spinner`},Ue.map((e,t)=>Z.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),Ge=Z.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},Z.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),Ke=Z.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},Z.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),qe=Z.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},Z.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),Je=Z.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},Z.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),Ye=Z.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},Z.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),Z.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),Xe=()=>{let[e,t]=Z.useState(document.hidden);return Z.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},Ze=1,Q=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:Ze++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],Z.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if($e(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!Z.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!Z.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!Z.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!Z.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||Ze++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Qe=(e,t)=>{let n=t?.id||Ze++;return Q.addToast({title:e,...t,id:n}),n},$e=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,et=Object.assign(Qe,{success:Q.success,info:Q.info,warning:Q.warning,error:Q.error,custom:Q.custom,message:Q.message,promise:Q.promise,dismiss:Q.dismiss,loading:Q.loading},{getHistory:()=>Q.toasts,getToasts:()=>Q.getActiveToasts()});Ve(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}`);function tt(e){return e.label!==void 0}var nt=3,rt=`24px`,it=`16px`,at=4e3,ot=356,st=14,ct=45,lt=200;function $(...e){return e.filter(Boolean).join(` `)}function ut(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var dt=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:ee,closeButton:f,style:te,cancelButtonStyle:p,actionButtonStyle:m,className:h=``,descriptionClassName:g=``,duration:_,position:v,gap:y,expandByDefault:b,classNames:x,icons:S,closeButtonAriaLabel:C=`Close toast`}=e,[w,T]=Z.useState(null),[E,ne]=Z.useState(null),[D,O]=Z.useState(!1),[k,A]=Z.useState(!1),[re,j]=Z.useState(!1),[M,ie]=Z.useState(!1),[ae,N]=Z.useState(!1),[oe,P]=Z.useState(0),[F,I]=Z.useState(0),L=Z.useRef(n.duration||_||at),se=Z.useRef(null),R=Z.useRef(null),ce=c===0,z=c+1<=o,B=n.type,V=n.dismissible!==!1,le=n.className||``,H=n.descriptionClassName||``,ue=Z.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),de=Z.useMemo(()=>n.closeButton??f,[n.closeButton,f]),U=Z.useMemo(()=>n.duration||_||at,[n.duration,_]),W=Z.useRef(0),G=Z.useRef(0),fe=Z.useRef(0),pe=Z.useRef(null),[me,K]=v.split(`-`),q=Z.useMemo(()=>s.reduce((e,t,n)=>n>=ue?e:e+t.height,0),[s,ue]),he=Xe(),ge=n.invert||t,_e=B===`loading`;G.current=Z.useMemo(()=>ue*y+q,[ue,q]),Z.useEffect(()=>{L.current=U},[U]),Z.useEffect(()=>{O(!0)},[]),Z.useEffect(()=>{let e=R.current;if(e){let t=e.getBoundingClientRect().height;return I(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),Z.useLayoutEffect(()=>{if(!D)return;let e=R.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,I(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[D,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let J=Z.useCallback(()=>{A(!0),P(G.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},lt)},[n,d,a,G]);Z.useEffect(()=>{if(n.promise&&B===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||he?(()=>{if(fe.current<W.current){let e=new Date().getTime()-W.current;L.current-=e}fe.current=new Date().getTime()})():L.current!==1/0&&(W.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),J()},L.current)),()=>clearTimeout(e)},[u,i,n,B,he,J]),Z.useEffect(()=>{n.delete&&(J(),n.onDismiss==null||n.onDismiss.call(n,n))},[J,n.delete]);function ve(){return S?.loading?Z.createElement(`div`,{className:$(x?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":B===`loading`},S.loading):Z.createElement(We,{className:$(x?.loader,n?.classNames?.loader),visible:B===`loading`})}let ye=n.icon||S?.[B]||He(B);return Z.createElement(`li`,{tabIndex:0,ref:R,className:$(h,le,x?.toast,n?.classNames?.toast,x?.default,x?.[B],n?.classNames?.[B]),"data-sonner-toast":``,"data-rich-colors":n.richColors??ee,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":D,"data-promise":!!n.promise,"data-swiped":ae,"data-removed":k,"data-visible":z,"data-y-position":me,"data-x-position":K,"data-index":c,"data-front":ce,"data-swiping":re,"data-dismissible":V,"data-type":B,"data-invert":ge,"data-swipe-out":M,"data-swipe-direction":E,"data-expanded":!!(u||b&&D),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${k?oe:G.current}px`,"--initial-height":b?`auto`:`${F}px`,...te,...n.style},onDragEnd:()=>{j(!1),T(null),pe.current=null},onPointerDown:e=>{e.button!==2&&(_e||!V||(se.current=new Date,P(G.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(j(!0),pe.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(M||!V)return;pe.current=null;let e=Number(R.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(R.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-se.current?.getTime(),i=w===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=ct||a>.11){P(G.current),n.onDismiss==null||n.onDismiss.call(n,n),ne(w===`x`?e>0?`right`:`left`:t>0?`down`:`up`),J(),ie(!0);return}else{var o,s;(o=R.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=R.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}N(!1),j(!1),T(null)},onPointerMove:t=>{var n,r;if(!pe.current||!V||window.getSelection()?.toString().length>0)return;let i=t.clientY-pe.current.y,a=t.clientX-pe.current.x,o=e.swipeDirections??ut(v);!w&&(Math.abs(a)>1||Math.abs(i)>1)&&T(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(w===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(w===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&N(!0),(n=R.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=R.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},de&&!n.jsx&&B!==`loading`?Z.createElement(`button`,{"aria-label":C,"data-disabled":_e,"data-close-button":!0,onClick:_e||!V?()=>{}:()=>{J(),n.onDismiss==null||n.onDismiss.call(n,n)},className:$(x?.closeButton,n?.classNames?.closeButton)},S?.close??Ye):null,(B||n.icon||n.promise)&&n.icon!==null&&(S?.[B]!==null||n.icon)?Z.createElement(`div`,{"data-icon":``,className:$(x?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||ve():null,n.type===`loading`?null:ye):null,Z.createElement(`div`,{"data-content":``,className:$(x?.content,n?.classNames?.content)},Z.createElement(`div`,{"data-title":``,className:$(x?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?Z.createElement(`div`,{"data-description":``,className:$(g,H,x?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),Z.isValidElement(n.cancel)?n.cancel:n.cancel&&tt(n.cancel)?Z.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||p,onClick:e=>{tt(n.cancel)&&V&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),J())},className:$(x?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,Z.isValidElement(n.action)?n.action:n.action&&tt(n.action)?Z.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||m,onClick:e=>{tt(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&J())},className:$(x?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function ft(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function pt(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?it:rt;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var mt=Z.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:ee,duration:f,style:te,visibleToasts:p=nt,toastOptions:m,dir:h=ft(),gap:g=st,icons:_,containerAriaLabel:v=`Notifications`}=e,[y,b]=Z.useState([]),x=Z.useMemo(()=>n?y.filter(e=>e.toasterId===n):y.filter(e=>!e.toasterId),[y,n]),S=Z.useMemo(()=>Array.from(new Set([i].concat(x.filter(e=>e.position).map(e=>e.position)))),[x,i]),[C,w]=Z.useState([]),[T,E]=Z.useState(!1),[ne,D]=Z.useState(!1),[O,k]=Z.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),A=Z.useRef(null),re=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),j=Z.useRef(null),M=Z.useRef(!1),ie=Z.useCallback(e=>{b(t=>(t.find(t=>t.id===e.id)?.delete||Q.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return Z.useEffect(()=>Q.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{b(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{Be.flushSync(()=>{b(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[y]),Z.useEffect(()=>{if(d!==`system`){k(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?k(`dark`):k(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{k(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{k(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),Z.useEffect(()=>{y.length<=1&&E(!1)},[y]),Z.useEffect(()=>{let e=e=>{if(a.every(t=>e[t]||e.code===t)){var t;E(!0),(t=A.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===A.current||A.current?.contains(document.activeElement))&&E(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),Z.useEffect(()=>{if(A.current)return()=>{j.current&&(j.current.focus({preventScroll:!0}),j.current=null,M.current=!1)}},[A.current]),Z.createElement(`section`,{ref:t,"aria-label":`${v} ${re}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},S.map((t,n)=>{let[i,a]=t.split(`-`);return x.length?Z.createElement(`ol`,{key:t,dir:h===`auto`?ft():h,tabIndex:-1,ref:A,className:c,"data-sonner-toaster":!0,"data-sonner-theme":O,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${C[0]?.height||0}px`,"--width":`${ot}px`,"--gap":`${g}px`,...te,...pt(l,u)},onBlur:e=>{M.current&&!e.currentTarget.contains(e.relatedTarget)&&(M.current=!1,j.current&&=(j.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||M.current||(M.current=!0,j.current=e.relatedTarget)},onMouseEnter:()=>E(!0),onMouseMove:()=>E(!0),onMouseLeave:()=>{ne||E(!1)},onDragEnd:()=>E(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||D(!0)},onPointerUp:()=>D(!1)},x.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>Z.createElement(dt,{key:n.id,icons:_,index:i,toast:n,defaultRichColors:ee,duration:m?.duration??f,className:m?.className,descriptionClassName:m?.descriptionClassName,invert:r,visibleToasts:p,closeButton:m?.closeButton??s,interacting:ne,position:t,style:m?.style,unstyled:m?.unstyled,classNames:m?.classNames,cancelButtonStyle:m?.cancelButtonStyle,actionButtonStyle:m?.actionButtonStyle,closeButtonAriaLabel:m?.closeButtonAriaLabel,removeToast:ie,toasts:x.filter(e=>e.position==n.position),heights:C.filter(e=>e.position==n.position),setHeights:w,expandByDefault:o,gap:g,expanded:T,swipeDirections:e.swipeDirections}))):null}))}),ht=t(((e,t)=>{function n(e){var t,r,i=``;if(typeof e==`string`||typeof e==`number`)i+=e;else if(typeof e==`object`)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=n(e[t]))&&(i&&(i+=` `),i+=r)}else for(r in e)e[r]&&(i&&(i+=` `),i+=r);return i}function r(){for(var e,t,r=0,i=``,a=arguments.length;r<a;r++)(e=arguments[r])&&(t=n(e))&&(i&&(i+=` `),i+=t);return i}t.exports=r,t.exports.clsx=r}));export{Ie as a,ze as i,mt as n,a as o,et as r,ht as t};
|
package/dist/index.html
CHANGED
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
<script>
|
|
19
19
|
window.process = window.process || { env: { NODE_ENV: 'development' }, version: '', platform: 'browser' };
|
|
20
20
|
</script>
|
|
21
|
-
<script type="module" crossorigin src="./assets/index-
|
|
21
|
+
<script type="module" crossorigin src="./assets/index-BN0WVFAv.js"></script>
|
|
22
22
|
<link rel="stylesheet" crossorigin href="./assets/ui-components-BL3SEdAz.css">
|
|
23
23
|
<link rel="stylesheet" crossorigin href="./assets/plugin-dashboard-DnNKJB60.css">
|
|
24
|
-
<link rel="stylesheet" crossorigin href="./assets/index
|
|
25
|
-
<link rel="modulepreload" href="./assets/framework-
|
|
26
|
-
<link rel="modulepreload" href="./assets/ui-components-
|
|
24
|
+
<link rel="stylesheet" crossorigin href="./assets/index-TbUZx7_1.css">
|
|
25
|
+
<link rel="modulepreload" href="./assets/framework-CzhT5JRV.js" />
|
|
26
|
+
<link rel="modulepreload" href="./assets/ui-components-BHdgV-R1.js" />
|
|
27
27
|
<link rel="modulepreload" href="./assets/vendor-radix-Bzf7fki-.js" />
|
|
28
28
|
<link rel="modulepreload" href="./assets/vendor-react-BMpe6Iqg.js" />
|
|
29
29
|
</head>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectstack/console",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.1",
|
|
4
4
|
"description": "Prebuilt Console SPA pinned to this @objectstack/framework release. Source of truth: @object-ui/console (https://github.com/objectstack-ai/objectui).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://github.com/objectstack-ai/framework/tree/main/packages/console",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{r as t,y as n}from"./vendor-react-BMpe6Iqg.js";import{f as r}from"./infrastructure-xzEwJt5N.js";import{$ as i,At as a,Bo as o,Bt as s,F as ee,Ft as te,Gn as ne,Go as re,Ht as c,I as ie,It as ae,Kn as oe,Lt as l,Mt as se,Nr as ce,Nt as le,Pt as ue,Q as de,Qn as u,Rt as fe,Vt as pe,Yo as me,ai as he,ar as ge,at as d,cr as _e,ct as ve,dr as ye,en as be,et as xe,fr as Se,in as Ce,is as we,it as Te,ji as Ee,lr as De,mr as f,nr as Oe,ns as ke,nt as p,or as Ae,ot as m,pr as je,qn as Me,rr as Ne,rt as Pe,sr as h,st as Fe,tt as Ie,ur as g,xr as Le,yi as Re,z as ze,zt as _}from"./ui-components-C7AytqY9.js";import{o as v}from"./vendor-ui-utils-CWvoJB0S.js";var y=e(n(),1),b=`${``.replace(/\/$/,``)}/api/v1`;async function x(e,t){let n=await fetch(`${b}${e}`,{credentials:`include`,headers:{"Content-Type":`application/json`,...t?.headers||{}},...t}),r=null;try{r=await n.json()}catch{}if(!n.ok){let e=r?.code??`HTTP_${n.status}`,t=r?.message??r?.error??n.statusText,i=Error(`${e}: ${t}`);throw i.code=e,i.status=n.status,i.details=r,i}return r}var S={listProcesses(e={}){let t=new URLSearchParams;e.object&&t.set(`object`,e.object),e.activeOnly&&t.set(`activeOnly`,`true`);let n=t.toString();return x(`/approvals/processes${n?`?${n}`:``}`)},listRequests(e={}){let t=new URLSearchParams;e.status&&t.set(`status`,e.status),e.object&&t.set(`object`,e.object),e.recordId&&t.set(`recordId`,e.recordId),e.approverId&&t.set(`approverId`,e.approverId),e.submitterId&&t.set(`submitterId`,e.submitterId);let n=t.toString();return x(`/approvals/requests${n?`?${n}`:``}`)},async getRequest(e){return{data:await x(`/approvals/requests/${encodeURIComponent(e)}`)}},listActions(e){return x(`/approvals/requests/${encodeURIComponent(e)}/actions`)},async approve(e,t){let n=await x(`/approvals/requests/${encodeURIComponent(e)}/approve`,{method:`POST`,body:JSON.stringify(t)});return{data:n.request,finalized:n.finalized}},async reject(e,t){let n=await x(`/approvals/requests/${encodeURIComponent(e)}/reject`,{method:`POST`,body:JSON.stringify(t)});return{data:n.request,finalized:n.finalized}},async recall(e,t){let n=await x(`/approvals/requests/${encodeURIComponent(e)}/recall`,{method:`POST`,body:JSON.stringify(t)});return{data:n.request,finalized:n.finalized}},async submit(e){return x(`/approvals/requests`,{method:`POST`,body:JSON.stringify(e)})}};function Be(e){if(!e)return[];let t=new Set;e.id&&t.add(e.id),e.email&&t.add(e.email);for(let n of e.roles||[])n&&t.add(`role:${n}`);return Array.from(t)}var C=t(),w={pending:{variant:`secondary`,label:`Pending`},approved:{variant:`default`,label:`Approved`},rejected:{variant:`destructive`,label:`Rejected`},recalled:{variant:`outline`,label:`Recalled`}};function T({status:e}){let t=w[e]??{variant:`outline`,label:e};return(0,C.jsx)(u,{variant:t.variant,children:t.label})}function E(e){if(!e)return`—`;try{return new Date(e).toLocaleString()}catch{return e}}function Ve(e){if(!e)return`—`;let t=Date.parse(e);if(Number.isNaN(t))return e;let n=Date.now()-t,r=Math.round(n/1e3);if(r<45)return`just now`;let i=Math.round(r/60);if(i<60)return`${i}m ago`;let a=Math.round(i/60);if(a<24)return`${a}h ago`;let o=Math.round(a/24);if(o<30)return`${o}d ago`;try{return new Date(e).toLocaleDateString()}catch{return e}}function D(e){return e?e.includes(`@`)?e:e.startsWith(`role:`)?`Role: ${e.slice(5)}`:e.length>14?`${e.slice(0,6)}…${e.slice(-4)}`:e:`—`}function O(){let{user:e}=r(),t=(0,y.useMemo)(()=>Be(e),[e]),[n,b]=(0,y.useState)(`pending`),[x,w]=(0,y.useState)([]),[O,k]=(0,y.useState)(!1),[A,He]=(0,y.useState)(null),[Ue,We]=(0,y.useState)(null),[j,M]=(0,y.useState)(null),[Ge,N]=(0,y.useState)([]),[Ke,qe]=(0,y.useState)(!1),[P,F]=(0,y.useState)(``),[I,L]=(0,y.useState)(``),[R,Je]=(0,y.useState)(null),[z,Ye]=(0,y.useState)(``),[B,Xe]=(0,y.useState)(`all`),[V,Ze]=(0,y.useState)(`all`),[H,U]=(0,y.useState)(new Set),[W,Qe]=(0,y.useState)(!1),G=(0,y.useCallback)(async()=>{k(!0),He(null);try{let r=[];if(n===`pending`){let e=new Set;if(t.length===0){let e=await S.listRequests({status:`pending`});for(let t of e.data)r.push(t)}else for(let n of t){let t=await S.listRequests({status:`pending`,approverId:n});for(let n of t.data)e.has(n.id)||(e.add(n.id),r.push(n))}}else if(n===`submitted`){let t=e?.id;if(!t){w([]),k(!1);return}let n=await S.listRequests({submitterId:t});r.push(...n.data)}else{let e=await S.listRequests({});r.push(...e.data)}r.sort((e,t)=>(t.submitted_at||``).localeCompare(e.submitted_at||``)),w(r)}catch(e){He(e?.message||String(e)),w([])}finally{k(!1)}},[n,t,e?.id]);(0,y.useEffect)(()=>{G()},[G]);let $e=(0,y.useCallback)(async e=>{We(e),qe(!0),F(``),L(``);try{let[t,n]=await Promise.all([S.getRequest(e),S.listActions(e)]);M(t.data),N(n.data)}catch(e){v.error(e?.message||`Failed to load request`),M(null),N([])}finally{qe(!1)}},[]),et=()=>{We(null),M(null),N([]),F(``),L(``)},K=(0,y.useCallback)(n=>{if(I.trim())return I.trim();if(!n)return e?.id||``;let r=new Set(n.pending_approvers||[]);for(let e of t)if(r.has(e))return e;return e?.id||``},[I,t,e?.id]),q=(0,y.useCallback)(async e=>{if(!j)return;let t=K(j);if(!t){v.error(`Cannot determine actor id`);return}Je(e);try{let n={actor_id:t,comment:P.trim()||void 0},r=await(e===`approve`?S.approve:e===`reject`?S.reject:S.recall)(j.id,n);v.success(e===`approve`?r.finalized?`Approved (finalized)`:`Approved — advanced to next step`:e===`reject`?r.finalized?`Rejected`:`Rejected — returned to previous step`:`Recalled`),F(``);let[i,a]=await Promise.all([S.getRequest(j.id),S.listActions(j.id)]);M(i.data),N(a.data),G()}catch(t){v.error(t?.message||`Failed to ${e}`)}finally{Je(null)}},[j,K,P,G]),J=(0,y.useMemo)(()=>{if(!j||j.status!==`pending`)return!1;let e=new Set(j.pending_approvers||[]);return t.some(t=>e.has(t))||I.trim().length>0},[j,t,I]),tt=(0,y.useMemo)(()=>!j||j.status!==`pending`?!1:j.submitter_id===e?.id||I.trim().length>0,[j,e?.id,I]),nt=(0,y.useMemo)(()=>x.filter(e=>e.status===`pending`).length,[x]),rt=(0,y.useMemo)(()=>{let e=new Set;for(let t of x)t.process_name&&e.add(t.process_name);return Array.from(e).sort()},[x]),it=(0,y.useMemo)(()=>{let e=new Set;for(let t of x)t.object_name&&e.add(t.object_name);return Array.from(e).sort()},[x]),Y=(0,y.useMemo)(()=>{let e=z.trim().toLowerCase();return x.filter(t=>B!==`all`&&t.process_name!==B||V!==`all`&&t.object_name!==V?!1:e?[t.process_name,t.object_name,t.record_id,t.submitter_id,...t.pending_approvers||[]].filter(Boolean).join(` `).toLowerCase().includes(e):!0)},[x,z,B,V]);(0,y.useEffect)(()=>{if(H.size===0)return;let e=new Set(Y.map(e=>e.id)),t=!1,n=new Set;for(let r of H)e.has(r)?n.add(r):t=!0;t&&U(n)},[Y,H]);let X=(0,y.useMemo)(()=>{let e=new Set(t);return Y.filter(t=>H.has(t.id)&&t.status===`pending`&&(t.pending_approvers||[]).some(t=>e.has(t)))},[Y,H,t]),Z=Y.filter(e=>e.status===`pending`),Q=Z.length>0&&Z.every(e=>H.has(e.id)),at=(0,y.useCallback)(()=>{U(e=>{if(Q)return new Set;let t=new Set(e);for(let e of Z)t.add(e.id);return t})},[Q,Z]),ot=(0,y.useCallback)(e=>{U(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),$=(0,y.useCallback)(async n=>{let r=X;if(r.length===0)return;Qe(!0);let i=0,a=0;for(let o of r){let r=new Set(o.pending_approvers||[]),s=t.find(e=>r.has(e))||e?.id||``;try{await(n===`approve`?S.approve:S.reject)(o.id,{actor_id:s}),i++}catch{a++}}Qe(!1),U(new Set),a===0?v.success(`${n===`approve`?`Approved`:`Rejected`} ${i} request${i===1?``:`s`}`):v.error(`${i} succeeded, ${a} failed`),G()},[X,t,e?.id,G]);return(0,C.jsxs)(`div`,{className:`flex flex-col gap-4 sm:gap-6 p-4 sm:p-6 max-w-6xl`,children:[(0,C.jsxs)(`header`,{className:`flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`h1`,{className:`text-2xl font-semibold flex items-center gap-2`,children:[(0,C.jsx)(he,{className:`h-6 w-6`}),`Approvals Inbox`]}),(0,C.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Review and act on multi-step approval requests.`})]}),(0,C.jsxs)(f,{variant:`outline`,size:`sm`,onClick:G,disabled:O,children:[(0,C.jsx)(Ee,{className:`h-4 w-4 mr-2 ${O?`animate-spin`:``}`}),`Refresh`]})]}),A&&(0,C.jsxs)(Oe,{variant:`destructive`,children:[(0,C.jsx)(we,{className:`h-4 w-4`}),(0,C.jsx)(Ne,{children:A})]}),(0,C.jsxs)(i,{value:n,onValueChange:e=>b(e),children:[(0,C.jsxs)(Ie,{children:[(0,C.jsxs)(p,{value:`pending`,children:[`My Pending`,nt>0&&(0,C.jsx)(u,{variant:`secondary`,className:`ml-2`,children:nt})]}),(0,C.jsx)(p,{value:`submitted`,children:`Submitted by me`}),(0,C.jsx)(p,{value:`all`,children:`All`})]}),(0,C.jsxs)(xe,{value:n,className:`mt-4 space-y-3`,children:[!O&&x.length>0&&(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,C.jsxs)(`div`,{className:`relative flex-1 min-w-[200px] max-w-sm`,children:[(0,C.jsx)(Re,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground`}),(0,C.jsx)(be,{value:z,onChange:e=>Ye(e.target.value),placeholder:`Search process, record, approver…`,className:`pl-8 h-8 text-sm`}),z&&(0,C.jsx)(`button`,{type:`button`,onClick:()=>Ye(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,"aria-label":`Clear search`,children:(0,C.jsx)(Le,{className:`h-3.5 w-3.5`})})]}),rt.length>1&&(0,C.jsxs)(fe,{value:B,onValueChange:Xe,children:[(0,C.jsx)(pe,{className:`h-8 w-auto min-w-[140px] text-sm`,children:(0,C.jsx)(c,{placeholder:`Process`})}),(0,C.jsxs)(_,{children:[(0,C.jsx)(s,{value:`all`,children:`All processes`}),rt.map(e=>(0,C.jsx)(s,{value:e,children:e},e))]})]}),it.length>1&&(0,C.jsxs)(fe,{value:V,onValueChange:Ze,children:[(0,C.jsx)(pe,{className:`h-8 w-auto min-w-[140px] text-sm`,children:(0,C.jsx)(c,{placeholder:`Object`})}),(0,C.jsxs)(_,{children:[(0,C.jsx)(s,{value:`all`,children:`All objects`}),it.map(e=>(0,C.jsx)(s,{value:e,children:e},e))]})]}),(z||B!==`all`||V!==`all`)&&(0,C.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[Y.length,` of `,x.length]})]}),n===`pending`&&H.size>0&&(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-3 py-2 rounded-md border bg-accent/30 text-sm`,children:[(0,C.jsxs)(`span`,{children:[(0,C.jsx)(`strong`,{children:H.size}),` selected`,X.length!==H.size&&(0,C.jsxs)(`span`,{className:`text-muted-foreground ml-1`,children:[`(`,X.length,` actionable)`]})]}),(0,C.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,C.jsxs)(f,{size:`sm`,onClick:()=>$(`approve`),disabled:W||X.length===0,children:[(0,C.jsx)(ke,{className:`h-3.5 w-3.5 mr-1`}),`Approve `,X.length||``]}),(0,C.jsxs)(ge,{children:[(0,C.jsx)(je,{asChild:!0,children:(0,C.jsxs)(f,{size:`sm`,variant:`outline`,disabled:W||X.length===0,className:`border-destructive text-destructive hover:bg-destructive hover:text-destructive-foreground`,children:[(0,C.jsx)(me,{className:`h-3.5 w-3.5 mr-1`}),`Reject `,X.length||``]})}),(0,C.jsxs)(_e,{children:[(0,C.jsxs)(ye,{children:[(0,C.jsxs)(Se,{children:[`Reject `,X.length,` requests?`]}),(0,C.jsx)(De,{children:`This will reject the selected requests and notify their submitters.`})]}),(0,C.jsxs)(g,{children:[(0,C.jsx)(h,{children:`Cancel`}),(0,C.jsxs)(Ae,{onClick:()=>$(`reject`),className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:[`Reject `,X.length]})]})]})]}),(0,C.jsx)(f,{size:`sm`,variant:`ghost`,onClick:()=>U(new Set),disabled:W,children:`Clear`})]})]}),O?(0,C.jsxs)(`div`,{className:`space-y-2`,children:[(0,C.jsx)(a,{className:`h-10 w-full`}),(0,C.jsx)(a,{className:`h-10 w-full`}),(0,C.jsx)(a,{className:`h-10 w-full`})]}):x.length===0?(0,C.jsx)(`div`,{className:`flex items-center justify-center min-h-[240px] rounded-md border border-dashed`,children:(0,C.jsxs)(ee,{children:[(0,C.jsx)(ze,{children:`No requests`}),(0,C.jsx)(ie,{children:n===`pending`?`You have no pending approvals.`:`Nothing here yet.`})]})}):Y.length===0?(0,C.jsx)(`div`,{className:`flex items-center justify-center min-h-[160px] rounded-md border border-dashed text-sm text-muted-foreground`,children:`No matches for current filters.`}):(0,C.jsx)(oe,{children:(0,C.jsx)(Me,{className:`p-0`,children:(0,C.jsxs)(Pe,{children:[(0,C.jsx)(Fe,{children:(0,C.jsxs)(ve,{children:[n===`pending`&&(0,C.jsx)(m,{className:`w-10`,children:(0,C.jsx)(ne,{checked:Q,onCheckedChange:at,"aria-label":`Select all`,disabled:Z.length===0})}),(0,C.jsx)(m,{children:`Process`}),(0,C.jsx)(m,{children:`Object`}),(0,C.jsx)(m,{children:`Record`}),(0,C.jsx)(m,{children:`Step`}),(0,C.jsx)(m,{children:`Status`}),(0,C.jsx)(m,{children:`Approvers`}),(0,C.jsx)(m,{children:`Submitted`})]})}),(0,C.jsx)(Te,{children:Y.map(e=>(0,C.jsxs)(ve,{className:`cursor-pointer hover:bg-accent/50`,onClick:()=>$e(e.id),children:[n===`pending`&&(0,C.jsx)(d,{className:`w-10`,onClick:e=>e.stopPropagation(),children:(0,C.jsx)(ne,{checked:H.has(e.id),onCheckedChange:()=>ot(e.id),disabled:e.status!==`pending`,"aria-label":`Select request ${e.id}`})}),(0,C.jsx)(d,{className:`font-medium`,children:e.process_name}),(0,C.jsx)(d,{children:e.object_name}),(0,C.jsx)(d,{className:`font-mono text-xs`,title:e.record_id,children:D(e.record_id)}),(0,C.jsx)(d,{children:e.current_step?(0,C.jsxs)(`span`,{className:`text-xs`,children:[e.current_step,typeof e.current_step_index==`number`&&(0,C.jsxs)(`span`,{className:`text-muted-foreground`,children:[` (#`,e.current_step_index,`)`]})]}):`—`}),(0,C.jsx)(d,{children:(0,C.jsx)(T,{status:e.status})}),(0,C.jsx)(d,{className:`max-w-[220px] truncate text-xs text-muted-foreground`,title:(e.pending_approvers||[]).join(`, `),children:(e.pending_approvers||[]).map(D).join(`, `)||`—`}),(0,C.jsxs)(d,{className:`text-xs whitespace-nowrap text-muted-foreground`,title:E(e.submitted_at),children:[(0,C.jsx)(re,{className:`h-3 w-3 inline mr-1`}),Ve(e.submitted_at)]})]},e.id))})]})})})]})]}),(0,C.jsx)(se,{open:!!Ue,onOpenChange:e=>!e&&et(),children:(0,C.jsxs)(le,{className:`w-full sm:max-w-xl overflow-y-auto`,children:[(0,C.jsxs)(te,{children:[(0,C.jsx)(ae,{children:`Approval Request`}),(0,C.jsx)(ue,{children:j?`${j.process_name} · ${j.object_name}/${j.record_id}`:``})]}),Ke?(0,C.jsxs)(`div`,{className:`space-y-2 mt-6`,children:[(0,C.jsx)(a,{className:`h-6 w-3/4`}),(0,C.jsx)(a,{className:`h-6 w-1/2`}),(0,C.jsx)(a,{className:`h-20 w-full`})]}):j?(0,C.jsxs)(`div`,{className:`space-y-4 mt-6`,children:[(0,C.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 text-sm`,children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:`Status`}),(0,C.jsx)(T,{status:j.status})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:`Current Step`}),j.current_step||`—`]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:`Step Index`}),j.current_step_index??`—`]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:`Submitter`}),(0,C.jsx)(`span`,{className:`font-mono text-xs`,title:j.submitter_id||``,children:D(j.submitter_id)})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:`Submitted`}),E(j.submitted_at)]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:`Completed`}),E(j.completed_at)]}),(0,C.jsxs)(`div`,{className:`col-span-2`,children:[(0,C.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:`Pending Approvers`}),(0,C.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-1`,children:(j.pending_approvers||[]).length===0?`—`:(j.pending_approvers||[]).map((e,t)=>(0,C.jsx)(u,{variant:`outline`,className:`font-mono text-[10px]`,title:e,children:D(e)},t))})]}),j.payload&&(0,C.jsxs)(`div`,{className:`col-span-2`,children:[(0,C.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,C.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:`Payload`}),(0,C.jsxs)(`button`,{type:`button`,onClick:async()=>{try{await navigator.clipboard.writeText(JSON.stringify(j.payload,null,2)),v.success(`Payload copied`)}catch{v.error(`Copy failed`)}},className:`text-[10px] text-muted-foreground hover:text-foreground inline-flex items-center gap-1`,children:[(0,C.jsx)(o,{className:`h-3 w-3`}),`Copy`]})]}),(0,C.jsx)(`pre`,{className:`text-[11px] bg-muted/50 rounded p-2 overflow-auto max-h-32 mt-1`,children:JSON.stringify(j.payload,null,2)})]})]}),(0,C.jsx)(l,{}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`h3`,{className:`text-sm font-semibold mb-3`,children:`Action History`}),Ge.length===0?(0,C.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No actions yet.`}):(0,C.jsx)(`ol`,{className:`relative space-y-3 pl-5 before:absolute before:left-[7px] before:top-1 before:bottom-1 before:w-px before:bg-border`,children:Ge.map(e=>(0,C.jsxs)(`li`,{className:`relative text-xs`,children:[(0,C.jsx)(`span`,{className:`absolute -left-[18px] top-1 h-3 w-3 rounded-full ring-2 ring-background ${e.action===`approve`?`bg-emerald-500`:e.action===`reject`?`bg-destructive`:e.action===`submit`?`bg-blue-500`:(e.action,`bg-muted-foreground`)}`,"aria-hidden":!0}),(0,C.jsxs)(`div`,{className:`flex items-baseline gap-1.5 flex-wrap`,children:[(0,C.jsx)(`span`,{className:`font-medium capitalize`,children:e.action}),(0,C.jsx)(`span`,{className:`text-muted-foreground`,children:`by`}),(0,C.jsx)(`span`,{className:`font-mono`,title:e.actor_id||``,children:D(e.actor_id)}),e.step_name&&(0,C.jsxs)(`span`,{className:`text-muted-foreground`,children:[`· `,e.step_name,` (#`,e.step_index,`)`]}),(0,C.jsx)(`span`,{className:`ml-auto text-muted-foreground text-[10px]`,title:E(e.created_at),children:Ve(e.created_at)})]}),e.comment&&(0,C.jsxs)(`div`,{className:`text-muted-foreground italic mt-0.5`,children:[`"`,e.comment,`"`]})]},e.id))})]}),j.status===`pending`&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(l,{}),(0,C.jsxs)(`div`,{className:`space-y-3`,children:[(0,C.jsxs)(`details`,{className:`group`,children:[(0,C.jsx)(`summary`,{className:`cursor-pointer text-xs text-muted-foreground hover:text-foreground select-none`,children:`Override actor (advanced)`}),(0,C.jsxs)(`div`,{className:`mt-2`,children:[(0,C.jsx)(Ce,{htmlFor:`actor-override`,className:`text-xs`,children:`Actor`}),(0,C.jsx)(`input`,{id:`actor-override`,type:`text`,value:I,onChange:e=>L(e.target.value),placeholder:`Auto: ${K(j)||`(none)`}`,className:`w-full mt-1 px-3 py-2 text-sm border rounded-md bg-background`}),(0,C.jsxs)(`div`,{className:`text-[10px] text-muted-foreground mt-1`,children:[`e.g. `,(0,C.jsx)(`code`,{children:`role:sales_manager`}),`. Leave blank to use auto-detected.`]})]})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(Ce,{htmlFor:`comment`,className:`text-xs`,children:`Comment (optional)`}),(0,C.jsx)(de,{id:`comment`,value:P,onChange:e=>F(e.target.value),rows:2,className:`mt-1`})]}),(0,C.jsxs)(`div`,{className:`flex gap-2 flex-wrap`,children:[(0,C.jsxs)(f,{size:`sm`,onClick:()=>q(`approve`),disabled:!J||R!==null,children:[(0,C.jsx)(ke,{className:`h-4 w-4 mr-1`}),R===`approve`?`Approving…`:`Approve`]}),(0,C.jsxs)(ge,{children:[(0,C.jsx)(je,{asChild:!0,children:(0,C.jsxs)(f,{size:`sm`,variant:`outline`,disabled:!J||R!==null,className:`border-destructive text-destructive hover:bg-destructive hover:text-destructive-foreground`,children:[(0,C.jsx)(me,{className:`h-4 w-4 mr-1`}),R===`reject`?`Rejecting…`:`Reject`]})}),(0,C.jsxs)(_e,{children:[(0,C.jsxs)(ye,{children:[(0,C.jsx)(Se,{children:`Reject this request?`}),(0,C.jsxs)(De,{children:[`This will mark the request as rejected and notify the submitter.`,j.current_step_index!=null&&j.current_step_index>0?` If the process is multi-step, it returns to the previous step.`:``]})]}),(0,C.jsxs)(g,{children:[(0,C.jsx)(h,{children:`Cancel`}),(0,C.jsx)(Ae,{onClick:()=>q(`reject`),className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:`Reject`})]})]})]}),(0,C.jsxs)(f,{size:`sm`,variant:`outline`,onClick:()=>q(`recall`),disabled:!tt||R!==null,children:[(0,C.jsx)(ce,{className:`h-4 w-4 mr-1`}),R===`recall`?`Recalling…`:`Recall`]})]}),!J&&!tt&&(0,C.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`You are not in the pending approvers list and did not submit this request. Use the override above to act as another identity (e.g. `,(0,C.jsx)(`code`,{children:`role:sales_manager`}),`).`]})]})]})]}):null]})})]})}export{O as ApprovalsInboxPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{r as t,y as n}from"./vendor-react-BMpe6Iqg.js";import{r}from"./framework-Bg_8y02a.js";import{Bt as i,Ht as a,Rt as o,Vt as s,hi as c,mr as l,ri as u,x as d,zt as f}from"./ui-components-C7AytqY9.js";import{d as p,l as m,r as h,t as g,u as _}from"./plugin-chatbot-Byj2Ut9C.js";import{i as v,n as y,r as b}from"./index-DKok_mql.js";var x=e(n(),1),S=t(),C={data_chat:{zh:`数据助手`,en:`Data Assistant`},metadata_assistant:{zh:`元数据开发助手`,en:`Metadata Assistant`}};function w(e,t,n){let r=t?C[t]:void 0;return r?e?r.zh:r.en:n}function T(e,t,n,r,i){let a=(e??``).toLowerCase().startsWith(`zh`),o=w(a,n,r),s=i.slice(0,2).map(e=>e.label||e.name);if(a){let e=[s[0]?`查询最近创建的${s[0]}`:`帮我查询最近的数据`,s[0]?`统计${s[0]}的总数量`:`统计各对象的记录数量`,s[1]?`${s[1]}有哪些字段?`:`当前应用里有哪些数据对象?`].filter(Boolean);return{agentLabel:o,labels:{emptyTitle:`你好,我是${o}`,emptyDescription:`随时帮你查询和分析「${t}」中的数据。试试下面的问题,或直接输入你的需求。`,clear:`清空对话`,sendHint:`发送`},placeholder:`向${o}提问…`,loadingPlaceholder:`正在加载助手…`,title:`${t} 智能助手`,newChat:`开启新对话`,share:`分享对话`,reviewDraft:e=>`查看 ${e} 项变更`,suggestions:e}}let c=[s[0]?`Show the latest ${s[0]}`:`Show my most recent records`,s[0]?`How many ${s[0]} are there?`:`Count records by status`,s[1]?`What fields does ${s[1]} have?`:`What data can I work with here?`].filter(Boolean);return{agentLabel:o,labels:{emptyTitle:`Hi, I'm ${o}`,emptyDescription:`I can help you query and analyze your ${t} data. Try a prompt below, or just type your question.`,clear:`Clear`,sendHint:`to send`},placeholder:`Ask ${o}...`,loadingPlaceholder:`Loading assistant...`,title:`${t} Assistant`,newChat:`New chat`,share:`Share conversation`,reviewDraft:e=>`Review ${e} change${e===1?``:`s`}`,suggestions:c}}var E=`/api/v1/ai`;function D(e){if(e)return e.replace(/\/$/,``);let t={BASE_URL:`./`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_SENTRY_DSN:`https://1373a588ceb9da150b11e64bf85f583d@o4510356161757184.ingest.us.sentry.io/4511439670673408`,VITE_SENTRY_ENVIRONMENT:`production`,VITE_SENTRY_SEND_DEFAULT_PII:`true`,VITE_SERVER_URL:``,VITE_USE_MOCK_SERVER:`false`},n=t.VITE_AI_BASE_URL;return n?n.replace(/\/$/,``):`${(t.VITE_SERVER_URL??``).replace(/\/$/,``)}${E}`}function O(e,t){if(!e||e.type!==`object`)return null;let n=e.label||e.name||`this object`;return(t??``).toLowerCase().startsWith(`zh`)?[`为「${n}」补充字段`,`为「${n}」建议校验规则`,`添加一个状态选项字段`]:[`Add fields to ${n}`,`Suggest validations for ${n}`,`Add a status picklist field`]}function k({appLabel:e,appName:t,objects:n,agents:m,agentsLoading:_,activeAgent:y,onAgentChange:C,showAgentPicker:w,chatApi:E,apiBase:D,defaultOpen:k=!1,conversationId:A,initialMessages:j}){let{language:M}=r(),{editor:N}=v(),P=x.useMemo(()=>!j||j.length===0?[]:j.map(e=>({id:e.id,role:e.role,content:e.parts.map(e=>e.text).join(``)})),[j]),F=x.useMemo(()=>m.find(e=>e.name===y)?.label??y??e,[m,y,e]),I=x.useMemo(()=>T(M,e,y,F,n),[M,e,y,F,n]),L=x.useMemo(()=>O(N,M),[N,M]),{messages:R,isLoading:z,error:B,sendMessage:V,stop:H,reload:U,clear:W}=p({api:E,conversationId:A,body:{context:{activeApp:e,appName:t,objects:n.map(e=>({name:e.name,label:e.label})),agentName:y,...N?{editing:N}:{}}},initialMessages:P,autoResponse:!E,autoResponseText:n.length>0?`I can help you work with ${n.map(e=>e.label||e.name).join(`, `)}. What would you like to do?`:`Thanks for your message! I'm here to help you navigate and manage your data.`,autoResponseDelay:600}),G=g({messages:R,apiBase:D,continueConversation:e=>{V(e)}}),K=w&&m.length>1?(0,S.jsxs)(o,{value:y,onValueChange:C,disabled:_,children:[(0,S.jsx)(s,{className:`h-7 w-[180px] text-xs`,"data-testid":`floating-chatbot-agent-picker`,children:(0,S.jsx)(a,{placeholder:`Choose agent...`})}),(0,S.jsx)(f,{align:`end`,children:m.map(e=>(0,S.jsxs)(i,{value:e.name,className:`text-xs`,children:[(0,S.jsx)(`span`,{className:`font-medium`,children:e.label}),e.description?(0,S.jsx)(`span`,{className:`block text-muted-foreground text-[10px] truncate max-w-[220px]`,children:e.description}):null]},e.name))})]}):null,[q,J]=x.useState(!1),Y=x.useMemo(()=>D.replace(/\/v1\/ai$/,``).replace(/\/ai$/,``)||`/api`,[D]),X=(0,S.jsxs)(S.Fragment,{children:[R.length>0?(0,S.jsx)(l,{variant:`ghost`,size:`icon`,className:`h-7 w-7`,"aria-label":I.newChat,title:I.newChat,"data-testid":`floating-chatbot-new`,onClick:W,children:(0,S.jsx)(u,{className:`h-4 w-4`})}):null,A?(0,S.jsx)(l,{variant:`ghost`,size:`icon`,className:`h-7 w-7`,"aria-label":I.share,title:I.share,"data-testid":`floating-chatbot-share`,onClick:()=>J(!0),children:(0,S.jsx)(c,{className:`h-4 w-4`})}):null]});return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(h,{floatingConfig:{position:`bottom-right`,defaultOpen:k,panelWidth:420,panelHeight:560,title:I.title,triggerSize:56},headerExtra:K,headerActions:X,messages:R,labels:I.labels,showAvatars:!0,hideClearBar:!0,assistantAvatarFallback:I.agentLabel,suggestions:R.length===0?L??I.suggestions:void 0,placeholder:y?I.placeholder:_?I.loadingPlaceholder:I.placeholder,onSendMessage:e=>V(e),onClear:W,onStop:z?H:void 0,onReload:U,isLoading:z,error:B,enableMarkdown:!0,onToolApprove:G.decide,toolDecisions:G.decisions,toolApproveLabel:`Approve & run`,toolDenyLabel:`Reject`,toolDenyReason:`Operator rejected from chat`,onReviewDraft:e=>{e[0]&&b(e[0])},toolReviewLabel:I.reviewDraft}),A&&(0,S.jsx)(d,{open:q,onOpenChange:J,objectName:`ai_conversations`,recordId:A,recordLabel:`this conversation`,apiBase:Y})]})}function A({appLabel:e,appName:t,objects:n,apiBase:r,defaultAgent:i,showAgentPicker:a,defaultOpen:o=!1,userId:s}){let c=x.useMemo(()=>D(r),[r]),l={BASE_URL:`./`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_SENTRY_DSN:`https://1373a588ceb9da150b11e64bf85f583d@o4510356161757184.ingest.us.sentry.io/4511439670673408`,VITE_SENTRY_ENVIRONMENT:`production`,VITE_SENTRY_SEND_DEFAULT_PII:`true`,VITE_SERVER_URL:``,VITE_USE_MOCK_SERVER:`false`},u=l.VITE_AI_DEFAULT_AGENT,d=a??l.VITE_AI_SHOW_AGENT_PICKER===`true`,{agents:f,isLoading:p,error:h}=_({apiBase:c}),[g,v]=x.useState(void 0);x.useEffect(()=>{if(!g&&f.length>0){let e=m(f,i??u);e&&v(e)}},[f,g,i,u]);let b=g?`${c}/agents/${encodeURIComponent(g)}/chat`:void 0,{conversationId:C,initialMessages:w}=y({userId:s,scope:g,apiBase:c});return(0,S.jsx)(k,{appLabel:e,appName:t,objects:n,agents:f,agentsLoading:p,agentsError:h,activeAgent:g,onAgentChange:v,showAgentPicker:d,chatApi:b,apiBase:c,defaultOpen:o,conversationId:C,initialMessages:w},`${b??`local`}:${C??`pending`}`)}export{A as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as e,m as t,r as n}from"./vendor-react-BMpe6Iqg.js";import{Cr as r,Gr as i,Jn as a,Kn as o,Xn as s,Yn as c,qn as l,vo as u}from"./ui-components-C7AytqY9.js";var d=n();function f(){let n=e(),{appName:f}=t(),p=f?`/apps/${f}`:``,m=[{title:`API Console`,description:`Inspect and exercise REST endpoints with auto-discovered services`,icon:i,href:`${p}/developer/api-console`},{title:`Flow Runs`,description:`Trigger flows with sample inputs and inspect recent run history`,icon:r,href:`${p}/developer/flow-runs`},{title:`Public Forms`,description:`Publish, share, and embed FormViews available to anonymous users`,icon:u,href:`${p}/developer/public-forms`}];return(0,d.jsxs)(`div`,{className:`flex flex-col gap-6 p-4 sm:p-6`,children:[(0,d.jsxs)(`div`,{className:`min-w-0`,children:[(0,d.jsx)(`h1`,{className:`text-xl sm:text-2xl font-bold tracking-tight`,children:`Developer`}),(0,d.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`Tools for building, debugging, and sharing ObjectStack apps`})]}),(0,d.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:m.map(e=>{let t=e.icon;return(0,d.jsxs)(o,{className:`cursor-pointer transition-colors hover:bg-accent/50`,onClick:()=>n(e.href),"data-testid":`hub-card-${e.title.toLowerCase().replace(/\s+/g,`-`)}`,role:`link`,tabIndex:0,"aria-label":`${e.title}: ${e.description}`,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n(e.href))},children:[(0,d.jsxs)(c,{className:`flex flex-row items-center gap-3 pb-2`,children:[(0,d.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,children:(0,d.jsx)(t,{className:`h-5 w-5`})}),(0,d.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,d.jsx)(s,{className:`text-base`,children:e.title}),(0,d.jsx)(a,{className:`text-xs`,children:e.description})]})]}),(0,d.jsx)(l,{className:`pt-0`})]},e.title)})})]})}export{f as DeveloperHubPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{r as t,y as n}from"./vendor-react-BMpe6Iqg.js";import{S as r}from"./framework-Bg_8y02a.js";import{At as i,Cr as a,Da as o,Ft as s,Go as c,It as l,Jn as u,Kn as d,Mt as f,Nt as p,Pt as m,Q as h,Qn as g,Ut as _,Vi as v,Xn as y,Yn as b,Yo as x,at as S,ct as C,en as w,in as T,is as E,it as D,ji as O,lt as k,mr as A,ns as j,ot as M,qn as N,rt as P,st as F}from"./ui-components-C7AytqY9.js";import"./index-DKok_mql.js";var I=e(n(),1),L=t();function R({status:e}){let t={success:{icon:j,cls:`text-emerald-600 border-emerald-300`},completed:{icon:j,cls:`text-emerald-600 border-emerald-300`},failed:{icon:x,cls:`text-red-600 border-red-300`},error:{icon:x,cls:`text-red-600 border-red-300`},running:{icon:o,cls:`text-blue-600 border-blue-300 animate-pulse`},pending:{icon:c,cls:`text-amber-600 border-amber-300`},skipped:{icon:E,cls:`text-muted-foreground`}}[e]??{icon:E,cls:`text-muted-foreground`},n=t.icon;return(0,L.jsxs)(g,{variant:`outline`,className:`text-[10px] font-mono inline-flex items-center gap-1 ${t.cls}`,children:[(0,L.jsx)(n,{className:`h-3 w-3`}),e]})}function z(e){if(!e)return`—`;try{return new Date(e).toLocaleString()}catch{return e}}function B(e,t){switch(t){case`number`:{if(e===``)return;let t=Number(e);return Number.isNaN(t)?e:t}case`boolean`:return e===`true`;case`object`:case`list`:case`array`:if(e.trim()===``)return;try{return JSON.parse(e)}catch{return e}default:return e}}function V({data:e}){return(0,L.jsx)(`pre`,{className:`rounded border bg-muted/30 p-2 text-xs font-mono overflow-auto whitespace-pre-wrap break-all max-h-96`,children:JSON.stringify(e,null,2)})}function H(){let e=r()?.getClient?.(),[t,n]=(0,I.useState)([]),[o,s]=(0,I.useState)(!0),[c,l]=(0,I.useState)(null),[f,p]=(0,I.useState)(``),[m,h]=(0,I.useState)(0),g=(0,I.useCallback)(async()=>{if(!e?.meta?.getItems){l(`meta.getItems is not available on this client`),s(!1);return}s(!0),l(null);try{let t=await e.meta.getItems(`flow`),r=(Array.isArray(t)?t:Array.isArray(t?.items)?t.items:Array.isArray(t?.value)?t.value:[]).map(e=>({name:e?.spec?.name??e?.name,label:e?.spec?.label,spec:e?.spec??e,updatedAt:e?.updatedAt??e?.updated_at})).filter(e=>e.name);n(r),!f&&r.length>0&&p(r[0].name)}catch(e){l(e?.message??String(e))}finally{s(!1)}},[e,f]);(0,I.useEffect)(()=>{g()},[g]);let _=(0,I.useMemo)(()=>t.find(e=>e.name===f)??null,[t,f]);return(0,L.jsxs)(`div`,{className:`flex flex-col gap-4 p-4 sm:p-6`,children:[(0,L.jsxs)(`div`,{className:`min-w-0`,children:[(0,L.jsxs)(`h1`,{className:`text-xl sm:text-2xl font-bold tracking-tight flex items-center gap-2`,children:[(0,L.jsx)(a,{className:`h-5 w-5`}),`Flow Runs`]}),(0,L.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`Pick a flow, trigger a test run with sample inputs, and inspect recent run history`})]}),(0,L.jsxs)(d,{children:[(0,L.jsx)(b,{className:`pb-3`,children:(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(y,{className:`text-base`,children:`Flow`}),(0,L.jsx)(u,{children:`Select a flow definition to test`})]}),(0,L.jsxs)(A,{variant:`outline`,size:`sm`,onClick:g,disabled:o,children:[(0,L.jsx)(O,{className:`h-3.5 w-3.5 mr-2 ${o?`animate-spin`:``}`}),`Refresh`]})]})}),(0,L.jsxs)(N,{children:[o&&(0,L.jsx)(i,{className:`h-9 w-72`}),c&&(0,L.jsx)(`p`,{className:`text-sm text-red-500 font-mono break-all`,children:c}),!o&&!c&&t.length===0&&(0,L.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No flow definitions found.`}),!o&&!c&&t.length>0&&(0,L.jsx)(`select`,{value:f,onChange:e=>p(e.target.value),className:`flex h-9 w-full max-w-md rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm focus:outline-none focus:ring-1 focus:ring-ring`,children:t.map(e=>(0,L.jsx)(`option`,{value:e.name,children:e.label?`${e.label} (${e.name})`:e.name},e.name))})]})]}),_&&(0,L.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-2`,children:[(0,L.jsx)(U,{client:e,flow:_.spec,onExecuted:()=>h(e=>e+1)}),(0,L.jsx)(W,{client:e,flowName:_.name,refreshKey:m})]})]})}function U({client:e,flow:t,onExecuted:n}){let r=(0,I.useMemo)(()=>(t?.variables??[]).filter(e=>e?.isInput),[t]),[i,a]=(0,I.useState)({}),[s,c]=(0,I.useState)(!1),[l,f]=(0,I.useState)(null),[p,m]=(0,I.useState)(null);(0,I.useEffect)(()=>{a({}),f(null),m(null)},[t?.name]);let _=(e,t)=>a(n=>({...n,[e]:t}));return(0,L.jsxs)(d,{children:[(0,L.jsxs)(b,{className:`pb-3`,children:[(0,L.jsx)(y,{className:`text-base`,children:`Test Run`}),(0,L.jsx)(u,{children:`Provide input values and invoke the flow`})]}),(0,L.jsxs)(N,{className:`space-y-3`,children:[r.length===0&&(0,L.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This flow declares no input variables. Click Run to invoke with no parameters.`}),r.map(e=>(0,L.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,L.jsxs)(T,{htmlFor:`var-${e.name}`,className:`flex items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`font-mono text-xs`,children:e.name}),(0,L.jsx)(g,{variant:`outline`,className:`text-[10px] font-mono`,children:e.type})]}),e.type===`boolean`?(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(k,{id:`var-${e.name}`,checked:i[e.name]===`true`,onCheckedChange:t=>_(e.name,t?`true`:`false`)}),(0,L.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:i[e.name]===`true`?`true`:`false`})]}):e.type===`object`||e.type===`list`||e.type===`array`?(0,L.jsx)(h,{id:`var-${e.name}`,placeholder:`JSON ${e.type}`,value:i[e.name]??``,onChange:t=>_(e.name,t.target.value),className:`font-mono text-xs min-h-[80px]`}):(0,L.jsx)(w,{id:`var-${e.name}`,type:e.type===`number`?`number`:`text`,value:i[e.name]??``,onChange:t=>_(e.name,t.target.value)})]},e.name)),(0,L.jsx)(`div`,{className:`pt-1`,children:(0,L.jsxs)(A,{onClick:async()=>{if(!e?.automation?.execute){m(`automation.execute is not available on this client`);return}c(!0),m(null),f(null);try{let a={};for(let e of r){let t=i[e.name];t!==void 0&&(a[e.name]=B(t,e.type))}f(await e.automation.execute(t.name,{params:a})),n?.()}catch(e){m(e?.message??String(e))}finally{c(!1)}},disabled:s,size:`sm`,children:[s?(0,L.jsx)(o,{className:`h-3.5 w-3.5 mr-2 animate-spin`}):(0,L.jsx)(v,{className:`h-3.5 w-3.5 mr-2`}),s?`Running…`:`Run Flow`]})}),(l||p)&&(0,L.jsxs)(`div`,{className:`pt-2 border-t mt-2 space-y-2`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium`,children:[p||l?.success===!1?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(x,{className:`h-4 w-4 text-red-500`}),` Failed`]}):(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(j,{className:`h-4 w-4 text-emerald-500`}),` Result`]}),typeof l?.durationMs==`number`&&(0,L.jsxs)(g,{variant:`secondary`,className:`text-[10px] font-mono`,children:[l.durationMs,` ms`]})]}),p&&(0,L.jsx)(`p`,{className:`text-sm text-red-500 font-mono break-all`,children:p}),l&&(0,L.jsx)(V,{data:l})]})]})]})}function W({client:e,flowName:t,refreshKey:n}){let[r,a]=(0,I.useState)([]),[c,h]=(0,I.useState)(!0),[v,x]=(0,I.useState)(null),[w,T]=(0,I.useState)(null),[E,k]=(0,I.useState)(null),[j,B]=(0,I.useState)(!1),[H,U]=(0,I.useState)(null),W=(0,I.useCallback)(async()=>{if(!e?.automation?.listRuns){x(`automation.listRuns is not available on this client`),h(!1);return}h(!0),x(null);try{let n=await e.automation.listRuns(t,{limit:20});a(Array.isArray(n)?n:n?.items??n?.runs??[])}catch(e){x(e?.message??String(e))}finally{h(!1)}},[e,t]);(0,I.useEffect)(()=>{W()},[W,n]);let G=async n=>{T(n),k(null),U(null),B(!0);try{let r=await e.automation.getRun(t,n);k(r?.run??r)}catch(e){U(e?.message??String(e))}finally{B(!1)}};return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(d,{children:[(0,L.jsx)(b,{className:`pb-3`,children:(0,L.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(y,{className:`text-base`,children:`Recent Runs`}),(0,L.jsx)(u,{className:`font-mono text-xs`,children:t})]}),(0,L.jsxs)(A,{variant:`outline`,size:`sm`,onClick:W,disabled:c,children:[c?(0,L.jsx)(o,{className:`h-3.5 w-3.5 mr-2 animate-spin`}):(0,L.jsx)(O,{className:`h-3.5 w-3.5 mr-2`}),`Refresh`]})]})}),(0,L.jsxs)(N,{children:[c&&(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(i,{className:`h-8 w-full`}),(0,L.jsx)(i,{className:`h-8 w-full`}),(0,L.jsx)(i,{className:`h-8 w-full`})]}),!c&&v&&(0,L.jsx)(`p`,{className:`text-sm text-red-500 font-mono break-all`,children:v}),!c&&!v&&r.length===0&&(0,L.jsx)(`p`,{className:`text-sm text-muted-foreground py-6 text-center`,children:`No runs yet. Use the Test Run panel to invoke this flow.`}),!c&&!v&&r.length>0&&(0,L.jsxs)(P,{children:[(0,L.jsx)(F,{children:(0,L.jsxs)(C,{children:[(0,L.jsx)(M,{children:`Run`}),(0,L.jsx)(M,{children:`Status`}),(0,L.jsx)(M,{children:`Started`}),(0,L.jsx)(M,{className:`text-right`,children:`Duration`})]})}),(0,L.jsx)(D,{children:r.map(e=>(0,L.jsxs)(C,{className:`cursor-pointer`,onClick:()=>G(e.id),children:[(0,L.jsxs)(S,{className:`font-mono text-xs`,children:[e.id.slice(0,12),`…`]}),(0,L.jsx)(S,{children:(0,L.jsx)(R,{status:e.status})}),(0,L.jsx)(S,{className:`text-xs text-muted-foreground`,children:z(e.startedAt)}),(0,L.jsx)(S,{className:`text-right font-mono text-xs`,children:typeof e.durationMs==`number`?`${e.durationMs} ms`:`—`})]},e.id))})]})]})]}),(0,L.jsx)(f,{open:!!w,onOpenChange:e=>{e||(T(null),k(null))},children:(0,L.jsxs)(p,{side:`right`,className:`w-full sm:max-w-2xl p-0 flex flex-col`,children:[(0,L.jsxs)(s,{className:`p-4 border-b`,children:[(0,L.jsxs)(l,{className:`font-mono text-sm break-all`,children:[`Run `,w]}),(0,L.jsx)(m,{children:E&&(0,L.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,L.jsx)(R,{status:E.status}),typeof E.durationMs==`number`&&(0,L.jsxs)(g,{variant:`secondary`,className:`text-[10px] font-mono`,children:[E.durationMs,` ms`]}),(0,L.jsx)(`span`,{className:`text-xs`,children:z(E.startedAt)})]})})]}),(0,L.jsxs)(_,{className:`flex-1 p-4`,children:[j&&(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(i,{className:`h-16 w-full`}),(0,L.jsx)(i,{className:`h-16 w-full`}),(0,L.jsx)(i,{className:`h-16 w-full`})]}),H&&(0,L.jsx)(`p`,{className:`text-sm text-red-500 font-mono break-all`,children:H}),!j&&E&&(0,L.jsx)(`div`,{className:`space-y-3`,children:Array.isArray(E.steps)&&E.steps.length>0?E.steps.map((e,t)=>(0,L.jsxs)(`div`,{className:`rounded-md border p-3 space-y-2`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,L.jsxs)(`span`,{className:`text-muted-foreground font-mono text-xs`,children:[`#`,t+1]}),(0,L.jsx)(`span`,{className:`font-mono text-sm font-medium`,children:e.nodeLabel||e.nodeId}),e.nodeType&&(0,L.jsx)(g,{variant:`outline`,className:`text-[10px] font-mono`,children:e.nodeType}),(0,L.jsx)(R,{status:e.status}),typeof e.durationMs==`number`&&(0,L.jsxs)(g,{variant:`secondary`,className:`text-[10px] font-mono ml-auto`,children:[e.durationMs,` ms`]})]}),e.input!==void 0&&(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`text-[10px] uppercase text-muted-foreground mb-1`,children:`Input`}),(0,L.jsx)(V,{data:e.input})]}),e.output!==void 0&&(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`text-[10px] uppercase text-muted-foreground mb-1`,children:`Output`}),(0,L.jsx)(V,{data:e.output})]}),e.error&&(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`text-[10px] uppercase text-red-500 mb-1`,children:`Error`}),(0,L.jsx)(V,{data:e.error})]})]},`${e.nodeId}-${t}`)):(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`text-[10px] uppercase text-muted-foreground mb-1`,children:`Run`}),(0,L.jsx)(V,{data:E})]})})]})]})})]})}export{H as FlowRunsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{r as t,y as n}from"./vendor-react-BMpe6Iqg.js";import{f as r,o as i}from"./infrastructure-xzEwJt5N.js";import{$n as a,Da as o,Ea as s,Jn as c,Kn as l,Mr as u,Qn as d,Xn as f,Yn as p,_ as m,en as h,er as g,in as _,ir as v,is as y,kr as b,mi as x,mr as S,nr as C,ns as w,qn as T,rr as E,tr as D,xr as O}from"./ui-components-C7AytqY9.js";var k=e(n(),1),A=t();function j(){let[e,t]=(0,k.useState)(!1);return(0,k.useEffect)(()=>{typeof window>`u`||t(new URLSearchParams(window.location.search).get(`recovery_needed`)===`true`)},[]),{recoveryNeeded:e,clear:()=>{if(typeof window>`u`)return;let e=new URL(window.location.href);e.searchParams.delete(`recovery_needed`),window.history.replaceState({},``,e.toString()),t(!1)}}}function M(){let{user:e,updateUser:t,isLoading:n,changePassword:s,setInitialPassword:M,hasLocalPassword:P}=r(),{upload:F}=m(),[I,L]=(0,k.useState)(e?.name??``),[R,z]=(0,k.useState)(!1),[B,V]=(0,k.useState)(null),H=(0,k.useRef)(null),[U,W]=(0,k.useState)(!1),[G,K]=(0,k.useState)(null),q=(0,k.useRef)(null),{recoveryNeeded:J,clear:Y}=j();return(0,k.useEffect)(()=>{L(e?.name??``)},[e?.name]),(0,k.useEffect)(()=>{if(!J)return;let e=setTimeout(()=>{q.current?.scrollIntoView({behavior:`smooth`,block:`start`})},200);return()=>clearTimeout(e)},[J]),e?(0,A.jsxs)(`div`,{className:`flex flex-col gap-4 sm:gap-6 p-4 sm:p-6 max-w-2xl`,children:[(0,A.jsxs)(`div`,{className:`min-w-0`,children:[(0,A.jsx)(`h1`,{className:`text-xl sm:text-2xl font-bold tracking-tight`,children:`Profile`}),(0,A.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`Manage your account settings`})]}),J&&(0,A.jsxs)(C,{variant:`default`,className:`border-amber-300 bg-amber-50 text-amber-900 dark:border-amber-700 dark:bg-amber-950/40 dark:text-amber-200`,"data-testid":`profile-recovery-banner`,children:[(0,A.jsx)(x,{className:`h-4 w-4`}),(0,A.jsx)(v,{children:`Set a recovery password`}),(0,A.jsx)(E,{children:`You signed in via single sign-on from the control plane. Set a local password below so you can still sign in to this environment directly if SSO ever becomes unavailable.`})]}),(0,A.jsx)(l,{children:(0,A.jsxs)(T,{className:`pt-6`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,A.jsxs)(a,{className:`h-16 w-16`,children:[(0,A.jsx)(D,{src:e.image??void 0,alt:e.name??`User`}),(0,A.jsx)(g,{className:`text-lg bg-primary text-primary-foreground`,children:i(e)})]}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`p`,{className:`text-lg font-semibold truncate`,children:e.name??`User`}),(0,A.jsx)(`p`,{className:`text-sm text-muted-foreground truncate`,children:e.email}),(0,A.jsx)(d,{variant:`secondary`,className:`mt-1`,children:e.role??`member`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-2 shrink-0`,children:[(0,A.jsx)(`input`,{ref:H,type:`file`,accept:`image/*`,className:`hidden`,onChange:async e=>{let n=e.target.files?.[0];if(H.current&&(H.current.value=``),n){W(!0),K(null);try{await t({image:(await F(n)).url})}catch(e){K(e instanceof Error?e.message:String(e))}finally{W(!1)}}},"data-testid":`profile-avatar-file`}),(0,A.jsxs)(S,{type:`button`,variant:`outline`,size:`sm`,disabled:U,onClick:()=>H.current?.click(),"data-testid":`profile-avatar-upload-btn`,children:[U?(0,A.jsx)(o,{className:`mr-2 h-4 w-4 animate-spin`}):(0,A.jsx)(u,{className:`mr-2 h-4 w-4`}),e.image?`Replace`:`Upload`]}),e.image&&(0,A.jsxs)(S,{type:`button`,variant:`ghost`,size:`sm`,disabled:U,onClick:async()=>{W(!0),K(null);try{await t({image:null})}catch(e){K(e instanceof Error?e.message:String(e))}finally{W(!1)}},"data-testid":`profile-avatar-remove-btn`,children:[(0,A.jsx)(O,{className:`mr-2 h-4 w-4`}),`Remove`]})]})]}),G&&(0,A.jsxs)(C,{variant:`destructive`,className:`mt-4`,children:[(0,A.jsx)(y,{className:`h-4 w-4`}),(0,A.jsx)(E,{children:G})]})]})}),(0,A.jsxs)(l,{children:[(0,A.jsxs)(p,{children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(b,{className:`h-4 w-4 text-muted-foreground`}),(0,A.jsx)(f,{className:`text-base sm:text-lg`,children:`Personal Information`})]}),(0,A.jsx)(c,{children:`Update your name and view account details`})]}),(0,A.jsx)(T,{children:(0,A.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),V(null),z(!1);try{await t({name:I}),z(!0)}catch(e){V(e instanceof Error?e.message:String(e))}},className:`space-y-4`,children:[B&&(0,A.jsxs)(C,{variant:`destructive`,children:[(0,A.jsx)(y,{className:`h-4 w-4`}),(0,A.jsx)(E,{children:B})]}),R&&(0,A.jsxs)(C,{children:[(0,A.jsx)(w,{className:`h-4 w-4 text-green-600`}),(0,A.jsx)(E,{className:`text-green-800 dark:text-green-400`,children:`Profile updated successfully.`})]}),(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(_,{htmlFor:`profile-name`,children:`Name`}),(0,A.jsx)(h,{id:`profile-name`,type:`text`,value:I,onChange:e=>L(e.target.value),required:!0,"aria-required":`true`,disabled:n})]}),(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(_,{htmlFor:`profile-email`,children:`Email`}),(0,A.jsx)(h,{id:`profile-email`,type:`email`,value:e.email,disabled:!0,className:`bg-muted text-muted-foreground`}),(0,A.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Email cannot be changed.`})]}),(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(_,{children:`Role`}),(0,A.jsx)(h,{type:`text`,value:e.role??`member`,disabled:!0,className:`bg-muted text-muted-foreground`})]}),(0,A.jsx)(S,{type:`submit`,disabled:n,className:`w-full sm:w-auto`,children:n?`Saving…`:`Save Changes`})]})})]}),(0,A.jsx)(`div`,{ref:q,children:(0,A.jsx)(N,{changePassword:s,setInitialPassword:M,hasLocalPassword:P,highlight:J,onPasswordSet:Y})})]}):null}function N({changePassword:e,setInitialPassword:t,hasLocalPassword:n,highlight:r,onPasswordSet:i}){let[a,o]=(0,k.useState)(null),[u,d]=(0,k.useState)(``),[m,g]=(0,k.useState)(``),[v,b]=(0,k.useState)(``),[x,D]=(0,k.useState)(!1),[O,j]=(0,k.useState)(null),[M,N]=(0,k.useState)(null);(0,k.useEffect)(()=>{let e=!1;return n().then(t=>{e||o(t)}).catch(()=>{e||o(!1)}),()=>{e=!0}},[n]);let P=()=>{d(``),g(``),b(``)},F=async n=>{if(n.preventDefault(),j(null),N(null),m.length<8){j(`Password must be at least 8 characters`);return}if(m!==v){j(`Passwords do not match`);return}D(!0);try{if(a){if(!u){j(`Enter your current password`),D(!1);return}await e(u,m),N(`Password changed.`)}else await t(m),N(`Local password set. You can now sign in with email and password on this environment.`),o(!0),i?.();P()}catch(e){j(e instanceof Error?e.message:String(e))}finally{D(!1)}},I=a===null;return(0,A.jsxs)(l,{className:r?`ring-2 ring-amber-300 dark:ring-amber-700`:void 0,children:[(0,A.jsxs)(p,{children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(s,{className:`h-4 w-4 text-muted-foreground`}),(0,A.jsx)(f,{className:`text-base sm:text-lg`,children:a?`Change Password`:`Set Local Password`})]}),(0,A.jsx)(c,{children:a?`Update the password you use to sign in to this environment.`:`You signed in via single sign-on. Set a local password to also sign in with email and password on this environment.`})]}),(0,A.jsx)(T,{children:(0,A.jsxs)(`form`,{onSubmit:F,className:`space-y-4 max-w-md`,children:[a&&(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(_,{htmlFor:`current-password`,children:`Current password`}),(0,A.jsx)(h,{id:`current-password`,type:`password`,autoComplete:`current-password`,value:u,onChange:e=>d(e.target.value),disabled:x||I,required:!0})]}),(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(_,{htmlFor:`new-password`,children:a?`New password`:`Password`}),(0,A.jsx)(h,{id:`new-password`,type:`password`,autoComplete:`new-password`,value:m,onChange:e=>g(e.target.value),disabled:x||I,minLength:8,required:!0})]}),(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(_,{htmlFor:`confirm-password`,children:`Confirm password`}),(0,A.jsx)(h,{id:`confirm-password`,type:`password`,autoComplete:`new-password`,value:v,onChange:e=>b(e.target.value),disabled:x||I,minLength:8,required:!0})]}),O&&(0,A.jsxs)(C,{variant:`destructive`,children:[(0,A.jsx)(y,{className:`h-4 w-4`}),(0,A.jsx)(E,{children:O})]}),M&&(0,A.jsxs)(C,{children:[(0,A.jsx)(w,{className:`h-4 w-4`}),(0,A.jsx)(E,{children:M})]}),(0,A.jsx)(S,{type:`submit`,disabled:x||I,className:`w-full sm:w-auto`,children:x?`Saving…`:a?`Change password`:`Set password`})]})})]})}export{M as ProfilePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{r as t,y as n}from"./vendor-react-BMpe6Iqg.js";import{S as r}from"./framework-Bg_8y02a.js";import{Bn as i,Bo as a,Fn as o,In as s,Jn as ee,Kn as te,Ln as c,Ma as ne,Oo as l,Pi as re,Qn as ie,Rn as u,Wo as ae,Xn as oe,Yn as se,_i as ce,at as d,ct as f,en as p,in as m,it as le,ji as ue,mr as h,ot as g,qn as de,rt as fe,st as pe,zi as me,zn as _}from"./ui-components-C7AytqY9.js";import{o as v}from"./vendor-ui-utils-CWvoJB0S.js";import"./index-DKok_mql.js";var y=e(n(),1),b=t();function x(e){return e?e.replace(/^\/+/,``).match(/^forms\/([^/?#]+)/i)?.[1]??null:null}function S(e){return e.trim().toLowerCase().replace(/[^a-z0-9-_]+/g,`-`).replace(/^-+|-+$/g,``)}function C(){let e=r()?.getClient?.(),[t,n]=(0,y.useState)([]),[C,he]=(0,y.useState)([]),[w,T]=(0,y.useState)(!0),[E,D]=(0,y.useState)(null),[ge,O]=(0,y.useState)(!1),[k,A]=(0,y.useState)(``),[j,M]=(0,y.useState)(``),[N,P]=(0,y.useState)(!1),[_e,F]=(0,y.useState)(!1),[I,L]=(0,y.useState)(null),[R,z]=(0,y.useState)(``),[B,V]=(0,y.useState)(`thank-you`),[H,U]=(0,y.useState)(``),[W,G]=(0,y.useState)(``),[K,q]=(0,y.useState)(``),[J,Y]=(0,y.useState)(!1),X=async()=>{if(!e?.meta?.getItems){D(`meta.getItems is not available on this client`),T(!1);return}T(!0),D(null);try{let t=await e.meta.getItems(`view`),r=Array.isArray(t)?t:Array.isArray(t?.items)?t.items:Array.isArray(t?.value)?t.value:[],i=[],a=[];for(let e of r){let t=e?.spec??e;if(!(t?.sections||t?.groups||t?.form||t?.type===`simple`||t?.type===`tabbed`||t?.type===`wizard`||t?.viewType===`form`))continue;let n=t?.sharing,r=n?.publicLink,o=x(r);n?.allowAnonymous&&o&&r?i.push({name:t?.name??e?.name,label:t?.label,object:t?.object,slug:o,publicLink:r,updatedAt:e?.updatedAt??e?.updated_at,spec:t}):a.push({name:t?.name??e?.name,label:t?.label,object:t?.object,spec:t})}n(i),he(a)}catch(e){D(e?.message??String(e))}finally{T(!1)}};(0,y.useEffect)(()=>{X()},[]);let ve=typeof window<`u`?window.location.origin:``,Z=e=>`${ve}/console/f/${e}`,ye=e=>`<iframe src="${Z(e)}" width="100%" height="640" frameborder="0" style="border:0;"></iframe>`,be=e=>`<iframe\n src={\`${Z(e)}\`}\n title="Public form"\n style={{ width: '100%', height: 640, border: 0 }}\n/>`,Q=async(e,t)=>{try{await navigator.clipboard.writeText(t),v.success(`Copied ${e}`)}catch{v.error(`Clipboard unavailable`)}},xe=async()=>{if(!k||!j)return;let t=C.find(e=>e.name===k);if(!t)return;let n=S(j);if(!n){v.error(`Invalid slug`);return}let r={...t.spec,sharing:{...t.spec.sharing??{},enabled:!0,allowAnonymous:!0,publicLink:`/forms/${n}`}};P(!0);try{await e.meta.saveItem(`view`,t.name,r),v.success(`Published ${t.name}`),O(!1),A(``),M(``),await X()}catch(e){v.error(`Publish failed: ${e?.message??e}`)}finally{P(!1)}},Se=e=>{L(e),z(e.slug);let t=e.spec?.submitBehavior;V(t?.kind??`thank-you`),U(t?.title??``),G(t?.message??``),q(t?.url??``),F(!0)},Ce=async()=>{if(!I)return;let t=S(R);if(!t){v.error(`Invalid slug`);return}let n;switch(B){case`thank-you`:n={kind:`thank-you`},H&&(n.title=H),W&&(n.message=W);break;case`redirect`:if(!K){v.error(`Redirect URL is required`);return}n={kind:`redirect`,url:K};break;case`continue`:case`next-record`:n={kind:B};break}let r={...I.spec,sharing:{...I.spec.sharing??{},enabled:!0,allowAnonymous:!0,publicLink:`/forms/${t}`},submitBehavior:n};Y(!0);try{await e.meta.saveItem(`view`,I.name,r),v.success(`Saved ${I.name}`),F(!1),L(null),await X()}catch(e){v.error(`Save failed: ${e?.message??e}`)}finally{Y(!1)}},$=t.length>0;return(0,b.jsxs)(`div`,{className:`flex flex-1 flex-col gap-4 p-4 md:p-6 overflow-auto`,children:[(0,b.jsxs)(te,{children:[(0,b.jsxs)(se,{className:`flex flex-row items-start justify-between gap-4 space-y-0`,children:[(0,b.jsxs)(`div`,{children:[(0,b.jsxs)(oe,{className:`flex items-center gap-2`,children:[(0,b.jsx)(re,{className:`h-4 w-4`}),`Public Forms`]}),(0,b.jsx)(ee,{children:`Forms anyone can fill out — no login required. Publish a form to get a shareable link; submissions land directly in the bound object.`})]}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsxs)(h,{variant:`default`,size:`sm`,onClick:()=>O(!0),disabled:C.length===0,title:C.length===0?`No non-public FormViews available`:`Publish a FormView`,children:[(0,b.jsx)(me,{className:`h-3.5 w-3.5`}),(0,b.jsx)(`span`,{className:`ml-1.5`,children:`Publish form…`})]}),(0,b.jsxs)(h,{variant:`outline`,size:`sm`,onClick:X,disabled:w,children:[(0,b.jsx)(ue,{className:`h-3.5 w-3.5 ${w?`animate-spin`:``}`}),(0,b.jsx)(`span`,{className:`ml-1.5`,children:`Refresh`})]})]})]}),(0,b.jsxs)(de,{children:[E&&(0,b.jsx)(`div`,{className:`mb-3 rounded-md border border-destructive/40 bg-destructive/10 p-3 text-sm text-destructive`,children:E}),!w&&!$&&(0,b.jsxs)(`div`,{className:`rounded-md border border-dashed p-6 text-center text-sm text-muted-foreground`,children:[(0,b.jsx)(`p`,{className:`font-medium text-foreground`,children:`No public forms yet`}),(0,b.jsxs)(`p`,{className:`mt-1`,children:[`Click `,(0,b.jsx)(`strong`,{children:`Publish form…`}),` above to share an existing form, or build a new one in Views & Apps and mark it public.`]})]}),$&&(0,b.jsxs)(fe,{children:[(0,b.jsx)(pe,{children:(0,b.jsxs)(f,{children:[(0,b.jsx)(g,{children:`Name`}),(0,b.jsx)(g,{children:`Object`}),(0,b.jsx)(g,{children:`Slug`}),(0,b.jsx)(g,{children:`Public URL`}),(0,b.jsx)(g,{className:`text-right`,children:`Actions`})]})}),(0,b.jsx)(le,{children:t.map(e=>{let t=Z(e.slug);return(0,b.jsxs)(f,{children:[(0,b.jsx)(d,{children:(0,b.jsxs)(`div`,{className:`flex flex-col`,children:[(0,b.jsx)(`span`,{className:`font-medium`,children:e.label??e.name}),(0,b.jsx)(`code`,{className:`text-xs text-muted-foreground`,children:e.name})]})}),(0,b.jsx)(d,{children:e.object?(0,b.jsx)(ie,{variant:`secondary`,children:e.object}):(0,b.jsx)(`span`,{className:`text-muted-foreground`,children:`—`})}),(0,b.jsx)(d,{children:(0,b.jsx)(`code`,{className:`text-xs`,children:e.slug})}),(0,b.jsx)(d,{children:(0,b.jsxs)(`a`,{href:t,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-xs text-primary underline-offset-2 hover:underline`,children:[t,(0,b.jsx)(l,{className:`h-3 w-3`})]})}),(0,b.jsx)(d,{className:`text-right`,children:(0,b.jsxs)(`div`,{className:`inline-flex gap-1`,children:[(0,b.jsx)(h,{variant:`ghost`,size:`sm`,title:`Copy URL`,onClick:()=>Q(`URL`,t),children:(0,b.jsx)(ne,{className:`h-3.5 w-3.5`})}),(0,b.jsx)(h,{variant:`ghost`,size:`sm`,title:`Copy <iframe> embed`,onClick:()=>Q(`iframe snippet`,ye(e.slug)),children:(0,b.jsx)(ae,{className:`h-3.5 w-3.5`})}),(0,b.jsx)(h,{variant:`ghost`,size:`sm`,title:`Copy React snippet`,onClick:()=>Q(`React snippet`,be(e.slug)),children:(0,b.jsx)(a,{className:`h-3.5 w-3.5`})}),(0,b.jsx)(h,{variant:`ghost`,size:`sm`,title:`Edit sharing & post-submit behavior`,onClick:()=>Se(e),children:(0,b.jsx)(ce,{className:`h-3.5 w-3.5`})})]})})]},e.name)})})]})]})]}),(0,b.jsx)(o,{open:ge,onOpenChange:O,children:(0,b.jsxs)(s,{className:`sm:max-w-md`,children:[(0,b.jsxs)(_,{children:[(0,b.jsx)(i,{children:`Publish a FormView`}),(0,b.jsxs)(c,{children:[`Pick an existing FormView and turn it into a public form by enabling `,(0,b.jsx)(`code`,{className:`text-xs`,children:`sharing.allowAnonymous`}),` `,`and setting `,(0,b.jsx)(`code`,{className:`text-xs`,children:`publicLink`}),`.`]})]}),(0,b.jsxs)(`div`,{className:`space-y-3`,children:[(0,b.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,b.jsx)(m,{htmlFor:`publish-view`,children:`FormView`}),(0,b.jsxs)(`select`,{id:`publish-view`,className:`flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm`,value:k,onChange:e=>A(e.target.value),children:[(0,b.jsx)(`option`,{value:``,children:`— Select a FormView —`}),C.map(e=>(0,b.jsxs)(`option`,{value:e.name,children:[e.label??e.name,` (`,e.name,`) `,e.object?`· ${e.object}`:``]},e.name))]})]}),(0,b.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,b.jsx)(m,{htmlFor:`publish-slug`,children:`URL slug`}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap`,children:`/console/f/`}),(0,b.jsx)(p,{id:`publish-slug`,placeholder:`contact-us`,value:j,onChange:e=>M(e.target.value)})]}),(0,b.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Lowercase letters, digits, dashes and underscores only.`})]})]}),(0,b.jsxs)(u,{children:[(0,b.jsx)(h,{variant:`ghost`,onClick:()=>O(!1),disabled:N,children:`Cancel`}),(0,b.jsx)(h,{onClick:xe,disabled:N||!k||!j,children:N?`Publishing…`:`Publish`})]})]})}),(0,b.jsx)(o,{open:_e,onOpenChange:F,children:(0,b.jsxs)(s,{className:`sm:max-w-lg`,children:[(0,b.jsxs)(_,{children:[(0,b.jsx)(i,{children:I?`Edit ${I.label??I.name}`:`Edit form`}),(0,b.jsx)(c,{children:`Configure the public URL and what happens after submit.`})]}),(0,b.jsxs)(`div`,{className:`space-y-3`,children:[(0,b.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,b.jsx)(m,{htmlFor:`edit-slug`,children:`URL slug`}),(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap`,children:`/console/f/`}),(0,b.jsx)(p,{id:`edit-slug`,value:R,onChange:e=>z(e.target.value)})]})]}),(0,b.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,b.jsx)(m,{htmlFor:`edit-behavior`,children:`After submit`}),(0,b.jsxs)(`select`,{id:`edit-behavior`,className:`flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm`,value:B,onChange:e=>V(e.target.value),children:[(0,b.jsx)(`option`,{value:`thank-you`,children:`Show a thank-you panel`}),(0,b.jsx)(`option`,{value:`redirect`,children:`Redirect to a URL`}),(0,b.jsx)(`option`,{value:`continue`,children:`Reset for another response`}),(0,b.jsx)(`option`,{value:`next-record`,children:`Advance to next record (internal queues)`})]})]}),B===`thank-you`&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,b.jsx)(m,{htmlFor:`edit-tytitle`,children:`Title`}),(0,b.jsx)(p,{id:`edit-tytitle`,placeholder:`Thanks!`,value:H,onChange:e=>U(e.target.value)})]}),(0,b.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,b.jsx)(m,{htmlFor:`edit-tymsg`,children:`Message`}),(0,b.jsx)(p,{id:`edit-tymsg`,placeholder:`Your submission has been received.`,value:W,onChange:e=>G(e.target.value)})]})]}),B===`redirect`&&(0,b.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,b.jsx)(m,{htmlFor:`edit-url`,children:`Redirect URL`}),(0,b.jsx)(p,{id:`edit-url`,type:`url`,placeholder:`https://example.com/thanks`,value:K,onChange:e=>q(e.target.value)})]})]}),(0,b.jsxs)(u,{children:[(0,b.jsx)(h,{variant:`ghost`,onClick:()=>F(!1),disabled:J,children:`Cancel`}),(0,b.jsx)(h,{onClick:Ce,disabled:J||!R,children:J?`Saving…`:`Save`})]})]})})]})}export{C as PublicFormsPage};
|